JPWO2006080460A1 - 記録媒体、再生装置、プログラム、再生方法 - Google Patents

記録媒体、再生装置、プログラム、再生方法 Download PDF

Info

Publication number
JPWO2006080460A1
JPWO2006080460A1 JP2006520591A JP2006520591A JPWO2006080460A1 JP WO2006080460 A1 JPWO2006080460 A1 JP WO2006080460A1 JP 2006520591 A JP2006520591 A JP 2006520591A JP 2006520591 A JP2006520591 A JP 2006520591A JP WO2006080460 A1 JPWO2006080460 A1 JP WO2006080460A1
Authority
JP
Japan
Prior art keywords
stream
audio stream
information
playback
secondary audio
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2006520591A
Other languages
English (en)
Other versions
JP4354988B2 (ja
Inventor
洋 矢羽田
洋 矢羽田
岡田 智之
智之 岡田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Panasonic Corp
Panasonic Holdings Corp
Original Assignee
Panasonic Corp
Matsushita Electric Industrial Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Panasonic Corp, Matsushita Electric Industrial Co Ltd filed Critical Panasonic Corp
Publication of JPWO2006080460A1 publication Critical patent/JPWO2006080460A1/ja
Application granted granted Critical
Publication of JP4354988B2 publication Critical patent/JP4354988B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/10Indexing; Addressing; Timing or synchronising; Measuring tape travel
    • G11B27/102Programmed access in sequence to addressed parts of tracks of operating record carriers
    • G11B27/105Programmed access in sequence to addressed parts of tracks of operating record carriers of operating discs
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/10Indexing; Addressing; Timing or synchronising; Measuring tape travel
    • G11B27/19Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier
    • G11B27/28Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording
    • G11B27/32Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording on separate auxiliary tracks of the same or an auxiliary record carrier
    • G11B27/322Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording on separate auxiliary tracks of the same or an auxiliary record carrier used signal is digitally coded
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B2220/00Record carriers by type
    • G11B2220/20Disc-shaped record carriers
    • G11B2220/25Disc-shaped record carriers characterised in that the disc is based on a specific recording technology
    • G11B2220/2537Optical discs
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B2220/00Record carriers by type
    • G11B2220/20Disc-shaped record carriers
    • G11B2220/25Disc-shaped record carriers characterised in that the disc is based on a specific recording technology
    • G11B2220/2537Optical discs
    • G11B2220/2541Blu-ray discs; Blue laser DVR discs
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B2220/00Record carriers by type
    • G11B2220/40Combinations of multiple record carriers
    • G11B2220/41Flat as opposed to hierarchical combination, e.g. library of tapes or discs, CD changer, or groups of record carriers that together store one title
    • G11B2220/412Distributed storage methods, i.e. the system may autonomously determine for a storage device that provides enough storage capacity for recording

Abstract

ローカルストレージ200には、PlayList情報が記録されている。PlayList情報は、メインパス情報、サブパス情報を含む。サブパス情報は、複数AVClipのうち他の1つを、サブクリップとして指定して、そのサブクリップに対し、前記主たる再生区間と同期すべき、従たる再生区間を定義する情報である。ローカルストレージ200には、サブクリップとして指定されたオーディオストリームが、記録されており、オーディオストリームは、複数のPESパケットから構成され、各PESパケットには、パケット識別子(PID)が付与されており、パケット識別子は、上位フィールド、下位フィールドからなり、上位フィールドは、パケットにより構成されるオーディオストリームがセカンダリオーディオストリームであり、その音声出力が、プライマリオーディオストリームの音声出力とミキシングされる旨を示す。

Description

本発明は、オーディオミキシング技術の技術分野に属する発明である。
オーディオミキシング技術とは、1つ以上の記録媒体から、主音声となるオーディオストリーム(Primaryオーディオストリーム)と、副音声となるオーディオストリーム(Secondaryオーディオストリーム)とを読み出し、これらを個別にデコードして、そのデコード結果たる非圧縮のデジタルオーディオを合成して出力する技術である。
映画作品の構成要素となるデジタルストリームを、別々の供給媒体を用いて、ユーザに供給することができるので、映画作品に監督のコメンタリを付す等、バリエーション制作の自由度が増し、1つの映画作品から、様々な再生のバリエーションを、産み出すことができる。
尚、記録媒体に記録されたデジタルストリームを読みだして再生する技術には、以下の特許文献に記載されている先行技術がある。
特開2000−228656号公報
しかしながら、かかるオーディオミキシングを行なう再生装置モデルを考える場合、例えば光ディスクからPrimaryオーディオストリームが読み出されている途中に、Secondaryオーディオストリームを、予備の記録媒体から読み出さねばならない。かかる読みだしにあたっては、光ディスクから読み出されたTSパケット、予備の記録媒体から読み出されたTSパケットが1つのバス上で混在することが有り得る。かかる混在状態では、多くのTSパケットのうちどれがPrimaryオーディオストリームを構成しているのか、Secondaryオーディオストリームを構成しているのかが不明になるので、これらのTSパケットを、一律に処理を施すことはできるが、Primaryオーディオストリーム及びSecondaryオーディオストリームを構成するもののうち、一方のみに対して何等かの処理を施すということが困難になる。
Primaryオーディオストリームを構成するパケット、Secondaryオーディオストリームを構成するパケットに対して一律の処理を施し、Primaryオーディオストリームと、Secondaryオーディオストリームとを同じゲインで出力する場合、悪い条件が重なると、スピーカの破損等を招く可能性があり、大きな品質上の障害を作ってしまうこともある。
本発明の目的は、Primaryオーディオストリームを構成するTSパケット、Secondaryオーディオストリームを構成するTSパケットが1つのバス上で混在したとしても、これらに対して、個別の処理を施すことができる記録媒体を提供することである。
上記目的を達成するため、本発明にかかる記録媒体は、プレイリスト情報が記録されており、前記プレイリスト情報は、メインパス情報、サブパス情報を含み、前記メインパス情報は、複数デジタルストリームのうち1つを、メインストリームとして指定して、そのメインストリームに対し、主たる再生区間を定義する情報であり、前記サブパス情報は、複数デジタルストリームのうち他の1つを、サブストリームとして指定して、そのサブストリームに対し、前記主たる再生区間と同期すべき、従たる再生区間を定義する情報であり、
前記記録媒体には、サブストリームとして指定されたオーディオストリームが、記録されており、オーディオストリームは、複数のパケットから構成され、各パケットには、パケット識別子が付与されており、パケット識別子は、上位フィールド、下位フィールドからなり、上位フィールドは、パケットにより構成されるオーディオストリームがセカンダリオーディオストリームであり、その音声出力が、プライマリオーディオストリームの音声出力とミキシングされ得る旨を示すことを特徴としている。
パケット識別子の上位フィールドは、パケットにより構成されるオーディオストリームがセカンダリオーディオストリームであり、その音声出力が、プライマリオーディオストリームの音声出力とミキシングされる旨を示すので、再生装置内の多重分離部は、このバスに転送されているパケットを取り込み、これらパケット識別子の上位フィールドを参照することにより、当該パケットを、Secondaryオーディオストリーム用のデコーダに投入することができる。
これにより多重分離部は、このSecondaryオーディオストリームを構成するPESパケットのみを、多重分離して、Primaryオーディオストリーム用のデコーダとは別のデコーダに取り込むことができる。
Primaryオーディオストリームを構成するパケット、Secondaryオーディオストリームを構成するパケットを別々のデコーダに取り込み、デコードに供給することができるので、Primaryオーディオストリームを構成するパケットのみダウンコンバートを施したり、ダウンミキシングを施したり、ゲインを下げたりすることができる。光ディスクからの読み出す中に、予備の記録媒体からSecondaryオーディオストリームを読み出し、これらを2つのデコーダに供給したとしても、Primaryオーディオストリームを構成するパケットのみに対し、リアルタイムに特別な処理を施すことができる。また、下位フィールドにおいて、当該オーディオストリームが複数のSecondaryオーディオストリームのうち、何れかである場合、何番目であるかが示されているので、多くの言語のコメンタリが存在する場合、これらのうち、適正なものを再生させることができる。
本発明に係る記録媒体の、使用行為についての形態を示す図である。 BD−ROMの内部構成を示す図である。 拡張子.m2tsが付与されたファイルがどのように構成されているかを模式的に示す図である。 AVClipを構成するTSパケットがどのような過程を経てBD−ROMに書き込まれるかを示す。 BD−ROMの物理単位と、1つのファイルエクステントを構成するSourceパケットとの対応関係を示す図である。 AVClipにどのようなエレメンタリストリームが多重化されているかを示す図である。 Clip情報の内部構成を示す図である。 映画のビデオストリームに対するEP_map設定を示す図である。 PlayList情報のデータ構造を示す図である。 AVClipと、PlayList情報との関係を示す図である。 ファイルsound.bdmvの構成を示す図である。 ローカルストレージ200の内部構成を示す図である。 SubClipに多重化されるエレメンタリストリームを示す図である。 BD−ROM規格におけるPID割当マップを示す図である。 (a)Secondaryオーディオストリームの内部構成を示す図である。(b)オーディオフレームの一例を示す図である。(c)メタデータの内部構成を示す図である。(d)ゲイン制御情報の一例を模式的に示す図である。 Secondaryオーディオストリーム内のメタデータにより、Primaryオーディオストリームの音量がどのように制御されるかを示す図である。 PlayList情報のデータ構造を示す図である。 Subpath情報の内部構成をクローズアップして示す図である。 ローカルストレージ200上のSubClipと、ローカルストレージ200上のPlayList情報と、BD−ROM上のMainClipとの対応を示す図である。 MainClipに対して設定されたEP_map及びPlayItem時間軸と、Primaryオーディオストリーム、SecondaryオーディオストリームとなるSubClipに対して設定されたEP_map及びSubPlayItem時間軸とを集約して示す図である。 STN_tableの内部構成を示す図である。 (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の内部構成を示す図である。Comb_info_Secondary_audio_Primary_audioによるPrimaryオーディオストリームの指定を示す図である。 再生装置300により生成されるバーチャルファイルシステムを示す図である。 本発明に係る再生装置の内部構成を示す図である。 コントローラ22を機能的に表現した図である。 (a)PSR1のビットアサインを示す図である。
(b)PSR14のビットアサインを示す図である。
(c)PSR31のビットアサインを示す図である。
プレイリスト処理部によるプレイリスト再生手順を示すフローチャートである。 (a)PSR1の設定値が取り得る状態遷移を示す図である。
(b)PSR1のProcedure when playback condition is changedの処理手順を示す図である。ステップS5の詳細な処理手順に示したフローチャートである。 ストリーム変化時におけるPSR1の設定手順を示すフローチャートである。 (a)PSR14の設定値が取り得る状態遷移を示す図である。
(b)PSR14のProcedure When playback condition is changedの処理手順を示す図である。ステップS35の詳細な処理手順に示したフローチャートである。 ストリーム変化時におけるPSR14の設定手順を示すフローチャートである。 (a)再生装置300、AVアンプ500、スピーカ600の接続形態を示す図である。
(b)再生装置300、テレビ400、スピーカ600のそれぞれで、チャンネル数がどのように変化するかを示す図である。(a)DIBを示す図である。(b)DIBの各フィールドに設定しうる値を示す(c)DIBを用いた再生装置300、AVアンプ500間の通信シーケンスを示す。 PSR23におけるPSR15の内部構成を示す図である。 第2実施形態にかかるコントローラ22の処理手順を示すフローチャートである。 パススルー出力を行うか否かの設定を受け付けるためのメニューを示す図である。 パススルー出力を行うか否かの設定を受け付けるためのメニューを示す図である。 DIBに応じて、PSR15におけるPlayer capability for Audioを設定する処理手順を示すフローチャートである。 DIBに応じて、PSR15におけるPlayer capability for Audioを設定する処理手順を示すフローチャートである。 (a)再生装置300が自動車の車内に設置存在する場合の設置例を示す図である。
(b)第3実施形態にかかるPSR31の内部構成を示す図である。PlayList情報におけるPlayListMark情報の内部構成を示す図である。 PlayList情報の、PLMark情報によるチャプター位置の指定を示す図である。 第3実施形態にかかるJava(登録商標)アプリケーションの処理手順を示すフローチャートである。 チャプターサーチの処理手順を示すフローチャートである。 チャプタースキップの処理手順を示すフローチャートである。 第4実施形態にかかるJava(登録商標)アプリケーションのフローチャートである。 「アップデートボタン」が配置されたメニューの表示例を示す図である。
符号の説明
100 BD−ROM
200 ローカルストレージ
300 再生装置
400 テレビ
500 AVアンプ
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送受信部
41 プレイリスト処理部
42 Procedure実行部
43 Procedure実行部
44 ミキシング制御部
(第1実施形態)
以降、本発明に係る記録媒体の実施形態について説明する。先ず始めに、本発明に係る記録媒体の実施行為のうち、使用行為についての形態を説明する。図1は、本発明に係る記録媒体の、使用行為についての形態を示す図である。図1において、本発明に係る記録媒体は、ローカルストレージ200である。ローカルストレージ200は、再生装置300、テレビ400、AVアンプ500、スピーカ600から構成されるホームシアターシステムに、映画作品を供給するという用途で使用される。
以降、BD−ROM100、ローカルストレージ200、再生装置300について説明を行う。
BD−ROM100は、映画作品が記録された記録媒体である。
ローカルストレージ200は、再生装置に組み込まれ、映画配給者のサーバから配信されたコンテンツの受け皿として利用されるハードディスクである。
再生装置300は、ネット対応型のデジタル家電機器であり、BD−ROM100を再生する機能をもつ。また、映画配給者のサーバから、ネットを通じてダウンロードしたコンテンツを、BD−ROM100に記録されたコンテンツと組み合わせて、BD−ROM100のコンテンツを拡張/更新をすることができる。BD−ROM100の記録内容に、ローカルストレージ200の記録内容を組み合わせて、BD−ROM100に記録されていないデータを、恰も、記録されているように扱う技術を“バーチャルパッケージ”という。
以上が本発明に係る記録媒体の使用形態についての説明である。
続いて本発明に係る記録媒体の生産行為について説明する。本発明に係る記録媒体は、BD−ROMのファイルシステム上における改良で実現することができる。図2は、BD−ROMにおけるファイル・ディレクトリ構成を示す図である。本図においてBD−ROMには、Rootディレクトリの下に、BDMVディレクトリがある。
<BD−ROMの概要>
図2は、BD−ROMの内部構成を示す図である。本図の第4段目にBD−ROMを示し、第3段目にBD−ROM上のトラックを示す。本図のトラックは、BD−ROMの内周から外周にかけて螺旋状に形成されているトラックを、横方向に引き伸ばして描画している。このトラックは、リードイン領域と、ボリューム領域と、リードアウト領域とからなる。本図のボリューム領域は、物理層、ファイルシステム層、応用層というレイヤモデルをもつ。ディレクトリ構造を用いてBD−ROMの応用層フォーマット(アプリケーションフォーマット)を表現すると、図中の第1段目のようになる。この第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の構成その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段目)、これらを多重化することで構成される。
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)は、字幕たるグラフィクスオブジェクトを定義する機能セグメントである。
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によるページ制御を伴うことにより、ある字幕を徐々に消去しつつ、次の字幕を表示させるという表示効果が実現可能になる。
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は、ボタンに対して確定操作がなされた際、実行すべきボタンコマンドを含む。
ここでAVClipは、1つ以上の“STC_Seuence”から構成される。“STC_Seuence”とは、AVストリームのシステム基準時刻であるSTC(System Time Clock)の不連続点(system time−base discontinuity)が存在しない区間をいう。STCの不連続点はデコーダがSTCを得るために参照するPCR(Program Clock Reference)を運ぶPCRパケットの不連続情報(discontinuity_indicator)がONである点である。
続いて、以上のように構成された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を含む。
AVClipを構成するSourceパケットは、第3段目におけるAVClipにおいて、1つ以上の“ATC_Seuence”を構成する。“ATC_Seuence”とは、Sourceパケットの配列であって、そのArrival_Time_Stampが参照しているArrival_Time_Clockに、不連続点(no arrival 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段目においてファイルを構成する各ファイルエクステントは、予め定められたSexetent以上のデータ長を有する。
AVClipを複数のエクステントに分割して記録する場合の、エクステント一個当たりの最小データ長Sexetentを検討する。
ここでBD−ROMにおいて光ピックアップのジャンプに要する時間は、
Tjump=Taccess+Toverhead
で与えられる。
Taccessは、ジャンプ距離(ジャンプする物理アドレスの距離)に応じて与えられる時間である。
BD−ROMから読み出されたTSパケットは、リードバッファと呼ばれるバッファに格納された上、デコーダに出力されるが、リードバッファへの入力が、Rudというビットレートで行われ、ECCブロックにおけるセクタ数をSeccとした場合、
Toverheadは、
Toverhead≦(2×Secc×8)/Rud=20m秒
という計算で与えられる。
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パケット出力が継続している必要がある。
従って、リードバッファが、アンダーフローしないためのバッファ蓄積量は、
Boccupied≧(Tjump/1000×8)×((192/188)×TS_Recording_rate)
となる。
リードバッファへの入力レートはRud、リードバッファからの出力レートはTS_Recording_rate×(192/188)であるので、リードバッファへの蓄積レートは、入力レート−出力レートの計算で与えられ、(Rud−TS_Recording_rate×(192/188))になる。
このBoccupiedを、リードバッファに蓄積するのに要する時間Txは、
Tx=Boccupied/(Rud−TS_Recording_rate×(192/188))
になる。
BD−ROMからの読み出しには、この時間TxにおいてRudでのTSパケット入力を継続する必要があるので、AVClipを複数のエクステントに分割して記録する場合の、エクステント一個当たりの最小データ長Sexetentは、
Sexetent=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)
になる。
よって
Sexetent≧
(Tjump×Rud/1000×8)×
(TS_Recording_rate×192/(Rud×188−TS_Recording_rate×192))
になる。
AVClipを構成する各ファイルエクステントは、デコーダのアンダーフローをおこさないように算出されたSextent以上のデータ長をもつことにより、AVClipを構成する各ファイルエクステントが、BD−ROM上において離散的に位置されたとしても、再生時においてデコーダへのTSパケット供給が途絶えさせることなく、連続的に読み出されることになる。
図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単位でなされる。
第3段目においてセクタは、32個単位で誤り訂正符号が付され、ECCブロックを構成する。再生装置はAligned Unitの単位でBD−ROMをアクセスする限り、32個の完結したSourceパケットを得ることができる。以上がBD−ROMに対するAVClipの書き込みのプロセスである。
<エレメンタリストリームの種類>
図6は、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の構成その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())』からなる。
ClipInfoには、このClip情報が参照するAVClipのアプリケーションタイプ(application_type)がある。アプリケーションタイプによってMainClipかSubClipかや、動画を含んでいるのか静止画(スライドショー)を含んでいるのかなどが識別できる。TS_recording_rateは該当AVClipのシステムビットレート情報である。
Sequence Infoは、AVClipに含まれる、1つ以上のSTC−Sequence、ATC−Sequenceについての情報である。これらの情報を設けておくことの意義は、STC、ATCの不連続点を、予め再生装置に通知するためである。つまりかかる不連続点が存在すると、AVClip内において同じ値のPTS,ATSが出現する可能性があり、再生時に不都合が生じる。STC,ATCが連続しているのは、トランスポートストリームのうち、どこからどこまでであるかを示すため、Sequence Infoは設けられている。
Program Infoとは、Program内容が一定である区間(Program Sequence)を示す情報である。Programとは、同期再生のための時間軸を共有し合うエレメンタリーストリーム同士の集まりである。Program Sequence情報を設けておくことの意義は、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つのエレメンタリストリーム上において、Access Unitが存在するエントリー位置のパケット番号(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は、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の下位ビットを示す役割をもつ。
図中の引き出し線cu4は、EP_Highの内部構成をクローズアップしている。この引き出し線に示すように、EP_High(i)は、EP_Lowに対する参照値である『ref_to_EP_Low_id[i]』と、Access Unit(Non−IDRIピクチャ、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)』と、対応する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を識別するための識別子である。
<Clip情報の説明その2.EP_map>
以下、具体例を通じて、EP_mapについて説明する。図8は、映画のビデオストリームに対するEP_map設定を示す図である。第1段目は、表示順序に配置された複数のピクチャ(MPEG4−AVCに規定されたIDRピクチャ、Iピクチャ、Bピクチャ、Pピクチャ)を示し、第2段目は、そのピクチャにおける時間軸を示す。第4段目は、BD−ROM上のTSパケット列を示し、第3段目は、EP_mapの設定を示す。
第2段目の時間軸において、時点t1〜t7に、Access UnitとなるIDRピクチャ及びIピクチャが存在するものとする。そしてこれらのt1〜t7の時間間隔が、1秒程度であるとすると、映画に用いられるビデオストリームにおけるEP_mapは、t1〜t7をエントリー時刻(PTS_EP_start)として示し、これに対応づけてエントリー位置(SPN_EP_start)を示すよう、設定される。
<PlayList情報>
続いて、PlayList情報について説明する。拡張子“mpls”が付与されたファイル(00001.mpls)は、PlayList(PL)情報を格納したファイルである。
図9は、PlayList情報のデータ構造を示す図であり、本図において、引き出し線mp1に示すようにPlayList情報は、MainPathを定義するMainPath情報(MainPath())と、チャプターを定義するPlayListMark情報(PlayListMark())を含む。
<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』の組みから構成される。
図10は、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モードを想定した動的シナリオはMovie Objectと呼ばれる。一方BD−Jモードを想定した動的シナリオはBD−J Objectと呼ばれる。
先ず初めにMovie Objectについて説明する。
<Movie Object>
Movie Objectは、図2に示したMovieObject.bdmvというファイルに格納され、ナビゲーションコマンド列を含む。
ナビゲーションコマンド列は、条件分岐、再生装置における状態レジスタの設定、状態レジスタの設定値取得等を実現するコマンド列からなる。Movie Objectにおいて記述可能なコマンドを以下に示す。
PlayPLコマンド
書式:PlayPL(第1引数,第2引数)
第1引数は、プレイリストの番号で、再生すべきプレイリストを指定することができる。第2引数は、そのプレイリストに含まれるPlayItemや、そのプレイリストにおける任意の時刻、Chapter、Markを用いて再生開始位置を指定することができる。
PlayItemによりPL時間軸上の再生開始位置を指定したPlayPL関数をPlayPLatPlayItem()、
ChapterによりPL時間軸上の再生開始位置を指定したPlayPL関数をPlayPLatChapter()、
時刻情報によりPL時間軸上の再生開始位置を指定したPlayPL関数をPlayPLatSpecified Time()という。
Movie Objectにおけるナビゲーションコマンドの記述は、DVDにおけるナビゲーションコマンドの記述方式と良く似ているので、DVD上のディスクコンテンツを、BD−ROMに移植するという作業を効率的に行うことができる。Movie Objectについては、以下の国際公開公報に記載された先行技術が存在する。詳細については、本国際公開公報を参照されたい。
国際公開公報WO 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(登録商標)アプリケーションに対する指定をアプリケーション管理テーブルに記載することにより、間接的に制御手順を規定している。このような間接的な規定により、複数動的シナリオにおいて制御手順を共通化するという、制御手順の共通化を効率的に行うことができる。
また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とをフル実装したものである。
この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(登録商標)アプリケーションの実体にあたるのが、図2における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フレームワークに対して操作がなされた場合、クリック音として出力すべきオーディオデータ(かかるオーディオデータを、サウンドデータという)が格納されるファイルである。
図11は、ファイル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と呼ばれる識別子にて指示される。
Sound Index()は、サウンド数(number_of_sound_entries)、sound_data(0)に対するインデックス、sound_data(1)に対するインデックス等からなる。
インデックスは、モノラル/ステレオの別などの各サウンドの属性(sound_attributes)、対応するサウンドデータのアドレス(sound_data_start_address)、対応するサウンドデータの連続長(sound_data_length)からなる。
図2〜図6に示したように、映画の劇中に使用される音声の音源は、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−ROM100についての説明である。
<ローカルストレージ200>
続いて、本発明にかかる記録媒体である、ローカルストレージ200について説明する。図12は、ローカルストレージ200の内部構成を示す図である。本図に示すように、本発明に係る記録媒体は、応用層に対する改良により、生産することができる。
本図の第4段目にローカルストレージ200を示し、第3段目にローカルストレージ200上のトラックを示す。本図のトラックは、ローカルストレージ200の内周から外周にかけて螺旋状に形成されているトラックを、横方向に引き伸ばして描画している。このトラックは、リードイン領域と、ボリューム領域と、リードアウト領域とからなる。本図のボリューム領域は、物理層、ファイルシステム層、応用層というレイヤモデルをもつ。ディレクトリ構造を用いてローカルストレージ200の応用層フォーマット(アプリケーションフォーマット)を表現すると、図中の第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−J Object(00002.bobj),Java(登録商標)アーカイブファイル(00002.jar),クリック音データ(sound.bdmv),Movie Object.bdmvが格納されている。
続いて、ローカルストレージ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ストリームと呼ぶことがある。)
本実施形態では、図12に示した00002.m2tsは、Secondaryオーディオストリーム、PGストリーム、IGストリームが1つのSubClipに多重化されているものとする。以降Secondaryオーディオストリームの詳細を説明する。
<Out−of−MUXストリームの説明その1.Secondaryストリーム>
『Primaryオーディオストリーム』が、いわゆる主音声となるオーディオストリームであるのに対し、『Secondaryオーディオストリーム』とは、いわゆる副音声となるオーディオストリームである。SubClip再生時において、Secondaryオーディオストリームの音声再生は、Primaryオーディオストリームの再生音声にミキシングされた上で出力に供される。Secondaryオーディオストリームとして扱われる音声には、例えば“コメンタリ音声”が、ある。Primaryオーディオストリームとなる主音声が、映画作品本編の音声であり、Secondaryオーディオストリームとなる副音声が、映画監督のコメンタリ音声である場合、かかる映画作品本編の音声は、コメンタリ音声がミキシングされた上で出力されることになる。
Secondaryオーディオストリームは、ローカルストレージ200にのみ記録され再生に供されるが、BD−ROMには記録されない。Primaryオーディオストリームは、BD−ROMに置かれていても、ローカルストレージ200に置かれていてもよい。またPrimaryオーディオストリームの符号化コーディックは、Secondaryオーディオストリームの符号化コーディックと異なっていてもよい。
図13は、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と、一切重複していない。
図14は、BD−ROM規格におけるPID割当マップを示す図である。本図によれば、0x0100は、Program_mapに割り当てられ、0x1001はPCRに、0x1011はビデオストリームに、0x1100から0x111FまでのゾーンはPrimaryオーディオストリームに、0x1200から0x121FまでのゾーンはPGストリームに、0x1400から0x141FまでのゾーンはIGストリームに、0x1A00から0x1A1FまでのゾーンはSecondaryオーディオストリームに割り当てられている。このPID割当マップからもわかるように、Primaryオーディオストリームに割り当てられているゾーンと、Secondaryオーディオストリームに割り当てられているゾーンとが異なっていることがわかる。
図15(a)は、Secondaryオーディオストリームの内部構成を示す図である。
本図に示すように、Secondaryオーディオストリームは、複数のオーディオフレームからなる。図15(b)は、オーディオフレームの一例を示す図である。Secondaryオーディオストリームのオーディオフレームは、メタデータを含む。
図15(c)は、メタデータの内部構成を示す図である。メタデータは、本図に示すように、“ダウンミキシング情報”と、“ゲイン制御情報”とからなる。
“ダウンミキシング情報”は、ダウンミキシングのための情報である。ダウンミキシングとは、音声の再生チャネル数を符号化チャンネル数よりも少なくする変換であり、ダウンミキシング情報は、ダウンミキシングのための変換係数行列を規定することにより、このダウンミキシングを再生装置に行わせる。5.1chの音声ストリームを2chで再生することなどがダウンミキシングの一例である。
“ゲイン制御情報”とは、Primaryオーディオストリーム側の音声出力時のゲインを上げ下げする情報であるが、ここでは下げるだけでよい。図15(d)は、ゲイン制御情報の一例を模式的に示す。このようにSecondaryオーディオストリームのメタデータは、同時に再生されるPrimaryオーディオストリームの出力をリアルタイムに下げることができる。PrimaryオーディオとSecondaryオーディオを重畳する場合には、あらかじめミキシングされるPrimaryオーディオとSecondaryオーディオの対が分かっているため、2本のオーディオのゲインをリアルタイムに制御する必要は無く、Primaryオーディオのゲインだけを下げてSecondaryオーディオのゲインはそのままにミキシング(重畳)することで十分である。
尚、ゲイン制御情報は、PlayListMarkのmark_time_stampに指定される時刻より、durationの時間だけ、有効なゲイン制御情報を格納するようにしても良い。
図16は、Secondaryオーディオストリーム内のメタデータにより、Primaryオーディオストリームの音量がどのように制御されるかを示す図である。本図における第1段目は、時間軸を示し、第2段目は、ミキシング可能なPrimaryオーディオストリームの再生出力を示す。第3段目は、Secondaryオーディオストリームの再生出力を示し、第4段目は、Secondaryオーディオストリームに多重化されたメタデータを示す。
再生時刻t1にあたるオーディオフレームに配置されたメタデータは、Primaryオーディオストリームの再生出力の音量を全体的に抑えるものであり、再生時刻t2にあたるオーディオフレームに配置されたメタデータは、Primaryオーディオストリームの再生出力の音声を元に戻すものである。再生時刻t1,t2に、かかるメタデータを配置することで、Primaryオーディオストリームとの再生出力の音量と、Secondaryオーディオストリームの再生出力の音量とが合わさり、スピーカを破損させてしまうという事態を避けることができる。
Secondaryオーディオの″ゲイン制御情報“を使ってリアルタイムにミキシングのゲイン調整を行なう場合には、t1からt2までのSecondaryオーディオの各オーディオフレームに格納された”ゲイン制御情報“がPrimaryオーディオのゲインを所定の量だけ下げることを指定していれば良い。特殊再生などでt1からt2の間に飛び込んでミキシング再生を行なうことを想定すれば、常に適切なゲイン制御が可能なこちらの方法の方が都合が良い。
<ローカルストレージ200の構成その2.PlayList情報>
続いて、ローカルストレージ200上のPlayList情報について説明する。拡張子“mpls”が付与されたファイル(00002.mpls)は、MainPath、Subpathと呼ばれる2種類の再生経路を束ねたものをPlaylist(PL)として定義する情報である。図17は、PlayList情報のデータ構造を示す図であり、本図に示すようにPlayList情報は、MainPathを定義するMainPath情報(MainPath())と、チャプターを定義するPlayListMark情報(PlayListMark())と、Subpathを定義するSubpath情報(Subpath())とからなる。かかるPlayList情報の内部構成、及び、PlayItem情報の内部構成は、BD−ROMのものと同じであり、説明を省略する。
<PlayList情報の説明その1.Subpath情報>
MainPathが、主映像たるMainClipに定義される再生経路であるのに対し、Subpathは、MainPathと同期すべきSubClipに対して定義される再生経路である。
図18は、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で指定されたPlay Itemの再生時間軸上に存在する。
『sync_start_PTS_of_PlayItem』は、sync_PlayItem_idで指定されたPlay Itemの再生時間軸上において、SubPlayItem_In_timeで指定されたSubPlayItemの始点が、どこに存在するかを示す。
<Subpath情報の詳細その1.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オーディオのミキシング再生を行う場合には、2つのオーディオデコーダとミキサーを動作させる必要があるため、通常のPrimaryオーディオだけを再生する場合とは要求が異なり、前もってプレイヤがどのような再生タイプかを取得できる必要がある。このために、SubPath_typeやSTN_tableのPIDによって、同期再生すべきSecondaryオーディオが存在することを再生前にプレイヤに通知することが可能となる。
以上がSubPath_typeについての説明である。
<SubPath情報についての詳細その2.三者の関係>
ここでの三者とは、ローカルストレージ200上のSubClip、ローカルストレージ200上のPlayList情報、BD−ROM上のMainClipの三者をいう。
図19は、ローカルストレージ200上のSubClipと、ローカルストレージ200上のPlayList情報と、BD−ROM上のMainClipとの対応を示す図である。本図において第1段目は、ローカルストレージ200上に存在するSubClipを示す。この第1段目に示すように、ローカルストレージ200上の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の位置を決める役割を果たす。
図20は、MainClipに対して設定されたEP_map及びPlayItem時間軸と、SubClipに対して設定されたEP_map及びSubPlayItem時間軸とを集約して示す図である。
本図の中段、下4段〜下1段は、図10に示したPlayItem時間軸、ピクチャ列、MainClip時間軸、EP_map、TSパケット列を示す。
また上1段目〜上3段目は、TSパケット列、EP_map、SubClip時間軸を示す。上4段目は、SubPlayItem時間軸を示す。
以上が、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と対応付けることで構成される。
図21は、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の詳細について説明する。
図22(a)は、ビデオストリームに対応したStream_attributeを示す図である。
ビデオストリームにおけるStream_attributeは、ビデオストリームの表示方式を示す『Video_format』と、ビデオストリームの表示周波数を示す『frame_rate』等を含む。
図22(b)は、Primaryオーディオストリーム、Secondaryオーディオストリームに対応したStream_attributeを示す図である。
Primaryオーディオストリーム,SecondaryオーディオストリームにおけるStream_attributeは、オーディオストリームの符号化方式を示す『stream_coding_type』と、対応するオーディオストリームのチャネル構成を示す『audio_presentation_type』と、対応するオーディオストリームのサンプリング周波数を示す対応する『Sampling_frequency』と、オーディオストリームの言語属性を示す『audio_language code』からなる。
図22(c)は、ビデオストリームにおけるStream_entryを示す図である。本図に示すように、ビデオストリームのStream_entryは、ビデオストリームの多重分離に用いられるPIDを示す「ref_to_Stream_PID_of Main_Clip」を含む。
MainClipにて多重化されているPrimaryオーディオストリーム、IGストリーム、PGストリームのStream_attributeは、この図22(c)の形式になっている。
図22(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』を含む。
図22(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]とからなる。
図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オーディオストリームをミキシングするというような、音声属性に応じた、ミキシングの可否を、オーサリング時に設定しておくことができる。
以上がローカルストレージ200の構成たるPlayList情報についての説明である。以上で、ローカルストレージ200についての説明を終える。
<バーチャルパッケージ>
以降、バーチャルパッケージについて説明する。図24は、再生装置300により生成されるバーチャルパッケージを示す図である。本図の左上は、BD−ROMの記録内容を示し、左下は、ローカルストレージ200の記録内容を示す。右側は、バーチャルパッケージの構成を示す。
再生装置は、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ディレクトリに仮想的に追加することでなされる。
こうすることにより、図24の右側に示すようなバーチャルパッケージが構成される。
以上が記録媒体についての説明である。続いて本発明に係る再生装置について説明する。
図25は、本発明に係る再生装置の内部構成を示す図である。本発明に係る再生装置は、本図に示す内部に基づき、工業的に生産される。本発明に係る再生装置は、主としてシステムLSIと、ドライブ装置という2つのパーツからなり、これらのパーツを装置のキャビネット及び基板に実装することで工業的に生産することができる。システムLSIは、再生装置の機能を果たす様々な処理部を集積した集積回路である。こうして生産される再生装置は、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から構成される。
BD−ROMドライブ1aは、BD−ROMのローディング/イジェクトを行い、BD−ROMディスクに対するアクセスを実行する。
バス1bは、BD−ROMから読み出されたTSパケット、ローカルストレージ200から読み出されたTSパケットが転送される。
リードバッファ2aは、FIFOメモリであり、BD−ROMディスク100またはローカルストレージ200から読み出されたTSパケットが先入れ先出し式に格納される。
リードバッファ2bは、FIFOメモリであり、ローカルストレージ200から読み出されたTSパケットが先入れ先出し式に格納される。
デマルチプレクサ3aは、バスに伝送しているTSパケットのうち、0x1011,0x1100〜0x111F,0x1200〜0x121F,0x1400〜141FのPIDをもつTSパケットのうち、PID変換部24から通知されたPIDをもつものを、夫々ビデオデコーダ4、オーディオデコーダ7a、Interactive Graphicsデコーダ11、Presentation Graphicsデコーダ13に出力する。
デマルチプレクサ3bは、バス1bに伝送しているTSパケットのうち、0x1A00〜0x1A1FのPIDをもつもの、即ち、Secondaryオーディオストリームを構成するTSパケットの多重分離を行う。デマルチプレクサ3bによるSecondaryオーディオストリームの多重分離は、STN_tableに含まれるSecondaryオーディオストリームのstream_entryのうち、PSR14に格納されているストリーム番号に対応するものに記述されているPIDの参照値と、バス1bに転送されているTSパケットのPIDとを比較し、当該比較において一致するPIDをもつTSパケットを、バッファ6bを介してオーディオデコーダ7bに出力することでなされる。再生可能なSecondaryオーディオストリームが1つだけである場合、上述した比較は、stream_entryに記述されているPID参照値の上位バイト“1A”と、バス1bに転送されているTSパケットのPIDの上位バイト“1A”との比較で足りる。何故なら、他にSecondaryオーディオストリームが存在しないので、Secondaryオーディオストリームであることを意味するPID上位バイトを参照すれば充分だからである。
再生可能なSecondaryオーディオストリームが複数存在する場合、上述した比較は、stream_entryに記述されているPID参照値の上位バイト“1A”と、バス1bに転送されているTSパケットのPIDの上位バイト“1A”との比較に加え、stream_entryに記述されているPID参照値の下位バイト(0x00から0x1Fまでの数値)と、バス1bに転送されているTSパケットのPIDの下位バイト(0x00から0x1Fまでの数値)との比較が必要になる。何故なら、Secondaryオーディオストリームが複数存在するので、再生すべきSecondaryオーディオストリームを一意に特定するように、PIDの下位バイトまで参照する必要があるからである。
ここでバス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オーディオストリームを、該当するデコーダに供給することができる。
尚、実装上デマルチプレクサを1つに集約することが考えられる。この場合にもPrimaryオーディオとSecondaryオーディオのPIDが異なることが同様に有効である。
以上が、BD−ROMドライブ1a、バス1b〜デマルチプレクサ3a、デマルチプレクサ3bについての説明である。
ビデオデコーダ4は、デマルチプレクサ3aから出力された複数PESパケットを復号して非圧縮形式のピクチャを得てビデオプレーン5に書き込む。
ビデオプレーン5は、非圧縮形式のピクチャを格納しておくためのプレーンである。プレーンとは、再生装置において一画面分の画素データを格納しておくためのメモリ領域である。ビデオプレーン5における解像度は1920×1080であり、このビデオプレーン5に格納されたピクチャデータは、16ビットのYUV値で表現された画素データにより構成される。
バッファ6aは、デマルチプレクサ3aから出力された、PID=0x1100〜111Fのうち再生されるべきオーディオストリームのPIDを有するTSパケットを、先入れ先だし式に格納して、オーディオデコーダ7aに供する。
バッファ6bは、デマルチプレクサ3bから出力された、PID=0x1A00〜1A1Fを有するTSパケットのうち再生されるべきオーディオストリームのPIDを有するTSパケットのみを、先入れ先だし式に格納して、オーディオデコーダ7bに供する。
バッファ6cは、BD−ROM/ローカルストレージから読み出されたファイルsound.bdmvをプリロードしておくためのメモリである。バッファ6cへのプリロードは、BD−ROMのローディング時やタイトル切替時に行うことが望ましい。何故なら、AVClipの再生中にファイルsound.bdmvを読み出そうとすると、AVClipとは別のファイルを読み出すための光ピックアップのシークが発生するからである。一方、BD−ROMの装填時やタイトル切替時には、AVClipの再生が継続していることは希なので、かかるタイミングにファイルsound.bdmvを読み出すことにより、機器の応答性を高めAVClip再生が途切れにくくすることができる。
オーディオデコーダ7aは、バッファ6aに格納されたTSパケットをPESパケットに変換して、このPESパケットに対しデコード処理を行い、非圧縮状態のLPCM状態のオーディオデータを得て出力する。これによりPrimaryオーディオストリームにおけるデジタル出力がなされる。
オーディオデコーダ7bは、バッファ6bに格納されたTSパケットをPESパケットに変換して、このPESパケットに対しデコード処理を行い、非圧縮状態のLPCM状態のオーディオデータを得て出力する。これによりSecondaryオーディオストリームにおけるデジタル出力がなされる。
DownMix/DownSample8は、ミキシングを行うにあたって、オーディオデコーダ7aから出力されたデジタルオーディオの音声属性を、オーディオデコーダ7bから出力されるデジタルオーディオの音声属性に合わせるための変換を施す。ここで音声属性とは、サンプリング周波数かつ/またはチャンネル数であり、これらを整合させる処理がなされる。またDownMix/DownSample8もしくはミキサー9aは、Secondaryオーディオストリームに多重化されている、メタデータに従い、Primaryオーディオストリーム側のゲインを下げたりする処理もオーディオデコーダ7bが抽出したゲイン制御情報によって行う。
ミキサ9aは、オーディオデコーダ7aから出力されるLPCM状態のデジタルオーディオと、オーディオデコーダ7bから出力されるLPCM状態のデジタルオーディオとをミキシングする。
ミキサ9bは、ミキサ9aから出力されるLPCM状態のデジタルオーディオと、バッファ6cに格納されているサウンドデータとをミキシングする。このサウンドミキサ9bによるミキシングは、クリック音の発音を意図したようなナビゲーションコマンド、又は、クリック音の発音を意図したようなバイトコードを、CPU22が解読することでなされる。
スイッチ10aは、デマルチプレクサ3aにより多重分離がなされた、Primaryオーディオストリームを構成するTSパケット、デマルチプレクサ3bにより多重分離がなされたSecondaryオーディオストリームを構成するTSパケットを、オーディオデコーダ7a,bに供給するか、オーディオデコーダ7a,bに供給せずそのエレメンタリーストリームだけを他機器に出力するか切り換えるスイッチである。Primaryオーディオストリームを構成するTSパケットを、オーディオデコーダ7a,bに供給せずそのエレメンタリーストリームを他の機器に出力することを“パススルー出力”という。TSパケットからエレメンタリーストリームへの変換部(TS/PESヘッダの除去を行う)はスイッチ10aに組み込まれている。(図示はしていない)
エンコーダ10bは、オーディオデコーダ7a,bのデコードにより得られ、ミキサー9a、ミキサー9bによるミキシングがなされたLPCM状態のオーディオデータを、サラウンド音声としてS/PDIFのようなデジタルインターフェース上で送る場合、ミキシングされたLPCMをDolby Digital(DD)形式やDolby Theater System(DTS)形式に圧縮符号化する。
Interactive Graphics(IG)デコーダ11は、BD−ROM100又はローカルストレージ200から読み出されたIGストリームをデコードして、非圧縮グラフィクスをIGプレーン12に書き込む。
Interactive Graphics(IG)プレーン12は、IGデコーダ10によるデコードで得られた非圧縮グラフィクスが書き込まれる。またBD−Jモードにおいて、アプリケーションにより描画された文字やグラフィクスが書き込まれる。
Presentation Graphics(PG)デコーダ13は、BD−ROM又はローカルストレージ200から読み出されたPGストリームをデコードして、非圧縮グラフィクスをPresentation Graphicsプレーン14に書き込む。PGデコーダ13によるデコードにより、字幕が画面上に現れることになる。
Presentation Graphics(PG)プレーン14は、一画面分の領域をもったメモリであり、一画面分の非圧縮グラフィクスを格納することができる。
JPEGデコーダ15は、BD−ROM又はローカルストレージ200に記録されているJPEGデータをデコードして、Stillプレーン16に書き込む。
Stillプレーン16は、JPEGデータを展開することで得られた非圧縮のグラフィクスデータが格納されるプレーンである。このグラフィクスデータは、Java(登録商標)アプリが描画する、GUIフレームワークのいわゆる“壁紙”として用いられる。
合成部17は、Interactive Graphicsプレーン12の格納内容と、Presentation Graphicsプレーン14の格納内容と、ビデオプレーン5の格納内容と、Stillプレーン16の格納内容とを合成した合成画像を得る。
STC生成部18a,bは、コントローラ22の指示によってSystem Time Clock(STC)を生成し各デコーダの動作タイミングを調整する。
ATC生成部19a,bは、コントローラ22の指示によってArrival Time Clock(ATC)を生成しデマルチプレクサの動作タイミングを調整する。メモリ21は、カレントのPL情報やカレントのClip情報を格納しておくためのメモリである。カレントPL情報とは、BD−ROMに記録されている複数PlayList情報のうち、現在処理対象になっているものをいう。カレントClip情報とは、BD−ROM/ローカルストレージに記録されている複数Clip情報のうち、現在処理対象になっているものをいう。
CPU22は、MovieObject.bdmvに格納されているMovie Objectや、BD−J Objectにて参照されているJava(登録商標)アプリケーションを解読し、この解読結果に従ったプレイリスト再生(カレントPlayList情報に従った再生制御のことである)を実行することで、BD−ROMの再生制御を実現する。また上述のようなATS、STCの制御も行なう。
PSRセット23は、再生装置に内蔵されるレジスタであり、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に指示する。
通信部25は、読出装置における通信機能を実現するものであり、BD−JモードにおいてURL指定がJava(登録商標)アプリケーションから与えられれば、そのURLにあたるwebサイトとのTCPコネクション、FTPコネクション等を確立する。かかるコネクション確立によりwebサイトからのダウンロードをJava(登録商標)アプリケーションに行わせる。
操作受付部26は、リモコンに対してなされた操作をユーザから受け付け、そうした操作を示すUser Operation情報をコントローラ22に通知する。
HDMI送受信部27は、HDMI(HDMI:High Definition Multimedia Interface)を介して接続された他の機器から、その機器に関する情報を受信とすると共に、ビデオデコーダ4のデコードにより得られたデジタル非圧縮のビデオを、LPCMや圧縮されたオーディオデータと共に、HDMIを介して接続された他の機器に送信する。
以上が、本実施形態に係る再生装置のハードウェア構成である。続いて本実施形態に係る再生装置のソフトウェア構成について説明する。
図25に示したコントローラ22を、機能的に表現すると、図26のようになる。図26は、コントローラ22を機能的に表現した図であり、本図に示すようにコントローラ22は、プレイリスト処理部41、Procedure実行部42、Procedure実行部43、ミキシング制御部44、ATC生成部19a,b、STC生成部18a,bに対して、ATC/STCの生成を行わせるATC/STC制御部から構成される。
これらの構成要素の処理は、PSRセット23に基づく。以降、PSR1、PSR14、PSR31について説明する。
<PSR1>
図27(a)は、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>
図27(b)は、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>
図27(c)は、PSR31のビットアサインを示す図である。
本図によると、32ビット長のPSR31のうち、16ビット目から19ビット目まで(b16〜b19)は、Player Profile情報であり、0000bであれば、当該再生装置は、グレースピリオド内に出荷された再生装置であることを示す。ここでグレースピリオドとは、この期間内に出荷されたなら、一定の機能の実装を省くことができる期間である。このグレースピリオドに出荷するため、省略することができる機能には、音声のミキシング機能があり、かかるPSR31のPlayer Profile情報が、0000bであれば、ミキシングを始めとする、様々な機能の実装が省略されている再生装置であると、知ることができる。
Player Profile情報が0001bであれば、当該再生装置は、グレースピリオド経過後に出荷された再生装置であることを示す。グレースピリオドの経過後に出荷された再生装置は、原則として、全ての機能の実装が義務付けられているので、かかるPlayer Profile情報が0001bであるなら、ミキシングが実装されている再生装置であると、知ることができる。
Player Profile情報が0011bであれば、当該再生装置は、全ての機能を実装している再生装置であることを示す。かかる再生装置は、グレースピリオドの経過前後にかかわらず、全ての機能を実装しているので、かかるPlayer Profile情報が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と設定することができる。
以上が、PSRセット23についての説明である。
以降、プレイリスト処理部41〜Procedure実行部43についての説明を開始する。
<機能構成の詳細その1.プレイリスト処理部>
プレイリスト処理部41は、PL再生を実現するものであり、PlayItem情報のIn_timeにあたる位置から、Out_timeにあたる位置までビデオストリーム及びPrimaryオーディオストリームを再生し、これと同期して、SubPlayItem情報のSub_PlayItem_In_timeにあたる位置から、Sub_PlayItem_Out_timeにあたる位置までのSecondaryオーディオストリームの再生を、オーディオデコーダ7bに行わせる。
図28は、プレイリスト処理部によるプレイリスト再生手順を示すフローチャートである。
本フローチャートは、カレントPL情報(.mpls)の読み込みを行い(ステップS101)、その後、ステップS102〜ステップS110の処理を実行するというものである。ここでステップS102〜ステップS110は、ステップS109がYesになるまで、カレントPL情報を構成するそれぞれのPI情報について、ステップS103〜ステップS110の処理を繰り返すというループ処理を構成している。このループ処理において処理対象となるPlayItemを、PlayItem#x(PI#x)とよぶ。このPlayItem#xは、カレントプレイリストの先頭のPlayItemに設定されることにより、初期化される(ステップS102)。上述したループ処理の終了要件は、このPlayItem#xがカレントプレイリストの最後のPlayItemになることであり(ステップS109)、もし最後のPlayItemでなければ、カレントプレイリストにおける次のPlayItemがPlayItem#xに設定される(ステップS110)。
ループ処理において繰り返し実行されるステップS103〜ステップS110は、PlayItem#xのClip_information_file_nameで指定されるClip情報をメモリに読み込み(ステップS103)、PlayItem#xのIn_timeを、カレントClip情報のEPmapを用いて、Iピクチャアドレスuに変換し(ステップS104)、PlayItem#xのOut_timeを、カレントClip情報のEP_mapを用いて、Iピクチャアドレスvに変換して(ステップS105)、これらの変換で得られたアドレスvの次のIピクチャを求めて、そのアドレスの1つ手前をアドレスwに設定し(ステップS107)、そうして算出されたアドレスwを用いて、IピクチャアドレスuからアドレスwまでのTSパケットの読み出しをBD−ROMドライブ1又はローカルストレージ200に命じるというものである(ステップS108)。
一方、ビデオデコーダ等に対しては、カレントPLMarkのmark_time_stampからPlayItem#xのOut_timeまでの出力を命じる(ステップS106)。以上のステップS105〜ステップS108により、AVClipにおいて、PlayItem♯xにより指示されている部分の再生がなされることになる。
その後、PlayItem♯xがカレントプレイリストの最後のPIであるかの判定がなされる(ステップS109)。
PlayItem♯xがカレントプレイリストの最後のPIでなければ、カレントプレイリストにおける次のPlayItemを、PlayItem♯xに設定して(ステップS110)、ステップS103に戻る。以上のステップS103〜ステップS110を繰り返することにより、プレイリストを構成するPIは順次再生されることになる。
<機能構成の詳細その2.Procedure実行部42>
Procedure実行部42は、あるPlayItem情報から別のPlayItem情報への切り換わりが生じた場合、又はストリーム番号を切り換える旨の操作がユーザによりなされた場合、所定のストリーム選択プロシージャを実行して、PSR1に新たなストリーム番号を書き込む。再生装置は、PSR1に書き込まれたストリーム番号に応じて、Primaryオーディオストリームを再生するので、かかるPSR1の設定を通じて、Primaryオーディオストリームが選択されることになる。
PlayItem情報の切り換わり時に、ストリーム選択プロシージャを実行するのは、STN_TableはPlayItem情報毎に存在するので、あるPlayItem情報においては再生可能であったPrimaryオーディオストリームが、別のPlayItem情報において再生不可能になることが有り得るからである。
このProcedure実行部42により、PSR1は、図29(a)に示すような状態遷移をなす。図29(a)は、PSR1の設定値が取り得る状態遷移を示す図である。本図においてValidとは、PSR1の値が、Play ItemのSTN_tableに記述されたentry数以下の番号になっていて、尚且つ、デコード可能であることを意味する。
Invalidとは、PSR1の値が、0であるか、又は、Play ItemのSTN_tableに記述されたentry数を上回る番号になっているか、または、Play ItemのSTN_tableに記述されたentry数が1〜32の値であったとしても、デコードできない場合である。
図29(a)における破線枠は、状態遷移時にあたってPSRの値を決定する手順を模式的に示す。PSRの設定処理手順には、『Procedure when playback condition is changed』、『Procedure when Stream change is requested』がある。
Procedure when playback condition is changedは、何等かの事象が再生装置に生じたため、再生装置の状態が変化した際に実行すべき処理手順を示す。
Procedure when Stream Change is requestedは、ユーザが何等かの切り換え(図29(a)においてstream)を要求した際、実行すべき処理手順を示す。
これら破線枠に示されるProcedure when playback condition is changed、Procedure when Stream change is requestedが、ストリーム選択プロシージャであり、後でフローチャートを交えて詳細に説明する。
図29(a)における矢印は、PSRが取り得る状態間の状態遷移を象徴的に示す。
状態遷移を意味する矢印に添えられた注釈は、各状態遷移のトリガとなるべき事象を意味する。つまり本図では、”Load Disc”、”Change a Stream”,”Start PlayList playback”,”Cross a PlayItem boundary”,”Terminate PlayList playback”というような事象が発生した際、PSR1の状態遷移がなされることになる。これらの記法を理解して図29(a)を参照すれば、Invalid→Invalidの状態遷移時、Valid→Invalidの状態遷移時には、上述した処理手順は実行されていないことがわかる。これに対しInvalid→Valid間の状態遷移、Valid→Valid間の状態遷移は何れも破線枠を経由している。つまりPSR1をValidに設定するにあたって、上述したProcedure when playback condition is changed、Procedure when Stream change is requestedによりPSR1は設定されるのである。
以降、状態遷移のトリガとなるべき事象について説明する。
『Load Disc』とは、再生装置にBD−ROMがローディングされたとの事象を意味する。PSR1は、かかるローディング時において、一旦不定値(0xFF)に設定されるのである。
『Start PlayList playback』とは、PLに基づく再生処理が開始したとの事象を意味する。かかる事象が発生時において、Procedure when playback condition is changedが実行され、PSR1はValidに設定されることがわかる。
『Terminate PlayList playback』とは、PLに基づく再生処理を終了したとの事象を意味する。かかる事象の発生時では、Procedure when 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 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側で保証するからである。
『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に設定するというのが、この状態遷移の趣旨である。
この状態遷移においてProcedure when playback condition is changedは、図29(b)のようになる。図29(b)は、Procedure when playback condition is changedの処理手順を示す図である。本処理手順は、ステップS1、ステップS2という2つの判定ステップの組合せで、PSR1の設定を行うものである。
ステップS1は、STN_tableにおけるentry数が0であるか否かの判定であり、もし0であればPSR1の値を維持する(ステップS3)。
ステップS2は、STN_tableにおけるentry数は0ではない場合に、PSR1よりSTN_tableのentry数が多く、尚且つ、条件(A)が真であるかを判定するものである。条件(A)とは、PSR1で特定されるPrimaryオーディオストリームを再生する能力が再生装置に存在することである。もしステップS2がYesであればPSR1を維持する(ステップS4)。もしPSR1の値がentry数より大きいか、或は条件(A)を満たさない場合は、PSR1を再設定する(ステップS5)。
図30は、ステップS5の詳細な処理手順に示したフローチャートである。
ステップS6、ステップS7は、全てのPrimaryオーディオストリームについてステップS8を繰り返すループ処理を形成している。このループ処理において、処理対象となる個々のPrimaryオーディオストリームを、Primaryオーディオストリームiという。ステップS8は、Primaryオーディオストリームiが3つの条件(a)(b)(c)を満たすかのチェックを行う。
条件(a)とは、Primaryオーディオストリームiを再生する能力が再生装置に存在することであり、これを満たすか否かの判定は、PSR15と、Primaryオーディオストリームiのstream_coding_typeとの比較でなされる。
条件(b)とは、Primaryオーディオストリームiの言語属性が再生装置の言語設定と同じであることであり、これを満たすか否かの判定は、STN_tableに記述されたPrimaryオーディオストリームiのAudio_language_codeがPSRの設定値と同じであるか否かの比較でなされる。
条件(c)とは、Primaryオーディオストリームiのチャネル属性がサラウンドであり、これを再生する能力が再生装置に存在することである。これを満たすか否かの判定は、PSR15と,Audio Streamのaudio_presentation_type、stream_coding_typeとの比較でなされる。
これらの複数の条件のうち、「Primaryオーディオストリームiがどれとどれを満たすか」、また「何個の条件を満たすか」という、満たすべき条件のパターンにより、本フローチャートは、Primaryオーディオストリームに優先順位を付与する。
以上の処理をPrimaryオーディオストリームの全てについて繰り返されれば、ステップS9〜ステップS13の処理を行う。ステップS9は、(a)を満たすPrimaryオーディオストリームが存在しないかどうかの判定である。もし、存在しなければ、不定値(0xFF)をPSR1に設定する(ステップS14)。
ステップ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オーディオストリームが選ばれることになる。
STN_tableにおける記述順序を変えることで、オーサリング担当者は再生時においてどのストリームを優先的に再生させ、どのストリームを後回しにするかという選択制御をオーサリング時に規定することができる。
ステップS11は、条件(a)(b)(c)の全てを満たすPrimaryオーディオストリームが存在しない場合、条件(a)(b)を満たすPrimaryオーディオストリームが存在するかどうかの判定である。もし存在すれば、条件(a)(b)を満たすPrimaryオーディオストリームのうち、STN_tableにおけるエントリーの順番が最も早いものをPSR1に設定する(ステップS16)。
ステップS12は、条件(a)(b)(c)の全てを満たすPrimaryオーディオストリーム、又は、条件(a)(b)を満たすPrimaryオーディオストリームが存在しない場合に、条件(a)(c)を満たすPrimaryオーディオストリームが存在するかどうかの判定である。もし存在すれば、条件(a)(c)を満たすPrimaryオーディオストリームのうち、STN_tableにおけるエントリーの順番が最も早いものをPSR1に設定する(ステップS17)。
ステップS13は、条件(a)(b)(c)の全て、条件(a)(b)、条件(a)(c)を満たすPrimaryオーディオストリームが存在しない場合に、条件(a)を満たすPrimaryオーディオストリームが存在するかどうかの判定である。もし存在すれば、条件(a)を満たすPrimaryオーディオストリームのうち、STN_tableにおけるエントリーの順番が最も早いものをPSR1に設定する(ステップS18)。
以上がProcedure when playback condition is changedである。続いてProcedure when Stream change is requestedについて説明する。図31は、ストリーム変化時におけるPSR1の設定手順を示すフローチャートである。本フローチヤートと、図29(b)との違いは、図29(b)におけるPSR1の表記がXに置き換えられている点である。このXは、操作受付部26から出力されたUser Operation情報やIGデコーダ13から出力されたボタンコマンドに基づく値である。
本フローチャートにおけるステップS19は、XよりSTN_tableのentry数が多く、尚且つ、条件(A)が真であるかを判定するものである。条件(A)とは、PSR1で特定されるPrimaryオーディオストリームを再生する能力が再生装置に存在することであり、PSR15と、PrimaryオーディオストリームのStream_codeig_typeの比較で判定される。もしXがこの条件を満たすなら、PSR1にXを設定する(ステップS21)。
もしXがentry数より大きいか、或は条件(A)を満たさない場合は、Xが、0xFFであるか否かを判定する。もしOxFFでなければ、ユーザが選択を意図するPrimaryオーディオストリームの番号は無効であると考えられるので、ユーザ操作に基づく値Xを無視し、PSR1の設定値を維持する(ステップS23)。
もしPSR1の設定値が0xFFであるなら、PSR1を設定する(ステップS24)。このステップS24の処理手順は、図30に示した処理手順と同一である(図30のうち、ステップS9の判定はProcedure when Stream change is requestedでは必要ではない。何故ならProcedure when Stream change is requestedでは、条件(a)(b)(c)を満たすPrimaryオーディオストリームが1つも存在しない場合、ユーザが設定した値XをPSR1に設定せず、PSR1の設定値を維持するからである。)。
<機能構成の詳細その3.Procedure実行部43>
Procedure実行部43は、あるPlayItem情報から別のPlayItem情報への切り換わりが生じた場合、又はストリーム番号を切り換える旨の操作がユーザによりなされた場合、所定の手順を実行して、PSR14に新たなストリーム番号を書き込む。再生装置は、PSR14に書き込まれたストリーム番号に対応するSecondaryオーディオストリームを再生するので、かかるPSR14の設定を通じて、Secondaryオーディオストリームが選択されることになる。
このProcedure実行部43により、PSR14は、図32(a)に示すような状態遷移をなす。
図32(a)は、PSR14の設定値が取り得る状態遷移を示す図である。本図においてValidとは、PSR14の値が、Play ItemのSTN_tableに記述されたentry数以下の番号になっていて、尚且つ、デコード可能であることを意味する。
Invalidとは、PSR14の値が、0であるか、又は、Play ItemのSTN_tableに記述されたentry数を上回る番号になっているか、または、Play ItemのSTN_tableに記述されたentry数が1〜32の値であったとしても、デコードできない場合である。
図32(a)における破線枠は、状態遷移時にあたってPSRの値を決定する手順を模式的に示す。PSRの設定処理手順には、『Procedure when playback condition is changed』、『Procedure when Stream change is requested』がある。
Procedure when playback condition is changedは、何等かの事象が再生装置に生じたため、再生装置の状態が変化した際に実行すべき処理手順を示す。
Procedure when Stream Change is requestedは、ユーザが何等かの切り換え(図32においてstream)を要求した際、実行すべき処理手順を示す。
これら破線枠に示されるProcedure when playback condition is changed、Procedure when Stream change is requestedが、ストリーム選択プロシージャであり、後でフローチャートを交えて詳細に説明する。
図32(a)における矢印は、PSRが取り得る状態間の状態遷移を象徴的に示す。
状態遷移を意味する矢印に添えられた注釈は、各状態遷移のトリガとなるべき事象を意味する。つまり本図では、”Load Disc”、”Change a Stream”,”Start PlayList playback”,”Cross a PlayItem boundaryor Change Primary Audio Stream”,”Terminate PlayList playback”というような事象が発生した際、PSR14の状態遷移がなされることになる。これらの記法を理解して図32(a)を参照すれば、Invalid→Invalidの状態遷移時、Valid→Invalidの状態遷移時には、上述した処理手順は実行されていないことがわかる。これに対しInvalid→Valid間の状態遷移、Valid→Valid間の状態遷移は何れも破線枠を経由している。つまりPSR14をValidに設定するにあたって、上述したProcedure when playback condition is changed、Procedure when Stream change is requestedによりPSR14は設定されるのである。
以降、状態遷移のトリガとなるべき事象について説明する。
『Load Disc』とは、再生装置にBD−ROMがローディングされたとの事象を意味する。PSR14は、かかるローディング時において、一旦不定値(0xFF)に設定されるのである。
『Start PlayList playback』とは、PLに基づく再生処理が開始したとの事象を意味する。かかる事象が発生時において、Procedure when playback condition is changedが実行され、PSR14はValidに設定されることがわかる。
『Teminate PlayList playback』とは、PLに基づく再生処理が終了したとの事象を意味する。かかる事象の発生時では、Procedure when 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 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側で保証するからである。
『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に設定するというのが、この状態遷移の趣旨である。
この状態遷移においてProcedure when playback condition is changedは、図32(b)のようになる。本処理手順は、ステップS31、ステップS32という2つの判定ステップの組合せで、PSR14の設定を行うものである。
ステップS31は、STN_tableにおけるentry数が0であるか否かの判定であり、もし0であればPSR14の値を維持する(ステップS33)。
ステップS32は、STN_tableにおけるentry数は0ではない場合に、PSR14よりSTN_tableのentry数が多く、尚且つ、条件(A)と(B)が真であるかを判定するものである。条件(A)とは、PSR14で特定されるSecondaryオーディオストリームを再生する能力が再生装置に存在することである。条件(B)とは、Primary_Audio_Stream_Numberと、Secondary_Audio_Stream_Numberの組み合わせがSTN_tableで許可されていることである。もしステップS32がNoであればPSR14を維持する(ステップS34)。Yesの場合は、PSR14を再設定する(ステップS35)。
図33は、ステップS35の詳細な処理手順に示したフローチャートである。
ステップS36、ステップS37は、全てのSecondaryオーディオストリームについてステップS38を繰り返すループ処理を形成している。このループ処理において、処理対象となる個々のSecondaryオーディオストリームを、Secondaryオーディオストリームiという。ステップS38は、Secondaryオーディオストリームiが3つの条件(a)(b)(c)を満たすかのチェックを行う。
条件(a)とは、Secondaryオーディオストリームiを再生する能力が再生装置に存在することであり、これを満たすか否かの判定は、オーディオストリームの再生能力を示すレジスタ(PSR15)と、Secondaryオーディオストリームiのstream_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オーディオストリームの全てについて繰り返されれば、ステップS39〜ステップS41、ステップS44〜ステップS46の処理を行う。ステップS39は、条件(a)及び条件(b)を満たすSecondaryオーディオストリームが存在しないかどうかの判定である。もし、存在しなければ、不定値(0xFF)をPSR14に設定する(ステップS44)。
ステップ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オーディオストリームが選ばれることになる。
STN_tableにおける記述順序を変えることで、オーサリング担当者は再生時においてどのストリームを優先的に再生させ、どのストリームを後回しにするかという選択制御をオーサリング時に規定することができる。
ステップS41は、条件(a)(b)(c)の全てを満たすSecondaryオーディオストリームが存在しない場合、条件(a)(b)を満たすSecondaryオーディオストリームが存在するかどうかの判定である。もし存在すれば、条件(a)(b)を満たすSecondaryオーディオストリームのうち、STN_tableにおけるエントリーの順番が最も早いものをPSR14に設定する(ステップS46)。
以上がProcedure when playback condition is changedである。続いてProcedure when Stream change is requestedについて説明する。図34は、ストリーム変化時におけるPSR14の設定手順を示すフローチャートである。本フローチャートと、図32(b)との違いは、図32(b)におけるPSR14の表記がXに置き換えられている点である。このXは、操作受付部26から出力されたUser Operation情報やIGデコーダ13から出力されたボタンコマンドに基づく値である。
本フローチャートにおけるステップS49は、XよりSTN_tableのentry数が多く、尚且つ、条件(A)、条件(b)が真であるかを判定するものである。もしXがこの条件を満たすなら、PSR14にXを設定する(ステップS51)。
もしXがentry数より大きいか、或は条件(A)及び条件(B)を満たさない場合は、Xが、0xFFであるか否かを判定する(ステップS52)。もしOxFFでなければ、ユーザが選択を意図するSecondaryオーディオストリームの番号は無効であると考えられるので、ユーザ操作に基づく値Xを無視し、PSR14の設定値を維持する(ステップS53)。
もしPSR14の設定値が0xFFであるなら、PSR14を設定する(ステップS54)。このステップS54の処理手順は、図33に示した処理手順と同一である(図33のうち、ステップS39の判定はProcedure when Stream change is requestedでは必要ではない。何故ならProcedure when Stream change is requestedでは、条件(a)(b)(c)を満たすSecondaryオーディオストリームが1つも存在しない場合、ユーザが設定した値XをPSR14に設定せず、PSR14の設定値を維持するからである。)。
以上でProcedure実行部43についての説明を終える。
<機能構成の詳細その4.ミキシング制御部44>
ミキシング制御部44は、Player Profile情報が0001hである場合、又は、0011hである場合、Primaryオーディオストリームの再生出力に対して、Secondaryオーディオストリームの再生出力、又は、サウンドデータの再生出力をミキシングするよう、ミキサー9a、ミキサー9bを制御する。
ここでPlayItem時間軸における現在の再生時点が、SubPlayItem情報のIn_timeからOut_timeまでであり、また、カレントPlayItem情報のSTN_Tableにおいて、Secondaryオーディオストリームが有効になっている場合、PSR14に格納されたストリーム番号のSecondaryオーディオストリームのデコードが、オーディオデコーダ7bにてなされているので、ミキシング制御部44は、オーディオデコーダ7aの再生出力に対して、オーディオデコーダ7bの再生出力をミキシングするよう、ミキサー9aを制御する。
Primaryオーディオストリームにおける属性がサラウンドである場合、L,R,C,LS,RS,LR,RR,LFEといった成分のうち、所望の成分のみを残すようダウンミキシングを行った上で、Secondaryオーディオストリームの再生出力をミキシングすることができる。ここでSecondaryオーディオストリームが映画監督のコメンタリ音声である場合、SecondaryオーディオストリームをミキシングすべきPrimaryオーディオストリームのチャンネルを、L→C→Rというように変化させてゆけば、ユーザの回りを映画監督が、歩き回っているかのような感覚を、ユーザに与えることができる。このようなミキシングをパンニングと呼んでいる。パンニングではPrimaryオーディオストリームよりも少ないチャンネル数のSecondaryオーディオストリーム(例えばモノラル)の音声が使われる。
Java(登録商標)アプリケーションにて描画されたボタンに対し確定操作がなされた場合、又は、IGストリームにより描画されたボタンに対し確定操作がなされた場合、Primaryオーディオストリームの再生出力、又は、Primaryオーディオストリームの再生出力と、Secondaryオーディオストリームの再生出力とのミキシング結果に対して、サウンドデータをミキシングするよう、ミキサー9bを制御する。
以上のように本実施形態によれば、デマルチプレクサ3bは、バス1bに転送されているTSパケットを取り込み、このPIDの上位バイトを参照することにより、当該TSパケットを、Secondaryオーディオストリーム用のデコーダに投入することができる。これによりデマルチプレクサ3bは、このSecondaryオーディオストリームを構成するPESパケットのみを、多重分離して、Primaryオーディオストリーム用のデコーダとは別のデコーダに取り込むことができる。
Primaryオーディオストリームを構成するパケット、Secondaryオーディオストリームを構成するパケットを別々のデコーダに取り込み、デコードに供給することができるので、Primaryオーディオストリームを構成するパケットのみダウンコンバートを施したり、ダウンミキシングを施したり、ゲインを下げたりすることができる。BD−ROM100からの読み出す中に、ローカルストレージ200からSecondaryオーディオストリームを読み出し、これらを2つのデコーダに供給したとしても、Primaryオーディオストリームを構成するパケットのみに対し、リアルタイムに特別な処理を施すことができる。
(第2実施形態)
第2実施形態は、ホームシアターシステムにおける再生装置300、AVアンプ500のうち、どの装置において、Primaryオーディオストリームのデコードを行うかという、Primaryオーディオストリームのデコードを行わせるべき装置の選択に関する実施形態である。
図35(a)は、再生装置300、AVアンプ500、スピーカ600の接続形態を示す図である。ホームシアターシステムにおける接続形態には、AVアンプ500を介さず、再生装置300を直接、スピーカ600に接続する形態(接続形態(1))、AVアンプ500を介してスピーカ600と接続する形態(接続形態(2))がある。
前者の接続形態(1)には、再生装置300のデコードで得られたLPCMがスピーカ600に供給される。一方、後者の接続形態(2)では、再生装置300はパススルー出力を行うに過ぎず、AVアンプ500のデコードで得られたLPCMがスピーカ600に供給される。
このように、何通りかの接続形態がホームシアターシステムに存在する場合、それぞれの装置において、チャンネル数が変化する。
図35(b)は、再生装置300、AVアンプ500、スピーカ600のそれぞれで、チャンネル数がどのように変化するかを示す図である。本図の第1段目は、BD−ROM100、再生装置300、AVアンプ500、スピーカ600のそれぞれを示す。これらの機器のデコード能力は、再生装置300が5.1chまで可能であり、AVアンプ500は、7.1chまで可能、スピーカ600は7.1chというものである。
第2段目〜第4段目は、BD−ROM100に、7.1ch、5.1chのPrimaryオーディオストリームが存在する場合、これらの機器にて、どのようにダウンミキシングが行われるかを示す。第2段目は、BD−ROM100に7.1chの属性をもつPrimaryオーディオストリームが存在しており、これを再生装置300でデコードする場合を示している。この場合、再生装置300は、BD−ROM100から読み出した7.1chのPrimaryオーディオストリームをデコードして、5.1chにダウンミキシングしたLPCMを出力する。AVアンプ500は、この5.1chのLPCMを7.1chに変換した上でスピーカ600に出力する。
第3段目は、BD−ROM100に5.1chのPrimaryオーディオストリームが記録されている場合を示す。この場合、再生装置300は、5.1chのPrimaryオーディオストリームをデコードし、ダウンミキシングを施さずにAVアンプ500にLPCMを出力する。AVアンプ500は、この5.1chの音声出力を7.1chに変換した上で、スピーカ600に出力する。
第4段目は、BD−ROM100に7.1chが記録されており、これを再生装置300がパススルー出力する場合を示す。この場合、デコードは、AVアンプ500でなされ、このAVアンプ500によるデコードにて得られた7.1chの音声が、スピーカ600に供されて、音声出力される。
これらの出力を比較すれば、第2段目のように再生装置300が7.1chを5.1chに変換する場合は、音声はいったん5.1chになり、AVアンプ500が7.1chに変換したものをスピーカ600に出力するので、BD−ROM100に記録されているオーディオストリームが7.1chであるにもかかわらず、第2段目の出力時での音質は、第3段目の出力時での音質と大差がない。
これに対して第4段目では、7.1chのオーディオストリームのデコードを、7.1chのデコード能力を有するAVアンプ500に行わせているので、高音質の出力が期待できる。
そこで本実施形態では、かかる出力形態において、接続相手となる機器に再生能力が存在する場合、かかる機器にデコードを行わせるよう、パススルー出力を行う。
接続相手にどれだけの再生能力があるか、デコード能力があるか、ストリーム出力すべきかどうかは、HDMIにおけるDIB(Decoder Information Block)を通じて判定する。図36(a)は、DIBを示す図である。
本図に示すようにDIBは、AVアンプ500に出力することができる符号化方式を示す「Coding Type」、接続相手の機器がデコード可能なチャネル数を示す「Channel Count」、スピーカ配置を示す「Channle/Speaker Allocation」、接続相手の機器において再生することができる周波数を示す「Sample Frenquency」からなる。
図36(b)は、DIBの各フィールドに設定しうる値を示す。
「CODING TYPE」は、接続相手となる機器において、デコードを行うことができる符号化方式は、DTS−HD、MLP、DD+などのうち、どれであるかを示す。「CODING TYPE」における実際の記述は、CT0,CT1,CT2,CT3という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」などのサンプリング周波数示す。
図36(c)は、DIBを用いた再生装置300、AVアンプ500間の通信シーケンスを示す。
再生装置300のHDMI送受信部27は、AVアンプ500と接続された際、◎1に示すように、相互認証を行い、その後、再生装置300のHDMI送受信部27は、レシーバとなるAVアンプ500側から、◎2に示すようにDIBを受信する。こうして受信したDIBにおいて、AVアンプ500側に、Primaryオーディオストリームをデコードする能力が存在すれば、AVアンプ500に対し、◎3に示すようにPrimaryオーディオストリームのパススルー出力を行うことができる。AVアンプ500側に、Primaryオーディオストリームをデコードする能力がなければ、再生装置でデコードしたLPCMを転送するか、そのストリームは再生できないことになる。
続いて、第2実施形態における、再生装置の改良について説明する。
図37は、PSRセット23におけるPSR15の内部構成を示す図である。
PSR15は、第1実施形態に示したPSR1、PSR14、PSR31と同様、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+オーディオストリームの基本データ(independent substram)の2chストリームまでを再生する能力が、再生装置に存在することを示す。この4ビットの下位2ビットが10bなら、DD/DD+オーディオストリームの基本データ(independent substram)のマルチチャンネルストリーム(2chより多いch数のストリーム)を再生する能力が、再生装置に存在することを示す。
この4ビットの上位2ビットが01bなら、DD/DD+オーディオストリームの拡張データ(Dependent substram)の2chストリームまでを再生する能力が、再生装置に存在することを示す。この4ビットの上位2ビットが10bなら、DD/DD+オーディオストリームの拡張データ(Dependent substram)のマルチチャンネルストリームを再生する能力が、再生装置に存在することを示す。
上位2ビットが00であるなら、DD/DD+オーディオストリームの拡張データ(Dependent substram)を再生する能力が再生装置に存在しないことを示す。
PSR15のビットb8からビットb11までは、DTS−HD形式のオーディオストリームをデコードして再生する能力が再生装置に存在するか否かを示す。この4ビットの下位2ビットが01bなら、DTS−HDオーディオストリームの基本データ(Core substram)の2chまでを再生する能力が、再生装置に存在することを示す。この4ビットの下位2ビットが10bなら、DTS−HDオーディオストリームの基本データ(Core substram)のマルチチャンネルを再生する能力が、再生装置に存在することを示す。
この4ビットの上位2ビットが01bなら、DTS−HDオーディオストリームの拡張データ(Extension substramの2chまでを再生する能力が、再生装置に存在することを示す。この4ビットの上位2ビットが10bなら、DTS−HDオーディオストリームの拡張データ(Extension substram)のマルチチャンネルを再生する能力が、再生装置に存在することを示す。
上位2ビットが00bであるなら、DTS−HDオーディオストリームの拡張データ(Extension substram)を再生する能力が再生装置に存在しないことを示す。
PSR15のビットb12からビットb15までは、DD/MLP形式のオーディオストリームをデコードして再生する能力が再生装置に存在するか否かを示す。この4ビットの下位2ビットが01bなら、DDオーディオストリームの2chまでを再生する能力が、再生装置に存在することを示す。この4ビットの下位2ビットが10bなら、DDオーディオストリームのマルチチャンネルを再生する能力が、再生装置に存在することを示す。
この4ビットの上位2ビットが01bなら、MLPオーディオストリームの2chまでを再生する能力が、再生装置に存在することを示す。この4ビットの上位2ビットが10bなら、MLPオーディオストリームのマルチチャンネルを再生する能力が、再生装置に存在することを示す。
上位2ビットが00であるなら、MLPオーディオストリームを再生する能力が再生装置に存在しないことを示す。
このように、PSR15は、符号化方式毎に、基本データ、拡張データのそれぞれを処理する能力があるか否かを規定できるようにしている。PSR15の説明で言う2chとはL/Rの2chを意味している。
このようにPSR15が規定されているので、第2実施形態にかかるコントローラ22は、図38のフローチャートに従って、Primaryオーディオストリームの再生制御を行う。図38は、第2実施形態にかかるコントローラ22の処理手順を示すフローチャートである。
ステップS61は、装置起動がなされたかか否かの起動待ち判定であり、もし起動されれば、HDMIを介した接続相手の機器の認証を行う(ステップS62)。この認証により、相互の正当性が判明すれば、ステップS63に移行する。ステップS63は、DIBを受信したかどうかの受信待ちループであり、もしDIBを受信すれば(ステップS63でyes)、接続相手から受け取ったDIBにより、接続相手の能力及びスピーカ数(配置)を認識する(ステップS64)。ステップS65は、接続相手に再生能力が存在するか否かの判定であり、もし再生能力が存在するなら、パススルー出力を行うか否かの設定を受け付けるためのメニューを表示し(ステップS67)、ユーザがパススルー出力を希望したかどうかを判定する(ステップS68)。
尚、DIBによりスピーカが接続されている機器(多くの場合AVアンプ)にてデコードできることが分かった場合には、ユーザーに設定させることなく、自動で接続相手機器にてデコードするようパススルー設定(S68でYES)を行なっても良い。
尚、再生機器300の機器設定メニュー(初期設定メニュー)で接続先の機器でデコードできることが分かった場合には自動でパススルー設定(S68でYES)を行なうよう予め設定をしていても良い。
図39、図40は、パススルー出力を行うか否かの設定を受け付けるためのメニューを示す図である。これらの図におけるメニューは、「お客さまのシアターシステムでは、接続先の機器で音声デコードを行うことができます」や「接続先の機器xxxxで音声デコードを行なうことで、より高音質な音声をお楽しみ頂けます」などの注意を喚起する旨のメッセージと、接続先機器でのデコード指示を可否を受け付けるボタン「Yes」「No」とからなる。
一方、図40のメニューにおいて、XXXの部分には、AVアンプ500の製品名や型番を表示される。またこのXXXの部分にAVアンプ500の他、テレビ400の製品名や型番を表示させ、これらをユーザ操作に応じて選択させるようにしてもよい。こうすることで、デコードを行わせる機器をユーザに選択させてもよい。更に、ユーザが何台もAVアンプを所有しているような場合、これらの製品名や型番を表示させ、これらをユーザ操作に応じて選択させるのが望ましい。
このメニューに対して、Yesボタンを確定することでパススルー出力を希望する旨の操作を行った場合、DIBに応じた、PSR15におけるPlayer capability for Audioの設定を行う(ステップS71)。そして、AVアンプ500のデコード能力に応じたPrimaryオーディオストリームを選択させる手順をProcedure実行部42に実行させる(ステップS72)。以降、BD−ROMから読み出されたAVClipのPrimaryオーディオストリームを、パススルー出力させる(ステップS73)。
AVアンプ500でデコードを行うことを希望する操作を行わなかった場合、自機のデコード能力に応じたPSR15を設定し、Primaryオーディオストリームを選択させる手順をProcedure実行部42に実行させ(ステップS69)、自機でデコードした音声(LPCM)を出力させる(ステップS70)。
図41、図42は、DIBに応じて、PSR15におけるPlayer capability for Audioを設定する処理手順を示すフローチャートである。
図41のフローチャートにおいてステップS200は、DIBのCODING TYPEが、DD+を示しているかを判定するものである。
DIBのCODING TYPEがDD+を示しているなら、ステップS201に移行する。ステップS201は、DIBのChannel Countに2よりも大きな値が記載されているか否かの判定である。ステップS201がyesである場合、ステップS203において、Dependent Substreamのcapabilityを、10b:Surround Capableに設定する。
ステップS201がnoである場合、ステップS205において、Dependent Substreamのcapabilityを、01b:Stereo Capableに設定する。
図42のフローチャートにおいてステップS82は、DIBのCODING TYPEが、MLPを示しているかを判定するものである。DIBのCODING TYPEがMLPを示しているなら、ステップS82がyesになってステップS91に移行する。ステップS91は、DIBのChannel Countが2chより大きいか否かの判定である。
ステップS91がYESである場合、ステップS93において、MLPのcapabilityを、10b:Surround Capableに設定する。ステップS91がNOである場合、ステップS94において、MLPのcapabilityを、01b:Stereo Capableに設定する。
図41のS201、図42のS91の判定ではDIBのChannel Countを用いたが、Channel/Speaker Allocationを用いても判定しても良い。
以上のように本実施形態によれば、HDMIのようにデジタルI/Fを介し、接続相手の能力を取得し、それに応じてPSR15を設定した上、このPSR15に基づき、PrimaryオーディオストリームをBD−ROMディスク/ローカルストレージから選択して、このPrimaryオーディオストリームのパススルー出力を行うので、接続相手のデコーダ資源を有効活用することができ、かかる有効活用により、高品質な音声再生を実現することができる。また、AVアンプとスピーカーはセットで開発/販売されることが多いため、スピーカーの特性に合わせた調節がAVアンプでは可能である。したがって、再生機器が内部デコーダでデコードできる場合であっても、接続先のAVアンプでデコードする方が音響学的に高音質な再生結果を得られる。
(第3実施形態)
第1実施形態におけるローカルストレージ200は、再生装置内蔵型のハードディスクであったが、本実施形態におけるローカルストレージ200は、可搬型の記録媒体であるSDメモリカードである。そして本実施形態は、この可搬型記録媒体に動的シナリオを記録して再生装置に提供する場合の改良に関する。
SDメモリカードは、セキュアな領域と、非セキュアな領域とをもった可搬型の記録媒体である。第1実施形態に示したようなローカルストレージ上のファイルは、暗号化されて非セキュアな領域に記録され、暗号鍵がセキュアな領域に記録される。セキュア領域に記録された暗号鍵はSDメモリカードによる認証により、正当性が確認されない限り、読み出されることはない。これにより非セキュア領域上のファイルは、不正にコピーされることなく、BD−ROMと併用されるときのみ読み出されることになる。
動的シナリオとは、第1実施形態に示したJava(登録商標)アプリケーション、Movie Objectであり、PlayList情報を通じた再生を、再生装置に行わせるプログラムである。かかる動的シナリオは、BD−ROM100に記録される場合と、ローカルストレージ200に記録される場合とがあるが、動的シナリオが可搬型記録媒体に記録されていると、かかる記録媒体に記録された動的シナリオは、様々な場所に設置された再生装置に供される。時には、自動車の車内に設置された再生装置300に供されることもある。
図43(a)は、自動車の車内に設置された再生装置300を示す図である。かかる再生装置300は、テレビ400と共に、カーオーディオシステムを構成するものである、可搬型のローカルストレージ200は、BD−ROM100と共に、かかる再生装置300に導入されることがある。
このように自動車車内に設置される場合、かかる再生装置300は、CD再生装置のように操作されることを明らかにするのが望ましい。このように、CD再生装置のように操作されるべきであることを示すべく、本実施形態にかかるPSR31は、図43(b)のように構成されている。
図43(b)は、第3実施形態にかかるPSR31の内部構成を示す図である。本実施形態におけるPSR31は、自動車内に設置された場合、Player Profile情報=1000bを示すように、メーカーの技術者、又は、最終消費者により設定される。PSR31におけるPlayer Profile情報が1000bに設定された場合、当該再生装置は、Audio Profile Playerであることを示す。Audio Profile Playerとは、対話画面を介した操作には適さず、CDプレーヤーライク(CD再生装置のようなリニアな操作のみでコンテンツの再生制御を行なうBD−ROM再生装置であり、GUIによるコンテンツの再生制御などに対応していない再生機器、もしくは車が走行していることを感知し一時的にそのようなモードに遷移する再生機器)であることを示す。
再生装置がCDプレーヤーライクである場合、チャプタースキップ、チャプターサーチ等、チャプターを単位とした操作で、コンテンツは再生されねばならない。かかるチャプターは、図17に示したPlayListMark情報に規定されている
以降、PlayListMark情報について説明をはじめる。
図44は、PlayList情報におけるPlayListMark情報の内部構成を示す図である。本図の図中の引き出し線pm0に示すように、PlayListMark情報は、複数のPLMark情報(#1〜#n)からなる。PLmark情報(PLmark())は、PL時間軸のうち、任意の位置を、チャプター点として指定する情報である。引き出し線pm1に示すようにPLmark情報は、チャプター指定の対象たるPlayItemを示す『ref_to_PlayItem_Id』と、そのPlayItemにおける、チャプター位置を時間表記により示す『mark_time_stamp』とを含む。
図45は、PlayList情報の、PLMark情報によるチャプター位置の指定を示す図である。本図の第2段目から第5段目は、図10に示した、EP_mapと、AVClipとを示す。
本図の第1段目は、PLMark情報と、PL時間軸とを示す。この第1段目には、2つのPLMark情報#1〜#2が存在する。矢印kt1,2は、PLMark情報のref_to_PlayItem_Idによる指定を示す。この矢印からもわかるようにPLMark情報のref_to_PlayItem_Idは、参照するPlayItemを指定していることがわかる。また、Mark_time_Stampは、当該PlayItem時間軸のうち、Chapter#1,#2になるべき時点を示す。このように、PLMark情報は、PlayItem時間軸上に、チャプター点を定義することができる。
以上が、PLMark情報についての説明である。続いて動的シナリオにおける改良について説明する。
再生装置組み込み型のプログラムの場合、自動車車内で利用されるか、又は、ホームシアターシステムで使用されるかは、製造の段階で、判明している。しかしBD−ROM100や可搬型ローカルストレージ200に記録されて再生装置に供給される動的シナリオ(Movie Object、Java(登録商標)アプリケーション)は、様々な再生装置に装填されることが考えられるので、再生装置の利用形態が、このどちらであるかは特定できない。BD−ROM100や、SDメモリカードであるローカルストレージ200をどのような再生装置で利用するかは、ユーザが任意に決めるものだからである。
そこでPlayer Profile情報がAudio Profile Playerを示すように設定された場合もしくはされている場合、Movie Object、Java(登録商標)アプリケーションは、CDプレーヤーライクな操作で操作されるよう、再生装置を制御せねばならない。一方、Player Profile情報がこれ以外に設定された場合、対話画面を通じた処理にて操作することが望ましい。
図46は、本実施形態にかかるJava(登録商標)アプリケーションの処理手順を示すフローチャートである。
ステップS149は、PSR31がAudio Profile Playerであるか否かを判定する。もし、Audio Profile Playerでないなら、プレイリストの再生を開始させる(ステップS150)。以降、ステップS151のループ処理に移行する。
その後、ステップS151は、メニューコール操作がなされたか否かの操作待ちループ処理を構成する。もしメニューコールがなされれば、メニューを表示して(ステップS152)、ステップS153〜ステップS156の処理に移行する。ステップS153は、フォーカス移動操作がでなされたか否かの判定であり、もしフォーカス移動操作がなされたなら、フォーカスを他のボタンに移動する(ステップS155)。
ステップS154は、ボタンの確定操作がなされたか否かの判定であり、もし確定操作がなされたなら、ボタンに対応する処理を実行する(ステップS156)。
ステップS149において、Audio Profile Playerであると判定された場合(ステップS149でyes)、音声アナウンスのプレイリストの再生を開始させて、ユーザーにリニアなCDライクな再生を行なうことを説明する。そしてステップS158、ステップS159からなるループ処理に移行する。
ステップS158は、数値入力がなされたか否か、ステップS159は、SkipNext又はSkipBackキーががなされたか否かの判定である。
数値入力がなされた場合、ステップS160に移行して、チャプターサーチを実行する。SkioNext,SkipBackキーが押下された場合、ステップS161に移行して、チャプタースキップ機能を実行する。
以上は、Java(登録商標)アプリケーションの例で説明したが、Movie Objectである場合、ステップS153〜ステップS155の処理は、IGストリーム内のナビゲーションコマンドやMovieObjectのナビゲーションコマンドを用いて実現すればよい。動作の仕組みは同様であるので、説明は省略する。
以降、フローチャートを参照しながら、チャプターサーチ及びチャプタースキップの処理手順について説明する。図47は、チャプターサーチの処理手順を示すフローチャートである。
まず始めに、入力された数値にあたるPLMark情報をカレントPlayListMarkとする(ステップS125)。ステップS126では、カレントPlayListMarkのref_to_PlayItem_Idに記述されているPIを、PlayItem#xに設定し、ステップS127では、PlayItem#xのClip_information_file_nameで指定されるClip情報を読み込む。ステップS128では、カレントClip情報のEP_mapを用いて、カレントPlayListMarkのmark_time_stampを、Iピクチャアドレスuに変換する。
一方ステップS129では、PlayItem#xのOut_timeを,カレントClip情報のEP_mapを用いて,Iピクチャアドレスvに変換する。ステップS130は、カレントPlayListMarkのmark_time_stampからPlayItem#xのOut_timeまでの出力をデコーダに命じる。以上がチャプターサーチの処理手順である。続いてチャプタースキップの処理手順について説明する。図48は、チャプタースキップの処理手順を示すフローチャートである。
ステップS132は、押下されたのがSkipNextキーであるか、SkipBackキーであるかの判定であり、SkipBackキーであるならステップS133において方向フラグを−1に設定し、SkipNextキーであるならステップS134において方向フラグを+1に設定する。
ステップS135は、カレントPI及びカレントPTMを変換して、カレントPLMarkを特定するステップであり、ステップS136は、カレントPLMarkの番号に方向フラグの値を足した番号を、カレントPlayListMarkの番号として設定する。ここでSkipNextキーであるなら方向フラグは+1に設定されているのでカレントPlayListMarkはインクリメントされることになる。SkipBackキーであるなら方向フラグは−1に設定されているので、カレントPlayListMarkはデクリメントされることになる。このようにしてPLMark情報を設定すれば、図47同様、ステップS126〜ステップS130の処理手順を実行することにより、TSパケット読み出しを行う。
以上がPLMark情報に基づく、再生を行う際の再生装置の処理手順である。
以上のように本実施形態によれば、PSR31がAudio Profile Playerを示している場合、Movie Object、Java(登録商標)アプリケーションのような動的シナリオでCD再生装置と同等のユーザー操作性を与えるようにプレイリストを再生するようにすることが可能になる。この場合、ユーザーはBD−ROMを音楽CDと全く変わりなく操作することができる。つまり、チャプターサーチ/スキップが音楽CDで言う所の曲のサーチ/スキップに該当する。勿論、Audio Profile Playerではない再生装置上で動的シナリオが動作する場合は、今まで通り映像出力を仮定してGUIベースのメニューなどを表示し、インタラクティブな再生が可能になる。HDMIのように接続機器の状態をモニタリングできるI/Fを介して再生している場合には、モニターの電源ON/OFFや入力ソース映像の選択状況などを監視することでモニターが再生している映像を映さなくなっている場合には、PSR31をAudio Profile Playerに切り替えたり、再生を一時停止状態にしたり、再生機器300の電源を連動してOFFとすることなども考えられる。
(第4実施形態)
第4実施形態は、第1実施形態に示したPlayList情報、Clip情報、AVClipを、どのように取得するかという、取得に関する実施形態である。かかる取得において、処理主体になるのは、Java(登録商標)アプリケーションである。何故なら、Java(登録商標)アプリケーションは、ネットワーク上でコネクションを形成し、サーバ装置から所望のファイルをダウンロードすることができる、能力をもっているからである。
サーバに存在するファイルを取得するためのコネクションはjava(登録商標).netと呼ばれるJava(登録商標)ソフトウェアライブラリィのopenConnectionメソッドを使って、確立することができる。サーバ上のファイルのURLが、http://xxx.com/vp_data/0.m2tsである場合におけるコネクション接続の用例を以下に示す。
用例:
new java(登録商標).net.URL(http://xxx.com/vp_data/0.m2ts.openConnection()
図49は、第4実施形態にかかるJava(登録商標)アプリケーションのフローチャートである。ステップS181において、BD−ROMにおけるプレイリストの再生を開始させる。その後、ステップS182では、BD−ROMから、そのBD−ROMの配給元となる法人、組織を示す情報(organization)と、そのBD−ROMの識別子(Disc_id)とを読みだす。
ステップS183では、そうして読み出されたorganization、Disc_idに対応する領域が、ローカルストレージ200に存在しない否かを判定する。
かかる領域が存在しないなら、ステップS184では、PSR31におけるPlayer Profile情報が、0x0000でないかどうかを判定する。
ステップS183、ステップS184の何れかがNoである場合、処理を終了する。
organization、Disc_idに対応する領域が、ローカルストレージに存在せず、かつ音声のミキシングが可能である場合、ステップS183及びステップS184がyesになる。
ステップS183及びステップS184の双方がyesである場合、「アップデートボタン」が配置されたメニューを表示する(ステップS185)。そして、「アップデートボタン」に対する、確定操作待ちになる(ステップS186)。
図50は、「アップデートボタン」が配置されたメニューの表示例を示す図である。本図における、「アップデートする」と記述されたボタンが、「アップデートボタン」であり、この「アップデートボタン」を確定する操作がなされれば、ステップS187においてDisc_id及びPlayList_idをサーバ装置に送信する。
Disc_idは、BD−ROMの識別情報であり、PlayList_idは、再生中プレイリストの識別情報であるので、サーバ装置は、これらを用いて、取得すべき追加コンテンツをコンテンツプロバイダのデータベース上から選択する。そうして選択された追加コンテンツをネットワーク経由で再生装置に送りかえす。この追加コンテンツは、ローカルストレージ200に記録されるべきファイル一式(PlayList情報、Clip情報、AVClip)を含む。
ステップS188では、追加コンテンツの受信待ちを行い、もしこれらを受信すれば、ステップS189において、追加コンテンツを構成する、PlayList情報、Clip情報、AVClipをローカルストレージ200に書き込む。その後、サーバ装置からのダウンロードが完了し、ミキシングしながらの再生が可能になった場合、ミキシングしながらの再生が可能になった旨をユーザーに通知して(ステップS190)。ミキシングを行う旨の操作をユーザが行ったか否かを判定するための処理待ちループになる(ステップS191)。ユーザーが希望する場合に、ステップS192においてPlayList情報の再生をいったん停止し、バーチャルパッケージの構築を行う。
アップデート有無のサーバーへの確認や、当該コンテンツのダウンロード処理は、任意のタイミングで実行が可能であるため、ディスクロード時や、コンテンツ再生中に所定時間間隔で行なっても良く、再生する準備が整った時点(バーチャルパッケージが再生できる状態となった時点)でユーザーに再生するかの問い合わせを行なってもよい。
以上のように本実施形態によれば、最初にプレイリストを再生する際、AVClipを再生させながら、ダウンロードを処理を行うので、ユーザは、プレイリストの再生画像をみながら、ローカルストレージ200へのダウンロード完了を待てばよく、Secondaryオーディオストリームを構成するようなローカルストレージ200上のファイルが、数百メガバイトに及ぶ場合でも、ローカルストレージ200へのダウンロードがなされている間、ユーザを退屈させずにすむ。
尚、ローカルストレージ200上の追加コンテンツを消去する条件を、再生装置300に初期設定しておき、この初期設定に基づき、再生装置300が追加コンテンツを削除するようにしてもよい。例えば、かかる初期設定において、時間の入力を受け付け、時間に応じて消去する(1ヶ月経つと勝手に消す)等の処理をするのが望ましい。
また、BD−ROMをイジェクトする際、ローカルストレージ200上の追加コンテンツを消去するかどうかをユーザに問い合わせ、この問い合わせに対して、ユーザが肯定的が回答をした際に消去してもよい。
更に、BD−ROMが、読み出し専用領域と、書き込み可能領域とをもつパーシャルディスクである場合、ローカルストレージ200上の追加コンテンツを、パーシャルディスク上の書き込み可能領域に書き込んでもよい。
(備考)
以上、本願の出願時点において、出願人が知り得る最良の実施形態について説明したが、以下に示す技術的トピックについては、更なる改良や変更実施を加えることができる。各実施形態に示した通り実施するか、これらの改良・変更を施すか否かは、何れも任意的であり、実施する者の意思によることは留意されたい。
(追加コンテンツに対する処理)
ローカルストレージ200にダウンロードされた追加コンテンツは、何ヶ月、何年か経過すれば自動的に消去するよう、再生装置を初期設定しておくのが望ましい。
(PIDの代用)
第1実施形態では、Primaryオーディオストリーム、Secondaryオーディオストリームの区別にPIDを用いたが、MPEG2−PSを使う場合には、PESパケットヘッダのstream_idをそれぞれ異なるものにするのが望ましい。
またPrimaryオーディオストリーム、Secondaryオーディオストリームは、2つの音声ストリームが1つのデマルチプレクサでも弁別可能なように、システムストリームレベルにおいて区別されていればよい。もしくは、2つのストリームを1つに束ねる前に、片方のPIDを重複しないように付け替えておくだけでもよい。
(制御手順の実現)
各実施形態においてフローチャートを引用して説明した制御手順や、機能的な構成要素による制御手順は、ハードウェア資源を用いて具体的に実現されていることから、自然法則を利用した技術的思想の創作といえ、“プログラムの発明”としての成立要件を満たす。
・本発明に係るプログラムの生産形態
本発明に係るプログラムは、コンピュータが実行することができる実行形式のプログラム(オブジェクトプログラム)であり、各実施形態に示したフローチャートの各ステップや、機能的構成要素の個々の手順を、コンピュータに実行させるような1つ以上のプログラムコードから構成される。ここでプログラムコードは、プロセッサのネィティブコード、JAVA(登録商標)バイトコードというように、様々な種類がある。またプログラムコードによる各ステップの実現には、様々な態様がある。外部関数を利用して、各ステップを実現することができる場合、この外部関数をコールするコール文が、プログラムコードになる。また、1つのステップを実現するようなプログラムコードが、別々のオブジェクトプログラムに帰属することもある。命令種が制限されているRISCプロセッサでは、算術演算命令や論理演算命令、分岐命令等を組合せることで、フローチャートの各ステップが実現されることもある。
本発明にかかるプログラムは、以下のようにして作ることができる。先ず初めに、ソフトウェア開発者は、プログラミング言語を用いて、各フローチャートや、機能的な構成要素を実現するようなソースプログラムを記述する。この記述にあたって、ソフトウェア開発者は、プログラミング言語の構文に従い、クラス構造体や変数、配列変数、外部関数のコールを用いて、各フローチャートや、機能的な構成要素を具現するソースプログラムを記述する。
記述されたソースプログラムは、ファイルとしてコンパイラに与えられる。コンパイラは、これらのソースプログラムを翻訳してオブジェクトプログラムを生成する。
コンパイラによる翻訳は、構文解析、最適化、資源割付、コード生成といった過程からなる。構文解析では、ソースプログラムの字句解析、構文解析および意味解析を行い、ソースプログラムを中間プログラムに変換する。最適化では、中間プログラムに対して、基本ブロック化、制御フロー解析、データフロー解析という作業を行う。資源割付では、ターゲットとなるプロセッサの命令セットへの適合を図るため、中間プログラム中の変数をターゲットとなるプロセッサのプロセッサが有しているレジスタまたはメモリに割り付ける。コード生成では、中間プログラム内の各中間命令を、プログラムコードに変換し、オブジェクトプログラムを得る。
オブジェクトプログラムが生成されるとプログラマはこれらに対してリンカを起動する。リンカはこれらのオブジェクトプログラムや、関連するライブラリプログラムをメモリ空間に割り当て、これらを1つに結合して、ロードモジュールを生成する。こうして生成されるロードモジュールは、コンピュータによる読み取りを前提にしたものであり、各フローチャートに示した処理手順や機能的な構成要素の処理手順を、コンピュータに実行させるものである。以上の処理を経て、本発明に係るプログラムを作ることができる。
・本発明に係るプログラムの使用形態
本発明に係るプログラムは、以下のようにして使用することができる。
(i)組込プログラムとしての使用
本発明に係るプログラムを組込プログラムとして使用する場合、プログラムにあたるロードモジュールを、基本入出力プログラム(BIOS)や、様々なミドルウェア(オペレーションシステム)と共に、命令ROMに書き込む。こうした命令ROMを、制御部に組み込み、CPUに実行させることにより、本発明に係るプログラムを、再生装置300の制御プログラムとして使用することができる。
(ii)アプリケーションとしての使用
再生装置300が、ハードディスク内蔵モデルである場合は、基本入出力プログラム(BIOS)が命令ROMに組み込まれており、様々なミドルウェア(オペレーションシステム)が、ハードディスクにプレインストールされている。また、ハードディスクから、システムを起動するためのブートROMが、再生装置300に設けられている。
この場合、ロードモジュールのみを、過搬型の記録媒体やネットワークを通じて、再生装置300に供給し、1つのアプリケーションとしてハードディスクにインストールする。そうすると、再生装置300は、ブートROMによるブートストラップを行い、オペレーションシステムを起動した上で、1つのアプリケーションとして、当該アプリケーションをCPUに実行させ、本発明に係るプログラムを使用する。
ハードディスクモデルの再生装置300では、本発明のプログラムを1つのアプリケーションとして使用しうるので、本発明に係るプログラムを単体で譲渡したり、貸与したり、ネットワークを通じて供給することができる。
(コントローラ22)
各実施形態に示したコントローラ22等の構成要素は、一個のシステムLSIして実現することができる。
システムLSIとは、高密度基板上にベアチップを実装し、パッケージングしたものをいう。複数個のベアチップを高密度基板上に実装し、パッケージングすることにより、あたかも1つのLSIのような外形構造を複数個のベアチップに持たせたものも、システムLSIに含まれる(このようなシステムLSIは、マルチチップモジュールと呼ばれる。)。
ここでパッケージの種別に着目するとシステムLSIには、QFP(クッド フラッド アレイ)、PGA(ピン グリッド アレイ)という種別がある。QFPは、パッケージの四側面にピンが取り付けられたシステムLSIである。PGAは、底面全体に、多くのピンが取り付けられたシステムLSIである。
これらのピンは、他の回路とのインターフェイスとしての役割を担っている。システムLSIにおけるピンには、こうしたインターフェイスの役割が存在するので、システムLSIにおけるこれらのピンに、他の回路を接続することにより、システムLSIは、再生装置300の中核としての役割を果たす。
システムLSIにパッケージングされるベアチップは、“フロントエンド部”、“バックエンド部”、“デジタル処理部”からなる。“フロントエンド部”は、アナログ信号を、デジタル化する部分であり、“バックエンド部”はデジタル処理の結果、得られたデータを、アナログ化して出力する部分である。
各実施形態において内部構成図として示した各構成要素は、このデジタル処理部内に実装される。
先に“組込プログラムとしての使用”で述べたように、命令ROMには、プログラムにあたるロードモジュールや、基本入出力プログラム(BIOS)、様々なミドルウェア(オペレーションシステム)が書き込まれる。本実施形態において、特に創作したのは、このプログラムにあたるロードモジュールの部分なので、プログラムにあたるロードモジュールを格納した命令ROMを、ベアチップとしてパッケージングすることにより、本発明に係るシステムLSIは生産することができる。
具体的な実装については、SoC実装やSiP実装を用いることができ望ましい。SoC(System on chip)実装とは、1チップ上に複数の回路を焼き付ける技術である。SiP(System in Package)実装とは、複数チップを樹脂等で1パッケージにする技術である。以上の過程を経て、本発明に係るシステムLSIは、各実施形態に示した再生装置300の内部構成図を基に作ることができる。
尚、上述のようにして生成される集積回路は、集積度の違いにより、IC、LSI、スーパーLSI、ウルトラLSIと呼称されることもある。
さらに、各記録読出装置の構成要素の一部又は全てを1つのチップとして構成してもよい。集積回路化は、上述したSoC実装,SiP実装に限るものではなく、専用回路又は汎用プロセスで実現してもよい。LSI製造後に、プログラムすることが可能なFPGA(Field Programmable Gate Array)や、LSI内部の回路セルの接続や設定を再構成可能なシリコンフィギュラブル・プロセッサを利用することが考えられる。更には、半導体技術の進歩又は派生する技術によりLSIに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積回路化を行っても良い。例えば、バイオ技術の適応などが可能性としてありうる。
本発明に係る記録媒体、再生装置は、上記実施形態に内部構成が開示されており、この内部構成に基づき量産することが明らかなので、資質において工業上利用することができる。このことから本発明に係る記録媒体、再生装置は、産業上の利用可能性を有する。
本発明は、オーディオミキシング技術の技術分野に属する発明である。
オーディオミキシング技術とは、1つ以上の記録媒体から、主音声となるオーディオストリーム(Primaryオーディオストリーム)と、副音声となるオーディオストリーム(Secondaryオーディオストリーム)とを読み出し、これらを個別にデコードして、そのデコード結果たる非圧縮のデジタルオーディオを合成して出力する技術である。
映画作品の構成要素となるデジタルストリームを、別々の供給媒体を用いて、ユーザに供給することができるので、映画作品に監督のコメンタリを付す等、バリエーション制作の自由度が増し、1つの映画作品から、様々な再生のバリエーションを、産み出すことができる。
尚、記録媒体に記録されたデジタルストリームを読みだして再生する技術には、以下の特許文献に記載されている先行技術がある。
特開2000−228656号公報
しかしながら、かかるオーディオミキシングを行なう再生装置モデルを考える場合、例えば光ディスクからPrimaryオーディオストリームが読み出されている途中に、Secondaryオーディオストリームを、予備の記録媒体から読み出さねばならない。かかる読みだしにあたっては、光ディスクから読み出されたTSパケット、予備の記録媒体から読み出されたTSパケットが1つのバス上で混在することが有り得る。かかる混在状態では、多くのTSパケットのうちどれがPrimaryオーディオストリームを構成しているのか、Secondaryオーディオストリームを構成しているのかが不明になるので、これらのTSパケットを、一律に処理を施すことはできるが、Primaryオーディオストリーム及びSecondaryオーディオストリームを構成するもののうち、一方のみに対して何等かの処理を施すということが困難になる。
Primaryオーディオストリームを構成するパケット、Secondaryオーディオストリームを構成するパケットに対して一律の処理を施し、Primaryオーディオストリームと、Secondaryオーディオストリームとを同じゲインで出力する場合、悪い条件が重なると、スピーカの破損等を招く可能性があり、大きな品質上の障害を作ってしまうこともある。
本発明の目的は、Primaryオーディオストリームを構成するTSパケット、Secondaryオーディオストリームを構成するTSパケットが1つのバス上で混在したとしても、これらに対して、個別の処理を施すことができる記録媒体を提供することである。
上記目的を達成するため、本発明にかかる記録媒体は、プレイリスト情報が記録されており、前記プレイリスト情報は、メインパス情報、サブパス情報を含み、前記メインパス情報は、複数デジタルストリームのうち1つを、メインストリームとして指定して、そのメインストリームに対し、主たる再生区間を定義する情報であり、前記サブパス情報は、複数デジタルストリームのうち他の1つを、サブストリームとして指定して、そのサブストリームに対し、前記主たる再生区間と同期すべき、従たる再生区間を定義する情報であり、
前記記録媒体には、サブストリームとして指定されたオーディオストリームが、記録されており、オーディオストリームは、複数のパケットから構成され、各パケットには、パケット識別子が付与されており、パケット識別子は、上位フィールド、下位フィールドからなり、上位フィールドは、パケットにより構成されるオーディオストリームがセカンダリオーディオストリームであり、その音声出力が、プライマリオーディオストリームの音声出力とミキシングされ得る旨を示すことを特徴としている。
パケット識別子の上位フィールドは、パケットにより構成されるオーディオストリームがセカンダリオーディオストリームであり、その音声出力が、プライマリオーディオストリームの音声出力とミキシングされる旨を示すので、再生装置内の多重分離部は、このバスに転送されているパケットを取り込み、これらパケット識別子の上位フィールドを参照することにより、当該パケットを、Secondaryオーディオストリーム用のデコーダに投入することができる。
これにより多重分離部は、このSecondaryオーディオストリームを構成するPESパケットのみを、多重分離して、Primaryオーディオストリーム用のデコーダとは別のデコーダに取り込むことができる。
Primaryオーディオストリームを構成するパケット、Secondaryオーディオストリームを構成するパケットを別々のデコーダに取り込み、デコードに供給することができるので、Primaryオーディオストリームを構成するパケットのみダウンコンバートを施したり、ダウンミキシングを施したり、ゲインを下げたりすることができる。光ディスクからの読み出す中に、予備の記録媒体からSecondaryオーディオストリームを読み出し、これらを2つのデコーダに供給したとしても、Primaryオーディオストリームを構成するパケットのみに対し、リアルタイムに特別な処理を施すことができる。また、下位フィールドにおいて、当該オーディオストリームが複数のSecondaryオーディオストリームのうち、何れかである場合、何番目であるかが示されているので、多くの言語のコメンタリが存在する場合、これらのうち、適正なものを再生させることができる。
(第1実施形態)
以降、本発明に係る記録媒体の実施形態について説明する。先ず始めに、本発明に係る記録媒体の実施行為のうち、使用行為についての形態を説明する。図1は、本発明に係る記録媒体の、使用行為についての形態を示す図である。図1において、本発明に係る記録媒体は、ローカルストレージ200である。ローカルストレージ200は、再生装置300、テレビ400、AVアンプ500、スピーカ600から構成されるホームシアターシステムに、映画作品を供給するという用途で使用される。
以降、BD-ROM100、ローカルストレージ200、再生装置300について説明を行う。
BD-ROM100は、映画作品が記録された記録媒体である。
ローカルストレージ200は、再生装置に組み込まれ、映画配給者のサーバから配信されたコンテンツの受け皿として利用されるハードディスクである。
再生装置300は、ネット対応型のデジタル家電機器であり、BD-ROM100を再生する機能をもつ。また、映画配給者のサーバから、ネットを通じてダウンロードしたコンテンツを、BD-ROM100に記録されたコンテンツと組み合わせて、BD-ROM100のコンテンツを拡張/更新をすることができる。BD-ROM100の記録内容に、ローカルストレージ200の記録内容を組み合わせて、BD-ROM100に記録されていないデータを、恰も、記録されているように扱う技術を“バーチャルパッケージ”という。
以上が本発明に係る記録媒体の使用形態についての説明である。
続いて本発明に係る記録媒体の生産行為について説明する。本発明に係る記録媒体は、BD-ROMのファイルシステム上における改良で実現することができる。図2は、BD-ROMにおけるファイル・ディレクトリ構成を示す図である。本図においてBD-ROMには、Rootディレクトリの下に、BDMVディレクトリがある。
<BD-ROMの概要>
図2は、BD-ROMの内部構成を示す図である。本図の第4段目にBD-ROMを示し、第3段目にBD-ROM上のトラックを示す。本図のトラックは、BD-ROMの内周から外周にかけて螺旋状に形成されているトラックを、横方向に引き伸ばして描画している。このトラックは、リードイン領域と、ボリューム領域と、リードアウト領域とからなる。本図のボリューム領域は、物理層、ファイルシステム層、応用層というレイヤモデルをもつ。ディレクトリ構造を用いてBD-ROMの応用層フォーマット(アプリケーションフォーマット)を表現すると、図中の第1段目のようになる。この第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の構成その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段目)、これらを多重化することで構成される。
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)は、字幕たるグラフィクスオブジェクトを定義する機能セグメントである。
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によるページ制御を伴うことにより、ある字幕を徐々に消去しつつ、次の字幕を表示させるという表示効果が実現可能になる。
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は、ボタンに対して確定操作がなされた際、実行すべきボタンコマンドを含む。
ここでAVClipは、1つ以上の“STC_Seuence”から構成される。“STC_Seuence”とは、AVストリームのシステム基準時刻であるSTC(System Time Clock)の不連続点(system time-base discontinuity)が存在しない区間をいう。STCの不連続点はデコーダがSTCを得るために参照するPCR(Program Clock Reference)を運ぶPCRパケットの不連続情報(discontinuity_indicator)がONである点である。

続いて、以上のように構成された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を含む。
AVClipを構成するSourceパケットは、第3段目におけるAVClipにおいて、1つ以上の“ATC_Seuence”を構成する。“ATC_Seuence”とは、Sourceパケットの配列であって、そのArrival_Time_Stampが参照しているArrival_Time_Clockに、不連続点(no arrival 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段目においてファイルを構成する各ファイルエクステントは、予め定められたSexetent以上のデータ長を有する。
AVClipを複数のエクステントに分割して記録する場合の、エクステント一個当たりの最小データ長Sexetentを検討する。
ここでBD-ROMにおいて光ピックアップのジャンプに要する時間は、
Tjump=Taccess+Toverhead
で与えられる。

Taccessは、ジャンプ距離(ジャンプする物理アドレスの距離)に応じて与えられる時間である。

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

Toverhead≦(2×Secc×8)/Rud=20m秒
という計算で与えられる。

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パケット出力が継続している必要がある。

従って、リードバッファが、アンダーフローしないためのバッファ蓄積量は、
Boccupied≧(Tjump/1000×8)×((192/188)×TS_Recording_rate)
となる。

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

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

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

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

になる。

AVClipを構成する各ファイルエクステントは、デコーダのアンダーフローをおこさないように算出されたSextent以上のデータ長をもつことにより、AVClipを構成する各ファイルエクステントが、BD-ROM上において離散的に位置されたとしても、再生時においてデコーダへのTSパケット供給が途絶えさせることなく、連続的に読み出されることになる。
図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単位でなされる。
第3段目においてセクタは、32個単位で誤り訂正符号が付され、ECCブロックを構成する。再生装置はAligned Unitの単位でBD-ROMをアクセスする限り、32個の完結したSourceパケットを得ることができる。以上がBD-ROMに対するAVClipの書き込みのプロセスである。
<エレメンタリストリームの種類>
図6は、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の構成その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())』からなる。
ClipInfoには、このClip情報が参照するAVClipのアプリケーションタイプ(application_type)がある。アプリケーションタイプによってMainClipかSubClipかや、動画を含んでいるのか静止画(スライドショー)を含んでいるのかなどが識別できる。TS_recording_rateは該当AVClipのシステムビットレート情報である。
Sequence Infoは、AVClipに含まれる、1つ以上のSTC-Sequence、ATC-Sequenceについての情報である。これらの情報を設けておくことの意義は、STC、ATCの不連続点を、予め再生装置に通知するためである。つまりかかる不連続点が存在すると、AVClip内において同じ値のPTS,ATSが出現する可能性があり、再生時に不都合が生じる。STC,ATCが連続しているのは、トランスポートストリームのうち、どこからどこまでであるかを示すため、Sequence Infoは設けられている。
Program Infoとは、Program内容が一定である区間(Program Sequence)を示す情報である。Programとは、同期再生のための時間軸を共有し合うエレメンタリーストリーム同士の集まりである。Program Sequence情報を設けておくことの意義は、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つのエレメンタリストリーム上において、Access Unitが存在するエントリー位置のパケット番号(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は、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の下位ビットを示す役割をもつ。
図中の引き出し線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を識別するための識別子である。
図中の引き出し線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を識別するための識別子である。

<Clip情報の説明その2.EP_map>
以下、具体例を通じて、EP_mapについて説明する。図8は、映画のビデオストリームに対するEP_map設定を示す図である。第1段目は、表示順序に配置された複数のピクチャ(MPEG4-AVCに規定されたIDRピクチャ、Iピクチャ、Bピクチャ、Pピクチャ)を示し、第2段目は、そのピクチャにおける時間軸を示す。第4段目は、BD-ROM上のTSパケット列を示し、第3段目は、EP_mapの設定を示す。
第2段目の時間軸において、時点t1〜t7に、Access UnitとなるIDRピクチャ及びIピクチャが存在するものとする。そしてこれらのt1〜t7の時間間隔が、1秒程度であるとすると、映画に用いられるビデオストリームにおけるEP_mapは、t1〜t7をエントリー時刻(PTS_EP_start)として示し、これに対応づけてエントリー位置(SPN_EP_start)を示すよう、設定される。

<PlayList情報>
続いて、PlayList情報について説明する。拡張子“mpls”が付与されたファイル(00001.mpls)は、PlayList(PL)情報を格納したファイルである。
図9は、PlayList情報のデータ構造を示す図であり、本図において、引き出し線mp1に示すようにPlayList情報は、MainPathを定義するMainPath情報(MainPath())と、チャプターを定義するPlayListMark情報(PlayListMark())を含む。
<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』の組みから構成される。
図10は、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モードを想定した動的シナリオはMovie Objectと呼ばれる。一方BD-Jモードを想定した動的シナリオはBD-J Objectと呼ばれる。
先ず初めにMovie Objectについて説明する。
<Movie Object>
Movie Objectは、図2に示したMovieObject.bdmvというファイルに格納され、ナビゲーションコマンド列を含む。
ナビゲーションコマンド列は、条件分岐、再生装置における状態レジスタの設定、状態レジスタの設定値取得等を実現するコマンド列からなる。Movie Objectにおいて記述可能なコマンドを以下に示す。

PlayPLコマンド
書式:PlayPL(第1引数,第2引数)
第1引数は、プレイリストの番号で、再生すべきプレイリストを指定することができる。第2引数は、そのプレイリストに含まれるPlayItemや、そのプレイリストにおける任意の時刻、Chapter、Markを用いて再生開始位置を指定することができる。
PlayItemによりPL時間軸上の再生開始位置を指定したPlayPL関数をPlayPLatPlayItem()、
ChapterによりPL時間軸上の再生開始位置を指定したPlayPL関数をPlayPLatChapter()、
時刻情報によりPL時間軸上の再生開始位置を指定したPlayPL関数をPlayPLatSpecified Time()という。

Movie Objectにおけるナビゲーションコマンドの記述は、DVDにおけるナビゲーションコマンドの記述方式と良く似ているので、DVD上のディスクコンテンツを、BD-ROMに移植するという作業を効率的に行うことができる。Movie Objectについては、以下の国際公開公報に記載された先行技術が存在する。詳細については、本国際公開公報を参照されたい。

国際公開公報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(登録商標)アプリケーションに対する指定をアプリケーション管理テーブルに記載することにより、間接的に制御手順を規定している。このような間接的な規定により、複数動的シナリオにおいて制御手順を共通化するという、制御手順の共通化を効率的に行うことができる。
また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とをフル実装したものである。
この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(登録商標)アプリケーションの実体にあたるのが、図2における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フレームワークに対して操作がなされた場合、クリック音として出力すべきオーディオデータ(かかるオーディオデータを、サウンドデータという)が格納されるファイルである。
図11は、ファイル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と呼ばれる識別子にて指示される。
Sound Index()は、サウンド数(number_of_sound_entries)、sound_data(0)に対するインデックス、sound_data(1)に対するインデックス等からなる。
インデックスは、モノラル/ステレオの別などの各サウンドの属性(sound_attributes)、対応するサウンドデータのアドレス(sound_data_start_address)、対応するサウンドデータの連続長(sound_data_length)からなる。
図2〜図6に示したように、映画の劇中に使用される音声の音源は、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-ROM100についての説明である。
<ローカルストレージ200>
続いて、本発明にかかる記録媒体である、ローカルストレージ200について説明する。図12は、ローカルストレージ200の内部構成を示す図である。本図に示すように、本発明に係る記録媒体は、応用層に対する改良により、生産することができる。
本図の第4段目にローカルストレージ200を示し、第3段目にローカルストレージ200上のトラックを示す。本図のトラックは、ローカルストレージ200の内周から外周にかけて螺旋状に形成されているトラックを、横方向に引き伸ばして描画している。このトラックは、リードイン領域と、ボリューム領域と、リードアウト領域とからなる。本図のボリューム領域は、物理層、ファイルシステム層、応用層というレイヤモデルをもつ。ディレクトリ構造を用いてローカルストレージ200の応用層フォーマット(アプリケーションフォーマット)を表現すると、図中の第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-J Object(00002.bobj),Java(登録商標)アーカイブファイル(00002.jar),クリック音データ(sound.bdmv),Movie Object.bdmvが格納されている。
続いて、ローカルストレージ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ストリームと呼ぶことがある。)
本実施形態では、図12に示した00002.m2tsは、Secondaryオーディオストリーム、PGストリーム、IGストリームが1つのSubClipに多重化されているものとする。以降Secondaryオーディオストリームの詳細を説明する。

<Out-of-MUXストリームの説明その1.Secondaryストリーム>
『Primaryオーディオストリーム』が、いわゆる主音声となるオーディオストリームであるのに対し、『Secondaryオーディオストリーム』とは、いわゆる副音声となるオーディオストリームである。SubClip再生時において、Secondaryオーディオストリームの音声再生は、Primaryオーディオストリームの再生音声にミキシングされた上で出力に供される。Secondaryオーディオストリームとして扱われる音声には、例えば“コメンタリ音声”がある。Primaryオーディオストリームとなる主音声が、映画作品本編の音声であり、Secondaryオーディオストリームとなる副音声が、映画監督のコメンタリ音声である場合、かかる映画作品本編の音声は、コメンタリ音声がミキシングされた上で出力されることになる。
Secondaryオーディオストリームは、ローカルストレージ200にのみ記録され再生に供されるが、BD-ROMには記録されない。Primaryオーディオストリームは、BD-ROMに置かれていても、ローカルストレージ200に置かれていてもよい。またPrimaryオーディオストリームの符号化コーディックは、Secondaryオーディオストリームの符号化コーディックと異なっていてもよい。
図13は、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と、一切重複していない。
図14は、BD-ROM規格におけるPID割当マップを示す図である。本図によれば、0x0100は、Program_mapに割り当てられ、0x1001はPCRに、0x1011はビデオストリームに、0x1100から0x111FまでのゾーンはPrimaryオーディオストリームに、0x1200から0x121FまでのゾーンはPGストリームに、0x1400から0x141FまでのゾーンはIGストリームに、0x1A00から0x1A1FまでのゾーンはSecondaryオーディオストリームに割り当てられている。このPID割当マップからもわかるように、Primaryオーディオストリームに割り当てられているゾーンと、Secondaryオーディオストリームに割り当てられているゾーンとが異なっていることがわかる。
図15(a)は、Secondaryオーディオストリームの内部構成を示す図である。
本図に示すように、Secondaryオーディオストリームは、複数のオーディオフレームからなる。図15(b)は、オーディオフレームの一例を示す図である。Secondaryオーディオストリームのオーディオフレームは、メタデータを含む。
図15(c)は、メタデータの内部構成を示す図である。メタデータは、本図に示すように、“ダウンミキシング情報”と、“ゲイン制御情報”とからなる。
“ダウンミキシング情報”は、ダウンミキシングのための情報である。ダウンミキシングとは、音声の再生チャネル数を符号化チャンネル数よりも少なくする変換であり、ダウンミキシング情報は、ダウンミキシングのための変換係数行列を規定することにより、このダウンミキシングを再生装置に行わせる。5.1chの音声ストリームを2chで再生することなどがダウンミキシングの一例である。
“ゲイン制御情報”とは、Primaryオーディオストリーム側の音声出力時のゲインを上げ下げする情報であるが、ここでは下げるだけでよい。図15(d)は、ゲイン制御情報の一例を模式的に示す。このようにSecondaryオーディオストリームのメタデータは、同時に再生されるPrimaryオーディオストリームの出力をリアルタイムに下げることができる。PrimaryオーディオとSecondaryオーディオを重畳する場合には、あらかじめミキシングされるPrimaryオーディオとSecondaryオーディオの対が分かっているため、2本のオーディオのゲインをリアルタイムに制御する必要は無く、Primaryオーディオのゲインだけを下げてSecondaryオーディオのゲインはそのままにミキシング(重畳)することで十分である。
尚、ゲイン制御情報は、PlayListMarkのmark_time_stampに指定される時刻より、durationの時間だけ、有効なゲイン制御情報を格納するようにしても良い。
図16は、Secondaryオーディオストリーム内のメタデータにより、Primaryオーディオストリームの音量がどのように制御されるかを示す図である。本図における第1段目は、時間軸を示し、第2段目は、ミキシング可能なPrimaryオーディオストリームの再生出力を示す。第3段目は、Secondaryオーディオストリームの再生出力を示し、第4段目は、Secondaryオーディオストリームに多重化されたメタデータを示す。
再生時刻t1にあたるオーディオフレームに配置されたメタデータは、Primaryオーディオストリームの再生出力の音量を全体的に抑えるものであり、再生時刻t2にあたるオーディオフレームに配置されたメタデータは、Primaryオーディオストリームの再生出力の音声を元に戻すものである。再生時刻t1,t2に、かかるメタデータを配置することで、Primaryオーディオストリームとの再生出力の音量と、Secondaryオーディオストリームの再生出力の音量とが合わさり、スピーカを破損させてしまうという事態を避けることができる。
Secondaryオーディオの"ゲイン制御情報“を使ってリアルタイムにミキシングのゲイン調整を行なう場合には、t1からt2までのSecondaryオーディオの各オーディオフレームに格納された”ゲイン制御情報“がPrimaryオーディオのゲインを所定の量だけ下げることを指定していれば良い。特殊再生などでt1からt2の間に飛び込んでミキシング再生を行なうことを想定すれば、常に適切なゲイン制御が可能なこちらの方法の方が都合が良い。
<ローカルストレージ200の構成その2.PlayList情報>
続いて、ローカルストレージ200上のPlayList情報について説明する。拡張子“mpls”が付与されたファイル(00002.mpls)は、MainPath、Subpathと呼ばれる2種類の再生経路を束ねたものをPlaylist(PL)として定義する情報である。図17は、PlayList情報のデータ構造を示す図であり、本図に示すようにPlayList情報は、MainPathを定義するMainPath情報(MainPath())と、チャプターを定義するPlayListMark情報(PlayListMark())と、Subpathを定義するSubpath情報(Subpath())とからなる。かかるPlayList情報の内部構成、及び、PlayItem情報の内部構成は、BD-ROMのものと同じであり、説明を省略する。

<PlayList情報の説明その1.Subpath情報>
MainPathが、主映像たるMainClipに定義される再生経路であるのに対し、Subpathは、MainPathと同期すべきSubClipに対して定義される再生経路である。
図18は、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で指定されたPlay Itemの再生時間軸上に存在する。
『sync_start_PTS_of_PlayItem』は、sync_PlayItem_idで指定されたPlay Itemの再生時間軸上において、SubPlayItem_In_timeで指定されたSubPlayItemの始点が、どこに存在するかを示す。
<Subpath情報の詳細その1.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オーディオのミキシング再生を行う場合には、2つのオーディオデコーダとミキサーを動作させる必要があるため、通常のPrimaryオーディオだけを再生する場合とは要求が異なり、前もってプレイヤがどのような再生タイプかを取得できる必要がある。このために、SubPath_typeやSTN_tableのPIDによって、同期再生すべきSecondaryオーディオが存在することを再生前にプレイヤに通知することが可能となる。
以上がSubPath_typeについての説明である。
<SubPath情報についての詳細その2.三者の関係>
ここでの三者とは、ローカルストレージ200上のSubClip、ローカルストレージ200上のPlayList情報、BD-ROM上のMainClipの三者をいう。
図19は、ローカルストレージ200上のSubClipと、ローカルストレージ200上のPlayList情報と、BD-ROM上のMainClipとの対応を示す図である。本図において第1段目は、ローカルストレージ200上に存在するSubClipを示す。この第1段目に示すように、ローカルストレージ200上の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の位置を決める役割を果たす。
図20は、MainClipに対して設定されたEP_map及びPlayItem時間軸と、SubClipに対して設定されたEP_map及びSubPlayItem時間軸とを集約して示す図である。
本図の中段、下4段〜下1段は、図10に示したPlayItem時間軸、ピクチャ列、MainClip時間軸、EP_map、TSパケット列を示す。
また上1段目〜上3段目は、TSパケット列、EP_map、SubClip時間軸を示す。上4段目は、SubPlayItem時間軸を示す。
以上が、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と対応付けることで構成される。
図21は、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の詳細について説明する。
図22(a)は、ビデオストリームに対応したStream_attributeを示す図である。
ビデオストリームにおけるStream_attributeは、ビデオストリームの表示方式を示す『Video_format』と、ビデオストリームの表示周波数を示す『frame_rate』等を含む。
図22(b)は、Primaryオーディオストリーム、Secondaryオーディオストリームに対応したStream_attributeを示す図である。
Primaryオーディオストリーム,SecondaryオーディオストリームにおけるStream_attributeは、オーディオストリームの符号化方式を示す『stream_coding_type』と、対応するオーディオストリームのチャネル構成を示す『audio_presentation_type』と、対応するオーディオストリームのサンプリング周波数を示す対応する『Sampling_frequency』と、オーディオストリームの言語属性を示す『audio_language code』からなる。
図22(c)は、ビデオストリームにおけるStream_entryを示す図である。本図に示すように、ビデオストリームのStream_entryは、ビデオストリームの多重分離に用いられるPIDを示す「ref_to_Stream_PID_of_Main_Clip」を含む。
MainClipにて多重化されているPrimaryオーディオストリーム、IGストリーム、PGストリームのStream_attributeは、この図22(c)の形式になっている。
図22(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』を含む。
図22(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]とからなる。
図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オーディオストリームをミキシングするというような、音声属性に応じた、ミキシングの可否を、オーサリング時に設定しておくことができる。
以上がローカルストレージ200の構成たるPlayList情報についての説明である。以上で、ローカルストレージ200についての説明を終える。

<バーチャルパッケージ>
以降、バーチャルパッケージについて説明する。図24は、再生装置300により生成されるバーチャルパッケージを示す図である。本図の左上は、BD-ROMの記録内容を示し、左下は、ローカルストレージ200の記録内容を示す。右側は、バーチャルパッケージの構成を示す。
再生装置は、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ディレクトリに仮想的に追加することでなされる。
こうすることにより、図24の右側に示すようなバーチャルパッケージが構成される。
以上が記録媒体についての説明である。続いて本発明に係る再生装置について説明する。
図25は、本発明に係る再生装置の内部構成を示す図である。本発明に係る再生装置は、本図に示す内部に基づき、工業的に生産される。本発明に係る再生装置は、主としてシステムLSIと、ドライブ装置という2つのパーツからなり、これらのパーツを装置のキャビネット及び基板に実装することで工業的に生産することができる。システムLSIは、再生装置の機能を果たす様々な処理部を集積した集積回路である。こうして生産される再生装置は、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から構成される。
BD-ROMドライブ1aは、BD-ROMのローディング/イジェクトを行い、BD-ROMディスクに対するアクセスを実行する。
バス1bは、BD-ROMから読み出されたTSパケット、ローカルストレージ200から読み出されたTSパケットが転送される。
リードバッファ2aは、FIFOメモリであり、BD-ROMディスク100またはローカルストレージ200から読み出されたTSパケットが先入れ先出し式に格納される。
リードバッファ2bは、FIFOメモリであり、ローカルストレージ200から読み出されたTSパケットが先入れ先出し式に格納される。
デマルチプレクサ3aは、バスに伝送しているTSパケットのうち、0x1011,0x1100〜0x111F,0x1200〜0x121F,0x1400〜141FのPIDをもつTSパケットのうち、PID変換部24から通知されたPIDをもつものを、夫々ビデオデコーダ4、オーディオデコーダ7a、Interactive Graphicsデコーダ11、Presentation Graphicsデコーダ13に出力する。
デマルチプレクサ3bは、バス1bに伝送しているTSパケットのうち、0x1A00〜0x1A1FのPIDをもつもの、即ち、Secondaryオーディオストリームを構成するTSパケットの多重分離を行う。デマルチプレクサ3bによるSecondaryオーディオストリームの多重分離は、STN_tableに含まれるSecondaryオーディオストリームのstream_entryのうち、PSR14に格納されているストリーム番号に対応するものに記述されているPIDの参照値と、バス1bに転送されているTSパケットのPIDとを比較し、当該比較において一致するPIDをもつTSパケットを、バッファ6bを介してオーディオデコーダ7bに出力することでなされる。再生可能なSecondaryオーディオストリームが1つだけである場合、上述した比較は、stream_entryに記述されているPID参照値の上位バイト“1A”と、バス1bに転送されているTSパケットのPIDの上位バイト“1A”との比較で足りる。何故なら、他にSecondaryオーディオストリームが存在しないので、Secondaryオーディオストリームであることを意味するPID上位バイトを参照すれば充分だからである。
再生可能なSecondaryオーディオストリームが複数存在する場合、上述した比較は、stream_entryに記述されているPID参照値の上位バイト“1A”と、バス1bに転送されているTSパケットのPIDの上位バイト“1A”との比較に加え、stream_entryに記述されているPID参照値の下位バイト(0x00から0x1Fまでの数値)と、バス1bに転送されているTSパケットのPIDの下位バイト(0x00から0x1Fまでの数値)との比較が必要になる。何故なら、Secondaryオーディオストリームが複数存在するので、再生すべきSecondaryオーディオストリームを一意に特定するように、PIDの下位バイトまで参照する必要があるからである。
ここでバス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オーディオストリームを、該当するデコーダに供給することができる。
尚、実装上デマルチプレクサを1つに集約することが考えられる。この場合にもPrimaryオーディオとSecondaryオーディオのPIDが異なることが同様に有効である。
以上が、BD-ROMドライブ1a、バス1b〜デマルチプレクサ3a、デマルチプレクサ3bについての説明である。
ビデオデコーダ4は、デマルチプレクサ3aから出力された複数PESパケットを復号して非圧縮形式のピクチャを得てビデオプレーン5に書き込む。
ビデオプレーン5は、非圧縮形式のピクチャを格納しておくためのプレーンである。プレーンとは、再生装置において一画面分の画素データを格納しておくためのメモリ領域である。ビデオプレーン5における解像度は1920×1080であり、このビデオプレーン5に格納されたピクチャデータは、16ビットのYUV値で表現された画素データにより構成される。
バッファ6aは、デマルチプレクサ3aから出力された、PID=0x1100〜111Fのうち再生されるべきオーディオストリームのPIDを有するTSパケットを、先入れ先だし式に格納して、オーディオデコーダ7aに供する。
バッファ6bは、デマルチプレクサ3bから出力された、PID=0x1A00〜1A1Fを有するTSパケットのうち再生されるべきオーディオストリームのPIDを有するTSパケットのみを、先入れ先だし式に格納して、オーディオデコーダ7bに供する。
バッファ6cは、BD-ROM/ローカルストレージから読み出されたファイルsound.bdmvをプリロードしておくためのメモリである。バッファ6cへのプリロードは、BD-ROMのローディング時やタイトル切替時に行うことが望ましい。何故なら、AVClipの再生中にファイルsound.bdmvを読み出そうとすると、AVClipとは別のファイルを読み出すための光ピックアップのシークが発生するからである。一方、BD-ROMの装填時やタイトル切替時には、AVClipの再生が継続していることは希なので、かかるタイミングにファイルsound.bdmvを読み出すことにより、機器の応答性を高めAVClip再生が途切れにくくすることができる。
オーディオデコーダ7aは、バッファ6aに格納されたTSパケットをPESパケットに変換して、このPESパケットに対しデコード処理を行い、非圧縮状態のLPCM状態のオーディオデータを得て出力する。これによりPrimaryオーディオストリームにおけるデジタル出力がなされる。
オーディオデコーダ7bは、バッファ6bに格納されたTSパケットをPESパケットに変換して、このPESパケットに対しデコード処理を行い、非圧縮状態のLPCM状態のオーディオデータを得て出力する。これによりSecondaryオーディオストリームにおけるデジタル出力がなされる。
DownMix/DownSample8は、ミキシングを行うにあたって、オーディオデコーダ7aから出力されたデジタルオーディオの音声属性を、オーディオデコーダ7bから出力されるデジタルオーディオの音声属性に合わせるための変換を施す。ここで音声属性とは、サンプリング周波数かつ/またはチャンネル数であり、これらを整合させる処理がなされる。またDownMix/DownSample8もしくはミキサー9aは、Secondaryオーディオストリームに多重化されている、メタデータに従い、Primaryオーディオストリーム側のゲインを下げたりする処理もオーディオデコーダ7bが抽出したゲイン制御情報によって行う。

ミキサ9aは、オーディオデコーダ7aから出力されるLPCM状態のデジタルオーディオと、オーディオデコーダ7bから出力されるLPCM状態のデジタルオーディオとをミキシングする。
ミキサ9bは、ミキサ9aから出力されるLPCM状態のデジタルオーディオと、バッファ6cに格納されているサウンドデータとをミキシングする。このサウンドミキサ9bによるミキシングは、クリック音の発音を意図したようなナビゲーションコマンド、又は、クリック音の発音を意図したようなバイトコードを、CPU22が解読することでなされる。
スイッチ10aは、デマルチプレクサ3aにより多重分離がなされた、Primaryオーディオストリームを構成するTSパケット、デマルチプレクサ3bにより多重分離がなされたSecondaryオーディオストリームを構成するTSパケットを、オーディオデコーダ7a,bに供給するか、オーディオデコーダ7a,bに供給せずそのエレメンタリーストリームだけを他機器に出力するか切り換えるスイッチである。Primaryオーディオストリームを構成するTSパケットを、オーディオデコーダ7a,bに供給せずそのエレメンタリーストリームを他の機器に出力することを“パススルー出力”という。TSパケットからエレメンタリーストリームへの変換部(TS/PESヘッダの除去を行う)はスイッチ10aに組み込まれている。(図示はしていない)
エンコーダ10bは、オーディオデコーダ7a,bのデコードにより得られ、ミキサー9a、ミキサー9bによるミキシングがなされたLPCM状態のオーディオデータを、サラウンド音声としてS/PDIFのようなデジタルインターフェース上で送る場合、ミキシングされたLPCMをDolby Digital(DD)形式やDolby Theater System(DTS)形式に圧縮符号化する。
Interactive Graphics(IG)デコーダ11は、BD-ROM100又はローカルストレージ200から読み出されたIGストリームをデコードして、非圧縮グラフィクスをIGプレーン12に書き込む。
Interactive Graphics(IG)プレーン12は、IGデコーダ11によるデコードで得られた非圧縮グラフィクスが書き込まれる。またBD-Jモードにおいて、アプリケーションにより描画された文字やグラフィクスが書き込まれる。
Presentation Graphics(PG)デコーダ13は、BD-ROM又はローカルストレージ200から読み出されたPGストリームをデコードして、非圧縮グラフィクスをPresentation Graphicsプレーン14に書き込む。PGデコーダ13によるデコードにより、字幕が画面上に現れることになる。
Presentation Graphics(PG)プレーン14は、一画面分の領域をもったメモリであり、一画面分の非圧縮グラフィクスを格納することができる。
JPEGデコーダ15は、BD-ROM又はローカルストレージ200に記録されているJPEGデータをデコードして、Stillプレーン16に書き込む。
Stillプレーン16は、JPEGデータを展開することで得られた非圧縮のグラフィクスデータが格納されるプレーンである。このグラフィクスデータは、Java(登録商標)アプリが描画する、GUIフレームワークのいわゆる“壁紙”として用いられる。
合成部17は、Interactive Graphicsプレーン12の格納内容と、Presentation Graphicsプレーン14の格納内容と、ビデオプレーン5の格納内容と、Stillプレーン16の格納内容とを合成した合成画像を得る。
STC生成部18a,bは、コントローラ22の指示によってSystem Time Clock(STC)を生成し各デコーダの動作タイミングを調整する。
ATC生成部19a,bは、コントローラ22の指示によってArrival Time Clock(ATC)を生成しデマルチプレクサの動作タイミングを調整する。 メモリ21は、カレントのPL情報やカレントのClip情報を格納しておくためのメモリである。カレントPL情報とは、BD-ROMに記録されている複数PlayList情報のうち、現在処理対象になっているものをいう。カレントClip情報とは、BD-ROM/ローカルストレージに記録されている複数Clip情報のうち、現在処理対象になっているものをいう。
コントローラ22は、MovieObject.bdmvに格納されているMovie Objectや、BD-J Objectにて参照されているJava(登録商標)アプリケーションを解読し、この解読結果に従ったプレイリスト再生(カレントPlayList情報に従った再生制御のことである)を実行することで、BD-ROMの再生制御を実現する。また上述のようなATS、STCの制御も行なう。
PSRセット23は、再生装置に内蔵されるレジスタであり、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に指示する。
通信部25は、読出装置における通信機能を実現するものであり、BD-JモードにおいてURL指定がJava(登録商標)アプリケーションから与えられれば、そのURLにあたるwebサイトとのTCPコネクション、FTPコネクション等を確立する。かかるコネクション確立によりwebサイトからのダウンロードをJava(登録商標)アプリケーションに行わせる。
操作受付部26は、リモコンに対してなされた操作をユーザから受け付け、そうした操作を示すUser Operation情報をコントローラ22に通知する。
HDMI送受信部27は、HDMI(HDMI:High Definition Multimedia Interface)を介して接続された他の機器から、その機器に関する情報を受信とすると共に、ビデオデコーダ4のデコードにより得られたデジタル非圧縮のビデオを、LPCMや圧縮されたオーディオデータと共に、HDMIを介して接続された他の機器に送信する。
以上が、本実施形態に係る再生装置のハードウェア構成である。続いて本実施形態に係る再生装置のソフトウェア構成について説明する。
図25に示したコントローラ22を、機能的に表現すると、図26のようになる。図26は、コントローラ22を機能的に表現した図であり、本図に示すようにコントローラ22は、プレイリスト処理部41、Procedure実行部42、Procedure実行部43、ミキシング制御部44、ATC生成部19a,b、STC生成部18a,bに対して、ATC/STCの生成を行わせるATC/STC制御部から構成される。
これらの構成要素の処理は、PSRセット23に基づく。以降、PSR1、PSR14、PSR31について説明する。
<PSR1>
図27(a)は、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>
図27(b)は、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>
図27(c)は、PSR31のビットアサインを示す図である。
本図によると、32ビット長のPSR31のうち、16ビット目から19ビット目まで(b16〜b19)は、Player Profile情報であり、0000bであれば、当該再生装置は、グレースピリオド内に出荷された再生装置であることを示す。ここでグレースピリオドとは、この期間内に出荷されたなら、一定の機能の実装を省くことができる期間である。このグレースピリオドに出荷するため、省略することができる機能には、音声のミキシング機能があり、かかるPSR31のPlayer Profile情報が、0000bであれば、ミキシングを始めとする、様々な機能の実装が省略されている再生装置であると、知ることができる。
Player Profile情報が0001bであれば、当該再生装置は、グレースピリオド経過後に出荷された再生装置であることを示す。グレースピリオドの経過後に出荷された再生装置は、原則として、全ての機能の実装が義務付けられているので、かかるPlayer Profile情報が0001bであるなら、ミキシングが実装されている再生装置であると、知ることができる。
Player Profile情報が0011bであれば、当該再生装置は、全ての機能を実装している再生装置であることを示す。かかる再生装置は、グレースピリオドの経過前後にかかわらず、全ての機能を実装しているので、かかるPlayer Profile情報が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と設定することができる。
以上が、PSRセット23についての説明である。
以降、プレイリスト処理部41〜Procedure実行部43についての説明を開始する。
<機能構成の詳細その1.プレイリスト処理部>
プレイリスト処理部41は、PL再生を実現するものであり、PlayItem情報のIn_timeにあたる位置から、Out_timeにあたる位置までビデオストリーム及びPrimaryオーディオストリームを再生し、これと同期して、SubPlayItem情報のSub_PlayItem_In_timeにあたる位置から、Sub_PlayItem_Out_timeにあたる位置までのSecondaryオーディオストリームの再生を、オーディオデコーダ7bに行わせる。
図28は、プレイリスト処理部によるプレイリスト再生手順を示すフローチャートである。
本フローチャートは、カレントPL情報(.mpls)の読み込みを行い(ステップS101)、その後、ステップS102〜ステップS110の処理を実行するというものである。ここでステップS102〜ステップS110は、ステップS109がYesになるまで、カレントPL情報を構成するそれぞれのPI情報について、ステップS103〜ステップS110の処理を繰り返すというループ処理を構成している。このループ処理において処理対象となるPlayItemを、PlayItem#x(PI#x)とよぶ。このPlayItem#xは、カレントプレイリストの先頭のPlayItemに設定されることにより、初期化される(ステップS102)。上述したループ処理の終了要件は、このPlayItem#xがカレントプレイリストの最後のPlayItemになることであり(ステップS109)、もし最後のPlayItemでなければ、カレントプレイリストにおける次のPlayItemがPlayItem#xに設定される(ステップS110)。
ループ処理において繰り返し実行されるステップS103〜ステップS110は、PlayItem#xのClip_information_file_nameで指定されるClip情報をメモリに読み込み(ステップS103)、PlayItem#xのIn_timeを、カレントClip情報のEPmapを用いて、Iピクチャアドレスuに変換し(ステップS104)、PlayItem#xのOut_timeを、カレントClip情報のEP_mapを用いて、Iピクチャアドレスvに変換して(ステップS105)、これらの変換で得られたアドレスvの次のIピクチャを求めて、そのアドレスの1つ手前をアドレスwに設定し(ステップS107)、そうして算出されたアドレスwを用いて、IピクチャアドレスuからアドレスwまでのTSパケットの読み出しをBD-ROMドライブ19又はローカルストレージ200に命じるというものである(ステップS108)。
一方、ビデオデコーダ等に対しては、カレントPLMarkのmark_time_stampからPlayItem#xのOut_timeまでの出力を命じる(ステップS106)。以上のステップS105〜ステップS108により、AVClipにおいて、PlayItem#xにより指示されている部分の再生がなされることになる。
その後、PlayItem#xがカレントプレイリストの最後のPIであるかの判定がなされる(ステップS109)。
PlayItem#xがカレントプレイリストの最後のPIでなければ、カレントプレイリストにおける次のPlayItemを、PlayItem#xに設定して(ステップS110)、ステップS103に戻る。以上のステップS103〜ステップS110を繰り返することにより、プレイリストを構成するPIは順次再生されることになる。

<機能構成の詳細その2.Procedure実行部42>
Procedure実行部42は、あるPlayItem情報から別のPlayItem情報への切り換わりが生じた場合、又はストリーム番号を切り換える旨の操作がユーザによりなされた場合、所定のストリーム選択プロシージャを実行して、PSR1に新たなストリーム番号を書き込む。再生装置は、PSR1に書き込まれたストリーム番号に応じて、Primaryオーディオストリームを再生するので、かかるPSR1の設定を通じて、Primaryオーディオストリームが選択されることになる。
PlayItem情報の切り換わり時に、ストリーム選択プロシージャを実行するのは、STN_TableはPlayItem情報毎に存在するので、あるPlayItem情報においては再生可能であったPrimaryオーディオストリームが、別のPlayItem情報において再生不可能になることが有り得るからである。
このProcedure実行部42により、PSR1は、図29(a)に示すような状態遷移をなす。図29(a)は、PSR1の設定値が取り得る状態遷移を示す図である。本図においてValidとは、PSR1の値が、Play ItemのSTN_tableに記述されたentry数以下の番号になっていて、尚且つ、デコード可能であることを意味する。
Invalidとは、PSR1の値が、0であるか、又は、Play ItemのSTN_tableに記述されたentry数を上回る番号になっているか、または、Play ItemのSTN_tableに記述されたentry数が1〜32の値であったとしても、デコードできない場合である。
図29(a)における破線枠は、状態遷移時にあたってPSRの値を決定する手順を模式的に示す。PSRの設定処理手順には、『Procedure when playback condition is changed』、『Procedure when Stream change is requested』がある。
Procedure when playback condition is changedは、何等かの事象が再生装置に生じたため、再生装置の状態が変化した際に実行すべき処理手順を示す。
Procedure when Stream Change is requestedは、ユーザが何等かの切り換え(図29(a)においてstream)を要求した際、実行すべき処理手順を示す。
これら破線枠に示されるProcedure when playback condition is changed、Procedure when Stream change is requestedが、ストリーム選択プロシージャであり、後でフローチャートを交えて詳細に説明する。
図29(a)における矢印は、PSRが取り得る状態間の状態遷移を象徴的に示す。
状態遷移を意味する矢印に添えられた注釈は、各状態遷移のトリガとなるべき事象を意味する。つまり本図では、”Load Disc”、”Change a Stream”,”Start PlayList playback”,”Cross a PlayItem boundary”,”Terminate PlayList playback”というような事象が発生した際、PSR1の状態遷移がなされることになる。これらの記法を理解して図29(a)を参照すれば、Invalid→Invalidの状態遷移時、Valid→Invalidの状態遷移時には、上述した処理手順は実行されていないことがわかる。これに対しInvalid→Valid間の状態遷移、Valid→Valid間の状態遷移は何れも破線枠を経由している。つまりPSR1をValidに設定するにあたって、上述したProcedure when playback condition is changed、Procedure when Stream change is requestedによりPSR1は設定されるのである。
以降、状態遷移のトリガとなるべき事象について説明する。
『Load Disc』とは、再生装置にBD-ROMがローディングされたとの事象を意味する。PSR1は、かかるローディング時において、一旦不定値(0xFF)に設定されるのである。
『Start PlayList playback』とは、PLに基づく再生処理が開始したとの事象を意味する。かかる事象が発生時において、Procedure when playback condition is changedが実行され、PSR1はValidに設定されることがわかる。
『Terminate PlayList playback』とは、PLに基づく再生処理を終了したとの事象を意味する。かかる事象の発生時では、Procedure when 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 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側で保証するからである。
『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に設定するというのが、この状態遷移の趣旨である。
この状態遷移においてProcedure when playback condition is changedは、図29(b)のようになる。図29(b)は、Procedure when playback condition is changedの処理手順を示す図である。本処理手順は、ステップS1、ステップS2という2つの判定ステップの組合せで、PSR1の設定を行うものである。
ステップS1は、STN_tableにおけるentry数が0であるか否かの判定であり、もし0であればPSR1の値を維持する(ステップS3)。
ステップS2は、STN_tableにおけるentry数は0ではない場合に、PSR1よりSTN_tableのentry数が多く、尚且つ、条件(A)が真であるかを判定するものである。条件(A)とは、PSR1で特定されるPrimaryオーディオストリームを再生する能力が再生装置に存在することである。もしステップS2がYesであればPSR1を維持する(ステップS4)。もしPSR1の値がentry数より大きいか、或は条件(A)を満たさない場合は、PSR1を再設定する(ステップS5)。
図30は、ステップS5の詳細な処理手順に示したフローチャートである。
ステップS6、ステップS7は、全てのPrimaryオーディオストリームについてステップS8を繰り返すループ処理を形成している。このループ処理において、処理対象となる個々のPrimaryオーディオストリームを、Primaryオーディオストリームiという。ステップS8は、Primaryオーディオストリームiが3つの条件(a)(b)(c)を満たすかのチェックを行う。
条件(a)とは、Primaryオーディオストリームiを再生する能力が再生装置に存在することであり、これを満たすか否かの判定は、PSR15と、Primaryオーディオストリームiのstream_coding_typeとの比較でなされる。
条件(b)とは、Primaryオーディオストリームiの言語属性が再生装置の言語設定と同じであることであり、これを満たすか否かの判定は、STN_tableに記述されたPrimaryオーディオストリームiのAudio_language_codeがPSRの設定値と同じであるか否かの比較でなされる。
条件(c)とは、Primaryオーディオストリームiのチャネル属性がサラウンドであり、これを再生する能力が再生装置に存在することである。これを満たすか否かの判定は、PSR15と,Audio Streamのaudio_presentation_type、stream_coding_typeとの比較でなされる。
これらの複数の条件のうち、「Primaryオーディオストリームiがどれとどれを満たすか」、また「何個の条件を満たすか」という、満たすべき条件のパターンにより、本フローチャートは、Primaryオーディオストリームに優先順位を付与する。
以上の処理をPrimaryオーディオストリームの全てについて繰り返されれば、ステップS9〜ステップS13の処理を行う。ステップS9は、(a)を満たすPrimaryオーディオストリームが存在しないかどうかの判定である。もし、存在しなければ、不定値(0xFF)をPSR1に設定する(ステップS14)。
ステップ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オーディオストリームが選ばれることになる。
STN_tableにおける記述順序を変えることで、オーサリング担当者は再生時においてどのストリームを優先的に再生させ、どのストリームを後回しにするかという選択制御をオーサリング時に規定することができる。
ステップS11は、条件(a)(b)(c)の全てを満たすPrimaryオーディオストリームが存在しない場合、条件(a)(b)を満たすPrimaryオーディオストリームが存在するかどうかの判定である。もし存在すれば、条件(a)(b)を満たすPrimaryオーディオストリームのうち、STN_tableにおけるエントリーの順番が最も早いものをPSR1に設定する(ステップS16)。
ステップS12は、条件(a)(b)(c)の全てを満たすPrimaryオーディオストリーム、又は、条件(a)(b)を満たすPrimaryオーディオストリームが存在しない場合に、条件(a)(c)を満たすPrimaryオーディオストリームが存在するかどうかの判定である。もし存在すれば、条件(a)(c)を満たすPrimaryオーディオストリームのうち、STN_tableにおけるエントリーの順番が最も早いものをPSR1に設定する(ステップS17)。
ステップS13は、条件(a)(b)(c)の全て、条件(a)(b)、条件(a)(c)を満たすPrimaryオーディオストリームが存在しない場合に、条件(a)を満たすPrimaryオーディオストリームが存在するかどうかの判定である。もし存在すれば、条件(a)を満たすPrimaryオーディオストリームのうち、STN_tableにおけるエントリーの順番が最も早いものをPSR1に設定する(ステップS18)。
以上がProcedure when playback condition is changedである。続いてProcedure when Stream change is requestedについて説明する。図31は、ストリーム変化時におけるPSR1の設定手順を示すフローチャートである。本フローチャートと、図29(b)との違いは、図29(b)におけるPSR1の表記がXに置き換えられている点である。このXは、操作受付部26から出力されたUser Operation情報やIGデコーダ13から出力されたボタンコマンドに基づく値である。
本フローチャートにおけるステップS19は、XよりSTN_tableのentry数が多く、尚且つ、条件(A)が真であるかを判定するものである。条件(A)とは、PSR1で特定されるPrimaryオーディオストリームを再生する能力が再生装置に存在することであり、PSR15と、PrimaryオーディオストリームのStream_codeig_typeの比較で判定される。もしXがこの条件を満たすなら、PSR1にXを設定する(ステップS21)。
もしXがentry数より大きいか、或は条件(A)を満たさない場合は、Xが、0xFFであるか否かを判定する。もしOxFFでなければ、ユーザが選択を意図するPrimaryオーディオストリームの番号は無効であると考えられるので、ユーザ操作に基づく値Xを無視し、PSR1の設定値を維持する(ステップS23)。
もしPSR1の設定値が0xFFであるなら、PSR1を設定する(ステップS24)。このステップS24の処理手順は、図30に示した処理手順と同一である(図30のうち、ステップS9の判定はProcedure when Stream change is requestedでは必要ではない。何故ならProcedure when Stream change is requestedでは、条件(a)(b)(c)を満たすPrimaryオーディオストリームが1つも存在しない場合、ユーザが設定した値XをPSR1に設定せず、PSR1の設定値を維持するからである。)。
<機能構成の詳細その3.Procedure実行部43>
Procedure実行部43は、あるPlayItem情報から別のPlayItem情報への切り換わりが生じた場合、又はストリーム番号を切り換える旨の操作がユーザによりなされた場合、所定の手順を実行して、PSR14に新たなストリーム番号を書き込む。再生装置は、PSR14に書き込まれたストリーム番号に対応するSecondaryオーディオストリームを再生するので、かかるPSR14の設定を通じて、Secondaryオーディオストリームが選択されることになる。
このProcedure実行部43により、PSR14は、図32(a)に示すような状態遷移をなす。
図32(a)は、PSR14の設定値が取り得る状態遷移を示す図である。本図においてValidとは、PSR14の値が、Play ItemのSTN_tableに記述されたentry数以下の番号になっていて、尚且つ、デコード可能であることを意味する。
Invalidとは、PSR14の値が、0であるか、又は、Play ItemのSTN_tableに記述されたentry数を上回る番号になっているか、または、Play ItemのSTN_tableに記述されたentry数が1〜32の値であったとしても、デコードできない場合である。
図32(a)における破線枠は、状態遷移時にあたってPSRの値を決定する手順を模式的に示す。PSRの設定処理手順には、『Procedure when playback condition is changed』、『Procedure when Stream change is requested』がある。
Procedure when playback condition is changedは、何等かの事象が再生装置に生じたため、再生装置の状態が変化した際に実行すべき処理手順を示す。
Procedure when Stream Change is requestedは、ユーザが何等かの切り換え(図32においてstream)を要求した際、実行すべき処理手順を示す。
これら破線枠に示されるProcedure when playback condition is changed、Procedure when Stream change is requestedが、ストリーム選択プロシージャであり、後でフローチャートを交えて詳細に説明する。
図32(a)における矢印は、PSRが取り得る状態間の状態遷移を象徴的に示す。
状態遷移を意味する矢印に添えられた注釈は、各状態遷移のトリガとなるべき事象を意味する。つまり本図では、”Load Disc”、”Change a Stream”,”Start PlayList playback”,”Cross a PlayItem boundaryor Change Primary Audio Stream”,”Terminate PlayList playback”というような事象が発生した際、PSR14の状態遷移がなされることになる。これらの記法を理解して図32(a)を参照すれば、Invalid→Invalidの状態遷移時、Valid→Invalidの状態遷移時には、上述した処理手順は実行されていないことがわかる。これに対しInvalid→Valid間の状態遷移、Valid→Valid間の状態遷移は何れも破線枠を経由している。つまりPSR14をValidに設定するにあたって、上述したProcedure when playback condition is changed、Procedure when Stream change is requestedによりPSR14は設定されるのである。
以降、状態遷移のトリガとなるべき事象について説明する。
『Load Disc』とは、再生装置にBD-ROMがローディングされたとの事象を意味する。PSR14は、かかるローディング時において、一旦不定値(0xFF)に設定されるのである。
『Start PlayList playback』とは、PLに基づく再生処理が開始したとの事象を意味する。かかる事象が発生時において、Procedure when playback condition is changedが実行され、PSR14はValidに設定されることがわかる。
『Terminate PlayList playback』とは、PLに基づく再生処理が終了したとの事象を意味する。かかる事象の発生時では、Procedure when 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 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側で保証するからである。
『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に設定するというのが、この状態遷移の趣旨である。
この状態遷移においてProcedure when playback condition is changedは、図32(b)のようになる。本処理手順は、ステップS31、ステップS32という2つの判定ステップの組合せで、PSR14の設定を行うものである。
ステップS31は、STN_tableにおけるentry数が0であるか否かの判定であり、もし0であればPSR14の値を維持する(ステップS33)。
ステップS32は、STN_tableにおけるentry数は0ではない場合に、PSR14よりSTN_tableのentry数が多く、尚且つ、条件(A)と(B)が真であるかを判定するものである。条件(A)とは、PSR14で特定されるSecondaryオーディオストリームを再生する能力が再生装置に存在することである。条件(B)とは、Primary_Audio_Stream_Numberと、Secondary_Audio_Stream_Numberの組み合わせがSTN_tableで許可されていることである。もしステップS32がNoであればPSR14を維持する(ステップS34)。Yesの場合は、PSR14を再設定する(ステップS35)。
図33は、ステップS35の詳細な処理手順に示したフローチャートである。
ステップS36、ステップS37は、全てのSecondaryオーディオストリームについてステップS38を繰り返すループ処理を形成している。このループ処理において、処理対象となる個々のSecondaryオーディオストリームを、Secondaryオーディオストリームiという。ステップS38は、Secondaryオーディオストリームiが3つの条件(a)(b)(c)を満たすかのチェックを行う。
条件(a)とは、Secondaryオーディオストリームiを再生する能力が再生装置に存在することであり、これを満たすか否かの判定は、オーディオストリームの再生能力を示すレジスタ(PSR15)と、Secondaryオーディオストリームiのstream_coding_typeとの比較でなされる。
条件(b)とは、PrimaryオーディオストリームをSecondaryオーディオストリームにミキシングすることができるか否かであり、この条件が満たされているか否かの判定は、PSR14に設定されているストリーム番号が、SecondaryオーディオストリームのComb_info_Secondary_audio_Primary_audioに記載されているかを判断することでなされる。
条件(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)。
ステップ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オーディオストリームが選ばれることになる。
STN_tableにおける記述順序を変えることで、オーサリング担当者は再生時においてどのストリームを優先的に再生させ、どのストリームを後回しにするかという選択制御をオーサリング時に規定することができる。
ステップS41は、条件(a)(b)(c)の全てを満たすSecondaryオーディオストリームが存在しない場合、条件(a)(b)を満たすSecondaryオーディオストリームが存在するかどうかの判定である。もし存在すれば、条件(a)(b)を満たすSecondaryオーディオストリームのうち、STN_tableにおけるエントリーの順番が最も早いものをPSR14に設定する(ステップS46)。
以上がProcedure when playback condition is changedである。続いてProcedure when Stream change is requestedについて説明する。図34は、ストリーム変化時におけるPSR14の設定手順を示すフローチャートである。本フローチャートと、図32(b)との違いは、図32(b)におけるPSR14の表記がXに置き換えられている点である。このXは、操作受付部26から出力されたUser Operation情報やIGデコーダ13から出力されたボタンコマンドに基づく値である。
本フローチャートにおけるステップS49は、XよりSTN_tableのentry数が多く、尚且つ、条件(A)、条件(b)が真であるかを判定するものである。もしXがこの条件を満たすなら、PSR14にXを設定する(ステップS51)。
もしXがentry数より大きいか、或は条件(A)及び条件(B)を満たさない場合は、Xが、0xFFであるか否かを判定する(ステップS52)。もしOxFFでなければ、ユーザが選択を意図するSecondaryオーディオストリームの番号は無効であると考えられるので、ユーザ操作に基づく値Xを無視し、PSR14の設定値を維持する(ステップS53)。
もしPSR14の設定値が0xFFであるなら、PSR14を設定する(ステップS54)。このステップS54の処理手順は、図33に示した処理手順と同一である(図33のうち、ステップS39の判定はProcedure when Stream change is requestedでは必要ではない。何故ならProcedure when Stream change is requestedでは、条件(a)(b)(c)を満たすSecondaryオーディオストリームが1つも存在しない場合、ユーザが設定した値XをPSR14に設定せず、PSR14の設定値を維持するからである。)。
以上でProcedure実行部43についての説明を終える。
<機能構成の詳細その4.ミキシング制御部44>
ミキシング制御部44は、Player Profile情報が0001hである場合、又は、0011hである場合、Primaryオーディオストリームの再生出力に対して、Secondaryオーディオストリームの再生出力、又は、サウンドデータの再生出力をミキシングするよう、ミキサー9a、ミキサー9bを制御する。
ここでPlayItem時間軸における現在の再生時点が、SubPlayItem情報のIn_timeからOut_timeまでであり、また、カレントPlayItem情報のSTN_Tableにおいて、Secondaryオーディオストリームが有効になっている場合、PSR14に格納されたストリーム番号のSecondaryオーディオストリームのデコードが、オーディオデコーダ7bにてなされているので、ミキシング制御部44は、オーディオデコーダ7aの再生出力に対して、オーディオデコーダ7bの再生出力をミキシングするよう、ミキサー9aを制御する。
Primaryオーディオストリームにおける属性がサラウンドである場合、L,R,C,LS,RS,LR,RR,LFEといった成分のうち、所望の成分のみを残すようダウンミキシングを行った上で、Secondaryオーディオストリームの再生出力をミキシングすることができる。ここでSecondaryオーディオストリームが映画監督のコメンタリ音声である場合、SecondaryオーディオストリームをミキシングすべきPrimaryオーディオストリームのチャンネルを、L→C→Rというように変化させてゆけば、ユーザの回りを映画監督が、歩き回っているかのような感覚を、ユーザに与えることができる。このようなミキシングをパンニングと呼んでいる。パンニングではPrimaryオーディオストリームよりも少ないチャンネル数のSecondaryオーディオストリーム(例えばモノラル)の音声が使われる。
Java(登録商標)アプリケーションにて描画されたボタンに対し確定操作がなされた場合、又は、IGストリームにより描画されたボタンに対し確定操作がなされた場合、Primaryオーディオストリームの再生出力、又は、Primaryオーディオストリームの再生出力と、Secondaryオーディオストリームの再生出力とのミキシング結果に対して、サウンドデータをミキシングするよう、ミキサー9bを制御する。
以上のように本実施形態によれば、デマルチプレクサ3bは、バス1bに転送されているTSパケットを取り込み、このPIDの上位バイトを参照することにより、当該TSパケットを、Secondaryオーディオストリーム用のデコーダに投入することができる。これによりデマルチプレクサ3bは、このSecondaryオーディオストリームを構成するPESパケットのみを、多重分離して、Primaryオーディオストリーム用のデコーダとは別のデコーダに取り込むことができる。
Primaryオーディオストリームを構成するパケット、Secondaryオーディオストリームを構成するパケットを別々のデコーダに取り込み、デコードに供給することができるので、Primaryオーディオストリームを構成するパケットのみダウンコンバートを施したり、ダウンミキシングを施したり、ゲインを下げたりすることができる。BD-ROM100からの読み出す中に、ローカルストレージ200からSecondaryオーディオストリームを読み出し、これらを2つのデコーダに供給したとしても、Primaryオーディオストリームを構成するパケットのみに対し、リアルタイムに特別な処理を施すことができる。

(第2実施形態)
第2実施形態は、ホームシアターシステムにおける再生装置300、AVアンプ500のうち、どの装置において、Primaryオーディオストリームのデコードを行うかという、Primaryオーディオストリームのデコードを行わせるべき装置の選択に関する実施形態である。
図35(a)は、再生装置300、AVアンプ500、スピーカ600の接続形態を示す図である。ホームシアターシステムにおける接続形態には、AVアンプ500を介さず、再生装置300を直接、スピーカ600に接続する形態(接続形態(1))、AVアンプ500を介してスピーカ600と接続する形態(接続形態(2))がある。
前者の接続形態(1)には、再生装置300のデコードで得られたLPCMがスピーカ600に供給される。一方、後者の接続形態(2)では、再生装置300はパススルー出力を行うに過ぎず、AVアンプ500のデコードで得られたLPCMがスピーカ600に供給される。
このように、何通りかの接続形態がホームシアターシステムに存在する場合、それぞれの装置において、チャンネル数が変化する。
図35(b)は、再生装置300、AVアンプ500、スピーカ600のそれぞれで、チャンネル数がどのように変化するかを示す図である。本図の第1段目は、BD-ROM100、再生装置300、AVアンプ500、スピーカ600のそれぞれを示す。これらの機器のデコード能力は、再生装置300が5.1chまで可能であり、AVアンプ500は、7.1chまで可能、スピーカ600は7.1chというものである。
第2段目〜第4段目は、BD-ROM100に、7.1ch、5.1chのPrimaryオーディオストリームが存在する場合、これらの機器にて、どのようにダウンミキシングが行われるかを示す。第2段目は、BD-ROM100に7.1chの属性をもつPrimaryオーディオストリームが存在しており、これを再生装置300でデコードする場合を示している。この場合、再生装置300は、BD-ROM100から読み出した7.1chのPrimaryオーディオストリームをデコードして、5.1chにダウンミキシングしたLPCMを出力する。AVアンプ500は、この5.1chのLPCMを7.1chに変換した上でスピーカ600に出力する。
第3段目は、BD-ROM100に5.1chのPrimaryオーディオストリームが記録されている場合を示す。この場合、再生装置300は、5.1chのPrimaryオーディオストリームをデコードし、ダウンミキシングを施さずにAVアンプ500にLPCMを出力する。AVアンプ500は、この5.1chの音声出力を7.1chに変換した上で、スピーカ600に出力する。
第4段目は、BD-ROM100に7.1chが記録されており、これを再生装置300がパススルー出力する場合を示す。この場合、デコードは、AVアンプ500でなされ、このAVアンプ500によるデコードにて得られた7.1chの音声が、スピーカ600に供されて、音声出力される。
これらの出力を比較すれば、第2段目のように再生装置300が7.1chを5.1chに変換する場合は、音声はいったん5.1chになり、AVアンプ500が7.1chに変換したものをスピーカ600に出力するので、BD-ROM100に記録されているオーディオストリームが7.1chであるにもかかわらず、第2段目の出力時での音質は、第3段目の出力時での音質と大差がない。
これに対して第4段目では、7.1chのオーディオストリームのデコードを、7.1chのデコード能力を有するAVアンプ500に行わせているので、高音質の出力が期待できる。
そこで本実施形態では、かかる出力形態において、接続相手となる機器に再生能力が存在する場合、かかる機器にデコードを行わせるよう、パススルー出力を行う。
接続相手にどれだけの再生能力があるか、デコード能力があるか、ストリーム出力すべきかどうかは、HDMIにおけるDIB(Decoder Information Block)を通じて判定する。図36(a)は、DIBを示す図である。
本図に示すようにDIBは、AVアンプ500に出力することができる符号化方式を示す「Coding Type」、接続相手の機器がデコード可能なチャネル数を示す「Channel Count」、スピーカ配置を示す「Channle/Speaker Allocation」、接続相手の機器において再生することができる周波数を示す「Sample Frenquency」からなる。
図36(b)は、DIBの各フィールドに設定しうる値を示す。
「CODING TYPE」は、接続相手となる機器において、デコードを行うことができる符号化方式は、DTS-HD、MLP、DD+などのうち、どれであるかを示す。「CODING TYPE」における実際の記述は、CT0,CT1,CT2,CT3という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」などのサンプリング周波数示す。
図36(c)は、DIBを用いた再生装置300、AVアンプ500間の通信シーケンスを示す。
再生装置300のHDMI送受信部27は、AVアンプ500と接続された際、◎1に示すように、相互認証を行い、その後、再生装置300のHDMI送受信部27は、レシーバとなるAVアンプ500側から、◎2に示すようにDIBを受信する。こうして受信したDIBにおいて、AVアンプ500側に、Primaryオーディオストリームをデコードする能力が存在すれば、AVアンプ500に対し、◎3に示すようにPrimaryオーディオストリームのパススルー出力を行うことができる。AVアンプ500側に、Primaryオーディオストリームをデコードする能力がなければ、再生装置でデコードしたLPCMを転送するか、そのストリームは再生できないことになる。
続いて、第2実施形態における、再生装置の改良について説明する。
図37は、PSRセット23におけるPSR15の内部構成を示す図である。
PSR15は、第1実施形態に示したPSR1、PSR14、PSR31と同様、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+オーディオストリームの基本データ(independent substram)の2chストリームまでを再生する能力が、再生装置に存在することを示す。この4ビットの下位2ビットが10bなら、DD/DD+オーディオストリームの基本データ(independent substram)のマルチチャンネルストリーム(2chより多いch数のストリーム)を再生する能力が、再生装置に存在することを示す。
この4ビットの上位2ビットが01bなら、DD/DD+オーディオストリームの拡張データ(Dependent substram)の2chストリームまでを再生する能力が、再生装置に存在することを示す。この4ビットの上位2ビットが10bなら、DD/DD+オーディオストリームの拡張データ(Dependent substram)のマルチチャンネルストリームを再生する能力が、再生装置に存在することを示す。
上位2ビットが00であるなら、DD/DD+オーディオストリームの拡張データ(Dependent substram)を再生する能力が再生装置に存在しないことを示す。
PSR15のビットb8からビットb11までは、DTS-HD形式のオーディオストリームをデコードして再生する能力が再生装置に存在するか否かを示す。この4ビットの下位2ビットが01bなら、DTS-HDオーディオストリームの基本データ(Core substram)の2chまでを再生する能力が、再生装置に存在することを示す。この4ビットの下位2ビットが10bなら、DTS-HDオーディオストリームの基本データ(Core substram)のマルチチャンネルを再生する能力が、再生装置に存在することを示す。
この4ビットの上位2ビットが01bなら、DTS-HDオーディオストリームの拡張データ(Extension substramの2chまでを再生する能力が、再生装置に存在することを示す。この4ビットの上位2ビットが10bなら、DTS-HDオーディオストリームの拡張データ(Extension substram)のマルチチャンネルを再生する能力が、再生装置に存在することを示す。
上位2ビットが00bであるなら、DTS-HDオーディオストリームの拡張データ(Extension substram)を再生する能力が再生装置に存在しないことを示す。
PSR15のビットb12からビットb15までは、DD/MLP形式のオーディオストリームをデコードして再生する能力が再生装置に存在するか否かを示す。この4ビットの下位2ビットが01bなら、DDオーディオストリームの2chまでを再生する能力が、再生装置に存在することを示す。この4ビットの下位2ビットが10bなら、DDオーディオストリームのマルチチャンネルを再生する能力が、再生装置に存在することを示す。
この4ビットの上位2ビットが01bなら、MLPオーディオストリームの2chまでを再生する能力が、再生装置に存在することを示す。この4ビットの上位2ビットが10bなら、MLPオーディオストリームのマルチチャンネルを再生する能力が、再生装置に存在することを示す。
上位2ビットが00であるなら、MLPオーディオストリームを再生する能力が再生装置に存在しないことを示す。
このように、PSR15は、符号化方式毎に、基本データ、拡張データのそれぞれを処理する能力があるか否かを規定できるようにしている。PSR15の説明で言う2chとはL/Rの2chを意味している。
このようにPSR15が規定されているので、第2実施形態にかかるコントローラ22は、図38のフローチャートに従って、Primaryオーディオストリームの再生制御を行う。図38は、第2実施形態にかかるコントローラ22の処理手順を示すフローチャートである。
ステップS61は、装置起動がなされたかか否かの起動待ち判定であり、もし起動されれば、HDMIを介した接続相手の機器の認証を行う(ステップS62)。この認証により、相互の正当性が判明すれば、ステップS63に移行する。ステップS63は、DIBを受信したかどうかの受信待ちループであり、もしDIBを受信すれば(ステップS63でyes)、接続相手から受け取ったDIBにより、接続相手の能力及びスピーカ数(配置)を認識する(ステップS64)。ステップS65は、接続相手に再生能力が存在するか否かの判定であり、もし再生能力が存在するなら、パススルー出力を行うか否かの設定を受け付けるためのメニューを表示し(ステップS67)、ユーザがパススルー出力を希望したかどうかを判定する(ステップS68)。
尚、DIBによりスピーカが接続されている機器(多くの場合AVアンプ)にてデコードできることが分かった場合には、ユーザーに設定させることなく、自動で接続相手機器にてデコードするようパススルー設定(S68でYES)を行なっても良い。
尚、再生機器300の機器設定メニュー(初期設定メニュー)で接続先の機器でデコードできることが分かった場合には自動でパススルー設定(S68でYES)を行なうよう予め設定をしていても良い。
図39、図40は、パススルー出力を行うか否かの設定を受け付けるためのメニューを示す図である。これらの図におけるメニューは、「お客さまのシアターシステムでは、接続先の機器で音声デコードを行うことができます」や「接続先の機器xxxxで音声デコードを行なうことで、より高音質な音声をお楽しみ頂けます」などの注意を喚起する旨のメッセージと、接続先機器でのデコード指示を可否を受け付けるボタン「Yes」「No」とからなる。
一方、図40のメニューにおいて、XXXの部分には、AVアンプ500の製品名や型番表示される。またこのXXXの部分にAVアンプ500の他、テレビ400の製品名や型番を表示させ、これらをユーザ操作に応じて選択させるようにしてもよい。こうすることで、デコードを行わせる機器をユーザに選択させてもよい。更に、ユーザが何台もAVアンプを所有しているような場合、これらの製品名や型番を表示させ、これらをユーザ操作に応じて選択させるのが望ましい。
このメニューに対して、Yesボタンを確定することでパススルー出力を希望する旨の操作を行った場合、DIBに応じた、PSR15におけるPlayer capability for Audioの設定を行う(ステップS71)。そして、AVアンプ500のデコード能力に応じたPrimaryオーディオストリームを選択させる手順をProcedure実行部42に実行させる(ステップS72)。以降、BD-ROMから読み出されたAVClipのPrimaryオーディオストリームを、パススルー出力させる(ステップS73)。
AVアンプ500でデコードを行うことを希望する操作を行わなかった場合、自機のデコード能力に応じたPSR15を設定し、Primaryオーディオストリームを選択させる手順をProcedure実行部42に実行させ(ステップS69)、自機でデコードした音声(LPCM)を出力させる(ステップS70)。
図41、図42は、DIBに応じて、PSR15におけるPlayer capability for Audioを設定する処理手順を示すフローチャートである。
図41のフローチャートにおいてステップS200は、DIBのCODING TYPEが、DD+を示しているかを判定するものである。
DIBのCODING TYPEがDD+を示しているなら、ステップS201に移行する。ステップS201は、DIBのChannel Countに2よりも大きな値が記載されているか否かの判定である。ステップS201がyesである場合、ステップS203において、Dependent Substreamのcapabilityを、10b:Surround Capableに設定する。
ステップS201がnoである場合、ステップS205において、Dependent Substreamのcapabilityを、01b:Stereo Capableに設定する。
図42のフローチャートにおいてステップS82は、DIBのCODING TYPEが、MLPを示しているかを判定するものである。DIBのCODING TYPEがMLPを示しているなら、ステップS82がyesになってステップS91に移行する。ステップS91は、DIBのChannel Countが2chより大きいか否かの判定である。
ステップS91がYESである場合、ステップS93において、MLPのcapabilityを、10b:Surround Capableに設定する。ステップS91がNOである場合、ステップS94において、MLPのcapabilityを、01b:Stereo Capableに設定する。
図41のS201、図42のS91の判定ではDIBのChannel Countを用いたが、Channel/Speaker Allocationを用いても判定しても良い。
以上のように本実施形態によれば、HDMIのようにデジタルI/Fを介し、接続相手の能力を取得し、それに応じてPSR15を設定した上、このPSR15に基づき、PrimaryオーディオストリームをBD-ROMディスク/ローカルストレージから選択して、このPrimaryオーディオストリームのパススルー出力を行うので、接続相手のデコーダ資源を有効活用することができ、かかる有効活用により、高品質な音声再生を実現することができる。また、AVアンプとスピーカーはセットで開発/販売されることが多いため、スピーカーの特性に合わせた調節がAVアンプでは可能である。したがって、再生機器が内部デコーダでデコードできる場合であっても、接続先のAVアンプでデコードする方が音響学的に高音質な再生結果を得られる。
(第3実施形態)
第1実施形態におけるローカルストレージ200は、再生装置内蔵型のハードディスクであったが、本実施形態におけるローカルストレージ200は、可搬型の記録媒体であるSDメモリカードである。そして本実施形態は、この可搬型記録媒体に動的シナリオを記録して再生装置に提供する場合の改良に関する。
SDメモリカードは、セキュアな領域と、非セキュアな領域とをもった可搬型の記録媒体である。第1実施形態に示したようなローカルストレージ上のファイルは、暗号化されて非セキュアな領域に記録され、暗号鍵がセキュアな領域に記録される。セキュア領域に記録された暗号鍵はSDメモリカードによる認証により、正当性が確認されない限り、読み出されることはない。これにより非セキュア領域上のファイルは、不正にコピーされることなく、BD-ROMと併用されるときのみ読み出されることになる。
動的シナリオとは、第1実施形態に示したJava(登録商標)アプリケーション、Movie Objectであり、PlayList情報を通じた再生を、再生装置に行わせるプログラムである。かかる動的シナリオは、BD-ROM100に記録される場合と、ローカルストレージ200に記録される場合とがあるが、動的シナリオが可搬型記録媒体に記録されていると、かかる記録媒体に記録された動的シナリオは、様々な場所に設置された再生装置に供される。時には、自動車の車内に設置された再生装置300に供されることもある。
図43(a)は、自動車の車内に設置された再生装置300を示す図である。かかる再生装置300は、テレビ400と共に、カーオーディオシステムを構成するものである、可搬型のローカルストレージ200は、BD-ROM100と共に、かかる再生装置300に導入されることがある。
このように自動車車内に設置される場合、かかる再生装置300は、CD再生装置のように操作されることを明らかにするのが望ましい。このように、CD再生装置のように操作されるべきであることを示すべく、本実施形態にかかるPSR31は、図43(b)のように構成されている。
図43(b)は、第3実施形態にかかるPSR31の内部構成を示す図である。本実施形態におけるPSR31は、自動車内に設置された場合、Player Profile情報=1000bを示すように、メーカーの技術者、又は、最終消費者により設定される。PSR31におけるPlayer Profile情報が1000bに設定された場合、当該再生装置は、Audio Profile Playerであることを示す。Audio Profile Playerとは、対話画面を介した操作には適さず、CDプレーヤーライク(CD再生装置のようなリニアな操作のみでコンテンツの再生制御を行なうBD-ROM再生装置であり、GUIによるコンテンツの再生制御などに対応していない再生機器、もしくは車が走行していることを感知し一時的にそのようなモードに遷移する再生機器)であることを示す。
再生装置がCDプレーヤーライクである場合、チャプタースキップ、チャプターサーチ等、チャプターを単位とした操作で、コンテンツは再生されねばならない。かかるチャプターは、図17に示したPlayListMark情報に規定されている
以降、PlayListMark情報について説明をはじめる。
図44は、PlayList情報におけるPlayListMark情報の内部構成を示す図である。本図の図中の引き出し線pm0に示すように、PlayListMark情報は、複数のPLMark情報(#1〜#n)からなる。PLmark情報(PLmark())は、PL時間軸のうち、任意の位置を、チャプター点として指定する情報である。引き出し線pm1に示すようにPLmark情報は、チャプター指定の対象たるPlayItemを示す『ref_to_PlayItem_Id』と、そのPlayItemにおける、チャプター位置を時間表記により示す『mark_time_stamp』とを含む。
図45は、PlayList情報の、PLMark情報によるチャプター位置の指定を示す図である。本図の第2段目から第5段目は、図10に示した、EP_mapと、AVClipとを示す。
本図の第1段目は、PLMark情報と、PL時間軸とを示す。この第1段目には、2つのPLMark情報#1〜#2が存在する。矢印kt1,2は、PLMark情報のref_to_PlayItem_Idによる指定を示す。この矢印からもわかるようにPLMark情報のref_to_PlayItem_Idは、参照するPlayItemを指定していることがわかる。また、Mark_time_Stampは、当該PlayItem時間軸のうち、Chapter#1,#2になるべき時点を示す。このように、PLMark情報は、PlayItem時間軸上に、チャプター点を定義することができる。
以上が、PLMark情報についての説明である。続いて動的シナリオにおける改良について説明する。
再生装置組み込み型のプログラムの場合、自動車車内で利用されるか、又は、ホームシアターシステムで使用されるかは、製造の段階で、判明している。しかしBD-ROM100や可搬型ローカルストレージ200に記録されて再生装置に供給される動的シナリオ(Movie Object、Java(登録商標)アプリケーション)は、様々な再生装置に装填されることが考えられるので、再生装置の利用形態が、このどちらであるかは特定できない。BD-ROM100や、SDメモリカードであるローカルストレージ200をどのような再生装置で利用するかは、ユーザが任意に決めるものだからである。
そこでPlayer Profile情報がAudio Profile Playerを示すように設定された場合もしくはされている場合、Movie Object、Java(登録商標)アプリケーションは、CDプレーヤーライクな操作で操作されるよう、再生装置を制御せねばならない。一方、Player Profile情報がこれ以外に設定された場合、対話画面を通じた処理にて操作することが望ましい。
図46は、本実施形態にかかるJava(登録商標)アプリケーションの処理手順を示すフローチャートである。
ステップS149は、PSR31がAudio Profile Playerであるか否かを判定する。もし、Audio Profile Playerでないなら、プレイリストの再生を開始させる(ステップS150)。以降、ステップS151のループ処理に移行する。
その後、ステップS151は、メニューコール操作がなされたか否かの操作待ちループ処理を構成する。もしメニューコールがなされれば、メニューを表示して(ステップS152)、ステップS153〜ステップS156の処理に移行する。ステップS153は、フォーカス移動操作がでなされたか否かの判定であり、もしフォーカス移動操作がなされたなら、フォーカスを他のボタンに移動する(ステップS155)。
ステップS154は、ボタンの確定操作がなされたか否かの判定であり、もし確定操作がなされたなら、ボタンに対応する処理を実行する(ステップS156)。
ステップS149において、Audio Profile Playerであると判定された場合(ステップS149でyes)、音声アナウンスのプレイリストの再生を開始させて、ユーザーにリニアなCDライクな再生を行なうことを説明する。そしてステップS158、ステップS159からなるループ処理に移行する。
ステップS158は、数値入力がなされたか否か、ステップS159は、SkipNext又はSkipBackキーががなされたか否かの判定である。
数値入力がなされた場合、ステップS160に移行して、チャプターサーチを実行する。SkioNext,SkipBackキーが押下された場合、ステップS161に移行して、チャプタースキップ機能を実行する。
以上は、Java(登録商標)アプリケーションの例で説明したが、Movie Objectである場合、ステップS153〜ステップS155の処理は、IGストリーム内のナビゲーションコマンドやMovieObjectのナビゲーションコマンドを用いて実現すればよい。動作の仕組みは同様であるので、説明は省略する。
以降、フローチャートを参照しながら、チャプターサーチ及びチャプタースキップの処理手順について説明する。図47は、チャプターサーチの処理手順を示すフローチャートである。
まず始めに、入力された数値にあたるPLMark情報をカレントPlayListMarkとする(ステップS125)。ステップS126では、カレントPlayListMarkのref_to_PlayItem_Idに記述されているPIを、PlayItem#xに設定し、ステップS127では、PlayItem#xのClip_information_file_nameで指定されるClip情報を読み込む。ステップS128では、カレントClip情報のEP_mapを用いて、カレントPlayListMarkのmark_time_stampを、Iピクチャアドレスuに変換する。
一方ステップS129では、PlayItem#xのOut_timeを,カレントClip情報のEP_mapを用いて,Iピクチャアドレスvに変換する。ステップS130は、カレントPlayListMarkのmark_time_stampからPlayItem#xのOut_timeまでの出力をデコーダに命じる。以上がチャプターサーチの処理手順である。続いてチャプタースキップの処理手順について説明する。図48は、チャプタースキップの処理手順を示すフローチャートである。
ステップS132は、押下されたのがSkipNextキーであるか、SkipBackキーであるかの判定であり、SkipBackキーであるならステップS133において方向フラグを-1に設定し、SkipNextキーであるならステップS134において方向フラグを+1に設定する。
ステップS135は、カレントPI及びカレントPTMを変換して、カレントPLMarkを特定するステップであり、ステップS136は、カレントPLMarkの番号に方向フラグの値を足した番号を、カレントPlayListMarkの番号として設定する。ここでSkipNextキーであるなら方向フラグは+1に設定されているのでカレントPlayListMarkはインクリメントされることになる。SkipBackキーであるなら方向フラグは-1に設定されているので、カレントPlayListMarkはデクリメントされることになる。このようにしてPLMark情報を設定すれば、図47同様、ステップS126〜ステップS130の処理手順を実行することにより、TSパケット読み出しを行う。
以上がPLMark情報に基づく、再生を行う際の再生装置の処理手順である。
以上のように本実施形態によれば、PSR31がAudio Profile Playerを示している場合、Movie Object、Java(登録商標)アプリケーションのような動的シナリオでCD再生装置と同等のユーザー操作性を与えるようにプレイリストを再生するようにすることが可能になる。この場合、ユーザーはBD-ROMを音楽CDと全く変わりなく操作することができる。つまり、チャプターサーチ/スキップが音楽CDで言う所の曲のサーチ/スキップに該当する。勿論、Audio Profile Playerではない再生装置上で動的シナリオが動作する場合は、今まで通り映像出力を仮定してGUIベースのメニューなどを表示し、インタラクティブな再生が可能になる。HDMIのように接続機器の状態をモニタリングできるI/Fを介して再生している場合には、モニターの電源ON/OFFや入力ソース映像の選択状況などを監視することでモニターが再生している映像を映さなくなっている場合には、PSR31をAudio Profile Playerに切り替えたり、再生を一時停止状態にしたり、再生機器300の電源を連動してOFFとすることなども考えられる。
(第4実施形態)
第4実施形態は、第1実施形態に示したPlayList情報、Clip情報、AVClipを、どのように取得するかという、取得に関する実施形態である。かかる取得において、処理主体になるのは、Java(登録商標)アプリケーションである。何故なら、Java(登録商標)アプリケーションは、ネットワーク上でコネクションを形成し、サーバ装置から所望のファイルをダウンロードすることができる、能力をもっているからである。

サーバに存在するファイルを取得するためのコネクションは java(登録商標).netと呼ばれるJava(登録商標)ソフトウェアライブラリィのopenConnectionメソッドを使って、確立することができる。サーバ上のファイルのURLが、http://xxx.com/vp_data/0.m2tsである場合におけるコネクション接続の用例を以下に示す。

用例:
new java(登録商標).net.URL(http://xxx.com/vp_data/0.m2ts.openConnection()

図49は、第4実施形態にかかるJava(登録商標)アプリケーションのフローチャートである。ステップS181において、BD-ROMにおけるプレイリストの再生を開始させる。その後、ステップS182では、BD-ROMから、そのBD-ROMの配給元となる法人、組織を示す情報(organization)と、そのBD-ROMの識別子(Disc_id)とを読みだす。
ステップS183では、そうして読み出されたorganization、Disc_idに対応する領域が、ローカルストレージ200に存在しない否かを判定する。

かかる領域が存在しないなら、ステップS184では、PSR31におけるPlayer Profile情報が、0x0000でないかどうかを判定する。
ステップS183、ステップS184の何れかがNoである場合、処理を終了する。
organization、Disc_idに対応する領域が、ローカルストレージに存在せず、かつ音声のミキシングが可能である場合、ステップS183及びステップS184がyesになる。
ステップS183及びステップS184の双方がyesである場合、「アップデートボタン」が配置されたメニューを表示する(ステップS185)。そして、「アップデートボタン」に対する、確定操作待ちになる(ステップS186)。
図50は、「アップデートボタン」が配置されたメニューの表示例を示す図である。本図における、「アップデートする」と記述されたボタンが、「アップデートボタン」であり、この「アップデートボタン」を確定する操作がなされれば、ステップS187においてDisc_id及びPlayList_idをサーバ装置に送信する。
Disc_idは、BD-ROMの識別情報であり、PlayList_idは、再生中プレイリストの識別情報であるので、サーバ装置は、これらを用いて、取得すべき追加コンテンツをコンテンツプロバイダのデータベース上から選択する。そうして選択された追加コンテンツをネットワーク経由で再生装置に送りかえす。この追加コンテンツは、ローカルストレージ200に記録されるべきファイル一式(PlayList情報、Clip情報、AVClip)を含む。
ステップS188では、追加コンテンツの受信待ちを行い、もしこれらを受信すれば、ステップS189において、追加コンテンツを構成する、PlayList情報、Clip情報、AVClipをローカルストレージ200に書き込む。その後、サーバ装置からのダウンロードが完了し、ミキシングしながらの再生が可能になった場合、ミキシングしながらの再生が可能になった旨をユーザーに通知して(ステップS190)。ミキシングを行う旨の操作をユーザが行ったか否かを判定するための処理待ちループになる(ステップS191)。ユーザーが希望する場合に、ステップS192においてPlayList情報の再生をいったん停止し、バーチャルパッケージの構築を行う。
アップデート有無のサーバーへの確認や、当該コンテンツのダウンロード処理は、任意のタイミングで実行が可能であるため、ディスクロード時や、コンテンツ再生中に所定時間間隔で行なっても良く、再生する準備が整った時点(バーチャルパッケージが再生できる状態となった時点)でユーザーに再生するかの問い合わせを行なってもよい。
以上のように本実施形態によれば、最初にプレイリストを再生する際、AVClipを再生させながら、ダウンロードを処理を行うので、ユーザは、プレイリストの再生画像をみながら、ローカルストレージ200へのダウンロード完了を待てばよく、Secondaryオーディオストリームを構成するようなローカルストレージ200上のファイルが、数百メガバイトに及ぶ場合でも、ローカルストレージ200へのダウンロードがなされている間、ユーザを退屈させずにすむ。
尚、ローカルストレージ200上の追加コンテンツを消去する条件を、再生装置300に初期設定しておき、この初期設定に基づき、再生装置300が追加コンテンツを削除するようにしてもよい。例えば、かかる初期設定において、時間の入力を受け付け、時間に応じて消去する(1ヶ月経つと勝手に消す)等の処理をするのが望ましい。
また、BD-ROMをイジェクトする際、ローカルストレージ200上の追加コンテンツを消去するかどうかをユーザに問い合わせ、この問い合わせに対して、ユーザが肯定的が回答をした際に消去してもよい。
更に、BD-ROMが、読み出し専用領域と、書き込み可能領域とをもつパーシャルディスクである場合、ローカルストレージ200上の追加コンテンツを、パーシャルディスク上の書き込み可能領域に書き込んでもよい。
(備考)
以上、本願の出願時点において、出願人が知り得る最良の実施形態について説明したが、 以下に示す技術的トピックについては、更なる改良や変更実施を加えることができる。各実施形態に示した通り実施するか、これらの改良・変更を施すか否かは、何れも任意的であり、実施する者の意思によることは留意されたい。

(追加コンテンツに対する処理)
ローカルストレージ200にダウンロードされた追加コンテンツは、何ヶ月、何年か経過すれば自動的に消去するよう、再生装置を初期設定しておくのが望ましい。
(PIDの代用)
第1実施形態では、Primaryオーディオストリーム、Secondaryオーディオストリームの区別にPIDを用いたが、MPEG2-PSを使う場合には、PESパケットヘッダのstream_idをそれぞれ異なるものにするのが望ましい。
またPrimaryオーディオストリーム、Secondaryオーディオストリームは、2つの音声ストリームが1つのデマルチプレクサでも弁別可能なように、システムストリームレベルにおいて区別されていればよい。もしくは、2つのストリームを1つに束ねる前に、片方のPIDを重複しないように付け替えておくだけでもよい。
(制御手順の実現)
各実施形態においてフローチャートを引用して説明した制御手順や、機能的な構成要素による制御手順は、ハードウェア資源を用いて具体的に実現されていることから、自然法則を利用した技術的思想の創作といえ、“プログラムの発明”としての成立要件を満たす。
・本発明に係るプログラムの生産形態
本発明に係るプログラムは、コンピュータが実行することができる実行形式のプログラム(オブジェクトプログラム)であり、各実施形態に示したフローチャートの各ステップや、機能的構成要素の個々の手順を、コンピュータに実行させるような1つ以上のプログラムコードから構成される。ここでプログラムコードは、プロセッサのネィティブコード、JAVA(登録商標)バイトコードというように、様々な種類がある。またプログラムコードによる各ステップの実現には、様々な態様がある。外部関数を利用して、各ステップを実現することができる場合、この外部関数をコールするコール文が、プログラムコードになる。また、1つのステップを実現するようなプログラムコードが、別々のオブジェクトプログラムに帰属することもある。命令種が制限されているRISCプロセッサでは、算術演算命令や論理演算命令、分岐命令等を組合せることで、フローチャートの各ステップが実現されることもある。
本発明にかかるプログラムは、以下のようにして作ることができる。先ず初めに、ソフトウェア開発者は、プログラミング言語を用いて、各フローチャートや、機能的な構成要素を実現するようなソースプログラムを記述する。この記述にあたって、ソフトウェア開発者は、プログラミング言語の構文に従い、クラス構造体や変数、配列変数、外部関数のコールを用いて、各フローチャートや、機能的な構成要素を具現するソースプログラムを記述する。
記述されたソースプログラムは、ファイルとしてコンパイラに与えられる。コンパイラは、これらのソースプログラムを翻訳してオブジェクトプログラムを生成する。
コンパイラによる翻訳は、構文解析、最適化、資源割付、コード生成といった過程からなる。構文解析では、ソースプログラムの字句解析、構文解析および意味解析を行い、ソースプログラムを中間プログラムに変換する。最適化では、中間プログラムに対して、基本ブロック化、制御フロー解析、データフロー解析という作業を行う。資源割付では、ターゲットとなるプロセッサの命令セットへの適合を図るため、中間プログラム中の変数をターゲットとなるプロセッサのプロセッサが有しているレジスタまたはメモリに割り付ける。コード生成では、中間プログラム内の各中間命令を、プログラムコードに変換し、オブジェクトプログラムを得る。
オブジェクトプログラムが生成されるとプログラマはこれらに対してリンカを起動する。リンカはこれらのオブジェクトプログラムや、関連するライブラリプログラムをメモリ空間に割り当て、これらを1つに結合して、ロードモジュールを生成する。こうして生成されるロードモジュールは、コンピュータによる読み取りを前提にしたものであり、各フローチャートに示した処理手順や機能的な構成要素の処理手順を、コンピュータに実行させるものである。以上の処理を経て、本発明に係るプログラムを作ることができる。

・本発明に係るプログラムの使用形態
本発明に係るプログラムは、以下のようにして使用することができる。
(i)組込プログラムとしての使用
本発明に係るプログラムを組込プログラムとして使用する場合、プログラムにあたるロードモジュールを、基本入出力プログラム(BIOS)や、様々なミドルウェア(オペレーションシステム)と共に、命令ROMに書き込む。こうした命令ROMを、制御部に組み込み、CPUに実行させることにより、本発明に係るプログラムを、再生装置300の制御プログラムとして使用することができる。
(ii)アプリケーションとしての使用
再生装置300が、ハードディスク内蔵モデルである場合は、基本入出力プログラム(BIOS)が命令ROMに組み込まれており、様々なミドルウェア(オペレーションシステム)が、ハードディスクにプレインストールされている。また、ハードディスクから、システムを起動するためのブートROMが、再生装置300に設けられている。
この場合、ロードモジュールのみを、過搬型の記録媒体やネットワークを通じて、再生装置300に供給し、1つのアプリケーションとしてハードディスクにインストールする。そうすると、再生装置300は、ブートROMによるブートストラップを行い、オペレーションシステムを起動した上で、1つのアプリケーションとして、当該アプリケーションをCPUに実行させ、本発明に係るプログラムを使用する。
ハードディスクモデルの再生装置300では、本発明のプログラムを1つのアプリケーションとして使用しうるので、本発明に係るプログラムを単体で譲渡したり、貸与したり、ネットワークを通じて供給することができる。

(コントローラ22)
各実施形態に示したコントローラ22等の構成要素は、一個のシステムLSIとして実現することができる。
システムLSIとは、高密度基板上にベアチップを実装し、パッケージングしたものをいう。複数個のベアチップを高密度基板上に実装し、パッケージングすることにより、あたかも1つのLSIのような外形構造を複数個のベアチップに持たせたものも、システムLSIに含まれる(このようなシステムLSIは、マルチチップモジュールと呼ばれる。)。
ここでパッケージの種別に着目するとシステムLSIには、QFP(クッド フラッド アレイ)、PGA(ピン グリッド アレイ)という種別がある。QFPは、パッケージの四側面にピンが取り付けられたシステムLSIである。PGAは、底面全体に、多くのピンが取り付けられたシステムLSIである。
これらのピンは、他の回路とのインターフェイスとしての役割を担っている。システムLSIにおけるピンには、こうしたインターフェイスの役割が存在するので、システムLSIにおけるこれらのピンに、他の回路を接続することにより、システムLSIは、再生装置300の中核としての役割を果たす。
システムLSIにパッケージングされるベアチップは、“フロントエンド部”、“バックエンド部”、“デジタル処理部”からなる。“フロントエンド部”は、アナログ信号を、デジタル化する部分であり、“バックエンド部”はデジタル処理の結果、得られたデータを、アナログ化して出力する部分である。
各実施形態において内部構成図として示した各構成要素は、このデジタル処理部内に実装される。
先に“組込プログラムとしての使用”で述べたように、命令ROMには、プログラムにあたるロードモジュールや、基本入出力プログラム(BIOS)、様々なミドルウェア(オペレーションシステム)が書き込まれる。本実施形態において、特に創作したのは、このプログラムにあたるロードモジュールの部分なので、プログラムにあたるロードモジュールを格納した命令ROMを、ベアチップとしてパッケージングすることにより、本発明に係るシステムLSIは生産することができる。
具体的な実装については、SoC実装やSiP実装を用いることができ望ましい。SoC(System on chip)実装とは、1チップ上に複数の回路を焼き付ける技術である。SiP(System in Package)実装とは、複数チップを樹脂等で1パッケージにする技術である。以上の過程を経て、本発明に係るシステムLSIは、各実施形態に示した再生装置300の内部構成図を基に作ることができる。
尚、上述のようにして生成される集積回路は、集積度の違いにより、IC、LSI、スーパーLSI、ウルトラLSIと呼称されることもある。
さらに、各記録読出装置の構成要素の一部又は全てを1つのチップとして構成してもよい。集積回路化は、上述したSoC実装,SiP実装に限るものではなく、専用回路又は汎用プロセスで実現してもよい。LSI製造後に、プログラムすることが可能なFPGA(Field Programmable Gate Array)や、LSI内部の回路セルの接続や設定を再構成可能なシリコンフィギュラブル・プロセッサを利用することが考えられる。更には、半導体技術の進歩又は派生する技術によりLSIに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積回路化を行っても良い。例えば、バイオ技術の適応などが可能性としてありうる。
本発明に係る記録媒体、再生装置は、上記実施形態に内部構成が開示されており、この内部構成に基づき量産することが明らかなので、資質において工業上利用することができる。このことから本発明に係る記録媒体、再生装置は、産業上の利用可能性を有する。
本発明に係る記録媒体の、使用行為についての形態を示す図である。 BD-ROMの内部構成を示す図である。 拡張子.m2tsが付与されたファイルがどのように構成されているかを模式的に示す図である。 AVClipを構成するTSパケットがどのような過程を経てBD-ROMに書き込まれるかを示す。 BD-ROMの物理単位と、1つのファイルエクステントを構成するSourceパケットとの対応関係を示す図である。 AVClipにどのようなエレメンタリストリームが多重化されているかを示す図である。 Clip情報の内部構成を示す図である。 映画のビデオストリームに対するEP_map設定を示す図である。 PlayList情報のデータ構造を示す図である。 AVClipと、PlayList情報との関係を示す図である。 ファイルsound.bdmvの構成を示す図である。 ローカルストレージ200の内部構成を示す図である。 SubClipに多重化されるエレメンタリストリームを示す図である。 BD-ROM規格におけるPID割当マップを示す図である。 (a)Secondaryオーディオストリームの内部構成を示す図である。(b)オーディオフレームの一例を示す図である。(c)メタデータの内部構成を示す図である。(d)ゲイン制御情報の一例を模式的に示す図である。 Secondaryオーディオストリーム内のメタデータにより、Primaryオーディオストリームの音量がどのように制御されるかを示す図である。 PlayList情報のデータ構造を示す図である。 Subpath情報の内部構成をクローズアップして示す図である。 ローカルストレージ200上のSubClipと、ローカルストレージ200上のPlayList情報と、BD-ROM上のMainClipとの対応を示す図である。 MainClipに対して設定されたEP_map及びPlayItem時間軸と、Primaryオーディオストリーム、SecondaryオーディオストリームとなるSubClipに対して設定されたEP_map及びSubPlayItem時間軸とを集約して示す図である。 STN_tableの内部構成を示す図である。 (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の内部構成を示す図である。
Comb_info_Secondary_audio_Primary_audioによるPrimaryオーディオストリームの指定を示す図である。 再生装置300により生成されるバーチャルファイルシステムを示す図である。 本発明に係る再生装置の内部構成を示す図である。 コントローラ22を機能的に表現した図である。 (a)PSR1のビットアサインを示す図である。
(b)PSR14のビットアサインを示す図である。
(c)PSR31のビットアサインを示す図である。
プレイリスト処理部によるプレイリスト再生手順を示すフローチャートである。 (a)PSR1の設定値が取り得る状態遷移を示す図である。
(b)PSR1のProcedure when playback condition is changedの処理手順を示す図である。
ステップS5の詳細な処理手順に示したフローチャートである。 ストリーム変化時におけるPSR1の設定手順を示すフローチャートである。 (a)PSR14の設定値が取り得る状態遷移を示す図である。
(b)PSR14のProcedure when playback condition is changedの処理手順を示す図である。
ステップS35の詳細な処理手順に示したフローチャートである。 ストリーム変化時におけるPSR14の設定手順を示すフローチャートである。 (a)再生装置300、AVアンプ500、スピーカ600の接続形態を示す図である。
(b)再生装置300、テレビ400、スピーカ600のそれぞれで、チャンネル数がどのように変化するかを示す図である。
(a)DIBを示す図である。 (b)DIBの各フィールドに設定しうる値を示す (c)DIBを用いた再生装置300、AVアンプ500間の通信シーケンスを示す。 PSR23におけるPSR15の内部構成を示す図である。 第2実施形態にかかるコントローラ22の処理手順を示すフローチャートである。 パススルー出力を行うか否かの設定を受け付けるためのメニューを示す図である。 パススルー出力を行うか否かの設定を受け付けるためのメニューを示す図である。 DIBに応じて、PSR15におけるPlayer capability for Audioを設定する処理手順を示すフローチャートである。 DIBに応じて、PSR15におけるPlayer capability for Audioを設定する処理手順を示すフローチャートである。 (a)再生装置300が自動車の車内に設置存在する場合の設置例を示す図である。
(b)第3実施形態にかかるPSR31の内部構成を示す図である。
PlayList情報におけるPlayListMark情報の内部構成を示す図である。 PlayList情報の、PLMark情報によるチャプター位置の指定を示す図である。 第3実施形態にかかるJava(登録商標)アプリケーションの処理手順を示すフローチャートである。 チャプターサーチの処理手順を示すフローチャートである。 チャプタースキップの処理手順を示すフローチャートである。 第4実施形態にかかるJava(登録商標)アプリケーションのフローチャートである。 「アップデートボタン」が配置されたメニューの表示例を示す図である。
符号の説明
100 BD-ROM
200 ローカルストレージ
300 再生装置
400 テレビ
500 AVアンプ
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送受信部
41 プレイリスト処理部
42 Procedure実行部
43 Procedure実行部
44 ミキシング制御部

Claims (20)

  1. プレイリスト情報が記録された記録媒体であって、
    前記プレイリスト情報は、メインパス情報、サブパス情報を含み、
    前記メインパス情報は、
    複数デジタルストリームのうち1つを、メインストリームとして指定して、そのメインストリームに対し、主たる再生区間を定義する情報であり、
    前記サブパス情報は、
    複数デジタルストリームのうち他の1つを、サブストリームとして指定して、そのサブストリームに対し、前記主たる再生区間と同期すべき、従たる再生区間を定義する情報であり、
    前記記録媒体には、
    サブストリームとして指定されたオーディオストリームが、記録されており、
    オーディオストリームは、複数のパケットから構成され、
    各パケットには、パケット識別子が付与されており、
    パケット識別子は、上位フィールド、下位フィールドからなり、
    上位フィールドは、パケットにより構成されるオーディオストリームがセカンダリオーディオストリームであり、その音声出力が、プライマリオーディオストリームの音声出力とミキシングされ得る旨を示す
    ことを特徴とする記録媒体。
  2. パケット識別子の下位フィールドは、対応するオーディオストリームが複数のセカンダリオーディオストリームのうち、どれであるかを示す
    ことを特徴とする請求項1記載の記録媒体。
  3. 前記メインパス情報は、ストリームテーブルを含み、
    ストリームテーブルは、セカンダリオーディオストリームについてのエントリーを有し、
    各エントリーには、対応するパケット識別子の参照値が記述されており、
    ストリームテーブルにおけるエントリーの順位は、その対応するセカンダリオーディオストリームの選択順位を示す
    ことを特徴とする請求項1記載の記録媒体。
  4. 前記セカンダリオーディオストリームについてのエントリーには、プライマリオーディオストリームの番号を示す組合せ情報が対応づけて付けられており、
    組合せ情報に番号が示されるプライマリオーディオストリームは、その再生出力をセカンダリオーディオストリームの再生出力とミキシングすることができるプライマリオーディオストリームである ことを特徴とする請求項3記載の記録媒体。
  5. 前記セカンダリオーディオストリームは、メタデータを含み、
    メタデータは、プライマリオーディオストリームにおける音声出力のゲインを下げる制御、又は、音声出力のゲインを上げる制御を行う
    ことを特徴とする請求項1記載の記録媒体。
  6. 前記サブパス情報は、
    前記メタデータがゲインの制御を命じる時点を、従たる再生区間の開始点、又は、従たる再生区間の終了点として示す
    ことを特徴とする請求項1記載の記録媒体。
  7. 前記サブパス情報は、
    自身により指定されるオーディオストリームが、セカンダリオーディオストリームである旨を示すタイプ情報を含む
    ことを特徴とする請求項1記載の記録媒体。
  8. プレイリスト情報に従って、主たる再生区間が定義されたメインストリームと、従たる再生区間が定義されたサブストリームとを、再生する再生装置であって、
    前記プレイリスト情報は、複数デジタルストリームのそれぞれに対し、再生区間を定義する情報であり、メインパス情報、サブパス情報を含み、
    メインストリームのうち、主たる再生区間として定義されている部分を構成するパケットを、メインパス情報に従って読み出す第1読出部と、
    サブストリームのうち、従たる再生区間として定義されている部分を構成するパケットを、サブパス情報に従って読み出す第2読出部と、
    第1、第2読出部により読み出されたパケットを取り込んで、これらのパケットにおけるパケット識別子の上位フィールドを参照することにより、プライマリオーディオストリームを構成するパケットと、セカンダリオーディオストリームを構成するパケットとを多重分離する多重分離部と、
    プライマリオーディオストリームを構成するパケットをデコードする第1デコーダと、
    セカンダリオーディオストリームを構成するパケットをデコードする第2デコーダと、
    第1デコーダのデコード結果である非圧縮のデジタルデータと、第2デコーダのデコード結果である非圧縮のデジタルデータとをミキシングするミキシング部と
    を備えることを特徴とする再生装置。
  9. 前記メインパス情報は、ストリームテーブルを含み、
    ストリームテーブルは、セカンダリオーディオストリームについてのエントリーを有し、
    各エントリーには、セカンダリオーディオストリームに対応するパケット識別子の参照値が記述されており、
    前記再生装置は、
    所定の手順とに従い、複数のセカンダリオーディオストリームの中から、再生すべきセカンダリオーディオストリームを選択するプロシージャ実行部と、
    選択されたセカンダリオーディオストリームのストリーム番号を格納する状態レジスタとを備え、
    前記多重分離部によるセカンダリオーディオストリームの多重分離は、
    ストリームテーブルに含まれるセカンダリオーディオストリームのエントリーのうち、状態レジスタに格納されているストリーム番号に対応するものに記述されているパケット識別子の参照値の上位フィールドと、第2読出部により読み出されたセカンダリオーディオストリームを構成するパケットのパケット識別子の上位フィールドとを比較し、当該比較において上位フィールドが一致する場合、第2読出部により読み出されたセカンダリオーディオストリームを構成するパケットを、第2デコーダに出力することでなされる
    ことを特徴とする請求項8記載の再生装置。
  10. 前記エントリーには、組合せ情報が対応づけて付けられており、
    組合せ情報は、プライマリオーディオストリームのストリームの番号を示し、
    組合せ情報に番号が示されるプライマリオーディオストリームは、その再生出力をセカンダリオーディオストリームの再生出力とミキシングすることができるプライマリオーディオストリームであり、
    前記状態レジスタは、
    現在再生されているプライマリオーディオストリームのストリーム番号を格納しており、
    プロシージャ実行部が従う所定の手順は、
    状態レジスタに格納されているプライマリオーディオストリームのストリーム番号が、組合せ情報に示されているプライマリオーディオストリームのストリーム番号と一致するか否かの判定を含み、
    ミキシング部によるミキシングは、
    前記所定の手順において一致すると判定された場合になされる
    ことを特徴とする請求項9記載の再生装置。
  11. 前記状態レジスタは、再生装置のプロファイル情報を格納したレジスタを含み、プロファイル情報は、当該再生装置が、ミキシング機能の実装が省かれた再生装置であるか、ミキシング機能を実装している再生装置であるかを示し、 前記ミキシング部は、プロファイル情報が、ミキシング機能を実装している再生装置である旨を示している場合、ミキシングを行い、
    プロファイル情報が、プロファイル情報が、ミキシング機能の実装が省かれた再生装置である旨を示している場合、ミキシングを行わない
    ことを特徴とする請求項8記載の再生装置。
  12. プライマリオーディオストリームのデコード結果である非圧縮のデジタルデータに対し、ダウンミキシング及び/又はダウンサンプリングを施す変換部を備え、
    前記ミキシング部は、
    変換部による変換結果に対し、セカンダリオーディオストリームの音声出力をミキシングする
    ことを特徴とする請求項8記載の再生装置。
  13. 前記セカンダリオーディオストリームはメタデータを含み、
    前記変換部は、
    メタデータに従い、プライマリオーディオストリームにおける音声出力のゲインを下げる制御、又は、音声出力のゲインを上げる制御を行う
    ことを特徴とする請求項12記載の再生装置。
  14. 前記サブパス情報は、
    第1のメタデータがゲインを下げる旨の制御、又は、上げる制御を命じる時点を、再生区間の開始点、又は、再生区間の終了点として示す
    ことを特徴とする請求項8記載の再生装置。
  15. 前記再生装置は、ミキシング部のミキシングにより、セカンダリオーディオストリームの再生出力がミキシングされたプライマリオーディオストリームの再生出力に対し、ユーザ操作に対するクリック音をミキシングする予備ミキシング部を備える
    ことを特徴とする請求項8記載の再生装置。
  16. 前記再生装置は、光ディスクの識別子と、光ディスクに記録されたプレイリスト情報の識別子とを、サーバ装置に送信して、これら識別の組みに応じたプレイリスト情報の送信をサーバ装置に行わせる送受信部を備え、
    前記予備の記録媒体に記録されたプレイリスト情報は、送受信部が受信して、予備の記録媒体に書き込んだものである
    ことを特徴とする請求項8記載の再生装置。
  17. 前記第2読出部により読み出されたセカンダリオーディオストリームが複数である場合、
    多重分離部は、これらを構成するパケットにおけるパケット識別子の上位フィールドに加え、下位フィールドを参照することにより、セカンダリオーディオストリームを構成するパケットのうち、パケット識別子の当該上位フィールド及び下位フィールドが所定の値になっているもののみを、第2デコーダに出力する
    ことを特徴とする請求項8記載の再生装置。
  18. 前記メインパス情報は、ストリームテーブルを含み、
    ストリームテーブルは、セカンダリオーディオストリームについてのエントリーを有し、
    各エントリーには、セカンダリオーディオストリームに対応するパケット識別子の参照値が記述されており、
    前記再生装置は、
    所定の手順に従い、複数のセカンダリオーディオストリームの中から、再生すべきセカンダリオーディオストリームを選択するプロシージャ実行部と、
    選択されたセカンダリオーディオストリームのストリーム番号を格納する状態レジスタとを備え、
    前記多重分離部によるセカンダリオーディオストリームの多重分離は、
    ストリームテーブルに含まれるセカンダリオーディオストリームのエントリーのうち、状態レジスタに格納されているストリーム番号に対応するものに記述されているパケット識別子の参照値の上位フィールド及び下位フィールドと、第2読出部により読み出されたセカンダリオーディオストリームを構成するパケットのパケット識別子の上位フィールド及び下位フィールドとを比較し、当該比較において上位フィールド及び下位フィールドが一致する場合、第2読出部により読み出されたセカンダリオーディオストリームを構成するパケットを、第2デコーダに出力することでなされる
    ことを特徴とする請求項8記載の再生装置。
  19. プレイリスト情報に従って、主たる再生区間が定義されたメインストリームと、従たる再生区間が定義されたサブストリームとを、再生する処理をコンピュータに実行させるプログラムであって、
    前記プレイリスト情報は、複数デジタルストリームのそれぞれに対し、再生区間を定義する情報であり、メインパス情報、サブパス情報を含み、
    メインストリームのうち、主たる再生区間として定義されている部分を構成するパケットを、メインパス情報に従って読み出す第1読出ステップと、
    サブストリームのうち、従たる再生区間として定義されている部分を構成するパケットを、サブパス情報に従って読み出す第2読出ステップと、
    第1、第2読出ステップにより読み出されたパケットを取り込んで、これらのパケットにおけるパケット識別子の上位フィールドを参照することにより、プライマリオーディオストリームを構成するパケットと、セカンダリオーディオストリームを構成するパケットとを多重分離する多重分離ステップと、
    プライマリオーディオストリームを構成するパケットをデコードする第1デコードステップと、
    セカンダリオーディオストリームを構成するパケットをデコードする第2デコードステップと、
    第1デコーダのデコード結果である非圧縮のデジタルデータと、第2デコーダのデコード結果である非圧縮のデジタルデータとをミキシングするミキシングステップと
    をコンピュータに実行させることを特徴とするプログラム。
  20. プレイリスト情報に従って、主たる再生区間が定義されたメインストリームと、従たる再生区間が定義されたサブストリームとを、再生する再生方法であって、
    前記プレイリスト情報は、複数デジタルストリームのそれぞれに対し、再生区間を定義する情報であり、メインパス情報、サブパス情報を含み、
    メインストリームのうち、主たる再生区間として定義されている部分を構成するパケットを、メインパス情報に従って読み出す第1読出ステップと、
    サブストリームのうち、従たる再生区間として定義されている部分を構成するパケットを、サブパス情報に従って読み出す第2読出ステップと、
    第1、第2読出ステップにより読み出されたパケットを取り込んで、これらのパケットにおけるパケット識別子の上位フィールドを参照することにより、プライマリオーディオストリームを構成するパケットと、セカンダリオーディオストリームを構成するパケットとを多重分離する多重分離ステップと、
    プライマリオーディオストリームを構成するパケットをデコードする第1デコードステップと、
    セカンダリオーディオストリームを構成するパケットをデコードする第2デコードステップと、
    第1デコーダのデコード結果である非圧縮のデジタルデータと、第2デコーダのデコード結果である非圧縮のデジタルデータとをミキシングするミキシングステップと
    を含むことを特徴とする再生方法。
JP2006520591A 2005-01-28 2006-01-27 記録媒体、再生装置、プログラム、再生方法、記録方法 Active JP4354988B2 (ja)

Applications Claiming Priority (11)

Application Number Priority Date Filing Date Title
JP2005020719 2005-01-28
JP2005020718 2005-01-28
JP2005020720 2005-01-28
JP2005020718 2005-01-28
JP2005020717 2005-01-28
JP2005020719 2005-01-28
JP2005020720 2005-01-28
JP2005020716 2005-01-28
JP2005020716 2005-01-28
JP2005020717 2005-01-28
PCT/JP2006/301359 WO2006080460A1 (ja) 2005-01-28 2006-01-27 記録媒体、再生装置、プログラム、再生方法

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2009039348A Division JP4833306B2 (ja) 2005-01-28 2009-02-23 再生装置

Publications (2)

Publication Number Publication Date
JPWO2006080460A1 true JPWO2006080460A1 (ja) 2008-07-17
JP4354988B2 JP4354988B2 (ja) 2009-10-28

Family

ID=36740484

Family Applications (5)

Application Number Title Priority Date Filing Date
JP2007500609A Expired - Fee Related JP4820812B2 (ja) 2005-01-28 2006-01-27 再生装置、プログラム、再生方法
JP2007500610A Expired - Fee Related JP4359644B2 (ja) 2005-01-28 2006-01-27 再生装置、記録媒体、記録方法
JP2006520591A Active JP4354988B2 (ja) 2005-01-28 2006-01-27 記録媒体、再生装置、プログラム、再生方法、記録方法
JP2009039349A Active JP4560125B2 (ja) 2005-01-28 2009-02-23 再生装置
JP2009039348A Expired - Fee Related JP4833306B2 (ja) 2005-01-28 2009-02-23 再生装置

Family Applications Before (2)

Application Number Title Priority Date Filing Date
JP2007500609A Expired - Fee Related JP4820812B2 (ja) 2005-01-28 2006-01-27 再生装置、プログラム、再生方法
JP2007500610A Expired - Fee Related JP4359644B2 (ja) 2005-01-28 2006-01-27 再生装置、記録媒体、記録方法

Family Applications After (2)

Application Number Title Priority Date Filing Date
JP2009039349A Active JP4560125B2 (ja) 2005-01-28 2009-02-23 再生装置
JP2009039348A Expired - Fee Related JP4833306B2 (ja) 2005-01-28 2009-02-23 再生装置

Country Status (6)

Country Link
US (5) US8280233B2 (ja)
EP (4) EP2387037B1 (ja)
JP (5) JP4820812B2 (ja)
CN (1) CN102270482A (ja)
TW (1) TWI389106B (ja)
WO (3) WO2006080461A1 (ja)

Families Citing this family (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8204076B2 (en) 2003-05-01 2012-06-19 Genesis Microchip Inc. Compact packet based multimedia interface
JP4820812B2 (ja) * 2005-01-28 2011-11-24 パナソニック株式会社 再生装置、プログラム、再生方法
CN1989563B (zh) 2005-02-01 2011-06-22 松下电器产业株式会社 再现装置、程序和再现方法
JP4968506B2 (ja) * 2005-03-04 2012-07-04 ソニー株式会社 再生装置、再生方法、およびプログラム
JP4968562B2 (ja) * 2005-03-04 2012-07-04 ソニー株式会社 再生装置、再生方法、および記録方法
KR20060131610A (ko) * 2005-06-15 2006-12-20 엘지전자 주식회사 기록매체, 오디오 데이터 믹싱방법 및 믹싱장치
JP4251298B2 (ja) 2005-07-15 2009-04-08 ソニー株式会社 再生装置および再生方法、プログラム、プログラム格納媒体、データ、記録媒体、記録装置、および、記録媒体の製造方法
CN101026725B (zh) * 2005-07-15 2010-09-29 索尼株式会社 再现设备及再现方法
JP2007058930A (ja) * 2005-08-22 2007-03-08 Funai Electric Co Ltd ディスク再生装置
JP2009534696A (ja) * 2006-04-21 2009-09-24 ネロ アーゲー 複数のデジタルデータセットを符号化および復号化するための装置および方法
JP4882653B2 (ja) * 2006-10-06 2012-02-22 ソニー株式会社 情報処理装置、および情報処理方法、並びにコンピュータ・プログラム
US9053753B2 (en) * 2006-11-09 2015-06-09 Broadcom Corporation Method and system for a flexible multiplexer and mixer
JP2008252834A (ja) * 2007-03-30 2008-10-16 Toshiba Corp 音声再生装置
WO2009084165A1 (ja) * 2007-12-28 2009-07-09 Panasonic Corporation 音声混合再生装置
WO2009128246A1 (ja) * 2008-04-16 2009-10-22 パナソニック株式会社 記録媒体、記録装置、記録方法、及び再生装置
JP2011008847A (ja) * 2009-06-24 2011-01-13 Renesas Electronics Corp オーディオ同期装置、オーディオ同期方法
CN102576562B (zh) 2009-10-09 2015-07-08 杜比实验室特许公司 自动生成用于音频占优性效果的元数据
JP2011155559A (ja) 2010-01-28 2011-08-11 Panasonic Corp ディスク再生装置
JP5625373B2 (ja) * 2010-02-02 2014-11-19 オンキヨー株式会社 音声送受信システム、音声送信装置、及び、音声受信装置
KR20120035406A (ko) * 2010-10-05 2012-04-16 삼성전자주식회사 동영상 파일 재생 방법 및 장치
US8909029B2 (en) * 2010-10-13 2014-12-09 Sony Corporation Capturing playback key events in BD players
CN103081014B (zh) 2011-03-22 2016-08-31 松下知识产权经营株式会社 盘播放装置
WO2012172460A1 (en) 2011-06-14 2012-12-20 Koninklijke Philips Electronics N.V. Graphics processing for high dynamic range video
JP5259848B2 (ja) * 2011-07-29 2013-08-07 株式会社東芝 再生制御装置及び再生制御方法
JP6330385B2 (ja) * 2014-03-13 2018-05-30 オムロン株式会社 画像処理装置、画像処理方法およびプログラム
CN116709161A (zh) 2016-06-01 2023-09-05 杜比国际公司 将多声道音频内容转换成基于对象的音频内容的方法及用于处理具有空间位置的音频内容的方法
EP4243015A4 (en) * 2021-01-27 2024-04-17 Samsung Electronics Co Ltd AUDIO PROCESSING APPARATUS AND METHOD

Family Cites Families (70)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US13198A (en) * 1855-07-03 Water-meter
JPH0780990B2 (ja) 1987-12-26 1995-08-30 東亞合成株式会社 紫外線または放射線硬化型樹脂組成物の製造方法
US6771888B1 (en) * 1993-10-29 2004-08-03 Christopher J. Cookson Data structure for allowing play of a video program in multiple aspect ratios
JP3784853B2 (ja) 1995-04-14 2006-06-14 株式会社東芝 再生装置と再生方法と記録方法
US6567612B2 (en) 1996-04-05 2003-05-20 Pioneer Electronic Corporation Information record medium, apparatus for recording the same and apparatus for reproducing the same
JPH09282848A (ja) 1996-04-05 1997-10-31 Pioneer Electron Corp 情報記録媒体並びにその記録装置及び再生装置
JP3469040B2 (ja) 1997-04-04 2003-11-25 株式会社リコー 画像形成物質の除去装置
JPH10285240A (ja) 1997-04-04 1998-10-23 Canon Inc データ通信装置及び方法、データ通信システム及び記憶媒体
US6453071B2 (en) * 1997-04-04 2002-09-17 Canon Kabushiki Kaisha Data communication apparatus, method and system and programs for data communication process stored in computer readable storage medium
JP4460655B2 (ja) * 1997-06-03 2010-05-12 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ 記録担体からディジタルオーディオ信号を再生する装置及び方法
US6222805B1 (en) * 1997-08-07 2001-04-24 Matsushita Electric Industrial Co., Ltd. Optical disk, reproduction apparatus, and reproduction method
KR100529485B1 (ko) * 1997-09-02 2005-11-22 소니 가부시끼 가이샤 디지털 기록매체에 있어서의 애프터 레코딩 방법 및 장치 및그 디지털 기록 매체의 재생 방법 및 장치
KR100574186B1 (ko) 1997-10-03 2006-04-27 소니 가부시끼 가이샤 부호화 스트림 스플라이싱 장치 및 방법과 부호화 스트림 생성 장치 및 방법과 편집 장치 및 방법 및 편집 시스템
JP3357288B2 (ja) * 1998-04-10 2002-12-16 パイオニア株式会社 情報記録媒体及び再生装置
JP2000022856A (ja) 1998-06-30 2000-01-21 Nec Eng Ltd 発信電話番号通知による局線着信呼課金方式
AU1384400A (en) 1998-12-14 2000-07-03 Koninklijke Philips Electronics N.V. Record carrier, and apparatus and method for playing back a record carrier, and method of manufacturing a record carrier
BR0004370A (pt) * 1999-02-05 2000-12-19 Sony Corp Aparelhos e processos de codificação e de decodificação e sistema e método de codificação
JP3058870B1 (ja) 1999-02-05 2000-07-04 株式会社次世代デジタルテレビジョン放送システム研究所 Afc回路
KR100360285B1 (ko) 1999-05-20 2002-11-04 엘지전자 주식회사 디지털 인터페이스를 이용한 오디오 스트림 송수신 장치 및 방법
JP4301637B2 (ja) 1999-05-27 2009-07-22 パナソニック株式会社 車載用光ディスク再生装置
JP2000346651A (ja) 1999-06-07 2000-12-15 Tokai Rika Co Ltd ディスプレイシステム
US6738559B1 (en) * 1999-06-29 2004-05-18 Lg Electronics Inc. Feature-dependent operating method between two connected equipments and an apparatus for controlling the operating method
EP1087557A3 (en) * 1999-09-22 2005-01-19 Matsushita Electric Industrial Co., Ltd. Apparatus for transmitting digital audio data and receiving apparatus for receiving the digital audio data
JP3684986B2 (ja) 2000-03-07 2005-08-17 松下電器産業株式会社 オーディオ受信装置
JP5041626B2 (ja) * 2000-04-14 2012-10-03 ソニー株式会社 復号装置、復号方法、およびプログラム
KR100795255B1 (ko) * 2000-04-21 2008-01-15 소니 가부시끼 가이샤 정보 처리 장치 및 방법, 프로그램과 기록 매체
WO2001082604A1 (en) * 2000-04-21 2001-11-01 Sony Corporation Information processing apparatus and method, program, and recorded medium
CN1239021C (zh) * 2000-04-21 2006-01-25 索尼公司 信息处理设备及方法、程序和记录介质
US6654827B2 (en) 2000-12-29 2003-11-25 Hewlett-Packard Development Company, L.P. Portable computer system with an operating system-independent digital data player
JP3748042B2 (ja) 2001-02-23 2006-02-22 アイシン・エィ・ダブリュ株式会社 ナビゲーション装置
JP2002369154A (ja) * 2001-04-02 2002-12-20 Matsushita Electric Ind Co Ltd ディジタル映像コンテンツの映像再生装置、映像再生方法、映像再生プログラム、パッケージメディア
KR20030007706A (ko) * 2001-04-02 2003-01-23 마츠시타 덴끼 산교 가부시키가이샤 디지털 영상 콘텐츠의 영상재생 장치, 영상재생 방법,영상재생 프로그램, 패키지 미디어
US20040013198A1 (en) * 2001-08-31 2004-01-22 Haruo Togashi Encoding apparatus and method for encoding
JP2003153264A (ja) * 2001-08-31 2003-05-23 Sony Corp 符号化装置および符号化方法、並びにそれを使用した画像データ記録装置
JP3877558B2 (ja) * 2001-09-11 2007-02-07 株式会社ルネサステクノロジ 高周波電力増幅器、高周波電力増幅器モジュール及び携帯電話機
JP2003249057A (ja) * 2002-02-26 2003-09-05 Toshiba Corp デジタル情報媒体を用いるエンハンスド・ナビゲーション・システム
JP4059784B2 (ja) 2002-03-25 2008-03-12 アルパイン株式会社 ビデオコンテンツ記憶媒体の再生装置
JP2004118905A (ja) 2002-09-25 2004-04-15 Alpine Electronics Inc Av再生装置
JP3859146B2 (ja) 2002-10-01 2006-12-20 パイオニア株式会社 情報記録媒体、情報記録装置及び方法、情報再生装置及び方法、情報記録再生装置及び方法、記録又は再生制御用のコンピュータプログラム、並びに制御信号を含むデータ構造
WO2004036577A1 (en) * 2002-10-14 2004-04-29 Lg Electronics Inc. Recording medium having data structure for managing reproduction of multiple audio streams recorded thereon and recording and reproducing methods and apparatuses
CN1685420B (zh) 2002-11-08 2010-07-07 Lg电子有限公司 在高密度记录介质上记录多成分数据流及其重现的方法和装置
JP4289874B2 (ja) 2002-11-21 2009-07-01 株式会社ブリヂストン コード入りタイヤ構成部材の形成方法
JP3908724B2 (ja) 2002-12-09 2007-04-25 株式会社東芝 情報再生装置及び情報再生方法
US7580614B2 (en) 2002-12-09 2009-08-25 Kabushiki Kaisha Toshiba Information playback apparatus having expansion information storage unit and information playback method
KR100995043B1 (ko) 2003-01-20 2010-11-19 엘지전자 주식회사 스틸 화상의 재생을 관리하기 위한 데이터 구조를 구비한기록 매체와, 기록 재생 방법 및 장치
JP3937223B2 (ja) * 2003-01-21 2007-06-27 ソニー株式会社 記録装置、再生装置、記録方法及び再生方法
KR100871527B1 (ko) 2003-02-19 2008-12-05 파나소닉 주식회사 기록매체, 재생장치, 기록방법, 컴퓨터 프로그램을 기록한 컴퓨터 판독가능한 기록매체, 재생방법
JP3940164B2 (ja) * 2003-02-21 2007-07-04 松下電器産業株式会社 記録媒体、再生装置、記録方法、集積回路、再生方法、プログラム
US7693394B2 (en) * 2003-02-26 2010-04-06 Lg Electronics Inc. Recording medium having data structure for managing reproduction of data streams recorded thereon and recording and reproducing methods and apparatuses
JP3657946B2 (ja) 2003-03-25 2005-06-08 株式会社東芝 情報記録媒体、情報記録/再生方法、および情報記録/再生装置
JP4228767B2 (ja) 2003-04-25 2009-02-25 ソニー株式会社 再生装置、再生方法、再生プログラムおよび記録媒体
ATE557392T1 (de) 2003-04-28 2012-05-15 Panasonic Corp Aufzeichnungsmedium, wiedergabegerät, aufzeichnungsverfahren, wiedergabeverfahren, programm und integrierte schaltung zur speicherung / wiedergabe von einem videostrom und grafiken mit information über ein grafiksfenster
EP1630257B1 (en) 2003-05-26 2013-11-06 Sumitomo Electric Industries, Ltd. Diamond-coated electrode and method for producing same
DE102004011455A1 (de) 2003-06-04 2004-12-30 Robert Bosch Gmbh Rohrfeder für Aktor und Verfahren zur Montage der Rohrfeder
JP2004363489A (ja) 2003-06-06 2004-12-24 Ngk Insulators Ltd 圧電/電歪素子、圧電/電歪素子の製造方法、圧電/電歪デバイス及び圧電/電歪デバイスの製造方法
JP4387125B2 (ja) 2003-06-09 2009-12-16 東京エレクトロン株式会社 検査方法及び検査装置
EP1921623B1 (en) * 2003-06-18 2011-09-21 Panasonic Corporation Playback apparatus, program, and playback method
JP2004103207A (ja) * 2003-06-19 2004-04-02 Pioneer Electronic Corp 情報記録媒体並びにその再生装置及び再生方法
CN101217676B (zh) * 2003-07-11 2010-09-01 松下电器产业株式会社 记录方法、再现装置和方法
US20050058307A1 (en) * 2003-07-12 2005-03-17 Samsung Electronics Co., Ltd. Method and apparatus for constructing audio stream for mixing, and information storage medium
US7653288B2 (en) * 2003-08-16 2010-01-26 Samsung Electronics Co., Ltd. Information storage medium having data structure for being reproduced adaptively according to player profile information, method for reproducing AV data in interactive mode
JP4227489B2 (ja) * 2003-09-03 2009-02-18 キヤノン株式会社 記録装置及び記録方法
TW200518070A (en) 2003-10-10 2005-06-01 Matsushita Electric Ind Co Ltd Recording medium, reproduction device, program, and reproduction method
CN101777372B (zh) * 2004-12-01 2012-09-19 松下电器产业株式会社 再现装置和再现方法
JP4820812B2 (ja) * 2005-01-28 2011-11-24 パナソニック株式会社 再生装置、プログラム、再生方法
JP2009505325A (ja) * 2005-08-22 2009-02-05 エルジー エレクトロニクス インコーポレーテッド データ再生方法及び再生装置、記録媒体並びにデータ記録方法及び記録装置
JP4923751B2 (ja) * 2005-08-30 2012-04-25 ソニー株式会社 再生装置、並びに記録媒体及びその製造方法
KR20070052650A (ko) * 2005-11-17 2007-05-22 엘지전자 주식회사 기록매체 재생방법 및 재생장치, 기록매체와 기록매체기록방법 및 기록장치
US20100246361A1 (en) * 2008-12-30 2010-09-30 Mozaik Multimedia, Inc. Method for converting standard dvds into blu-ray format
JP5294922B2 (ja) * 2009-02-26 2013-09-18 キヤノン株式会社 再生装置および再生方法

Also Published As

Publication number Publication date
CN102270482A (zh) 2011-12-07
JPWO2006080462A1 (ja) 2008-06-19
US20110200301A1 (en) 2011-08-18
EP1843351A4 (en) 2009-11-04
US20090016700A1 (en) 2009-01-15
EP2387037B1 (en) 2013-04-17
EP1843351B1 (en) 2012-08-22
EP1843344A1 (en) 2007-10-10
WO2006080462A1 (ja) 2006-08-03
EP2387037A1 (en) 2011-11-16
JP4560125B2 (ja) 2010-10-13
EP1713075A1 (en) 2006-10-18
JP2009123335A (ja) 2009-06-04
JP4820812B2 (ja) 2011-11-24
TWI389106B (zh) 2013-03-11
US20090103895A1 (en) 2009-04-23
JP2009176411A (ja) 2009-08-06
TW200641819A (en) 2006-12-01
US7873264B2 (en) 2011-01-18
US8249416B2 (en) 2012-08-21
EP1713075B1 (en) 2012-05-02
US20090208188A1 (en) 2009-08-20
JPWO2006080461A1 (ja) 2008-07-17
EP1843344A4 (en) 2009-10-28
JP4833306B2 (ja) 2011-12-07
US8280233B2 (en) 2012-10-02
JP4354988B2 (ja) 2009-10-28
WO2006080461A1 (ja) 2006-08-03
WO2006080460A1 (ja) 2006-08-03
EP1713075A4 (en) 2009-10-21
JP4359644B2 (ja) 2009-11-04
US8571390B2 (en) 2013-10-29
EP1843351A1 (en) 2007-10-10
US8655145B2 (en) 2014-02-18
US20120033941A1 (en) 2012-02-09
EP1843344B1 (en) 2012-08-15

Similar Documents

Publication Publication Date Title
JP4354988B2 (ja) 記録媒体、再生装置、プログラム、再生方法、記録方法
JP4395543B2 (ja) 再生装置
JP4886835B2 (ja) 再生装置
JP4664419B2 (ja) 集積回路
JP4870493B2 (ja) 再生装置、記録方法、再生方法、システムlsi、プログラム
JP2008108419A (ja) 記録媒体、再生装置、プログラム、再生方法、集積回路

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090127

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20090219

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090421

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090603

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090615

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20090624

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20090707

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20090730

R150 Certificate of patent or registration of utility model

Ref document number: 4354988

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120807

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130807

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130807

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140807

Year of fee payment: 5