以下に本発明の実施の形態を説明するが、本発明の構成要件と、明細書または図面に記載の実施の形態との対応関係を例示すると、次のようになる。この記載は、本発明をサポートする実施の形態が、明細書または図面に記載されていることを確認するためのものである。従って、明細書または図面中には記載されているが、本発明の構成要件に対応する実施の形態として、ここには記載されていない実施の形態があったとしても、そのことは、その実施の形態が、その構成要件に対応するものではないことを意味するものではない。逆に、実施の形態が構成要件に対応するものとしてここに記載されていたとしても、そのことは、その実施の形態が、その構成要件以外の構成要件には対応しないものであることを意味するものでもない。
本発明の第1の側面の情報処理装置は、ストリームの再生を制御する情報処理装置(例えば、再生装置1)であって、前記ストリームの主の再生パスとともに再生可能な前記主の再生パスとは異なる1つまたは複数の副の再生パスであって、前記主の再生パスに対して予め定められたタイミングで表示が制御される第1の副の再生パス(例えば、同期型PiP)と、前記主の再生パスに対して表示が制御されるタイミングが定められていない第2の副の再生パス(例えば、非同期型PiP)とのうち、所望の前記第1の副の再生パスまたは前記第2の副の再生パスに対応するストリームの再生を指令するためのユーザの操作入力の補助となる表示情報(例えば、図35のPiPメニュー画面261または図36のストリーム選択ウィンドウ281、もしくは、各種ボタン、サムネイル、アイコンなど)を表示させるために必要な情報(例えば、PG,IG,または、プログラム)を取得する情報取得手段(例えば、図46のGUIデータ読み出し制御部352)と、前記表示情報の表示を制御する情報表示制御手段(例えば、図46のGUI表示制御部359)と、前記ユーザの操作入力を受ける操作入力取得手段(例えば、図46の操作入力取得部356)と、前記操作入力取得手段により取得された前記ユーザの操作入力を基に、前記主の再生パスに対応するストリームの再生を制御するとともに、必要に応じて、前記第1の副の再生パスまたは前記第2の副の再生パスに対応するストリームの再生を制御するストリーム再生制御手段(例えば、図46の再生制御部358)とを備え、前記情報表示制御手段は、前記ユーザが、前記第1の副の再生パスおよび前記第2の副の再生パスのうちの所望の副の再生パスを選択決定する操作を入力するための補助となる第1の表示情報(例えば、ストリーム選択ウィンドウ281)の表示を制御し、前記操作入力取得手段が、前記情報表示制御手段により表示が制御された前記第1の表示情報を参照した前記ユーザによる前記第2の副の再生パスを選択決定する操作入力を取得した場合、前記情報表示制御手段は、前記ユーザが、選択決定された前記第2の副の再生パスに対応するストリームの再生開始を指令する操作を入力するための補助となる第2の表示情報(例えば、表示開始ボタン303)の表示を制御し、前記操作入力取得手段が、前記情報表示制御手段により表示が制御された前記第2の表示情報を参照した前記ユーザによる前記第2の副の再生パスに対応するストリームの再生開始を指令する操作入力を取得した場合、前記ストリーム再生制御手段は、前記ユーザにより選択された前記第2の副の再生パスに対応するストリームの再生を制御する。
前記表示情報の表示を制御する所定のコマンドを発生するコマンド発生手段(例えば、図46のコマンド発生部340)を更に備えることができ、前記操作入力取得手段が、前記情報表示制御手段により表示が制御された前記第1の表示情報を参照した前記ユーザによる前記第2の副の再生パスを選択決定する操作入力を取得した場合、前記コマンド発生手段は、前記情報表示制御手段に前記第2の表示情報の表示を制御させるためのコマンドを発生することができる。
前記ストリームの再生を制御する所定のコマンドを発生するコマンド発生手段(例えば、図46のコマンド発生部340)を更に備えることができ、前記操作入力取得手段が、前記情報表示制御手段により表示が制御された前記第2の表示情報を参照した前記ユーザによる前記第2の副の再生パスに対応するストリームの再生開始を指令する操作入力を取得した場合、前記コマンド発生手段は、前記ストリーム再生制御手段に前記第2の副の再生パスに対応するストリームの再生を制御させるためのコマンドを発生することができる。
前記操作入力取得手段が、前記情報表示制御手段により表示が制御された前記第1の表示情報を参照した前記ユーザによる前記第1の副の再生パスを選択決定する操作入力を取得した場合、前記ストリーム再生制御手段は、前記主の再生パスに対して予め定められたタイミングで前記ユーザにより選択された前記第1の副の再生パスに対応するストリームの再生を制御することができる。
前記ストリームの再生を制御する所定のコマンドを発生するコマンド発生手段(例えば、図46のコマンド発生部340)を更に備えることができ、前記操作入力取得手段が、前記情報表示制御手段により表示が制御された前記第1の表示情報を参照した前記ユーザによる前記第1の副の再生パスを選択決定する操作入力を取得した場合、前記コマンド発生手段は、前記ストリーム再生制御手段に、前記主の再生パスに対して予め定められたタイミングで前記ユーザにより選択された前記第1の副の再生パスに対応するストリームの再生を制御させるためのコマンドを発生することができる。
前記情報表示制御手段は、前記主の再生パスに対して予め定められたタイミングで前記ユーザにより選択された前記第1の副の再生パスに対応するストリームの再生が予定されていることを示す第3の表示情報(例えば、図35のアイコン302)の表示を更に制御することができる。
前記ストリーム再生制御手段により、前記主の再生パスとともに前記副の再生パスに対応するストリームの再生が制御されるとき、前記情報表示制御手段は、前記ユーザが前記主の再生パスとともに再生可能な他の前記副の再生パスに対応するストリームの再生を指令する操作を入力するための補助となる第3の表示情報(例えば、図41または図42の再生開始ボタン311乃至313)の表示を更に制御することができ、前記操作入力取得手段が、前記情報表示制御手段により表示が制御された前記第3の表示情報を参照した前記ユーザによる他の前記副の再生パスを選択決定する操作入力を取得した場合、前記ストリーム再生制御手段は、前記ユーザにより選択された他の前記副の再生パスに対応するストリームの再生を制御することができる。
本発明の第1の側面の情報処理方法は、ストリームの再生を制御する情報処理装置(例えば、再生装置1)の情報処理方法であって、前記ストリームの主の再生パスとともに再生可能な前記主の再生パスとは異なる1つまたは複数の副の再生パスであって、前記主の再生パスに対して予め定められたタイミングで表示が制御される第1の副の再生パス(例えば、同期型PiP)と、前記主の再生パスに対して表示が制御されるタイミングが定められていない第2の副の再生パス(例えば、非同期型PiP)との2種類の副の再生パスとのうち、所望の前記第1の副の再生パスまたは前記第2の副の再生パスに対応するストリームの再生を指令するためのユーザの操作入力の補助となる表示情報(例えば、図35のPiPメニュー画面261または図36のストリーム選択ウィンドウ281、もしくは、各種ボタン、サムネイル、アイコンなど)を表示させるために必要な情報(例えば、PG,IG,または、プログラム)を取得し(例えば、図51のステップS2の処理)、取得された前記表示情報を表示させるために必要な情報を基に、前記ユーザが、前記第1の副の再生パスおよび前記第2の副の再生パスのうちの所望の副の再生パスを選択決定する操作を入力するための補助となる第1の表示情報(例えば、ストリーム選択ウィンドウ281)の表示を制御し(例えば、図51のステップS4または図52のステップS22の処理)、
前記第1の表示情報を参照した前記ユーザによる前記第2の副の再生パスを選択決定する操作入力が取得された場合、取得された前記表示情報を表示させるために必要な情報を基に、前記ユーザが、選択決定された前記第2の副の再生パスに対応するストリームの再生開始を指令する操作を入力するための補助となる第2の表示情報(例えば、表示開始ボタン303)の表示を制御し(例えば、図52のステップS16の処理)、前記第2の表示情報を参照した前記ユーザによる前記第2の副の再生パスに対応するストリームの再生開始を指令する操作入力が取得された場合、前記ユーザにより選択された前記第2の副の再生パスに対応するストリームの再生を制御する(例えば、図52のステップS19の処理)ステップを含む。
本発明の第1の側面のプログラムは、ストリームの再生を制御する処理をコンピュータに実行させるためのプログラムであって、前記ストリームの主の再生パスとともに再生可能な前記主の再生パスとは異なる1つまたは複数の副の再生パスであって、前記主の再生パスに対して予め定められたタイミングで表示が制御される第1の副の再生パス(例えば、同期型PiP)と、前記主の再生パスに対して表示が制御されるタイミングが定められていない第2の副の再生パス(例えば、非同期型PiP)との2種類の副の再生パスとのうち、所望の前記第1の副の再生パスまたは前記第2の副の再生パスに対応するストリームの再生を指令するためのユーザの操作入力の補助となる表示情報(例えば、図35のPiPメニュー画面261または図36のストリーム選択ウィンドウ281、もしくは、各種ボタン、サムネイル、アイコンなど)を表示させるために必要な情報(例えば、PG,IG,または、プログラム)の取得を制御し(例えば、図51のステップS2の処理)、取得された前記表示情報を表示させるために必要な情報を基に、前記ユーザが、前記第1の副の再生パスおよび前記第2の副の再生パスのうちの所望の副の再生パスを選択決定する操作を入力するための補助となる第1の表示情報(例えば、ストリーム選択ウィンドウ281)の表示を制御し(例えば、図51のステップS4または図52のステップS22の処理)、前記第1の表示情報を参照した前記ユーザによる前記第2の副の再生パスを選択決定する操作入力が取得された場合、取得された前記表示情報を表示させるために必要な情報を基に、前記ユーザが、選択決定された前記第2の副の再生パスに対応するストリームの再生開始を指令する操作を入力するための補助となる第2の表示情報(例えば、表示開始ボタン303)の表示を制御し(例えば、図52のステップS16の処理)、前記第2の表示情報を参照した前記ユーザによる前記第2の副の再生パスに対応するストリームの再生開始を指令する操作入力が取得された場合、前記ユーザにより選択された前記第2の副の再生パスに対応するストリームの再生を制御する(例えば、図52のステップS19の処理)ステップを含む処理をコンピュータに実行させる。
本発明の第2の側面のデータ構造は、再生装置において再生可能なストリームを含むデータ構造であって、前記ストリームの主の再生パスと、前記主の再生パスとは異なる1つまたは複数の副の再生パスとを用いて前記ストリームの再生を管理する再生管理情報(例えば、PlayList)と、前記主の再生パスに基づいて再生可能な主のストリームと、前記主の再生パスに対して予め定められたタイミングで表示が制御される第1の副の再生パス(例えば、同期型PiP)、または、前記主の再生パスに対して表示が制御されるタイミングが定められていない第2の副の再生パス(例えば、非同期型PiP)とに基づいて再生可能な副のストリームと、ユーザが、前記第1の副の再生パスまたは前記第2の副の再生パスのうちの所望の副の再生パスを選択決定する操作を入力するための補助となる第1の表示情報(例えば、ストリーム選択ウィンドウ281)を表示させるために必要な第1の情報(例えば、IG,または、プログラム)と、前記第1の表示情報を参照した前記ユーザによる前記第2の副の再生パスを選択決定する操作入力を取得した場合に表示させる表示情報であって、前記ユーザが、選択決定された前記第2の副の再生パスに対応するストリームの再生開始を指令する操作を入力するための補助となる第2の表示情報(例えば、表示開始ボタン303)を表示させるために必要な第2の情報(例えば、メインパスに多重化されているIG)とを含む。
前記第1の表示情報を参照した前記ユーザによる前記第1の副の再生パスを選択決定する操作入力を取得した場合に表示させる表示情報であって、前記主の再生パスに対して予め定められたタイミングで前記ユーザにより選択された前記第1の副の再生パスに対応するストリームの再生が予定されていることを示す第3の表示情報(例えば、図38のアイコン302)を表示させるために必要な第3の情報(例えば、PGまたはIG)を更に含むことができる。
前記主の再生パスに対応するストリームとともに前記副の再生パスに対応するストリームの再生が制御されるときに表示させる表示情報であって、前記ユーザが前記主の再生パスに対応するストリームとともに再生可能な他の前記副の再生パスに対応するストリームの再生を指令する操作を入力するための補助となる第3の表示情報(例えば、図41または図42の再生開始ボタン311乃至313)を表示させるために必要な第3の情報(例えば、サブパスに多重化されているIG)を更に含むことができる。
本発明の第2の側面の記録媒体は、再生装置において再生可能なストリームを含むデータが記録された記録媒体であって、前記ストリームの主の再生パスと、前記主の再生パスとは異なる1つまたは複数の副の再生パスとを用いて前記ストリームの再生を管理する再生管理情報(例えば、PlayList)と、前記主の再生パスに基づいて再生可能な主のストリームと、前記主の再生パスに対して予め定められたタイミングで表示が制御される第1の副の再生パス(例えば、同期型PiP)、または、前記主の再生パスに対して表示が制御されるタイミングが定められていない第2の副の再生パス(例えば、非同期型PiP)とに基づいて再生可能な副のストリームと、ユーザが、前記第1の副の再生パスまたは前記第2の副の再生パスのうちの所望の副の再生パスを選択決定する操作を入力するための補助となる第1の表示情報(例えば、ストリーム選択ウィンドウ281)を表示させるために必要な第1の情報(例えば、IG,または、プログラム)と、前記第1の表示情報を参照した前記ユーザによる前記第2の副の再生パスを選択決定する操作入力を取得した場合に表示させる表示情報であって、前記ユーザが、選択決定された前記第2の副の再生パスに対応するストリームの再生開始を指令する操作を入力するための補助となる第2の表示情報(例えば、表示開始ボタン303)を表示させるために必要な第2の情報(例えば、メインパスに多重化されているIG)とを含むデータが記録されている。
本発明の第2の側面の記録媒体の製造方法は、再生装置において再生可能なストリームを含むデータが記録された記録媒体の製造方法であって、前記ストリームの主の再生パスと、前記主の再生パスとは異なる1つまたは複数の副の再生パスとを用いて前記ストリームの再生を管理する再生管理情報(例えば、PlayList)と、前記主の再生パスに基づいて再生可能な主のストリームと、前記主の再生パスに対して予め定められたタイミングで表示が制御される第1の副の再生パス(例えば、同期型PiP)、または、前記主の再生パスに対して表示が制御されるタイミングが定められていない第2の副の再生パス(例えば、非同期型PiP)とに基づいて再生可能な副のストリームと、ユーザが、前記第1の副の再生パスまたは前記第2の副の再生パスのうちの所望の副の再生パスを選択決定する操作を入力するための補助となる第1の表示情報(例えば、ストリーム選択ウィンドウ281)を表示させるために必要な第1の情報(例えば、IG,または、プログラム)と、前記第1の表示情報を参照した前記ユーザによる前記第2の副の再生パスを選択決定する操作入力を取得した場合に表示させる表示情報であって、前記ユーザが、選択決定された前記第2の副の再生パスに対応するストリームの再生開始を指令する操作を入力するための補助となる第2の表示情報(例えば、表示開始ボタン303)を表示させるために必要な第2の情報(例えば、メインパスに多重化されているIG)とを含むデータ構造を有するデータを生成し、生成されたデータを記録媒体に記録するステップを含む。
以下、図を参照して、本発明の実施の形態について説明する。
図4は、本発明を適用した再生装置(図29を参照して後述する)のローカルストレージ(例えば、ハードディスクやメモリなど)上の、または、装着される記録媒体上のアプリケーションフォーマットの例を示す図である。記録媒体は、後述する光ディスクの他、磁気ディスクや半導体メモリであってもよい。
アプリケーションフォーマットは、AV(Audio Visual)ストリームの管理のために、PlayListとClipの2つのレイヤを有している。ここでは、AVストリームとそれに付随する情報であるクリップインフォメーション(Clip Information)のペアを1つのオブジェクトと考え、それらをまとめてClipと称する。以下、AVストリームをAVストリームファイルとも称する。なお、AVストリームファイルには、音声データや映像データ以外にも、これらのデータとともに再生される各種のストリームファイルが含まれていてもよい。また、ClipインフォメーションをClipインフォメーションファイルとも称する。
一般的に、コンピュータ等で用いられるファイルはバイト列として扱われるが、AVストリームファイルのコンテンツは時間軸上に展開され、Clipのアクセスポイントは、主に、タイムスタンプでPlayListにより指定される。すなわち、PlayListとClipは、AVストリームの管理のためのレイヤである。
Clip中のアクセスポイントがタイムスタンプでPlayListにより示されている場合、Clip Informationファイルは、タイムスタンプから、AVストリームファイル中のデコードを開始すべきアドレス情報を見つけるために使用される。
PlayListは、AVストリームの再生区間の集まりである。あるAVストリーム中の1つの再生区間はPlayItemと呼ばれ、それは、時間軸上の再生区間のIN点(再生開始点)とOUT点(再生終了点)のペアで表される。従って、PlayListは、図4に示されるように1つ、または複数のPlayItemにより構成される。
図4において、左から1番目のPlayListは2つのPlayItemから構成され、その2つのPlayItemにより、左側のClipに含まれるAVストリームの前半部分と後半部分がそれぞれ参照されている。また、左から2番目のPlayListは1つのPlayItemから構成され、それにより、右側のClipに含まれるAVストリーム全体が参照されている。さらに、左から3番目のPlayListは2つのPlayItemから構成され、その2つのPlayItemにより、左側のClipに含まれるAVストリームのある部分と、右側のClipに含まれるAVストリームのある部分がそれぞれ参照されている。
例えば、図4のディスクナビゲーションプログラムにより、そのときの再生位置を表す情報として、左から1番目のPlayListに含まれる左側のPlayItemが指定された場合、そのPlayItemが参照する、左側のClipに含まれるAVストリームの前半部分の再生が行われる。このように、PlayListは、AVストリームファイルの再生を管理するための再生管理情報として用いられる。
ディスクナビゲーションプログラムは、PlayListの再生の順序や、PlayListのインタラクティブな再生をコントロールする機能を有する。また、ディスクナビゲーションプログラムは、PlayList再生に関する処理以外に、例えば、後述するピクチャインピクチャ(PiP)表示画面の表示をユーザが設定するためのメニュー画面(GUI表示画面)などを表示する機能を提供することができるようにしても良い。
このディスクナビゲーションプログラムは、例えば、Java(登録商標)などのプログラミング言語で記述され、記録媒体上に用意されたり、または、例えば、ネットワークもしくは他の記録媒体を介して、再生装置に供給される。これらのプログラムが、ネットワークまたは他の記録媒体を介して、再生装置に供給される場合、これらのプログラムは、所定の記録媒体を再生する場合に利用されるプログラムとして(例えば、記録媒体を特定する情報を含んで)、再生装置に供給され、記憶される。
本実施の形態では、PlayListの中で、1つ以上のPlayItemの並びによって(連続するPlayItemにより)作られる再生パスをメインパス(Main Path)と称し、PlayListの中で、Main Pathに並行(並列)して、1つ以上のSub Pathの並びによって(非連続でもよいし、連続してもよいSubPlayItemにより)作られる再生パスをサブパス(Sub Path)と称する。すなわち、再生装置(図29を参照して後述する)内部のローカルストレージ上の、または、装着される記録媒体上のアプリケーションフォーマットは、メインパスに関連付けられて(合わせて)再生されるサブパス(Sub Path)をPlayListの中に持つことが可能である。
図5は、メインパスとサブパスの構造を説明する図である。PlayListは、1つのメインパスと1つ以上のサブパスを持つことができる。1つのメインパスは、1つ以上のPlayItemの並びによって作られ、1つのサブパスは、1つ以上のSubPlayItemの並びによって作られる。
図5の例の場合、PlayListは、3つのPlayItemの並びにより作られる1つのメインパスと、3つのサブパスを有している。メインパスを構成するPlayItemには、先頭から順番にそれぞれID(Identification)が付されている。具体的には、メインパスは、PlayItem_id=0、PlayItem_id=1、およびPlayItem_id=2のPlayItemからなる。また、サブパスにも先頭から順番にSubpath_id=0、Subpath_id=1、およびSubpath_id=2、とそれぞれIDが付されている。Subpath_id=0のサブパスには、1つのSubPlayItemが含まれ、Subpath_id=1のサブパスには、2つのSubPlayItemが含まれ、Subpath_id=2のサブパスには、1つのSubPlayItemが含まれる。
Subpath_id=0のサブパスに含まれるSubPlayItemが参照するストリームは、例えば、映画の日本語吹き替えの音声と想定され、Mainpathにより参照されるAVストリームファイルのオーディオストリームに替えて再生される場合が考えられる。また、Subpath_id=1のサブパスに含まれるSubPlayItemが参照するストリームは、例えば、映画のディレクターズカットと想定され、Main Pathにより参照されるAVストリームファイルの所定の部分にのみ、映画監督などのコメントが入っている場合が考えられる。
1つのPlayItemが参照するClip AVストリームファイルには、少なくともビデオストリームデータ(メイン画像データ)が含まれる。また、Clip AVストリームファイルには、Clip AVストリームファイルに含まれるビデオストリーム(メイン画像データ)と同じタイミングで(同期して)再生されるオーディオストリームが1つ以上含まれてもよいし、含まれなくてもよい。さらに、Clip AVストリームファイルには、Clip AVストリームファイルに含まれるビデオストリームと同じタイミングで再生されるビットマップ字幕ストリーム(Presentation Graphic stream)が1つ以上含まれてもよいし、含まれなくてもよい。また、Clip AVストリームファイルには、Clip AVストリームファイルに含まれるビデオストリームと同じタイミングで再生されるインタラクティブグラフィックスストリームが1つ以上含まれてもよいし、含まれなくてもよい。そして、Clip AVストリームファイルに含まれるビデオストリームと、ビデオストリームと同じタイミングで再生されるオーディオストリーム、ビットマップ字幕ストリームファイル、またはインタラクティブグラフィックスストリームとは多重化されている。すなわち、1つのPlayItemが参照するClip AVストリームファイルには、ビデオストリームデータと、そのビデオストリームに合わせて再生される0個以上のオーディオストリーム、0個以上のビットマップ字幕ストリームデータ、および0個以上のインタラクティブグラフィックスストリームデータとが多重化されている。
すなわち、1つのPlayItemが参照するClip AVストリームファイルには、ビデオストリーム、オーディオストリーム、ビットマップ字幕ストリームファイル、または、インタラクティブグラフィックスストリームなどの、複数の種類のストリームが含まれている。
また、1つのSubPlayItemは、PlayItemが参照するClip AVストリームファイルとは異なるストリーム(別ストリーム)の、ビデオストリーム、オーディオストリーム、または、字幕データなどを参照する。
メインパスのみを有するPlayListを再生する場合、ユーザによる音声切り替えや字幕切り替えという操作は、そのメインパスが参照するClipに多重化されているオーディオストリームとサブピクチャストリームの中から音声や字幕を選択することのみが可能である。これに対し、メインパスとサブパスを持つPlayListを再生する場合、そのメインパスが参照するClip AVストリームファイルに多重化されているオーディオストリームとサブピクチャストリームに加えて、SubPlayItemが参照するClipのオーディオストリームやサブピクチャストリーム、または、サブパスのストリームとして用意された所定のメニューのデータ(GUI表示画面データ)を選択して再生させることができる。
このように、1つのPlayListの中にSubPathを複数含め、それぞれのSubPathがそれぞれSubPlayItemを参照する構成としたので、拡張性の高い、また、自由度の高いAVストリームを実現することができる。すなわち、MainPathで参照されるClip AVストリームに加えて、後で、SubPlayItemを追加できる構成とすることができる。
図6は、メインパスとサブパスの例を説明する図である。図6においては、メインパスと同じタイミングで(AV同期して)再生されるオーディオの再生パスを、サブパスを使用して表している。
図6のPlayListには、メインパスとして、PlayItem_id=0である1つのPlayItemと、サブパスとして1つのSubPlayItemが含まれている。メインパスのPlayItem_id=0である1つのPlayItem()は、メインClipAVストリームを参照している。SubPlayItem()には、以下に示すデータが含まれる。まず、SubPlayItem ()には、PlayListの中のSub Path(サブパス)が参照するClipを指定するためのClip_Information_file_nameが含まれる。図6の例の場合、SubPlayItemによって、SubClip_entry_id=0のAuxiliary audio stream(オーディオストリーム)が参照されている。また、SubPlayItem ()には、Clip(ここでは、Auxiliary audio stream)の中のSub Pathの再生区間を指定するためのSubPlayItem_IN_timeとSubPlayItem_OUT_timeとが含まれる。さらに、SubPlayItem()には、Main pathの時間軸上でSub Pathが再生開始する時刻を指定するためのsync_PlayItem_idとsync_start_PTS_of_PlayItemとが含まれる。図6の例の場合、sync_PlayItem_id=0とされ、sync_start_PTS_of_PlayItem=t1とされている。これにより、メインパスのPlayItem_id=0の時間軸上でSub Pathが再生を開始する時刻t1を指定することができる。すなわち、図6の例の場合では、メインパスの再生開始時刻t1とサブパスの開始時刻t1が同時刻であることを示している。
ここで、Sub Pathに参照されるオーディオのClip AVストリームは、STC不連続点(システムタイムベースの不連続点)を含んではならない。
また、SubPlayItem()に含まれる情報(Sub Pathが参照するClipを指定する情報、Sub Pathの再生区間を指定する情報、およびMain pathの時間軸上でSub Pathが再生を開始する時刻を指定する情報)に基づいて、メインパスが参照するClip AVストリーム(主に再生されるメインAVストリーム)とは異なるClip AVストリームのオーディオストリームを参照して、再生することができる。
このように、PlayItemとSubPlayItemは、Clip AVストリームファイルをそれぞれ管理するものであり、ここでは、PlayItemが管理するClip AVストリームファイル(メインAVストリーム)とSubPlayItemが管理するClip AVストリームファイルは同一のファイルに多重化されていても良いし、異なるファイルとしてもよい。
なお、図6の例と同様にして、メインパスと同じタイミングで再生される字幕ストリーム再生パスを、サブパスを使用して表すこともできる。
図7は、メインパスとサブパスの別の例を説明する図である。図7においては、メインパスと同じタイミングで(AV同期して)再生されるオーディオの再生パスを、サブパスを使用して表している。ここで、メインパスのPlayItemが参照するメインClipAVストリームファイルは、図6と同様であるので省略している。
例えば、メインパスにより参照されるClipAVストリームを1つの映画のコンテンツ(AVコンテンツ)とし、サブパスのオーディオパスにより参照されるAuxiliary audio stream(Clip)をその映画に対する監督のコメントとし、メインパスで参照されるClipAVストリームのオーディオストリームにサブパスのオーディオパスで参照されるAuxiliary audio streamをミキシング(重ねて)再生するような場合に、このような構成が利用される。すなわち、図7に示されるメインパスとサブパスの構成は、ユーザが、映画を見ながら、その映画に対する監督のコメントを合わせて聞く指令を再生装置(プレーヤ)へ入力した場合、換言すれば、メインパスで参照されるClipAVストリームの音声と、サブパスのオーディオパスで参照されるAuxiliary audio streamとを、ミキシングして再生させる場合に利用される。
図7においては、メインパスに3つのPlayItemがPlayItem_id=0,1,2と配置され、サブパス(Subpath_id=0)に2つのSubPlayItemが配置されている。そして、Subpath_id=0のSubPath(図26にて後述する)で呼び出すSubPlayItem(図28にて後述する)は、Auxiliary audio stream(SubClip_entry_id=0の英語のAuxiliary audio streamのクリップ及びSubClip_entry_id=1の日本語のAuxiliary audio streamのクリップ)のSubPathの再生区間を指定するための、SubPlayItem_IN_timeと、SubPlayItem_out_timeを含む。
図7と図6とを比較するに、図7においては、SubPlayItemによって、SubClip_entry_id=0,1のAuxiliary audio stream(英語または日本語のオーディオストリーム)を参照することができる。すなわち、SubPlayItemを用いて、複数のオーディオストリームファイルを参照する構造を有し、このSubPlayItemを再生する場合には、複数のオーディオストリームファイルからオーディオストリームファイルが選ばれて再生される。図7の例の場合、英語のオーディオストリームファイルと日本語のオーディオストリームファイルのうち、1つのオーディオストリームファイルが選ばれて再生される。具体的には、subClip_entry_id=0,1の中から(例えば、ユーザの指令に基づいて)1つが選択され、そのIDが参照するAuxiliary audio streamが再生される。また、これに加えて、さらにメインパスにより参照されるオーディオストリームとの組み合わせによる再生が選択された場合、メインパスで参照される1stオーディオストリームと、サブパスのオーディオパスで参照される2ndオーディオストリームファイルとが、ミキシングされて再生される。なお、2つのサブパスで参照される2つのオーディオストリームが、ミキシングされて再生されるようにすることも可能であるが、これについては後述する。
次に、図5乃至図7を用いて説明したメインパスとサブパスの構造を具体的に実現するためのデータ構造(シンタクス)を説明する。
図8は、再生装置において再生可能なデータファイルのファイルシステムの例を示す図である。図8には、一例として、再生装置において再生可能なデータファイルが光ディスクなどの記録媒体によって供給されている場合を示しており、このファイルシステムはディレクトリ構造を有している。
このファイルシステムにおいて、「root」の下には「BDMV」の名前が設定されたディレクトリが用意され、そのディレクトリに、「Index.bdmv」の名前が設定されたファイルと、「NavigationObject.bdmv」の名前が設定されたファイルが格納されている。以下、適宜、これらのファイルをそれぞれIndexファイル、NavigationObjectファイルと称する。また、適宜、各ファイルについては、「ファイル名」に「ファイル」を付加した形で、または、各ディレクトリについては、「ディレクトリ名」に「ディレクトリ」を付加した形で称する。
Indexファイルは、インデックステーブルが記載されたファイルであり、再生装置において再生可能なデータファイルを再生するメニューに関する情報を含む。再生装置は、例えば、再生装置において再生可能なデータファイルに含まれるコンテンツを全て再生する、特定のチャプタのみ再生する、繰り返し再生する、初期メニューを表示するなどの内容の項目を含む再生メニュー画面をIndexファイルに基づいて、表示装置に表示させる。Indexファイルのインデックステーブルには各項目が選択されたときに実行するNavigationObjectを設定することができ、ユーザにより再生メニュー画面から1つの項目が選択された場合、再生装置はIndexファイルのインデックステーブルに設定されているNavigationObjectのコマンドを実行する。
NavigationObjectファイルは、NavigationObjectを含むファイルである。NavigationObjectは、再生装置において再生可能なデータファイルに含まれているPlayListの再生を制御するコマンドを含み、例えば、再生装置は、このファイルシステムに含まれているNavigationObjectの中から1つを選択して、実行することにより、コンテンツを再生させることができる。
BDMVディレクトリにはまた、「BACKUP」の名前が設定されたディレクトリ(BACKUPディレクトリ)、「PLAYLIST」の名前が設定されたディレクトリ(PLAYLISTディレクトリ)、「CLIPINF」の名前が設定されたディレクトリ(CLIPINFディレクトリ)、「STREAM」の名前が設定されたディレクトリ(STREAMディレクトリ)、「AUXDATA」の名前が設定されたディレクトリ(AUXDATAディレクトリ)が設けられている。
BACKUPディレクトリには、再生装置において再生可能なファイルやデータをバックアップするためのファイルやデータが記録される。
PLAYLISTディレクトリには、PlayListファイルが格納される。各PlayListファイルには、図内に示されるように5桁の数字からなるファイル名に拡張子「.mpls」を付加した名称が命名される。
CLIPINFディレクトリには、Clip Informationファイルが格納される。各Clip Informationファイルには、図内に示されるように5桁の数字からなるファイル名に拡張子「.clpi」を付加した名称が命名される。
STREAMディレクトリには、Clip AVストリームファイルやサブストリームファイルが格納される。各ストリームファイルには、図内に示されるように5桁の数字からなるファイル名に拡張子「.m2ts」を付加した名称が命名される。
AUXDATAディレクトリには、Clip AVストリームファイルやサブストリームファイルに含まれずに、Clip AVストリームファイルやサブストリームファイルから参照されるデータや、Clip AVストリームファイルやサブストリームファイルとは独立して利用されるデータなどのファイルが格納される。図8の例においては、AUXDATAディレクトリには、「11111.otf」の名前がつけられている字幕のフォントのファイル、「sound.bdmv」の名前が設定された効果音などのサウンドデータが格納されている。
以下、主に再生出力される音声データをプライマリオーディオストリーム(Primary audio stream)と称し、例えば、ユーザの操作入力に対応して発生するクリック音や効果音など、上述したAUXDATAディレクトリにsound.bdmvとして記載されている音声データをサウンドデータと称するものとする。サウンドデータはプライマリオーディオストリームに合成可能である。また、プライマリオーディオストリームとは別のストリームであって、例えば、副音声など、プライマリオーディオストリームに合成可能な音声データをセカンダリオーディオストリームと称するものとする。なお、プライマリオーディオストリームとは別のストリームであって、プライマリオーディオストリームに合成可能な音声データはであるセカンダリオーディオストリームは複数存在してもよく、その場合、例えば、異なるIDを用いて、それぞれ、区別可能なようにすればよい。
また、再生装置において再生可能なデータファイルが光ディスクによって配布されている場合、例えば、製作会社や映画の配給会社など、このコンテンツ製作元や、または、この記録媒体の供給元であるタイトルオーサを識別するために各タイトルオーサに割り当てられた識別子であるauthor_id、および、author_idに示されるタイトルオーサにおいて製作された光ディスクの種類を識別するために割り当てられた識別子であるdisc_idが、ユーザなどにより書き換えることができないセキュアな電子データとして、または、物理的にピットによって記録されている。
また、再生装置において再生可能なデータファイルが光ディスク以外のリムーバブルな記録媒体に記録されている場合や、ネットワークを介してダウンロードされている場合も、author_id、および、author_idに相当するidが割り当てられてそれぞれ区別可能なようになされ、図8に示す場合と同様のディレクトリ構造を有していると好適である。また、再生装置において再生可能なデータファイルには、author_id、および、author_idに相当するidが割り当てられていないとしても、図8を用いて説明した場合と同様に、「Index.bdmv」の名前が設定されたファイル、「NavigationObject.bdmv」の名前が設定されたファイルが含まれており、「BACKUP」の名前が設定されたファイル群、「PLAYLIST」の名前が設定されたファイル群、「CLIPINF」の名前が設定されたファイル群、「STREAM」の名前が設定されたファイル群、「AUXDATA」の名前が設定されたファイル群のうち、適宜必要なファイル群が含まれている。
Indexファイル(Index.bdmv)のシンタクスを図9に示す。
Type_indicatorは、ISO646に基づいて符号化された"INDX"の値が記述されるフィールドである。
version_numberは、Index.bdmvのバージョンナンバを示す4文字の文字列であり、ISO646に基づいて符号化された"0089"の値が記述される。
Indexes_start_addressは、Indexes()ブロックのスタートアドレスが記載されるフィールドである。
AppInfoBDMV()には、このIndexファイルを含むデータファイルの供給元を示す、個別の識別子などが記載されている。
Indexes()には、例えば、メニューを読み出したり、タイトルを検索したり、所定のタイトルにジャンプしたり、または、このIndexファイルを含むデータファイルが記録されている光ディスクなどの記録媒体が再生装置に装着された場合に自動的に起動する処理を実行するアプリケーション(NavigationObject)とのリンクが記載されている。Indexes()のシンタクスについては、図10を用いて後述する。
Padding_wordは、Index.bdmvのシンタクスに基づいて挿入されるものであり、0または正の整数で表される。
Indexes()のシンタクスの例を、図10に示す。
lengthは、Indexes()に何バイトの情報が記載されているかを表すフィールドである。
FirstPlaybackは、このファイルシステムのデータが再生される場合に最初に実行されるNavigationObjectに関する情報が含まれているデータブロックである。具体的には、このファイルシステムのデータが記録された光ディスクなどの記録媒体が再生装置に装着されたときに最初に自動的に実行されるNavigationObjectに関する情報が含まれているデータブロックである。
FirstPlayback_mobj_id_refは、最初に実行されるNavigationObjectのmobj_idの値を指定するためのフィールドである。mobj_idは、NavigationObjectがそれぞれ固有に与えられているIDである。また、再生開始時に自動的に実行されるNavigationObjectが設定されない場合、すなわち、再生開始時にはアプリケーションはいずれも実行されず、ユーザによる指令を受けて、いずれかのアプリケーションが実行されるようになされている場合、このフィールドには、"0Xffff"が記載される。
TopMenu()は、ユーザがメニュー画面を表示させる場合などに呼び出されるTopMenuのNavigationObjectに関する情報が含まれているデータブロックである。
TopMenu_mobj_id_refは、TopMenuのNavigationObjectのmobj_idの値を指定するためのフィールドである。TopMenuが設定されない場合、このフィールドには、"0xFFFF"が記載される。
number_of_Titlesは、Indexes()に記載されているタイトルの数を表すフィールドである。
Title[title_id]()は、title_idによって固有に区別されているそれぞれのタイトルに関する情報が記載されるブロックである。title_idは0から割り当てられる。
Title_playback_type[title_id]は、そのtitle_idによって指定されるタイトルの再生タイプを示す情報であり、例えば、再生される動画と音声による一般的なコンテンツであるMovie Titleか、ユーザの操作入力によって再生される動画や音声が変更されるなどの双方向のやり取りが可能なコンテンツであるInteractive Titleなどのタイプが示される。例えば、そのタイトルがMovie Titleである場合、PlayListに基づいた再生処理が実行される。
Title_access_type[title_id]は、そのtitle_idによって指定されるタイトルが、Title_Searchを用いて再生することが許可されているか否かを示す情報である。
reserved_for_future_useは、将来の拡張に備えるためにデータの記述内容が未設定とされている29ビットのフィールドである。
Title_mobj_id_ref[title_id]は、そのtitle_idによって指定されるタイトルがエントリーされているNavigationObjectのmobj_idの値を指定するためのフィールドである。
図11に、PlayListファイルのデータ構造を示す。PlayListファイルは、再生装置に装着された記録媒体、または、再生装置内部の記憶部(例えば、ハードディスクなどからなるローカルストレージ)において、PLAYLISTディレクトリに格納される、拡張子「.mpls」を有するデータファイルである。
type_indicatorは、このファイルの種類を示す情報が記載されているものである。すなわち、このフィールドには、このファイルの種類が映像の再生を管理する再生管理情報であるPlayList(MoviePlayList)であることを示す情報が記載される。
version_numberは、このxxxx.mpls(MoviePlayList)のバージョンナンバを示す4個のキャラクター文字を示すものである。
PlayList_start_addressは、PlayListファイルの先頭のバイトからの相対バイト数を単位として、PlayList()の先頭アドレスを示すものである。
PlayListMark_start_addressは、PlayListファイルの先頭のバイトからの相対バイト数を単位として、PlayListMark()の先頭アドレスを示すものである。
ExtensionData_start_addressは、PlayListファイルの先頭のバイトからの相対バイト数を単位として、ExtensionData()の先頭アドレスを示すものである。
AppInfoPlayList()には、例えば、再生制限など、PlayListの再生コントロールに関するパラメータが格納されている。AppInfoPlayList()の詳細は、図12を用いて後述する。
PlayList()には、PlayListのメインパスやサブパスなどに関するパラメータが格納されている。PlayList()の詳細は、図13を用いて後述する。
PlayListMark()には、PlayListのマーク情報、すなわち、チャプタジャンプなどを指令するユーザオペレーションまたはコマンドなどにおけるジャンプ先(ジャンプポイント)であるマークに関する情報が格納されている。
ExtensionData()には、プライベートデータが挿入できるようになっている。
次に、図12を参照して、AppInfoPlayList()のシンタクスについて説明する。
lengthは、length以下のシンタクスの長さ、すなわち、このlengthフィールドの直後からreserved_for_future_useの最後までのAppInfoPlayList()のバイト数を示すものである。このlengthの後には、8ビットのreserved_for_future_useが用意される。
PlayList_playback_typeは、連続再生、ランダムアクセス、シャッフルのいずれの再生を行うPlayListであるかを示す情報を記載するフィールドである。
Playback_countは、ランダムアクセス、シャッフルを行うPlayListの場合、再生に用いるPlayItemの数を示す情報を記載するフィールドである。
そして、UO_mask_table()は、一時停止、チャプタサーチ、ジャンプ、早送り、早戻し(後方高速再生)等の特殊再生、または、表示等に関するユーザ操作の制限を決める情報である。
そして、PlayList_random_access_flagは、他のPlayListからのジャンプ再生を制御するためのフラグ情報である。ここでは、PlayList_random_access_flag=1に設定されている場合、他のPlayListからのジャンプ再生を禁止するものとする。
例えば、再生装置においては、例えば、現在のPlayListにより参照されている再生位置から、他のPlayListにより参照される所定のPlayItemの先頭またはチャプタの位置への再生位置のジャンプを指令するユーザオペレーションなど、装置独自で拡張的なユーザオペレーションを用意することができる。PlayList_random_access_flagは、例えば、これらのユーザオペレーションにより、他のPlayListによって参照されるClip AV Streamのある再生位置から、このPlayListによって参照されるClip AV Streamへのジャンプ(再生位置の移動)が指令された場合、このユーザオペレーションを制限するか否かを設定するためのフラグ情報である。
なお、ユーザオペレーションによりジャンプ(再生位置の移動)が指令されるのではなく、ナビゲーションコマンドによりジャンプ(再生位置の移動)が指令された場合、PlayList_random_access_flagは無視される(コマンドは実行され、コマンドの発生に伴って、再生位置が移動される)。
is_MixAppは、このPlayListファイルにより再生されるストリームが音声や効果音の合成を行うか否かのフラグである。すなわち、このis_MixAppは、このPlayListにより参照されるデータに、プライマリオーディオストリームに合成され得るサウンドデータまたはセカンダリオーディオストリームが含まれているか否かを示すフラグとして定義されている。この1つのフラグを確認することのみにより、オーディオデータの合成が行われるか否かを、迅速に認識することが可能となる。
また、Lossless_may_bypass_mixer_flagは、ロスレスの音声の再生に関するフラグである。この後には、13ビットのreserved_for_future_useが用意される。
次に、図13は、PlayList()のシンタクスを示す図である。
lengthは、このlengthフィールドの直後からPlayList()の最後までのバイト数を示す32ビットの符号なし整数である。すなわち、reserved_for_future_useからPlayListの最後までのバイト数を示すフィールドである。このlengthの後には、16ビットのreserved_for_future_useが用意される。reserved_for_future_useは、将来の拡張に備えるためにデータの記述内容が未設定とされている。number_of_PlayItemsは、PlayListの中にあるPlayItemの数を示す16ビットのフィールドである。例えば、図5の例の場合PlayItemの数は3個である。PlayItem_idの値は、PlayListの中でPlayItem()が現れる順番に0から割り振られる。例えば、図5に示されるように、PlayItem_id=0,1,2が割り振られる。
number_of_SubPathsは、PlayListの中にあるSubPathの数(エントリー数)を示す16ビットのフィールドである。例えば、図5の例の場合、Sub Pathの数は3個である。SubPath_idの値は、PlayListの中でSubPath()が現れる順番に0から割り振られる。例えば、図5に示されるように、Subpath_id=0,1,2が割り振られる。その後のfor文では、PlayItemの数だけPlayItemが参照され、Sub Pathの数だけ、Sub Pathが参照される。
次に、図14を参照して、PlayItem()のシンタクスについて説明する。
lengthは、このlengthフィールドの直後からPlayItem()の最後までのバイト数を示す16ビットの符号なし整数である。Clip_Information_file_ name[0]は、PlayItemが参照するClipを指定するためのフィールドである。図14の例の場合、Clip_Information_file_ name[0]により、メインClipAVストリームファイルが参照される。また、PlayItem()には、Clipのコーディック方式を指定するClip_codec_identifier[0]、将来の拡張に備えるためにデータの記述内容が未設定とされているreserved_for_future_use、マルチアングル再生に対応しているか否かを示すフラグであるis_multi_angle、接続状態に関する情報であるconnection_condition、STC不連続点(システムタイムベースの不連続点)に関する情報であるref_to_STC_id[0]が含まれる。さらに、PlayItem()には、Clipの中のPlayItemの再生区間を指定するためのIN_timeとOUT_timeが含まれる。図14の例の場合、IN_timeとOUT_timeにより、メインClipAVストリームファイルの再生範囲が表される。
また、PlayItem()には、ユーザ入力の受付制限をするUO_mask_table()、他のPlayItemからのジャンプ再生を制御するPlayItem_random_access_flagが含まれる。
図14に示される、PlayItem()のUO_mask_table()には、このPlayItemを参照してClip AV Streamが再生されているときに操作入力される各種のユーザオペレーションについて、それぞれ許可するか否かが設定されている。
そして、図14に示される、PlayItem()のPlayItem_random_access_flagは、ユーザオペレーションにより、他のPlayItemによって参照されるClip AV Streamのある再生位置から、このPlayItemによって参照されるClip AV Streamへのジャンプ(再生位置の移動)が指令された場合、このユーザオペレーションを制限するか否かを設定するためのフラグ情報である。ここでは、PlayItem_random_access_flag=1に設定されている場合、他のPlayItemからのジャンプ再生を禁止するものとする。このフラグについての詳細な説明は後述する。
なお、ユーザオペレーションによりジャンプ(再生位置の移動)が指令されるのではなく、ナビゲーションコマンドによりジャンプ(再生位置の移動)が指令された場合、PlayItem_random_access_flagは無視される(コマンドは実行され、コマンドの発生に伴って、再生位置が移動される)。
さらに、PlayItem()には、最後に表示をした映像を静止画として表示をさせるか否かを示すstill_modeが含まれる。なお、is_multi_angleが複数ある場合(is_multi_angle==1)については、本発明と直接的には関係ないのでその説明を省略する。
そして、STN_table()は、対象のPlayItemとそれに関連付けられて再生される1つ以上のSubPathが用意されている場合に、例えば、音声切り替えや字幕切り替え、または、子画面の表示非表示の選択を指令するユーザの操作入力、または、アプリケーションによるコマンドの発生などによって、そのPlayItemが参照するClipとこれらの1つ以上のSubPathが参照するClipの中から、再生されるストリームを選択することができる仕組みを提供するための情報である。
例えば、PlayItem()とそれに関連付けられて再生される1つ以上のSubPathが用意されている場合に、Main Pathを構成するPlayItemが参照するClipに含まれるビデオストリームをプライマリビデオストリーム(Primary video stream)とし、SubPathを構成するSubPlayItemが参照するClipに含まれるビデオストリームをセカンダリビデオストリーム(secondary video stream)としたり、または、PlayItemが参照するClip(メインClip)に含まれるビデオストリームのうちの2つのビデオストリームを、それぞれプライマリビデオストリームとセカンダリビデオストリームとして、これらをミキシングして、全画面(プライマリビデオストリーム)と子画面(セカンダリビデオストリーム)で再生することができる仕組みを提供するようにした。このような手法は、ピクチャインピクチャ(Picture in Picture)手法と称される。
また、同様にして、例えば、PlayItem()とそれに関連付けられて再生される1つ以上のSubPathが用意されている場合に、Main Pathを構成するPlayItemが参照するClipに含まれるオーディオストリームをプライマリオーディオストリーム(Primary audio stream)とし、SubPathを構成するSubPlayItemが参照するClipに含まれるオーディオストリームをセカンダリオーディオストリーム(secondary audio stream)としたり、または、PlayItemが参照するClip(メインClip)に含まれるオーディオストリームのうちの2つのオーディオストリームを、それぞれプライマリオーディオストリームとセカンダリオーディオストリームとして、これらをミキシングして再生することができる仕組みを提供するようにした。
そして、プライマリビデオストリームと同時に再生され得るストリームとして、ここでは、次の第1乃至第4の種類のストリームが用意される。
第1の種類のストリームとは、STN_tableにおいてPrimary_audio_stream_idで定義されるオーディオストリーム、即ち、上述したプライマリオーディオストリームである。
第2の種類のストリームとは、STN_tableにおいてSecondary_video_stream_idで定義されるビデオストリーム、すなわち、上述したセカンダリビデオストリームである。
第3の種類のストリームとは、STN_tableにおいてSecondary_audio_stream_idで定義されるオーディオストリーム、即ち、上述したセカンダリオーディオストリームである。
第4の種類のストリームとは、サブパスで参照されるテキスト字幕ストリーム(txtST)や、DVDのサブピクチャ、または、所定のGUI表示画面のようなビットマップ字幕をランレングス符号化したストリーム(PG, Presentation Graphics stream)等であり、STN_tableにおいて、PG_txtST_stream_id、IG_stream_idで定義される。
STN_table()は、これらのストリームの組み合わせを定義する情報である。
次に、図15および図16を用いて、STN_table()のシンタクスについて説明する。
このSTN_table()は、プライマリビデオストリームと組み合わせて同時再生され得る、セカンダリビデオストリーム、プライマリオーディオストリーム、セカンダリオーディオストリーム、および、サブタイトルストリームの組み合わせを定義するにあたって、特に、セカンダリオーディオストリームとプライマリオーディオストリームとの組み合わせ、セカンダリビデオストリームとセカンダリオーディオストリームとの組み合わせ、セカンダリビデオストリームとピクチャインピクチャ(PiP)アプリケーション用のプレゼンテーショングラフィックス(PG)またはテキスト字幕の組み合わせを定義する。
lengthは、このlengthフィールドの直後からSTN_table()の最後までのバイト数を示す16ビットの符号なし整数である。lengthの後には、16ビットのreserved_for_future_useが用意される。
number_of_primary_video_stream_entriesは、STN_table()の中でエントリーされる(登録される)primary_video_stream_idが与えられるストリーム数を示す。primary_video_stream_idは、ビデオストリームを識別するための情報であり、primary_video_stream_numberは、ビデオ切り替えに使われる、ユーザから見えるビデオストリーム番号である。
number_of_primary_audio_stream_entriesは、STN_table()の中でエントリーされるprimary_audio_stream_idが与えられるストリーム数を示す。primary_audio_stream_idは、オーディオストリームを識別するための情報であり、primary_audio_stream_numberは、音声切り替えに使われるユーザから見えるオーディオストリーム番号である。
number_of_PG_txtST_stream_entriesは、STN_table()の中でエントリーされるPG_txtST_stream_idが与えられるストリーム数を示す。この中では、DVDのサブピクチャ、または、所定のGUI表示画面のようなビットマップ字幕をランレングス符号化したストリーム(PG, Presentation Graphics stream)とテキスト字幕ファイル(txtST)がエントリーされる。PG_txtST_stream_idは、字幕ストリームを識別するための情報であり、PG_txtST_stream_numberは、字幕切り替えに使われるユーザから見える字幕ストリーム番号(テキストサブタイトルストリームの番号)である。
number_of_IG_stream_entriesは、STN_table()の中でエントリーされる IG_stream_idが与えられるストリーム数を示す。この中では、インタラクティブグラフィックスストリームがエントリーされる。IG_stream_idは、インタラクティブグラフィックスストリームを識別するための情報であり、IG_stream_numberは、グラフィックス切り替えに使われるユーザから見えるグラフィックスストリーム番号である。
なお、インタラクティブグラフィックスストリームにより再生されるインタラクティブグラフィックメニュー(Interactive graphics presentation menu)は、例えば、ユーザの操作入力を受けることが可能なボタンやアイコン、または、サムネイルなどのアイテムを含ませることができる。インタラクティブグラフィックメニューには、ユーザによるON/OFFの操作入力を基に、インタラクティブグラフィックを表示させたり、表示を取り消したりすることが可能な“Pop-up menu”と、インタラクティブグラフィックが常時表示される“Always-on”の2種類の表示方法が用意されている。
number_of_secondary_audio_stream_entriesは、STN_table()の中でエントリーされる(登録される)secondary_audio_stream_idが与えられるストリーム数を示す。secondary_audio_stream_idは、オーディオストリームを識別するための情報であり、secondary_audio_stream_numberは、オーディオ切り替えに使われる、ユーザから見えるオーディオストリーム番号である。
number_of_secondary_video_stream_entriesは、STN_table()の中でエントリーされる(登録される)secondary_video_stream_idが与えられるストリーム数を示す。secondary_video_stream_idは、ビデオストリームを識別するための情報であり、secondary_video_stream_numberは、ビデオ切り替えに使われる、ユーザから見えるビデオストリーム番号である。
そして、number_of_PiP_PG_textST_stream_entries_plusは、STN_table()の中でエントリーされる(登録される)ピクチャインピクチャ用の字幕ストリーム(PiP_PG_textST_stream)のストリーム数を示す。
プライマリビデオストリームID (primary_video_stream_id)のforループの中で、順番にstream_entry()ごとに特定される1つのビデオエレメンタリストリームに、0からprimary_video_stream_idが与えられる。なお、プライマリビデオストリームID(primary_video_stream_id)の代わりに、プライマリビデオストリーム番号(primary_video_stream_number)を用いるようにしてもよい。この場合、primary_video_stream_numberは、0ではなく1から与えられる。すなわち、primary_video_stream_idの値に1を加算したものがprimary_video_stream_numberである。ビデオストリーム番号は、ビデオ切り替えに使われる、ユーザから見えるビデオストリーム番号であるので、1から定義される。
それぞれのforループの中のstream_entry()については、図17を用いて後述する。
また、それぞれのforループの中のstream_attribute()は、stream_entry()ごとに特定される1つのエレメンタリストリームのストリーム属性情報を与える。すなわち、このstream_attribute()には、stream_entry()ごとに特定される1つのエレメンタリストリームのストリーム属性情報が記述されている。stream_attribute()については、図18を用いて後述する。
また、同様に、プライマリオーディオストリームID (primary_audio_stream_id)のforループの中で、順番にstream_entry()ごとに特定される1つのオーディオエレメンタリストリームに、0からprimary_audio_stream_idが与えられる。なお、ビデオストリームの場合と同様に、プライマリオーディオストリームID(primary_audio_stream_id)の代わりに、プライマリオーディオストリーム番号(primary_audio_stream_number)を用いるようにしてもよい。この場合、primary_audio_stream_numberは、0ではなく1から与えられる。すなわち、primary_audio_stream_idの値に1を加算したものがprimary_audio_stream_numberである。オーディオストリーム番号は、音声切り替えに使われる、ユーザから見えるオーディオストリーム番号であるので、1から定義される。
同様に、字幕ストリームID (PG_txtST_stream_id)のforループの中で、順番にstream_entry()ごとに特定される1つのビットマップ字幕エレメンタリストリームまたはテキスト字幕に、0からPG_txtST_stream_idが与えられる。また、PiP_ PG_txtST_streamについても、同様にして、連続したIDが与えられる。ビデオストリームの場合と同様に、字幕ストリームID(PG_txtST_stream_id)の代わりに、字幕ストリーム番号(PG_txtST_stream_number)を用いるようにしてもよい。この場合、PG_txtST_stream_numberは、0ではなく1から与えられる。すなわち、PG_txtST_stream_idの値に1を加算したものがPG_txtST_stream_numberである。字幕ストリーム番号は、字幕切り替えに使われるユーザから見える字幕ストリーム番号(テキストサブタイトルストリームの番号)であるので、1から定義される。
同様に、グラフィックスストリームID (IG_stream_id)のforループの中で、順番にstream_entry()ごとに特定される1つのインタラクティブグラフィックスエレメンタリストリームに、0からIG_stream_idが与えられる。なお、ビデオストリームの場合と同様に、グラフィックスストリームID(IG_stream_id)の代わりに、グラフィックスストリーム番号(IG_stream_number)を用いるようにしてもよい。この場合、IG_stream_numberは、0ではなく1から与えられる。すなわち、IG_stream_idの値に1を加算したものがIG_stream_numberである。グラフィックスストリーム番号は、グラフィックス切り替えに使われるユーザから見えるグラフィックスストリーム番号であるので、1から定義される。
また、同様に、セカンダリオーディオストリームID (secondary_audio_stream_id)のforループの中で、順番にstream_entry()ごとに特定される1つのオーディオエレメンタリストリームに、0からsecondary_audio_stream_idが与えられる。なお、ビデオストリームの場合と同様に、セカンダリオーディオストリームID(secondary_audio_stream_id)の代わりに、セカンダリオーディオストリーム番号(secondary_audio_stream_number)を用いるようにしてもよい。この場合、secondary_audio_stream_numberは、0ではなく1から与えられる。すなわち、secondary_audio_stream_idの値に1を加算したものがsecondary_audio_stream_numberである。セカンダリオーディオストリーム番号は、音声切り替えに使われる、ユーザから見えるセカンダリオーディオストリーム番号であるので、1から定義される。
そして、comb_info_Secondary_audio_Primary_audio()のブロックは、セカンダリオーディオとプライマリオーディオの組み合わせを示す。
comb_info_Secondary_audio_Primary_audio()のブロック内において、number_of_primary_audio_stream_ref_entriesの8ビットのフィールドは、セカンダリオーディオストリームと組み合わせることが出来るプライマリオーディオストリームの数を示す。そして、primary_audio_stream_id_refの8ビットのフィールドは、セカンダリオーディオストリームと組み合わせることが出来るプライマリオーディオストリームのIDを示す。
また、同様に、セカンダリビデオストリームID (secondary_video_stream_id)のforループの中で、順番にstream_entry()ごとに特定される1つのオーディオエレメンタリストリームに、0からsecondary_video_stream_idが与えられる。なお、ビデオストリームの場合と同様に、セカンダリビデオストリームID(secondary_video_stream_id)の代わりに、セカンダリビデオストリーム番号(secondary_video_stream_number)を用いるようにしてもよい。この場合、secondary_video_stream_numberは、0ではなく1から与えられる。すなわち、secondary_video_stream_idの値に1を加算したものがsecondary_video_stream_numberである。セカンダリビデオストリーム番号は、音声切り替えに使われる、ユーザから見えるセカンダリビデオストリーム番号であるので、1から定義される。
次に、comb_info_Secondary_video_Secondary_audio()のブロックは、セカンダリビデオストリームとセカンダリオーディオストリームの組み合わせを示す。
comb_info_Secondary_video_Secondary_audio()のブロック内において、number_of_Secondary_audio_stream_ref_entriesの8ビットのフィールドは、セカンダリビデオストリームと組み合わせることが出来るセカンダリオーディオストリームの数を示す。そして、Secondary_audio_stream_id_refの8ビットのフィールドは、セカンダリビデオストリームと組み合わせることが出来るセカンダリオーディオストリームのIDを示す。
そして、comb_info_Secondary_video_PiP_PG_textST()のブロックは、セカンダリビデオストリームとピクチャインピクチャアプリケーション用のPG・テキスト字幕のストリームの組み合わせを示す。
comb_info_Secondary_video_PiP_PG_textST()のブロック内において、number_of_PiP_PG_textST_ref_entriesの8ビットのフィールドは、セカンダリビデオストリームと組み合わせることが出来るPIPアプリケーション用のPG・テキスト字幕のストリームの数を示す。また、PiP_PG_textST_stream_id_refの8ビットのフィールドは、セカンダリビデオストリームと組み合わせることが出来るピクチャインピクチャアプリケーション用のPG・テキスト字幕のストリームのIDを示す。
このようなSTN_tableを用いることにより、プライマリビデオストリームと同時再生され得る、セカンダリビデオストリーム、プライマリオーディオストリーム、セカンダリオーディオストリーム、および、サブタイトルストリーム(PG TextSTストリーム)の組み合わせに加えて、ピクチャインピクチャアプリケーション用のPG・テキスト字幕ストリーム(PiP PG TextSTストリーム)の組み合わせとして矛盾するような組み合わせを選択することを防ぐようにすることができる。
図17は、Stream_entry()のシンタクスを示す図である。
type=1では、PlayItemによって参照されるClip(Main Clip)の中に多重化されている複数のエレメンタリストリームの中から1つのエレメンタリストリームを特定するために、16ビットのパケットID(PID)が指定される。ref_to_stream_PID_of_mainClipが、このPIDを示している。すなわち、type=1では、メインClipAVストリームファイルの中のPIDを指定するだけでストリームが決定される。
type=2では、SubPathが一度に複数個のClipsを参照し、それぞれのClipが複数のエレメンタリストリームを多重化する場合に、SubPathによって参照される1つのClip(SubClip)の複数のエレメンタリストリームの中から1つのエレメンタリストリームを特定するために、そのSubPathのSubPath_id、Clip id、およびパケットID(PID)が指定される。ref_to_SubPath_idがこのSubPath_idを示し、ref_to_SubClip_entry_idがこのClip idを示し、ref_to_stream_PID_of_SubClipがこのPIDを示している。SubPlayItemの中で複数のClipが参照され、さらにこのClipに複数のエレメンタリストリームが参照されている場合に用いられる。
このように、type(type1とtype2の2つのtype)を使うことで、PlayItemとそれに関連付けられて再生される1つ以上のSubPathが用意されている場合に、このPlayItemが参照するClipと1つ以上のSubPathが参照するClipの中から1つのエレメンタリストリームを特定することができる。なお、type=1はMain Pathが参照するClip(メインClip)を示しており、type=2はSub Pathが参照するClip(サブClip)を示している。
そして、type=3は、対応するPlayItemにおいて、MainClipに含まれ、SubPathによって参照されるエレメンタリストリームを識別するためのものである。
すなわち、type=3では、SubPathがMainPathと同じClipを参照し、換言すれば、MainClipに複数のエレメンタリストリームが多重化され、MainPathとSubPathとのいずれも、MainClipに多重化されているエレメンタリストリームのうちのいずれかを参照している場合に、MainClipの複数のエレメンタリストリームの中から、SubPathによって参照される1つのエレメンタリストリームを再生時に特定するために、ref_to_stream_PID_of_MainClipにより、MainClipのパケットID(PID)が指定される。また、ref_to_SubPath_idによりSubPath_idが示され、このSubPath_idにより図9のPlayList()で定義されたSubPathが特定され、このSubPathから対応するSubPlayItem(図28)が呼び出されることにより、エレメンタリストリームの再生時間(IN_time, OUT_time)等を把握することができるようになされている。
なお、type=3、すなわち、MainClipに複数のエレメンタリストリームが多重化され、MainPathとSubPathとのいずれも、MainClipに多重化されているエレメンタリストリームのうちのいずれかを参照するのは、図27を用いて後述するSubPath_typeが、SubPath_type =7である場合である。
このように、type(type1乃至type3の3つのtype)を使うことで、PlayItemとそれに関連付けられて再生される1つ以上のSubPathが用意されている場合に、このPlayItemが参照するClipが、さらに、SubPathから参照されている場合であっても、Clipの中から1つのエレメンタリストリームを特定することができる。
次に、stream_attribute()のシンタクスについて図18を参照して説明する。
lengthは、このlengthフィールドの直後からstream_attribute()の最後までのバイト数を示す16ビットの符号なし整数である。
stream_coding_typeは、図19に示されるようにエレメンタリストリームの符号化タイプを示す。エレメンタリストリームの符号化タイプとしては、MPEG-2 video stream、HDMV LPCM audio、Dolby AC-3 audio、dts audio、Presentation graphics stream、Interactive graphics stream、およびText subtitle streamが記述される。なお、このstream_coding_typeを拡張し、MPEG−4 AVC、VC−1等の他のコーディックにより圧縮されたビデオストリームを扱えるようにしてもよい。
video_formatは、図20に示されるようにビデオエレメンタリストリームのビデオフォーマットを示す。ビデオエレメンタリストリームのビデオフォーマットとしては、480i、576i、480p、1080i、720p、および1080pが記述される。
frame_rateは、図21に示されるように、ビデオエレメンタリストリームのフレームレートを示す。ビデオエレメンタリストリームのフレームレートとしては、24000/1001、24、25、30000/1001、50、および60000/1001が記述される。
aspect_ratioは、図22に示されるようにビデオエレメンタリストリームのアスペクト比情報を示す。ビデオエレメンタリストリームのアスペクト比情報としては、4:3 display aspect ratio、および16:9 display aspect ratioが記述される。
audio_presentation_typeは、図23に示されるようにオーディオエレメンタリストリームのプレゼンテーションタイプ情報を示す。オーディオエレメンタリストリームのプレゼンテーションタイプ情報としては、single mono channel、dual mono channel、stereo(2-channel)、およびmulti-channelが記述される。
sampling_frequencyは、図24に示されるようにオーディオエレメンタリストリームのサンプリング周波数を示す。オーディオエレメンタリストリームのサンプリング周波数としては、48kHz、および96kHzが記述される。
audio_language_codeは、オーディオエレメンタリストリームの言語コード(日本語、韓国語、中国語など)を示す。
PG_language_codeは、ビットマップ字幕エレメンタリストリームの言語コード(日本語、韓国語、中国語など)を示す。
IG_language_code、インタラクティブグラフィックスエレメンタリストリームの言語コード(日本語、韓国語、中国語など)を示す。
textST_language_codeは、テキスト字幕エレメンタリストリームの言語コード(日本語、韓国語、中国語など)を示す。
character_codeは、図25に示されるようにテキスト字幕エレメンタリストリームのキャラクタコードを示す。テキスト字幕エレメンタリストリームのキャラクタコードとしては、Unicode V1.1(ISO 10646-1)、Shift JIS(Japanese)、KSC 5601-1987 including KSC 5653 for Roman character(Korean)、GB 18030-2000(Chinese)、GB2312(Chinese)、およびBIG5(Chinese)が記述される。
以下に、図18のstream_attribute()のシンタクスについて、図18と、図19乃至図25を用いて具体的な例を説明する。
エレメンタリストリームの符号化タイプ(図18のstream_coding_type)がMPEG-2 video stream(図19)である場合、stream_attribute()には、そのエレメンタリストリームのビデオフォーマット(図20)、フレームレート(図21)、およびアスペクト比情報(図22)が含まれる。
エレメンタリストリームの符号化タイプ(図18のstream_coding_type)がHDMV LPCM audio、Dolby AC-3 audio、またはdts audio(図19)である場合、stream_attribute()には、そのオーディオエレメンタリストリームのプレゼンテーションタイプ情報(図23)、サンプリング周波数(図24)、および言語コードが含まれる。
エレメンタリストリームの符号化タイプ(図18のstream_coding_type)がPresentation graphics stream(図19)である場合、stream_attribute()には、そのビットマップ字幕エレメンタリストリームの言語コードが含まれる。
エレメンタリストリームの符号化タイプ(図18のstream_coding_type)がInteractive graphics stream(図19)である場合、stream_attribute()には、そのインタラクティブグラフィックスエレメンタリストリームの言語コードが含まれる。
エレメンタリストリームの符号化タイプ(図18のstream_coding_type)がText subtitle stream(図19)である場合、stream_attribute()には、そのテキスト字幕エレメンタリストリームのキャラクタコード(図25)、言語コードが含まれる。
なお、これらの属性情報はこれに限定されない。
このように、PlayItemとそれに関連付けられて再生される1つ以上のSubPathが用意されている場合に、このPlayItemが参照するClipと1つ以上のSubPathが参照するClipの中から、stream_entry()によって特定されたエレメンタリストリーム(type=1とtype=2の場合は1つ、type=3の場合は2つ)の属性情報をstream_attribute()によって知ることができる。
再生装置は、この属性情報(stream_attribute())を調べることによって、そのエレメンタリストリームを自分自身が再生する機能を持っているか否かを調べることができる。また、再生装置は、この属性情報を調べることによって、再生装置の言語設定の初期情報に対応したエレメンタリストリームの選択することができる。
例えば、再生装置が、ビットマップ字幕エレメンタリストリームの再生機能だけを有し、テキスト字幕エレメンタリストリームの再生機能を有していない場合を想定する。この再生装置に対して、ユーザが言語切り替えを指示した場合、再生装置は、字幕ストリームID (PG_txtST_stream_id)のforループの中から、ビットマップ字幕エレメンタリストリームだけを順次選択して、再生する。
また、例えば、再生装置の言語設定の初期情報が日本語である場合を想定する。この再生装置に対して、ユーザが副音声(すなわちSecondary audio)への切り替えまたは、主音声と副音声とのミキシング再生を指示した場合、再生装置は、副音声として用意されているオーディオストリームID (Audio stream id)のforループの中から、言語コードが日本語であるオーディオエレメンタリストリームだけを順次選択して、再生する。
さらに、例えば、メインパスにより参照される、ビデオストリームとオーディオストリームからなるAVストリーム(映画)を再生する場合、再生装置に対して、ユーザが音声の切り替えを指令し、サブパスにより参照されるオーディオストリーム(監督や出演者によるコメント)とのミキシング再生が指令された場合、再生装置は、メインパスにより参照される1stオーディオストリームに、さらに、サブパスにより参照される2ndオーディオストリームをミキシング(重畳)して、ビデオストリームとともに再生する。
また、例えば、ユーザが音声の切り替えを指令し、2つのサブパスにより参照される2つのオーディオストリームのミキシング再生が再生装置に対して指令された場合(図16と図17のシンタクスが用いられ、図17のtypeがともに2とされているオーディオストリームIDに対応するオーディオストリームの再生が指令された場合)、再生装置は、2つのサブパスによりそれぞれ参照される2つのオーディオストリームをミキシング(重畳)して、ビデオストリームとともに再生する。
このようにして、PlayItem()の中にSTN_table()を設けることにより、PlayItemとそれに関連付けられて再生される1つ以上のSubPathが用意されている場合に、ユーザによる音声切り替えや字幕切り替えという操作により、このPlayItemが参照するClipと1つ以上のSubPathが参照するClipの中から再生されるストリームを選ぶことができる仕組みが提供されるので、再生するAVストリームとは異なるストリームやデータファイルに対しても、インタラクティブな操作を行うことができる。
図26は、SubPath()のシンタクスを示す図である。
lengthは、このlengthフィールドの直後からSub Path ()の最後までのバイト数を示す32ビットの符号なし整数である。すなわち、reserved_for_future_useからSubPath()の最後までのバイト数を示すフィールドである。このlengthの後には、8ビットのreserved_for_future_useが用意される。SubPath_typeは、SubPathのアプリケーション種類を示す8ビットのフィールドである。SubPath_typeは、例えば、Sub Pathがオーディオであるか、ビットマップ字幕であるか、テキスト字幕であるかなどの種類を示す場合に利用される。このSubPath_typeの例については、図27を参照して後述する。
SubPath_typeの後には、15ビットのreserved_for_future_useが用意される。is_repeat_SubPathは、SubPathの再生方法を指定する1ビットのフィールドであり、メインパスの再生の間にSubPathの再生を繰り返し行うか、またはSubPathの再生を1回だけ行うかを示すものである。例えば、メインAVストリームとサブパスが指定するClipに含まれるストリームとの再生タイミングが異なる場合(メインパスを静止画のスライドショーとし、サブパスのオーディオパスをメインパスのBGM(バックグラウンドミュージック)として使う場合など)に利用される。
Is_repeat_SubPathの後には、8ビットのreserved_for_future_useが用意される。number_of_SubPlayItemsは、1つのSubPathの中にあるSubPlayItemの数(エントリー数)を示す8ビットのフィールドである。例えば、number_of_SubPlayItemsは、図6のSubPath_id=0のSubPlayItemは1個であり、SubPath_id=1のSubPlayItemは2個である。その後のfor文では、SubPlayItemの数だけ、SubPlayItemが参照される。
図27は、SubPath_type(サブパスのタイプ)の例を説明する図である。
なお、「Out-of-mux」という記述は、サブパスで参照されるESが含まれるTSと、メインパスで参照されるESが含まれるTSとが異なっている場合のサブパスのタイプ(種類)、即ち、サブパスで参照されるESが、メインパスで参照されるプレイアイテムが含まれるTSに多重化されていないサブパスのタイプ(種類)であることを示している。以下、かかる種類を、メインパスTS非多重型のパスと称する。
そして、「In-mux」という記述は、サブパスで参照されるESが含まれるTSと、メインパスで参照される1以上のESが含まれるTSとが同一の場合のサブパスのタイプ(種類)、即ち、サブパスで参照されるESが、メインパスで参照されるESを含むTSに多重化されているサブパスのタイプ(種類)であることを示している。換言すれば、メインクリップに含まれるメインTSに、メインのClip AVストリームと、サブのClip AVストリームとが含まれている状態である。以下、かかる種類を、メインパスTS多重型のパスと称する。
また、メインパスで参照されるESとサブパスで参照されるESとが非同期である場合、そのサブパスのタイプ(種類)を、以下、非同期型のパスと称する。一方、メインパスで参照されるESとサブパスで参照されるESとが同期する場合、そのサブパスのタイプ(種類)を、以下、同期型のパスと称する。
SubPath_type=0,1は、reservedとされている。
SubPath_type=2は、Audio presentation path of the Browsable slideshow(プラウザブルスライドショーのオーディオプレゼンテーションパス)とされている。例えば、SubPath_type=2は、メインパスTS非多重型のパスであり、プレイリストの中において、サブパスで参照されるオーディオプレゼンテーションパスと、プレイアイテムで参照されるメインパスとが非同期である(非同期型のパスである)ことを示している。
SubPath_type=3は、Interactive graphics presentation menu(インタラクティブグラフィックスのプレゼンテーションメニュー)とされている。例えば、SubPath_type=3は、メインパスTS非多重型のパスであり、プレイリストの中において、サブパスで参照されるインタラクティブグラフィックスのメニューと、プレイアイテムで参照されるメインパスとが非同期(非同期型のパスである)であることを示している。
SubPath_type=4は、Text subtitle presentation path(テキスト字幕のプレゼンテーションパス)とされている。例えば、SubPath_type=4は、メインパスTS非多重型のパスであり、プレイリストの中において、サブパスで参照されるテキスト字幕のプレゼンテーションパスと、プレイアイテムで参照されるメインパスとが同期している(同期型のパスである)ことを示している。
SubPath_type=5は、Out-of-mux and AV Synchronized type of one or more elementary streams path(Primary audio/PG/IG/Secondary audio path).Out of mux and AV synchronized type of Picture-in-Picture presentation path which contains one or more elementary streams pathsとされている。即ち、SubPath_type=5は、メインパスTS非多重型、かつ、同期型のパスであって、1本以上のES(Primary audio/PG/IG/Secondary audio)のパスや、ピクチャインピクチャプレゼンテーションパスとされている。
ここで、ピクチャインピクチャプレゼンテーションパスとは、ピクチャインピクチャ手法において、所定のプライマリビデオストリーム(メインパスで参照されるビデオストリーム)に対応して再生される、プライマリオーディオストリームストリーム、セカンダリビデオストリーム、セカンダリオーディオストリーム、および、サブタイトルストリームのうちの1以上のパス(そのようなサブパスのタイプ)であることをいう。
SubPath_type=6は、Out-of-mux and AV non-Synchronized type of Picture-in-Picture presentation path which contains one or more elementary streams pathsとされている。即ち、SubPath_type=6は、メインパスTS非多重型、かつ、非同期型のパスであって、ピクチャインピクチャプレゼンテーションパス(1以上のESのパス)とされている。
SubPath_type=7は、In-mux type and AV Synchronized type of Picture-in-Picture presentation path which contains one or more elementary streams pathsとされている。
即ち、SubPath_type=7は、メインパスTS多重型、かつ、同期型のパスであって、ピクチャインピクチャプレゼンテーションパス(1以上のESのパス)とされている。
そして、SubPath_type=8乃至255は予備(reserved)とされている。
図28は、SubPlayItem(i)のシンタクスを示す図である。
lengthは、このlengthフィールドの直後からSub playItem ()の最後までのバイト数を示す16ビットの符号なし整数である。
図28においては、SubPlayItemが1つのClip を参照する場合と、複数のClip を参照する場合に分けられている。
最初に、SubPlayItemが1つのClipを参照する場合について説明する。
SubPlayItemには、Clipを指定するためのClip_Information_file_ name[0]が含まれる。また、Clipのコーディック方式を指定するClip_codec_identifier[0]、reserved_for_future_use、マルチクリップの登録の有無を示すフラグであるis_multi_Clip_entries、STC不連続点(システムタイムベースの不連続点)に関する情報であるref_to_STC_id[0]を含む。is_multi_Clip_entriesのフラグが立っている場合、SubPlayItemが複数のClipを参照する場合のシンタクスが参照される。また、Clipの中にあるSub Pathの再生区間を指定するためのSubPlayItem_IN_timeとSubPlayItem_OUT_timeを含む。さらに、main pathの時間軸上でSub Pathが再生開始する時刻を指定するためsync_PlayItem_id と sync_start_PTS_of_PlayItemを含む。
このsync_PlayItem_id と sync_start_PTS_of_PlayItemは、上述したように、図6と図7の場合(メインAVストリームとサブパスにより示されるファイルに含まれるストリームの再生タイミングが同じである場合)に使用され、メインAVストリームとサブパスにより示されるファイルに含まれるストリームの再生タイミングが異なる場合(例えば、静止画により構成されるスライドショーのBGMのように、メインパスにより参照される静止画像とサブパスにより参照されるオーディオとが同期しない場合)には使用されない。また、SubPlayItem_IN_time、SubPlayItem_OUT_time、sync_PlayItem_id、sync_start_PTS_of_PlayItemは、SubPlayItemが参照するClipにおいて共通に使用される。
次に、SubPlayItemが複数のClipを参照する場合(if(is_multi_Clip_entries==1b)である場合、すなわちマルチクリップの登録が行われている場合)について説明する。具体的には、図7に示されるように、SubPlayItemが複数のClip を参照する場合を示す。
num_of_Clip_entriesは、Clipの数を示しており、Clip_Information_file_name[SubClip_entry_id]の数が、Clip_Information_file_ name[0]を除く、Clipsを指定する。すなわち、Clip_Information_file_ name[0]を除く、Clip_Information_file_ name[1]、Clip_Information_file_ name[2]などのClipを指定する。また、SubPlayItemは、Clipのコーディック方式を指定するClip_codec_identifier[SubClip_entry_id]、STC不連続点(システムタイムベースの不連続点)に関する情報であるref_to_STC_id[SubClip_entry_id]、およびreserved_for_future_useを含む。
なお、複数のClipの間で、SubPlayItem_IN_time, SubPlayItem_OUT_time、sync_PlayItem_id、およびsync_start_PTS_of_PlayItemは共通して使われる。図7の例の場合、SubPlayItem_IN_time, SubPlayItem_OUT_time、sync_PlayItem_id、およびsync_start_PTS_of_PlayItemは、SubClip_entry_id=0とSubClip_entry_id=1との間で共通して使用されるものであり、選択されたSubClip_entry_idに対するText based subtitleがこのSubPlayItem_IN_time, SubPlayItem_OUT_time、sync_PlayItem_id、およびsync_start_PTS_of_PlayItemに基づいて再生される。
ここで、SubClip_entry_idの値は、SubPlayItemの中にあるClip_Information_file_name[SubClip_entry_id]が現れる順番に1から割り振られる。また、Clip_Information_file_ name[0]のSubClip_entry_idは0である。
次に、図29は、図8乃至図28を用いて説明したデータ構造を有するデータ、すなわち、上述したメインパスとサブパスを有するPlayListを再生する再生装置1の構成を示すブロック図である。
コントローラ21は、予め用意されている制御プログラムを実行するか、または、ストレージドライブ22を制御して、例えば、光ディスクなどの記録媒体11に記録されているナビゲーションプログラムを読み出すか、または、ローカルストレージ24に記録されているナビゲーションプログラムを読み出し、メモリ23に展開して実行することで、再生装置1の全体の動作を制御する。例えば、コントローラ21は、記録媒体11が装着されたとき、または、所定の操作入力を受けた場合、所定のメニュー画面(GUI表示画面)を外部の表示装置に表示させることができる。
すなわち、コントローラ21は、ディスクナビゲーションプログラムを実行することにより、または、光ディスクなどの記録媒体11、または、ローカルストレージ24に記録されているコンテンツ(PlayListおよびAVストリームなどで構成されたコンテンツ)に含まれる、IG(インタラクティブグラフィックス)またはPG(プレゼンテーショングラフィック)を用いて、所定のメニュー画面(GUI表示画面)や、ボタン、アイコン、サムネイルなどの外部の表示装置への表示を制御することができる。
具体的には、コントローラ21は、ディスクナビゲーションプログラムを実行することにより、または、光ディスクなどの記録媒体11、または、ローカルストレージ24に記録されているコンテンツに含まれるIGを用いて、ユーザの操作入力を受けるためのボタンなどを含む所定のメニュー画面(GUI表示画面)や、ユーザの操作入力を受けるためのボタンやアイコン、または、サムネイルの外部の表示装置への表示を制御することができ、更に、IGまたはPGを用いて、ユーザに現在の設定状態を認識させるためのアイコンやサムネイルなどの、外部の表示装置への表示を制御することができる。GUI表示画面、または、ボタンやアイコンなどの例については、図35乃至図38を用いて後述する。
ストレージドライブ22は、コントローラ21による制御に従って記録媒体11からデータを読み出し、読み出したデータを、コントローラ21、メモリ23、または、AVデコーダ部26に出力する。記録媒体11から読み出された情報が、ナビゲーションプログラムやPlayListなどであった場合、ストレージドライブ22により読み出された情報は、コントローラ21、または、メモリ23に出力される。記録媒体11から読み出された情報が、AVストリームやテキストデータであった場合、ストレージドライブ22により読み出された情報は、AVデコーダ部26に出力される。
メモリ23は、コントローラ21が各種の処理を実行する上において必要なデータなどを適宜記憶する。さらに、メモリ23の記憶領域の一部には、再生装置1の再生処理において必要な情報が設定される各種のレジスタが設けられている。レジスタのうち、例えば、PG TextSTやピクチャインピクチャに関する情報が設定されるレジスタの詳細例については、図32乃至図34を用いて後述する。
ローカルストレージ24は、例えば、HDD(Hard Disk Drive)などより構成され、上述したようなAVストリームなどのデータ、または、それらを再生させるために必要なデータを記憶する。
インターネットインタフェース25は、有線または無線によりネットワーク2に接続されており、コントローラ21からの制御に従って、ネットワーク2を介して、サーバ3との間で通信を行い、サーバ3からダウンロードされたデータをローカルストレージ24に供給する。サーバ3からは、例えば、そのとき再生装置1に装着されている記録媒体11に記録されている、図4を用いて説明したデータをアップデートさせるデータがコンテンツとしてダウンロードされる。ローカルストレージ24は、サーバ3からネットワーク2経由でダウンロードしたコンテンツを記録することができる。
AVデコーダ部26は、ストレージドライブ22、または、ローカルストレージ24から供給されるAVストリーム、または、テキストデータをデコードすることができ、得られたビデオ信号およびオーディオ信号を外部の表示装置に出力する。
表示装置においては、AVデコーダ部26によりデコードされた信号に基づいて、例えば、記録媒体11に記録されているコンテンツの出力(映像の表示、音声の出力)が行われる。
操作入力部29は、例えば、ボタン、キー、タッチパネル、ジョグダイヤル、マウスなどの入力デバイスや、所定のリモートコマンダから送信される赤外線などの信号を受信する受信部により構成され、ユーザの操作入力を取得し、コントローラ21に供給する。
また、コントローラ21には、必要に応じてドライブ27も接続されており、ドライブ27には、例えば、磁気ディスク(フレキシブルディスクを含む)、光ディスク(CD-ROM(Compact Disk-Read Only Memory),DVDを含む)、光磁気ディスク(MD(登録商標)(Mini-Disk)を含む)、もしくは半導体メモリなどよりなるリムーバブルメディア28が装着される。
最初に、コントローラ21がストレージドライブ22を介して、HDD、Blu−ray Disc(商標)、またはDVDなどの記録媒体11から、または、ローカルストレージ24から、必要に応じて、GUI表示画面、または、ボタンやアイコンなどの表示に関連するデータ(ディスクナビゲーションプログラム、または、IGストリームやPGストリーム)を読み出すとともに、PlayListファイルを読み出し、PlayListファイルの情報に基づいて、ストレージドライブ22を介して、HDD、Blu−ray Disc(商標)、またはDVDなどの記録媒体11から、または、ローカルストレージ24から、AVストリームやAVデータを読み出す。また、コントローラ21は、メモリ23のレジスタに登録されている、例えば、再生装置1の言語設定の初期情報などの各種設定情報を読み込む。
ユーザは、操作入力部29を用いて、コントローラ21に対し、音声や字幕などの切り替えの指令、GUI表示画面の表示の指令、または、ボタンなどに対する選択決定などの各種操作入力を行うことができる。
PlayListファイルには、Main Path、Sub Pathの情報の他、上述したSTN_table()が含まれている。コントローラ21は、PlayListファイルに含まれるPlayItemが参照するメインClip AVストリームファイル、SubPlayItemが参照するサブClip AVストリームファイル、およびSubPlayItemが参照するテキストサブタイトルデータを、ストレージドライブ22を介して記録媒体11から、または、ローカルストレージ24から読み出す。ここで、PlayItemが参照するメインClip AVストリームファイルとSubPlayItemが参照するサブClip AVストリームファイルとが、異なる記録媒体に記録されていてもよい。例えば、メインClip AVストリームファイルが記録媒体11に記録されており、対応するサブClip AVストリームファイルは図示せぬネットワーク2を介して供給され、HDDなどのローカルストレージ24に記憶されたものであってもよい。また、逆に、メインClip AVストリームファイルがHDDなどのローカルストレージ24に記憶されたものであり、サブClip AVストリームファイルが記録媒体11に記録されていてもよい。
また、コントローラ21は、メモリ23のレジスタに登録されている各種設定情報を参照して、自分自身(再生装置1)の再生機能に対応するエレメンタリストリームを選択し、再生するよう制御したり、再生装置1の言語設定の初期情報に対応するエレメンタリストリームを選択し、再生するよう制御する。
図30は、図29の再生装置1のAVデコーダ部26の構成例を示すブロック図である。
AVデコーダ部26には、スイッチ32、バッファ51乃至54、PIDフィルタ55、PIDフィルタ56、スイッチ57乃至59、PIDフィルタ60、バックグラウンドデコーダ71、1stビデオデコーダ72−1、2ndビデオデコーダ72−2、プレゼンテーショングラフィックスデコーダ73、インタラクティブグラフィックスデコーダ74、1stオーディオデコーダ75−1、2ndオーディオデコーダ75−2、Text-STコンポジション76、スイッチ77、プリロードバッファ81、バックグラウンドプレーン生成部91、1stビデオプレーン生成部92−1、2ndビデオプレーン生成部92−2、プレゼンテーショングラフィックスプレーン生成部93、インタラクティブグラフィックスプレーン生成部94、バッファ95、ビデオデータ処理部96、ミキシング処理部97、およびミキシング処理部101が設けられている。
1stビデオデコーダ72−1と2ndビデオデコーダ72−2は、ともにビデオストリームをデコードする。基本的には、STN_table()において、primary_video_stream_idで与えられるビデオストリームをデコードするためのものが1stビデオデコーダ72−1であり、Secondary_video_stream_idで与えられるビデオストリームをデコードするためのものが2ndビデオデコーダ72−2である。すなわち、再生装置1は、2つのビデオストリームをデコードするために、2つのビデオデコーダ(1stビデオデコーダ72−1、2ndビデオデコーダ72−2)を有している。また、1stビデオデコーダ72−1は、2ndビデオデコーダ72−2よりも優先的に使用されるビデオデコーダであるものとすることもできる。すなわち、デコードするビデオストリームが1つしかない場合、そのビデオストリームがメインClip AVストリームファイルに含まれるビデオストリームであっても、サブClip AVストリームファイルに含まれるビデオストリームであっても、1stビデオデコーダ72−1でデコードされるようにしてもよい。なお、以下において、1stビデオデコーダ72−1と2ndビデオデコーダ72−2とを個々に区別しない場合、ビデオデコーダ72と称する。
また、1stオーディオデコーダ75−1と2ndオーディオデコーダ75−2も、ともにオーディオストリームをデコードする。基本的には、STN_table()において、primary_audio_stream_idで与えられるオーディオストリームをデコードするためのものが1stオーディオデコーダ75−1であり、Secondary_audio_stream_idで与えられるオーディオストリームをデコードするためのものが2ndオーディオデコーダ75−2である。すなわち、再生装置1は、2つのオーディオストリームをデコードするために、2つのオーディオデコーダ(1stオーディオデコーダ75−1、2ndオーディオデコーダ75−2)を有している。また、1stオーディオデコーダ75−1は、2ndオーディオデコーダ75−2よりも優先的に使用されるオーディオデコーダであるものとすることもできる。すなわち、デコードするオーディオストリームが1つしかない場合、そのオーディオストリームがメインClip AVストリームファイルに含まれるオーディオストリームであっても、サブClip AVストリームファイルに含まれるオーディオストリームであっても、1stオーディオデコーダ75−1でデコードされるようにしてもよい。なお、以下において、1stオーディオデコーダ75−1と2ndオーディオデコーダ75−2とを個々に区別しない場合、オーディオデコーダ75と称する。
コントローラ21により読み出されたファイルデータは、図示せぬ復調、ECC復号部により、復調され、復調された多重化ストリームに誤り訂正が施される。スイッチ32は、復調され、誤り訂正が施されたデータを、コントローラ21からの制御に基づいて、ストリームの種類ごとに選択し、対応するバッファ51乃至54に供給する。具体的には、スイッチ32は、コントローラ21からの制御に基づいて、バックグラウンドイメージデータをバッファ51に供給し、メインClip AVストリームファイルのデータをバッファ52に供給し、サブClipのデータをバッファ53に供給し、Text-STのデータをバッファ54に供給するようスイッチ32を切り替える。
バッファ51は、バックグラウンドイメージデータをバッファリングし、バッファ52は、メインClip AVストリームファイルのデータをバッファリングし、バッファ53は、サブClip AVストリームファイルのデータをバッファリングし、バッファ54は、Text-STデータをバッファリングする。
メインClip AVストリームファイルは、ビデオとオーディオとビットマップ字幕(Presentation Graphics stream)とインタラクティブグラフィックスのうち、ビデオに加えて1つ以上のストリームを多重化したストリーム(例えばトランスポートストリーム)である。サブClip AVストリームファイルは、ビデオとオーディオとビットマップ字幕(Presentation Graphics stream)とインタラクティブグラフィックスとのうち、1つ以上のストリームを多重化したストリームである。なお、テキストサブタイトルデータファイル(Text-ST)のデータは、トランスポートストリームのような多重化ストリームの形式であっても、そうでなくてもよい。
また、メインClip AVストリームファイルとサブClip AVストリームファイルおよびテキストサブタイトルデータを、ストレージドライブ22(記録媒体11)またはローカルストレージ24から読み出すときに、それぞれのファイルを時分割に交互に読み出しても良いし、または、メインClipを読み出す前に、サブClip AVストリームファイルやテキストサブタイトルデータを予め読み出しておき、先行してバッファ(バッファ53またはバッファ54)へプリロードしてもよい。
そして、メインClip AVストリームファイル用リードバッファであるバッファ52から読み出されたストリームデータは、所定のタイミングで、後段のPID(パケットID)フィルタ55へ出力される。このPIDフィルタ55は、入力されたメインClip AVストリームファイルをPID(パケットID)に応じて、後段の各エレメンタリストリームのデコーダへ振り分けて出力する。すなわち、PIDフィルタ55は、ビデオストリームを1stビデオデコーダ72−1と2ndビデオデコーダ72−2への供給元となるPIDフィルタ60に供給し、プレゼンテーショングラフィックスストリームをプレゼンテーショングラフィックスデコーダ73への供給元となるスイッチ57に供給し、インタラクティブグラフィックスストリームをインタラクティブグラフィックスデコーダ74への供給元となるスイッチ58に供給し、オーディオストリームを1stオーディオデコーダ75−1と2ndオーディオデコーダ75−2への供給元となるスイッチ59に供給する。
なお、プレゼンテーショングラフィックスストリームは、上述したように、例えば、ビットマップの字幕データや、アイコン、または、サムネイルなどに対応するデータであり、テキストサブタイトルデータは、上述したように、例えば、テキスト字幕データである。そして、インタラクティブグラフィックストリームは、上述したように、例えば、ユーザの操作入力を受けることが可能なボタンやアイコン、または、サムネイルなどのアイテム、または、これらのアイテムを含むGUI表示画面に対応するデータであるとすることができる。これらのボタンやアイコン、または、サムネイルなどのアイテムには、所定のコマンドを対応付けることができ、ユーザが、これらのアイテムを選択決定する操作入力を行うことにより、対応するコマンドが発行される。
サブClip AVストリームファイル用リードバッファであるバッファ53から読み出されたストリームデータは、所定のタイミングで、後段のPID(パケットID)フィルタ56へ出力される。このPIDフィルタ56は、入力されたサブClip AVストリームファイルをPID(パケットID)に応じて、後段の各エレメンタリストリームのデコーダへ振り分けて出力する。すなわち、PIDフィルタ56は、ビデオストリームを1stビデオデコーダ72−1と2ndビデオデコーダ72−2への供給元となるPIDフィルタ60に供給し、プレゼンテーショングラフィックスストリームをプレゼンテーショングラフィックスデコーダ73への供給元となるスイッチ57に供給し、インタラクティブグラフィックスストリームをインタラクティブグラフィックスデコーダ74への供給元となるスイッチ58に供給し、オーディオストリームを1stオーディオデコーダ75−1と2ndオーディオデコーダ75−2への供給元となるスイッチ59に供給する。
また、PIDフィルタ60には、メインClip AV Streamのビデオストリーム、または、サブClip AV Streamのビデオストリームが、PIDフィルタ55またはPIDフィルタ56を介して入力されてくる。そこで、PIDフィルタ60は、入力されたビデオストリームを、そのPID(パケットID)に応じて、後段の1stビデオデコーダ72−1または2ndビデオデコーダ72−2に振り分けて出力する。即ち、PIDフィルタ60は、プライマリビデオストリームが入力された場合には、そのプライマリビデオストリームを1stビデオデコーダ72−1に供給する。これに対して、PIDフィルタ60は、セカンダリビデオストリームが入力された場合には、そのセカンダリビデオストリームを2ndビデオデコーダ72−2に供給する。
なお、ここでは、プライマリビデオストリームとして、メインClip AV Streamのビデオストリームのみが利用され、サブClip AV Streamのビデオストリームは利用されないとされている。ただし、将来、サブClip AV Streamのビデオストリームもプライマリビデオストリームとして利用され得ることも考慮して、PIDフィルタ56から供給されたサブClip AV Streamのビデオストリームも1stビデオデコーダ72に供給され得るように、PIDフィルタ60が構成されている。すなわち、SubPathにより指定されたサブClipに含まれるビデオストリームのみを再生し、ビデオストリームの再生にメインClipを使わず、オーディオストリームの再生は、サブClip、もしくは、メインClipを用いる場合である。
バックグラウンドイメージデータをバッファリングするバッファ51から読み出されたデータは、所定のタイミングでバックグラウンドデコーダ71に供給される。バックグラウンドデコーダ71は、バックグラウンドイメージデータをデコードし、デコードしたバックグラウンドイメージデータをバックグラウンドプレーン生成部91に供給する。
1stビデオデコーダ72−1は、ビデオストリームをデコードし、デコードしたビデオデータを1stビデオプレーン生成部92−1へ出力する。2ndビデオデコーダ72−2は、ビデオストリームをデコードし、デコードしたビデオデータを2ndビデオプレーン生成部92−2へ出力する。
スイッチ57は、PIDフィルタ55から供給されたメインClip AVストリームファイルに含まれるプレゼンテーショングラフィックスストリームと、PIDフィルタ56から供給されたサブClip AVストリームファイルに含まれるプレゼンテーショングラフィックスストリームのうちのいずれか1つを選択し、選択したプレゼンテーショングラフィックスストリームを、後段のプレゼンテーショングラフィックスデコーダ73に供給する。プレゼンテーショングラフィックスデコーダ73は、プレゼンテーショングラフィックスストリームをデコードし、デコードしたプレゼンテーショングラフィックスストリームのデータをプレゼンテーショングラフィックスプレーン生成部93への供給元となるスイッチ77に供給する。
また、スイッチ58は、PIDフィルタ55から供給されたメインClip AVストリームファイルに含まれるインタラクティブグラフィックスストリームと、PIDフィルタ56から供給されたサブClip AVストリームファイルに含まれるインタラクティブグラフィックスストリームのうちのいずれか1つを選択し、選択したインタラクティブグラフィックスストリームを、後段のインタラクティブグラフィックスストリームデコーダ74に供給する。インタラクティブグラフィックスデコーダ74は、インタラクティブグラフィックスストリームをデコードし、デコードしたインタラクティブグラフィックスストリームのデータを、プリロードバッファ81に供給する。
プリロード用バッファ81は、インタラクティブグラフィックスデコーダ74から供給されたインタラクティブグラフィックスストリームを一時記憶する。例えば、再生装置1が、一度に2つのTS(Transport stream)しか読み出せないという制限が課せられている場合などにおいて、再生装置1は、インタラクティブグラフィックスストリームを予め取得しておくことで(プリロードしておくことで)、ビデオストリームやオーディオストリームを再生するときに、プリロードしておいたインタラクティブグラフィックスストリームも同時再生することができる、といった機能を有している。かかる機能を実現するために、即ち、プリロードされたインタラクティブグラフィックスストリームを、ビデオストリームやオーディオストリームが再生されるタイミングまで保存しておくために、プリロード用バッファ81が設けられているのである。
プリロード用バッファ81に蓄積されたデコード済みのインタラクティブグラフィックスストリームは、所定のタイミングでインタラクティブグラフィックスプレーン生成部94に供給される。
さらに、スイッチ59は、PIDフィルタ55から供給されたメインClip AVストリームファイルに含まれるオーディオストリームと、PIDフィルタ56から供給されたサブClip AVストリームファイルに含まれるオーディオストリームを、後段の1stオーディオデコーダ75−1、または、2ndオーディオデコーダ75−2に供給する。具体的には、スイッチ59は、stream_entry()のtypeの値によって、その選択を切り替える。
1stオーディオデコーダ75−1は、オーディオストリームをデコードし、デコードしたオーディオストリームのデータをミキシング処理部101に供給する。また、2ndオーディオデコーダ75−2は、オーディオストリームをデコードし、デコードしたオーディオストリームのデータをミキシング処理部101に供給する。
ここで、2つのオーディオストリームを重畳して再生するような場合、1stオーディオデコーダ75−1によりデコードされたオーディオストリームと、2ndオーディオデコーダ75−2によりデコードされたオーディオストリームとが、ミキシング処理部101に供給される。
例えば、メインパスで参照される1stオーディオストリームとサブパスで参照される2ndオーディオストリームとを重畳して再生するような場合、1stオーディオデコーダ75−1によりデコードされたメインClip AVストリームファイルのオーディオストリームと、2ndオーディオデコーダ75−2によりデコードされたサブClip AVストリームファイルのオーディオストリームとが、ミキシング処理部101に供給される。
また、例えば、サブパスで参照される2本のオーディオストリームを重畳して再生するような場合、1stオーディオデコーダ75−1によりデコードされたサブClip AVストリームファイルのオーディオストリームと、2ndオーディオデコーダ75−2によりデコードされたサブClip AVストリームファイルのオーディオストリームとが、ミキシング処理部101に供給される。
ミキシング処理部101は、1stオーディオデコーダ75−1からのオーディオデータと、2ndオーディオデコーダ75−2からのオーディオデータとをミキシング(重畳)し、後段のミキシング処理部97に出力する。なお、本実施の形態においては、1stオーディオデコーダ75−1から出力されるオーディオデータと2ndオーディオデコーダ75−2から出力されるオーディオデータとをミキシング(重畳)することを、合成するとも称する。すなわち、合成とは、2つのオーディオデータを、ミキシングすることも示すものとする。
また、スイッチ32により選択されたサウンドデータは、バッファ95に供給され、バッファリングされる。バッファ95は、所定のタイミングでサウンドデータをミキシング処理部97に供給する。サウンドデータは、例えば、メニュー選択などによる効果音のデータなどである。ミキシング処理部97は、ミキシング処理部101によりミキシングされたオーディオデータ(1stオーディオデコーダ75−1から出力されたオーディオデータと2ndオーディオデコーダ75−2から出力されたオーディオデータとがミキシングされたオーディオデータ)と、バッファ95から供給されてきたサウンドデータをミキシング(重畳、または合成)し、音声信号として出力する。
テキストサブタイトル用リードバッファであるバッファ54から読み出されたデータは、所定のタイミングで、後段のテキストサブタイトルコンポジション(デコーダ)76へ出力される。テキストサブタイトルコンポジション76は、Text-STデータをデコードし、スイッチ77に供給する。
スイッチ77は、プレゼンテーショングラフィックスデコーダ73によりデコードされたプレゼンテーショングラフィックスストリームと、Text-ST(テキストサブタイトルデータ)のうち、いずれかを選択し、選択したデータをプレゼンテーショングラフィックスプレーン生成部93に供給する。すなわち、プレゼンテーショングラフィックスプレーン生成部93へ同時に供給される字幕画像は、プレゼンテーショングラフィックスデコーダ73またはテキストサブタイトル(Text-ST)コンポジション76のうちのいずれかの出力である。また、プレゼンテーショングラフィックスデコーダ73へ同時に入力されるプレゼンテーショングラフィックスストリームは、メインClip AVストリームファイルまたはサブClip AVストリームファイルのいずれかから分離されたストリームである。したがって、プレゼンテーショングラフィックスプレーン生成部93へ同時に出力される字幕画像は、メインClip AVストリームファイルからのプレゼンテーショングラフィックスストリーム、またはサブClip AVストリームファイルからのからのプレゼンテーショングラフィックスストリーム、またはテキストサブタイトルデータのデコード出力である。
バックグラウンドプレーン生成部91は、バックグラウンドデコーダ71から供給されたバックグラウンドイメージデータに基づいて、例えば、ビデオ画像を縮小表示した場合や、ストリーム再生中以外に後述するGUI表示画面を表示する場合に壁紙画像となるバックグラウンドプレーンを生成し、これを、ビデオデータ処理部96に供給する。
1stビデオプレーン生成部92−1は、1stビデオデコーダ72−1から供給されたビデオデータに基づいて、ビデオプレーンを生成し、これをビデオデータ処理部96に供給する。2ndビデオプレーン生成部92−2は、2ndビデオデコーダ72−2から供給されたビデオデータに基づいて、ビデオプレーンを生成し、これをビデオデータ処理部96に供給する。
プレゼンテーショングラフィックスプレーン生成部93は、スイッチ77により選択され、供給されたデータ(プレゼンテーショングラフィックスストリームまたはテキストサブタイトルデータ)に基づいて、例えば、レンダリング画像であるプレゼンテーショングラフィックスプレーンを生成し、これをビデオデータ処理部96に供給する。
インタラクティブグラフィックスプレーン生成部94は、インタラクティブグラフィックスデコーダ74から供給されたインタラクティブグラフィックスストリームのデータに基づいて、インタラクティブグラフィックスプレーンを生成し、これをビデオデータ処理部96に供給する。
ビデオデータ処理部96は、バックグラウンドプレーン生成部91からのバックグラウンドプレーン、1stビデオプレーン生成部92−1からのビデオプレーン、2ndビデオプレーン生成部92−2からのビデオプレーン、プレゼンテーショングラフィックスプレーン生成部93からのプレゼンテーショングラフィックスプレーン、およびインタラクティブグラフィックスプレーン生成部94からのインタラクティブグラフィックスプレーンを合成し、ビデオ信号として出力する。
なお、ビデオデータ処理部96は、ピクチャインピクチャ表示が行われる場合、すなわち、1stビデオプレーン生成部92−1からのビデオプレーン、および、2ndビデオプレーン生成部92−2からのビデオプレーンの両方の入力を受けるとき、メイン画面(親画面)の中に、サブ画面(子画面)を有するピクチャインピクチャ表示画面(図31を用いて後述する)を生成する。
また、これらのスイッチ57乃至59、並びにスイッチ77は、操作入力部29を介するユーザからの選択に基づいて、または、対象となるデータが含まれるファイルが供給される側に、スイッチを切り替える。例えば、サブClip AVストリームファイルのみにしか、オーディオストリームが含まれていない場合、スイッチ59はサブClip AVストリームファイルを供給する側(PIDフィルタ56の出力)にスイッチを切り替える。
次に、再生装置1における再生処理について説明する。操作入力部29を用いてユーザにより所定のAVストリームの再生が指令されたとき、コントローラ21は、ストレージドライブ22を介して記録媒体11から、または、HDD(Hard Disk Drive)などで構成されるローカルストレージ24から、PlayListファイルに含まれるPlayList(PlayListに含まれるPlayItemおよびSubPlayItem)に基づいて、メインClip AVストリーム、サブClip AVストリーム、およびテキストサブタイトルデータ(Text-STデータ)を読み出して、AVデコーダ部26に供給する。
コントローラ21は、バックグラウンドイメージデータをバッファ51に供給し、メインClip AVストリームのデータをバッファ52に供給し、サブClip AVストリームのデータをバッファ53に供給し、Text-STのデータをバッファ54に供給するようスイッチ32を切り替える。
そして、スイッチ32が切り替えられて、バックグラウンドイメージデータはバッファ51に供給され、メインClip AVストリームのデータはバッファ52に供給され、サブClip AVストリームのデータはバッファ53に供給され、テキストサブタイトルデータはバッファ54に供給され、各バッファ51乃至54は、供給されたデータをそれぞれバッファリングする。
そして、バッファ51は、バックグラウンドイメージデータをバックグラウンドデコーダ71に出力し、バッファ52はメインClip AVストリームのストリームデータをPIDフィルタ55に出力し、バッファ54は、テキストサブタイトルデータをテキストサブタイトルコンポジション76に出力し、バッファ53は、サブClip AVストリームのストリームデータをPIDフィルタ56に出力する。
PIDフィルタ55は、ビデオストリームをPIDフィルタ60に供給し、プレゼンテーショングラフィックスストリームをプレゼンテーショングラフィックスデコーダ73への供給元となるスイッチ57に供給し、インタラクティブグラフィックスストリームをインタラクティブグラフィックスデコーダ74への供給元となるスイッチ58に供給し、オーディオストリームをスイッチ59に供給する。すなわち、ビデオストリーム、プレゼンテーショングラフィックスストリーム、インタラクティブグラフィックスストリーム、およびオーディオストリームには、それぞれ異なるPIDが付されている。
そして、PIDフィルタ56は、ビデオストリームをPIDフィルタ60に供給し、プレゼンテーショングラフィックスストリームをプレゼンテーショングラフィックスデコーダ73への供給元となるスイッチ57に供給し、インタラクティブグラフィックスストリームをインタラクティブグラフィックスデコーダ74への供給元となるスイッチ58に供給し、オーディオストリームをスイッチ59に供給する。
PIDフィルタ60は、プライマリビデオストリームが入力された場合には、そのプライマリビデオストリームを1stビデオデコーダ72−1に供給する。これに対して、PIDフィルタ60は、セカンダリビデオストリームが入力された場合には、そのセカンダリビデオストリームを2ndビデオデコーダ72−2に供給する。
そして、PIDフィルタ55およびPIDフィルタ56の後段のスイッチ57、および、スイッチ58は、コントローラ21からの制御に基づいて、メインClipとサブClipのいずれかを選択する。すなわち、スイッチ57は、PIDフィルタ55から供給されたメインClip AVストリームまたはサブClip AVストリームのプレゼンテーショングラフィックスストリームを選択し、後段のプレゼンテーショングラフィックスデコーダ73に供給する。また、スイッチ58は、PIDフィルタ55から供給されたメインClip AVストリームまたはサブClip AVストリームのインタラクティブグラフィックスストリームを選択し、後段のインタラクティブグラフィックスストリームデコーダ74に供給する。
さらに、スイッチ59は、オーディオの合成が行われない場合、PIDフィルタ55から供給されたメインClip AVストリーム、または、PIDフィルタ56から供給されたサブClip AVストリームのオーディオストリームのうちのいずれかを選択し、後段の1stオーディオデコーダ75−1に供給する。なお、音声を切り替えるような指令や、音声を合成するような指令がユーザにより行われた場合には、スイッチ59は、メインClip AVストリームのオーディオストリームを2ndオーディオデコーダ75−2に供給したり、サブClip AVストリームのオーディオストリームを1stオーディオデコーダ75−1や2ndオーディオデコーダ75−2に供給する。
そして、バックグラウンドデコーダ71は、バックグラウンドイメージデータをデコードし、これをバックグラウンドプレーン生成部91に出力し、1stビデオデコーダ72−1および2ndビデオデコーダ72−2は、ビデオストリームをデコードし、これを、それぞれ、1stビデオプレーン生成部92−1および2ndビデオプレーン生成部92−2に出力し、プレゼンテーショングラフィックスデコーダ73は、スイッチ57により選択され、供給されたプレゼンテーショングラフィックスストリームをデコードし、これを後段のスイッチ77に出力し、インタラクティブグラフィックスデコーダ74は、スイッチ58により選択され、供給されたインタラクティブグラフィックスストリームをデコードし、これを後段のインタラクティブグラフィックスプレーン生成部94に出力し、Text-STコンポジション76は、テキストサブタイトルデータをデコードし、これを後段のスイッチ77に出力する。
そして、1stオーディオデコーダ75−1は、スイッチ59により選択され、供給されたオーティオストリーム(プライマリオーディオストリーム)をデコードし、これを後段のミキシング処理部101に出力する。例えば、音声の切り替えがユーザにより指示されていない状態における再生処理では、2ndオーディオデコーダ75−2からオーディオデータが出力されることはないので、ミキシング処理部101は、1stオーディオデコーダ75−1から出力されたオーディオデータを、そのまま後段のミキシング処理部97に供給する。また、音声の合成がユーザにより指令されている状態においては、2ndオーディオデコーダ75−2は、スイッチ59により選択され、供給されたオーティオストリームをデコードし、これを後段のミキシング処理部101に出力する。ミキシング処理部101は、1stオーディオデコーダ75−1から出力されたオーディオデータと2ndオーディオデコーダ75−2から出力されたオーディオデータとを合成(ミキシング)し、後段のミキシング処理部97に供給する。
スイッチ77は、プレゼンテーショングラフィックスデコーダ73またはText-STコンポジション76からのデータのいずれかを選択し、選択したデータをプレゼンテーショングラフィックスプレーン生成部93に供給する。
バックグラウンドプレーン生成部91は、バックグラウンドデコーダ71から供給されたバックグラウンドイメージデータに基づいて、バックグラウンドプレーンを生成し、ビデオプレーン生成部92は、ビデオデコーダ72から供給されたビデオデータに基づいて、ビデオプレーンを生成し、プレゼンテーショングラフィックスプレーン生成部93は、スイッチ77により選択され、供給されたプレゼンテーショングラフィックスデコーダ73からのデータまたはText-STコンポジション76からのデータに基づいて、プレゼンテーショングラフィックスプレーンを生成し、インタラクティブグラフィックスプレーン生成部94は、インタラクティブグラフィックスデコーダ74から供給されたインタラクティブグラフィックスストリームのデータに基づいて、インタラクティブグラフィックスプレーンを生成する。
そして、ユーザにより、メニュー画面などのGUI表示画面の表示が指令された場合、コントローラ21は、AVデコーダ部26を制御して、GUI表示画面を表示させる。また、ユーザの操作入力に基づいて所定のコマンドが発行されることにより、コントローラ21は、AVデコーダ部26を制御して、ユーザが操作入力を行うことが可能なボタンやサムネイル、または、ユーザに現状の設定状態を通知するためのアイコンやサムネイルなどを表示させる。
メニュー画面などのGUI表示画面に対応するデータは、ナビゲーションプログラムによって生成されるか、または、インタラクティブグラフィックスストリームとしてコンテンツデータに含まれて、ユーザに提供される。ユーザが操作入力を行うことが可能なボタンやサムネイルは、インタラクティブグラフィックスストリームとしてコンテンツデータに含まれて、ユーザに提供される。ユーザに現状の設定状態を通知するためのアイコンやサムネイルなどは、プレゼンテーショングラフィックスストリーム、または、インタラクティブグラフィックスストリームとしてコンテンツデータに含まれて、ユーザに提供される。
メニュー画面などのGUI表示画面がインタラクティブグラフィックスストリームにより提供される場合、GUI表示画面は、ユーザによるON/OFFの操作入力を基に、インタラクティブグラフィックを表示させたり、表示を取り消したりすることが可能な“Pop-up menu”として提供することが可能である。
表示されるGUI表示画面、または、ボタン、サムネイル、アイコンなどに対応するインタラクティブグラフィックが、既にプリロードされてデコードされ、プリロード用バッファ81に蓄積されている場合、対応するインタラクティブグラフィックスデータがプリロード用バッファ81から読み出され、インタラクティブグラフィックスプレーン生成部94に供給されて、生成されたインタラクティブグラフィックスプレーンがビデオデータ処理部96に供給される。また、表示が指令されたGUI表示画面、または、ボタン、サムネイル、アイコンなどに対応するインタラクティブグラフィックスがプリロードされていない場合、対応するインタラクティブグラフィックスストリームがストレージドライブ22を介して記録媒体11から、または、ローカルストレージ24から読み出されて、上述したようにして、インタラクティブグラフィックスデコーダ74に供給されてデコードされ、プリロード用バッファ81を介して、インタラクティブグラフィックスプレーン生成部94に供給されて、生成されたインタラクティブグラフィックスプレーンがビデオデータ処理部96に供給される。
そして、ビデオデータ処理部96は、各プレーンのデータを合成し、ビデオデータとして出力する。すなわち、ビデオデータ処理部96により合成されて生成されたビデオデータには、GUI表示画面、または、ボタン、サムネイル、アイコンなどが合成されている場合と、合成されていない場合がある。
また、バッファ95は、供給されたサウンドデータをバッファリングし、所定のタイミングでミキシング処理部97に供給する。ミキシング処理部97は、オーディオデータ(ミキシング処理部101から出力されたオーディオデータ)とサウンドデータをミキシング(合成)し、出力する。
このような処理により、PlayListに含まれるメインパスとサブパスによりメインClip AVストリーム、サブClip AVストリーム、およびテキストサブタイトルデータが参照され、再生される。PlayListにメインパスとサブパスを設けるようにし、サブパスで、メインパスで指定するClip AVストリームファイルとは異なるClip AVストリームである、サブClip AVストリームを指定可能な構成としたので、メインパスのPlayItemが指すメインClipとは異なるClipであるサブClipに含まれるデータとメインClipに含まれるデータとを一緒に(同じタイミングで)再生することができる。
ところで、上述したように、本発明の再生装置1に装着される記録媒体11上、または、再生装置1のローカルストレージ24に記録されるデータのアプリケーションフォーマットは、PlayListとClipの2つのレイヤを有している。そして、PlayListは、1つ以上のPlayItemの並びによって(連続するPlayItemにより)作られるメインパス(Main Path)と、そのMain Pathに並行(並列)して、1つ以上のSubPlayItemの並びによって(非連続でもよいし、連続してもよいSubPlayItemにより)作られるサブパス(Sub Path)を1以上含むことができる。
このような構成を有するデータを、図29および図30を用いて説明した再生装置1において再生することにより、図31に示されるように、全画面(親画面)201と子画面202のそれぞれに別々のコンテンツを同時再生させる、といったピクチャインピクチャ手法を適用することが可能になる。
例えば、図31に示されるように、1画面のうちの、全画面201に、メインパスで参照されるAVストリーム(図31中、Primary Videoと記述されているビデオストリーム211、および、Primary Audioと記述されているオーディオストリーム212)に対応する映画本編等のコンテンツを再生させるとともに、全画面201に配置される子画面202に、サブパスで参照されるAVストリーム(図31中、Secondary Videoと記述されているビデオストリーム213、および、Secondary Audioと記述されているオーディオストリーム214)に対応する映画の監督のコメンタリ等、メインパスで参照されるAVストリームとは別のコンテンツを再生させる、といった手法を適用することが可能になる。
具体的には、ピクチャインピクチャは、例えば映画本編(Primary Video, Primary Audio)を全画面201に表示しているときに、監督のコメンタリ(Secondary Video, Secondary Audio)を子画面202に入れ子画面にして、必要に応じて、音声を合成し、同時に表示出力されるように再生するアプリケーションである。
なお、サブタイトルストリームの再生位置(字幕等の表示位置)は、特に子画面内である必要は無く、全画面のうちの何れの位置でもよい。このため、図31の例では、サブタイトルストリーム215は、子画面202からはみ出すように描画されている。
ユーザがピクチャインピクチャアプリケーションに関して許されているユーザオペレーションは、セカンダリビデオを表示するか否か、換言すれば、ピクチャインピクチャアプリケーションのon/offを指令するためのユーザオペレーションと、一つの区間に複数のセカンダリビデオが用意されている場合に、現在表示されているセカンダリビデオを他のセカンダリビデオに切り替えるユーザオペレーションである。また、セカンダリビデオが表示されている場合には、セカンダリオーディオのon/offおよび再生されるセカンダリオーディオの変更、並びに、ピクチャインピクチャ用の字幕のon/offおよび字幕の変更を指令するユーザオペレーションも許されている。
また、再生装置1においては、再生装置1のメモリ23の書き換え可能なメモリ領域のうちの一部に、複数のレジスタが設けられ、このレジスタに設定される値を基に、再生処理が実行される。
レジスタのうち、例えば、再生装置1がセカンダリオーディオストリームを再生することが可能か否かが設定されているレジスタの値など、再生装置1固有の機能について設定されているものは、その値が変更されることはない。これに対して、レジスタのうちの所定のものの設定は、例えば、ユーザから所定の操作入力を受けた場合、または、プログラムにより発生されるコマンドにより変更される。
なお、これらのコマンドは、ストリームデータとは個別に記録媒体や内部のハードディスク等に記録され、再生装置1によってプリロードされ、コントローラ21に供給されるようになされていてもよいし、ストリームデータに埋め込まれて記録媒体や内部のハードディスク等に記録され、再生装置1によってストリームデータが再生されるのに伴ってロードされ、コントローラ21に供給されるようになされていてもよい。
レジスタには、再生装置1における再生処理に必要な各種設定を示す値が保持されている。レジスタに格納される値により、例えば、再生装置1が再生するサブタイトルストリーム(PG TextSTストリーム)が設定され、再生装置1が再生するピクチャインピクチャアプリケーション用のPG・テキスト字幕ストリーム(PiP PG TextSTストリーム)が設定され、ピクチャインピクチャアプリケーションによって再生されるセカンダリビデオストリームが設定され、セカンダリビデオストリームが再生される子画面の大きさが設定され、再生装置1が再生可能なサブタイトルストリーム(PG TextSTストリーム)の言語コード番号(またはID)が設定され、初期設定されている言語が設定され、再生装置1が再生可能なサブタイトルストリーム(PG TextSTストリーム)に対応する国のコード番号(またはID)が設定されるようにすることができる。
図32を用いて、メモリ23に設けられているレジスタの一例である第1のレジスタについて説明する。第1のレジスタには、サブタイトルストリーム(PG TextSTとPiP PG TextST)の表示についての設定を示す情報が格納されており、disp_s_flag、PiP_PG_textST_valid_flag、PG TextST stream number、および、PG TextST stream numberの情報が格納されている。
disp_s_flagは、サブタイトルストリーム(PG TextSTとPiP PG TextST)を表示するか否かを示すデータが格納されるレジスタ領域であり、例えば、disp_s_flag=0のとき、PG TextSTとPiP PG TextSTの表示は無効とされ、disp_s_flag=1のとき、PG TextSTとPiP PG TextSTの表示は有効とされる。
PiP_PG_textST_valid_flagは、ピクチャインピクチャ表示が行われているときに、サブタイトルストリームとして、PG TextSTとPiP PG TextSTとのいずれを表示するかを示すデータが格納されるレジスタ領域であり、例えば、PiP_PG_textST_valid_flag=0のとき、Secondary Videoが表示されていれば、第1のレジスタのPG TextST stream numberに登録されている値を参照して、PG TextST streamを読み出して再生することができ、また、これに対して、PiP_PG_textST_valid_flag=1のとき、Secondary Videoが表示されていれば、第1のレジスタのPiP PG TextST stream numberに登録されている値を参照して、PiP PG TextST streamを読み出して再生することができる。
なお、PiP_PG_textST_valid_flagは、Secondary Videoが表示されていない場合には意味をなさない。すなわち、PiP_PG_textST_valid_flag にいずれの値が格納されていても、Secondary Videoが表示されていない場合においては、格納された値に対応するPG TextST stream number、または、PiP PG TextST stream numberにより特定されるサブタイトルストリームが読み出されて表示されるとは限らない。Secondary Videoが表示されていない状態で表示可能なサブタイトルストリームは、PG TextST stream numberに示される。
PG TextST stream numberには、サブタイトルストリームとして表示可能なPG TextST stream numberが格納される。そして、PiP PG TextST stream numberには、サブタイトルストリームとして表示可能なPiP PG TextST stream numberが格納される。
現在のPlayItemの再生においてSecondary Videoが表示されていない場合(例えば、後述する第2のレジスタのdisp_v_flagが0に設定されている場合、または、Secondary video streamがユーザ操作などにより現在のPlayItemに対応つけて表示されていない場合など)、PG Text stream numberの設定において、次の2つのルールが適用される。すなわち、第1のルールは、現在のPlayItemのSTN_tableに登録されているPG TextST streamの中から、表示されるべき PG Text stream numberが、第1のレジスタのPG Text stream numberに示されることであり、第2のルールは、第1のレジスタのPGText stream numberの設定は、所定のセレクションモデルによってコントロールされることである。
所定のセレクションモデルとは、例えば、表示されるPG Text streamがユーザまたはコマンドにより設定されている場合は、再生装置の表示能力があれば、そのストリームが優先されて選択され、設定されていない場合、例えば、再生装置1において表示できる言語、または、表示できない言語を表す値が設定されているレジスタが参照されて、再生装置1が表示能力を有する言語が優先して選択され、次に、再生装置1に設定されている言語コードと同等のものが優先され、そして、次に、STN_table()に登録されている順番で番号が若いものから順番に優先して選択されるといったような、ストリームの選択モデルである。
そして、現在のPlayItemの再生においてSecondary Videoが表示されていて(例えば、後述する第2のレジスタのdisp_v_flagが1に設定されていて、現在のPlayItem再生において第2のレジスタに定義されたSecondary Video streamが表示されている場合)、かつ第1のレジスタのPiP_PG_textST_valid_flagに1が設定されている場合、次の2つのルールが適用される。すなわち、第3のルールは、現在のPlayItemのSTN_tableに登録されているPiP PG TextST streamの中から、表示されるべき PiP PG Text stream numberが、第1のレジスタのPiP PG Text stream number に示されることであり、第4のルールは、第1のレジスタのPiP PG Text stream numberの設定は、所定のセレクションモデルによってコントロールされることである。
所定のセレクションモデルとは、例えば、表示されるPiP PG Text streamがユーザまたはコマンドにより設定されている場合は、再生装置の表示能力があれば、そのストリームが優先され、設定されていない場合、例えば、再生装置1において表示できる言語、または、表示できない言語を表す値が設定されているレジスタが参照されて、再生装置1が表示能力を有する言語が優先して選択され、次に、再生装置1に設定されている言語コードと同等のものが優先され、そして、次に、STN_table()に登録されている順番で番号が若いものから順番に優先して選択されるといったような、ストリームの選択モデルである。
次に、図33を用いて、メモリ23に設けられているレジスタの一例である第2のレジスタについて説明する。第2のレジスタには、セカンダリビデオおよびセカンダリオーディオの再生についての設定を示す情報が格納されており、disp_v_flag、disp_a_flag、Secondary Video size、Secondary video stream number、および、Secondary audio stream numberの情報が格納されている。
disp_v_flagは、Secondary Videoの再生が有効であるか無効であるかを示すフラグであり、disp_v_flag=0のとき、Secondary Videoの再生は無効であり、disp_v_flag=1のとき、Secondary Videoの再生は有効である。
disp_a_flagは、Secondary Audioの再生が有効であるか無効であるかを示すフラグであり、disp_a_flag=0のとき、Secondary Audioの再生は無効であり、disp_a_flag=1のとき、Secondary Audioの再生は有効である。
Secondary Video sizeには、セカンダリビデオが表示される場合の表示の大きさに関する設定値が格納され、例えば、Secondary Video size=0x0である場合、Secondary videoのサイズは、PlayItem中のpip_metadataのpip_scale[i]の値によってスケールされ、Secondary Video size=0xFである場合、Secondary videoのサイズは、PlayItem中のpip_metadataのpip_scale[i]の値に関係なく、フルスクリーンとしてスケールされる。
Secondary video stream numberは、現在のPlayItemのSTN_tableに登録されているプライマリオーディオストリームの中で、再生されるプライマリオーディオストリームに対応するSecondary video stream numberが設定されているレジスタである。そして、Secondary audio stream numberは、現在のPlayItemのSTN_tableに登録されているセカンダリオーディオストリームの中で、再生されるセカンダリオーディオストリームに対応するSecondary audio stream numberが設定されているレジスタである。
このように、第2のレジスタには、現在のPlayItemのSTN_tableに登録されているSecondary Audio stream のうちの、再生されるべきSecondary audio stream numberが示されている。第2のレジスタのSecondary audio stream numberの設定は、所定のセレクションモデルによってコントロールされる。
所定のセレクションモデルとは、例えば、表示されるSecondary audio stream numberがユーザまたはコマンドにより設定されている場合、そのストリームが優先され、設定されていない場合、再生装置1に設定されているか、または、現在再生されているPrimary audio streamと同じ言語コードが優先され、そして、次に、STN_table()に登録されている順番で番号が若いものから順番に優先して選択されるといったような、ストリームの選択モデルである。
そして、第2のレジスタには、現在のPlayItemのSTN_tableに登録されているSecondary Video streamのうちの、再生されるべきSecondary video stream numberも示されている。第2のレジスタのSecondary video stream numberの設定は、所定のセレクションモデルによってコントロールされる。
所定のセレクションモデルとは、ここでも、例えば、表示されるSecondary video stream numberがユーザまたはコマンドにより設定されている場合、そのストリームが優先され、設定されていない場合、STN_table()に登録されている順番で番号が若いものから順番に優先して選択されるといったような、ストリームの選択モデルである。
図34を用いて、メモリ23に設けられているレジスタの一例である第3のレジスタについて説明する。第3のレジスタには、IGの再生についての設定を示す情報が格納されている。
第3のレジスタには、再生されるIGのストリームナンバーを示す、Interactive Graphics stream numberの情報が格納される。すなわち、IGの再生についての設定を示す情報が格納されている第3のレジスタには、第1のレジスタにおけるdisp_s_flag、または、PiP_PG_textST_valid_flagや、第2のレジスタにおけるdisp_v_flag、または、disp_a_flagなどのように、表示を操作できるフラグ情報が存在しない。
すなわち、第3のレジスタに設定されるIGには、メインパスにより参照されるIGであるか、サブパスにより参照されるIGであるかの区別はなく、第3のレジスタにいずれかのInteractive Graphics stream numberが設定された場合、対応するIGが即座に再生開始される。
第3のレジスタのInteractive Graphics stream numberの設定は、所定のセレクションモデルによってコントロールされる。
所定のセレクションモデルとは、例えば、表示されるIG streamがユーザまたはコマンドにより設定されている場合は、再生装置の表示能力があれば、そのストリームが優先されて選択され、設定されていない場合、STN_table()に登録されている順番で番号が若いものから順番に優先して選択されるといったような、ストリームの選択モデルである。
そして、ピクチャインピクチャとして子画面202に表示可能なSecondary Videoは、1つのPlayList中に複数定義することができる。例えば、1つのPlayList中に子画面202として表示可能なSecondary Videoを255個含めることができる。なお、メインストリームとともに再生可能なサブストリーム、すなわち、Secondary Videoと、必要に応じて、Secondary Audio、PiP PG、IGを含むSub Play Itemにより参照されるサブストリームは1つのみとされ、再生されるそれぞれのサブストリームのストリームナンバーが、上述した3つのレジスタにそれぞれ設定される。
また、ピクチャインピクチャ表示されるサブストリームは、Primary Videoの全ての再生区間に対して用意されているとは限らず、また、同一の再生区間に、複数のSecondary VideoおよびSecondary Audioが用意されている場合もある。また、Secondary Videoと、それに対応するSecondary Audioは、全てが所定のタイミングで再生されるのではなく、ユーザの所望のタイミングで再生される(非同期)のものも存在する。
このように、1つのタイトルに、同期型と非同期型の複数のサブストリームを用意することができるので、ユーザが、容易に、これらのサブストリームのうちの所望のものを選択して表示を指令するための仕組みが必要である。
そこで、再生装置1は、ユーザが、表示可能な複数のピクチャインピクチャの子画面202のうちの所望のものを再生させるための指令が容易に行えるようなメニュー画面(GUI表示画面)や表示開始ボタン、または、現在の設定状況をユーザに通知するために用いられるアイコンなどを表示する機能を有する。このメニュー画面(GUI表示画面)は、上述したように、ディスクナビゲーションプログラムとして、または、IGとして、記録媒体11に格納されて提供される。また、表示開始ボタンは、IGとして、記録媒体11に格納されて提供されるか、または、ローカルストレージ24に記録されて提供される。その他、必要に応じて現在の設定状況をユーザに通知するために用いられるアイコンやサムネイルなどは、IGとして、または、PGとして、記録媒体11に格納されて提供されるか、または、ローカルストレージ24に記録されて提供される。
具体的には、再生装置1においては、例えば、全画面201に表示されるPrimary Videoに対応付けて子画面202として再生可能なようになされている複数のSecondary Videoのうちのいずれを表示させるかを選択するためのGUI表示画面が表示され、必要に応じて、現在のピクチャインピクチャ表示に関する設定状況をユーザに通知するためのアイコンやサムネイルなどが表示され、表示させるピクチャインピクチャとして、非同期型のものが選択されている場合に、ユーザが所望のタイミングでピクチャインピクチャ表示の開始を指令することができるような表示開始ボタンなどを表示する機能を有するものとする。
ユーザは、このGUI表示画面、表示開始ボタン、または、アイコンやサムネイルなどを参照することにより、表示させることか可能なサブストリーム、すなわち、ピクチャインピクチャ表示可能なストリームの種類や、現在のピクチャインピクチャ表示に関する設定状況を認識することができ、GUI表示画面に備えられているボタンなどのアイテムや表示開始ボタンなどに対して必要な操作を入力することにより、表示させるサブストリームの選択や、ピクチャインピクチャの表示開始を指令することが可能となる。
GUI表示画面に備えられている、例えば、ユーザの操作入力を受けることが可能なボタンやアイコン、または、サムネイルなどのアイテムには、所定のコマンドが対応付けられており、ユーザが、これらのアイテムを選択決定する操作入力を行うことにより、対応するコマンドが発行される。また、IGにより表示されるボタンやサムネイルなどにも、所定のコマンドを対応付けることができ、ユーザが、これらのボタンを選択決定する操作入力を行うことにより、対応するコマンドが発行される。
そして、ユーザが、これらのアイテムを選択決定する操作入力を行うことにより、上述した第1のレジスタ乃至第3のレジスタのうちの必要な部分が設定・更新されるコマンドが発行され、ユーザが所望するピクチャインピクチャアプリケーションを再生させることができる。
コマンドは、GUI表示画面のユーザの操作入力を受けることが可能なボタンやアイコン、または、サムネイルなどのアイテムに対応つけて、直接、記載されていても良いが、例えば、再生装置1が実行可能なコマンドがライブラリで与えられているような場合、それぞれのアイテムが選択されたとき、アイテムに対応するコマンドが、ライブラリから取得されて実行されるようにしても良い。
次に、図35乃至図45を参照して、GUI表示画面、表示開始ボタン、および、現在の設定状況をユーザに通知するために用いられるアイコンなどの表示と、ユーザの操作入力によって実行される処理、および、メインパスに対するサブパスの配置について説明する。
例えば、図示しないリモコンに、PiP On/Offボタンを設け、ユーザにより、PiP On/Offボタンが押下された場合、または、所定のメニュー画面からPiP メニュー画面の表示を指令可能なようにし、ユーザにより、PiP メニュー画面の表示が指令された場合、図35に示されるように、ユーザの操作入力を促すためのGUI表示画面として、PiP メニュー画面261がポップアップ表示される。PiP メニュー画面261は、メインストリームの再生中であっても、再生開始前であっても、表示可能である。PiP メニュー画面261には、いずれか一方のみ選択可能なONボタン271とOFFボタン272とが設けられ、ユーザは、ONボタン271とOFFボタン272のいずれかを選択する。
ユーザにより、OFFボタン272が選択された場合、再度PiP メニュー画面261が表示されてONボタン271が選択されるまで、ピクチャインピクチャ表示は実行されない。
一方、ユーザにより、ONボタン271が選択された場合、ピクチャインピクチャ表示が実行される。現在再生されているタイトル、または、再生予定のタイトル、すなわち、再生装置1に装着されている記録媒体11に対応するタイトルにおいて、複数のPiP表示が可能なようになされている場合、図36に示されるように、再生可能なサブストリームが一覧され、ユーザが、そのうちの所望のサブストリームを選択決定することができるようになされている、ストリーム選択ウィンドウ281が表示され、ユーザにより、所望のサブストリームが選択可能なようになされている。
ここでは、3つのサブストリームが選択可能なようになされており、第1のPiP選択ボタン291は、同期型のPiPの再生指令に対応付けられ、第2のPiP選択ボタン292および第3のPiP選択ボタン293は、非同期型のPiPの再生指令に対応付けられているものとする。
ここでは、ストリーム選択ウィンドウ281に第1のPiP選択ボタン291、第2のPiP選択ボタン292、および、第3のPiP選択ボタン293が表示され、ユーザにより選択可能なようになされているものとして説明したが、ストリーム選択ウィンドウ281に表示されるのは、ボタン以外であってもよく、例えば、アイコンやサムネイル画像など、表示可能なPiPのそれぞれに対応するものであって、ユーザにより選択決定される他のアイテムであってもかまわない。また、例えば、これらの再生開始ボタンに、それぞれ対応付けられているPiPの内容をユーザが認識可能な文字や画像など(例えば、「監督のコメンタリ」などの文字や、「俳優Aのコメンタリ」のPiPに対する俳優Aに対応する画像など)を表示させるものとしても良いし、再生開始ボタン内に、表示されるPiPのいずれかのフレームに対応するサムネイル画像を表示させるようにしても良い。
また、PiPメニュー画面261がメインストリームの再生中に表示される場合、ストリーム選択ウィンドウ281には、現在のメインストリームの再生位置以降に表示可能な同期型のサブストリームおよび非同期型のサブストリームを選択可能なように、PiP選択ボタンが表示されるようにすることができる。
すなわち、PiP メニュー画面261を、メインストリームの再生中に表示されるメインパスに多重化されている、または、メインパス同期型のIGとして用意し、ストリーム選択ウィンドウ281に、現在のメインストリームの再生位置以降に表示可能な同期型のサブストリームおよび非同期型のサブストリームを選択可能なように、PiP選択ボタンが表示されるようなストリームを生成してIGとして提供すると、メインストリームの再生中に、既に再生タイミングが過ぎてしまった同期型のサブストリームがPiP表示されるものとして誤って選択されてしまうことを防止することができ、好適である。
上述したように、PiP表示されるサブストリームには、同期型と非同期型とが存在するので、ユーザからのサブストリームの表示開始指令方法は、同期型と非同期型とで区別されている。
予め定められている所定のタイミングに表示が開始される、すなわち、表示タイミングが定められている同期型PiPに対応するSub Pathに多重化されているストリームを表示させる場合、ユーザにより表示が指令されたSecondary Videoと、必要に応じて、対応するSecondary Audio、PiP PGを含むサブストリームのそれぞれのストリームナンバーが、第1のレジスタ、または、第2のレジスタの適切な位置に設定されていれば、予め定められている所定の時間に、ナビゲーションプログラムによって発生されるコマンドによって、第1のレジスタにおけるdisp_s_flag、または、PiP_PG_textST_valid_flagや、第2のレジスタにおけるdisp_v_flag、または、disp_a_flagの値が設定変更されるようになされており、コンテンツオーサにより定められた所定のタイミングで、ピクチャインピクチャ表示が開始される。
例えば、図36のストリーム選択ウィンドウ281に表示されている第1のPiP選択ボタン291、第2のPiP選択ボタン292、および、第3のPiP選択ボタン293のうち、第1のPiP選択ボタン291が選択決定された場合、ユーザにより選択決定された第1のPiP選択ボタン291に対応付けられているSecondary Videoと、必要に応じて、対応するSecondary Audio、PiP PGを含むサブストリームのそれぞれのストリームナンバーが、第1のレジスタ、または、第2のレジスタの適切な位置に設定されるよう、ナビゲーションコマンドであるSetSecondaryStreamが発行されて、レジスタの設定が実行される。
このように、ボタンの選択決定により発行されるナビゲーションコマンドを、ボタンナビゲーションコマンド(Button Navigation Command)と称するものとする。また、SetSecondaryStreamの詳細については、図47乃至図50を用いて後述する。
そして、メインストリームの再生中、予め定められている所定のタイミングにおいて、ナビゲーションプログラムによって発生されるコマンドによって、第1のレジスタにおけるdisp_s_flag、または、PiP_PG_textST_valid_flagや、第2のレジスタにおけるdisp_v_flag、または、disp_a_flagの値が設定変更されるとともに、必要に応じて第3のレジスタの設定値が変更されるので、図37に示されるように、全画面201に子画面202が表示され、子画面202において、第1のPiP選択ボタン291に対応付けられているサブストリームが表示される。
なお、図36のストリーム選択ウィンドウ281において、同期型のPiPに対応付けられている第1のPiP選択ボタン291が選択された場合、メインストリームの再生中に、予め定められている所定のタイミングまでの間、PiP表示は行われないので、ユーザは、何の表示もなされないと、PiPの表示設定が正しく行われたか否かを容易に確認することができない。そこで、例えば、図38に示されるようにして、全画面201のいずれかの位置に、現在のピクチャインピクチャ表示に関する設定状況、例えば、いずれかの同期型PiPの表示開始待ちであることを示したり、または、表示開始待ちの同期型PiPの内容を示す、アイコン302が表示されるようにしても良い。
アイコン302は、現在表示されていない同期型PiPの表示設定がなされていることをユーザが認識可能なように表示されるものであるので、アイコン302を選択決定することにより対応するPiPの表示が開始されるものではない。換言すれば、アイコン302には、いずれのコマンドも対応付けられていない。
アイコン302は、表示されている場合には、いずれかの同期型PiPの表示開始待ちであることを示し、表示されていない場合には、いずれの同期型PiPの表示開始待ちでもないことを示すものであってもよい。また、アイコン302に、表示設定されているPiPの内容をユーザが認識可能な文字や画像など(例えば、「監督のコメンタリ」などの文字や、「俳優Aのコメンタリ」のPiPに対する俳優Aに対応する画像など)を表示させるものとしても良いし、アイコン302に代わって、表示されるPiPのいずれかのフレームに対応するサムネイル画像を表示させるものとしても良い。
これに対して、非同期でピクチャインピクチャ表示されるSub Pathに多重化されているストリームは、再生開始タイミングが規定されていないので、非同期PiPを表示させる場合、意図するSecondary Videoと、必要に応じて、Secondary Audio、PiP PG、IGを含むSub Play Itemにより参照されるサブストリームのそれぞれのストリームナンバーを、第1のレジスタ、または、第2のレジスタの適切な位置に設定すると、即座に、ピクチャインピクチャ表示が開始されるようになされている。
そこで、図36のストリーム選択ウィンドウ281に表示されている第1のPiP選択ボタン291、第2のPiP選択ボタン292、および、第3のPiP選択ボタン293のうち、例えば、第3のPiP選択ボタン293が選択決定された場合、図39に示されるように、メインストリームが再生されている全画面201に、ユーザにより選択決定された第3のPiP選択ボタン293に対応付けられている非同期のPiPの表示開始をユーザが指令するときに押下される再生開始ボタン303が表示されるものとする。
再生開始ボタン303は、メインパスのIGとして用意されており、ユーザにより指定された非同期PiPに対応するSecondary Videoと、必要に応じて、Secondary Audio、PiP PG、IGを含むSub Play Itemにより参照されるサブストリームのそれぞれのストリームナンバーを、第1のレジスタ乃至第3のレジスタの適切な位置に設定させるためのコマンド、すなわち、ユーザにより指定された非同期PiPの再生開始を指令するためのコマンドが対応付けられているものである。
例えば、再生開始ボタン303に、第3のPiP選択ボタン293に対応付けられている非同期のPiPの内容をユーザが認識可能な文字や画像など(例えば、「監督のコメンタリ」などの文字や、「俳優Aのコメンタリ」のPiPに対する俳優Aに対応する画像など)を表示させるものとしても良いし、再生開始ボタン303内に、表示されるPiPのいずれかのフレームに対応するサムネイル画像を表示させるようにしても良い。
図40を用いて、非同期PiPが設定される場合のユーザオペレーションとコマンドの発生、および、再生されるストリームについて説明する。
例えば、メインストリームの再生前、または、再生中のある時点αにおいて、PiP メニュー画面261が表示されてONボタン271が選択され、ストリーム選択ウィンドウ281において、第3のPiP選択ボタン293が選択決定されて非同期のPiPの表示が指令された場合、第3のPiP選択ボタン293の選択決定により、ナビゲーションコマンドとして、第3のレジスタに、再生開始ボタン303に対応するIGであるIG#0をセットするためのコマンドが発行される。
再生されるIGを指定するための第3のレジスタには、第1のレジスタにおけるdisp_s_flag、または、PiP_PG_textST_valid_flagや、第2のレジスタにおけるdisp_v_flag、または、disp_a_flagなどのように、表示を操作できるフラグ情報が存在しないので、第3のレジスタにいずれかのInteractive Graphics stream numberが設定された場合、対応するIGが即座に再生開始される。
すなわち、ここでは、第3のレジスタに、再生開始ボタン303に対応するIGであるIG#0をセットするためのコマンドのみが発行されて、第1のレジスタおよび第2のレジスタにおいて、PiPを表示させるための設定は実行されない。第1のレジスタおよび第2のレジスタにおいて、PiPを表示させるためのコマンドは、再生開始ボタン303に対応付けられている。
そして、ユーザの所望のタイミングβにおいて、再生開始ボタン303が押下された場合、ボタンナビゲーションコマンドとして、第1のレジスタおよび第2のレジスタにおいて、PiPを表示させるための設定を実行することを指令するためのコマンドであるSetSecondaryStreamが発行される。
すなわち、ストリーム選択ウィンドウ281に設けられる複数のPiP選択ボタンのうち、同期型のPiPに対応するボタン(例えば、第1のPiP選択ボタン291)には、ボタンナビゲーションコマンドとして、第1のレジスタおよび第2のレジスタにおいて、対応するPiPを表示させるための設定を指令するためのコマンドであるSetSecondaryStreamが対応付けられているが、非同期型のPiPに対応するボタン(例えば、第3のPiP選択ボタン293)には、ボタンナビゲーションコマンドとして、第3のレジスタに、再生開始ボタン303に対応するIGであるIG#0をセットするためのコマンドが対応付けられている。そして、再生開始ボタン303に、対応する非同期PiPを再生開始させるためのレジスタの設定を指令するコマンドであるSetSecondaryStreamが対応付けられている。
再生開始ボタン303の押下によってSetSecondaryStreamが発行されることにより、ユーザの所望のタイミングで、第1のレジスタおよび第2のレジスタにおいてPiPを表示させるための設定が実行されるので、非同期型のPiPをユーザの所望のタイミングで表示開始させるようにすることができる。
また、上述したように、ユーザがピクチャインピクチャアプリケーションに関して許されているユーザオペレーションには、セカンダリビデオを表示するか否か、換言すれば、ピクチャインピクチャアプリケーションのon/offを指令するためのユーザオペレーションと、一つの区間に複数のセカンダリビデオが用意されている場合に、現在表示されているセカンダリビデオを他のセカンダリビデオに切り替えるユーザオペレーションがある。ここで、PiPの再生開始を、上述した方法で行うようにする場合、例えば、上述したUO_maskの設定を行うことなどにより、ピクチャインピクチャアプリケーションのon/offを指令するユーザオペレーションの受付を制限し、ナビゲーションコマンド、または、ボタンナビゲーションコマンドによってのみ、ピクチャインピクチャアプリケーションのon/offを指令することができるようにする必要がある。
また、子画面202が表示されている状態で、再びPiPメニュー画面261メニュー画面を表示させることなく他のPiPを表示させるために、PiP表示画面中に、IGによる各種ボタン等を設けるものとしてもよい。
例えば、3つのサブストリームのうちのいずれかをPiPとして表示可能な状態において、図41に示されるように、全画面201内に表示される子画面202に第1のサブストリームが再生されている場合、第2のサブストリームの再生を指令する再生開始ボタン311、および、第3のサブストリームの再生を指令する再生開始ボタン312を、子画面202内に設けるようにすることができる。子画面202が表示されている状態において、2つ以上の他のサブストリームが再生可能であれば、更に多くの再生開始ボタンが子画面202に表示されることは言うまでもない。また、これらの再生開始ボタンは、非同期のPiPが再生されている場合であっても、同期型のPiPが再生されている場合であっても、子画面202内に設けることができる。
例えば、これらの再生開始ボタンに、それぞれ対応付けられているPiPの内容をユーザが認識可能な文字や画像など(例えば、「監督のコメンタリ」などの文字や、「俳優Aのコメンタリ」のPiPに対する俳優Aに対応する画像など)を表示させるものとしても良いし、再生開始ボタン内に、表示されるPiPのいずれかのフレームに対応するサムネイル画像を表示させるようにしても良い。
子画面202内に表示される再生開始ボタン311および再生開始ボタン312は、サブパスにより参照されるサブストリームに多重化されているIGとして提供される。すなわち、コンテンツオーサは、サブパスにより参照されるサブストリームにIGを多重化してユーザに提供することにより、子画面202に再生開始ボタンを表示させるようにすることができる。これにより、ユーザは、子画面202が表示されている状態で、再びPiP メニュー画面261メニュー画面を表示させることなく他のPiPの表示を指令することができる。再生開始ボタン311および再生開始ボタン312には、それぞれ、対応するサブストリームを再生開始させるための設定を指令するコマンドであるSetSecondaryStreamが対応付けられている。
子画面202内に表示される再生開始ボタン311および再生開始ボタン312のうち、例えば、第3のサブストリームの再生を指令する再生開始ボタン312がユーザにより選択決定された場合、第3のサブストリームを子画面202において再生開始させるための設定を指令するコマンドであるSetSecondaryStreamが発行されて、第3のサブストリームが再生開始される。図42に示されるように、第3のサブストリームに対応するPiPには、第2のサブストリームの再生を指令する再生開始ボタン312と、第1のサブストリームの再生を指令する再生開始ボタン313を表示させるようにすることができる。また、第3のサブストリームが同期型サブストリームである場合、第3のサブストリームは、メインパスの再生位置に対応する再生位置から再生が開始され、第3のサブストリームが非同期型サブストリームである場合、第3のサブストリームは、先頭から再生開始される。
これにより、ユーザは、例えば、出演者A/B/Cのコメントが、それぞれPiPとして作成されているような場合に、それぞれのPiPを再生中に他の出演者のコメントに容易に切り替えることが可能となり、より簡単に所望のPiPを再生させて楽しむことが可能となる。
また、上述したように、再生されるIGのストリームナンバーが設定される第3のレジスタにおいては、第1のレジスタにおけるdisp_s_flag、または、PiP_PG_textST_valid_flagや、第2のレジスタにおけるdisp_v_flag、または、disp_a_flagなどのように、表示を操作できるフラグ情報が存在しない。
すなわち、第3のレジスタに設定されるIGには、メインパスにより参照されるIGであるか、サブパスにより参照されるIGであるかの区別はなく、第3のレジスタにいずれかのInteractive Graphics stream numberが設定された場合、対応するIGが即座に再生開始される。
したがって、非同期のSub Pathに多重化されているIGの再生開始のタイミングの制御を単独で行うことは非常に困難であった。すなわち、再生中のメインパスにIGが多重化されていない状態において、このメインパスと同時に再生可能な非同期のSub Pathに多重化されているIGが存在した場合、ユーザが非同期のピクチャインピクチャ表示の開始を指令するタイミングにかかわらず、上述した所定のセレクションモデルによって、自動的に第3のレジスタへ、Sub Pathに多重化されているIGに対応するInteractive Graphics stream numberが設定されてしまう。このため、非同期のPiPと、対応するIGとの表示開始のタイミングを一致させることが困難であった。
しかしながら、このようなユーザインタフェイス構成とすることにより、再生中のメインパスには表示開始ボタン303に対応するIGが多重化されるので、非同期PiPに対応付けられているIGが表示開始される直前まで、メインパスにより参照されるPlayItemに多重化されているIG(例えば、図39の表示開始ボタン303に対応するIG)、または、サブパスが参照するSubPlayItemに多重化されているIG(例えば、図41または図42のそれぞれの表示開始ボタンに対応するIG)が第3のレジスタに設定される。これにより、ユーザが非同期のピクチャインピクチャ表示の開始を指令するよりも早く、対応するIGのストリームナンバーが上述したセレクションモデルによって自動的に第3のレジスタに設定されてしまうことはないので、非同期のPiPと、対応するIGとの表示開始のタイミングを容易に一致させることができる。
具体的には、非同期PiPの表示が選択された場合、図43に示されるように、メインタイトルが再生されている間は、メインパスにより参照されるPlayItemに多重化されているIG#0のストリームナンバーが第3のレジスタに設定されて、図39の表示開始ボタン303が表示され、表示開始ボタン303が選択決定された場合、対応するPiPが表示されるとともに、PiPに対応するサブパスが参照するSubPlayItemに多重化されているIG#1のストリームナンバーが第3のレジスタに設定されて、図41を用いて説明したような表示開始ボタンが子画面202内に表示される。そして、ユーザにより子画面202内に表示されているいずれかの表示開始ボタンが選択決定された場合、対応するPiPが表示されるとともに、PiPに対応するサブパスが参照するSubPlayItemに多重化されているIG#2のストリームナンバーが第3のレジスタに設定されて、同様にして、図42を用いて説明したような表示開始ボタンが子画面202内に表示される。
また、子画面202内には、再生開始ボタン以外にも、例えば、PiP表示の終了を指令する場合に押下されるボタンを設けるようにしてもよい。例えば、3つのサブストリームのうちのいずれかをPiPとして表示可能な状態において、図44に示されるように、全画面201内に表示される子画面202に第1のサブストリームが再生されている場合、第2のサブストリームの再生を指令する再生開始ボタン321、および、第3のサブストリームの再生を指令する再生開始ボタン322に加えて、PiP表示の終了を指令する場合に押下されるOFFボタン323を設けるようにしてもよい。
OFFボタン323も、サブパスにより参照されるサブストリームに多重化されているIGとして提供される。OFFボタン323には、それぞれ、対応するサブストリームを再生終了させるためにレジスタの設定を変更させるためのコマンドが対応付けられている。
更に、同期型のPiPが表示されている場合の子画面202内の再生開始ボタンによって再生開始されたPiPの再生が終了した場合、その前に表示されていた同期型のPiPの表示区間が終了されていなければ、メインパスの再生位置に合わせて、その前に表示されていた同期型のPiPの表示を実行するようにしても良い。
具体的には、例えば、図45に示されるように、メインタイトルの再生中の所定のタイミングで、同期型の第1のPiP(図中、SubPlayItem for PiP(1)と記載されている)の表示が開始され、第1のPiPのセカンダリビデオおよびセカンダリオーディオとともにサブストリームに多重化されているIG#1のストリームナンバーが第3のレジスタに設定されて、図41または図42を用いて説明したような表示開始ボタンが子画面202内に表示される。そして、ユーザにより子画面202内に表示されているいずれかの表示開始ボタンが選択決定された場合、選択された表示開始ボタンに対応する第2のPiP(図中、SubPlayItem for PiP(3)と記載されている)が表示されるとともに、PiPに対応するサブパスが参照するSubPlayItemに多重化されているIG#2のストリームナンバーが第3のレジスタに設定されて、同様にして、図41または図42を用いて説明したような表示開始ボタンが子画面202内に表示される。
そして、第2のPiP(図中、SubPlayItem for PiP(3)と記載されている)の再生が終了したとき、第1のPiPの表示区間が終了されていないなら、第2のPiPに続いて、再び、第1のPiPをメインパスと同期して再生させる。
次に、コントローラ21が有する機能のうち、GUI表示画面、すなわちPiP メニュー画面261、および、表示開始ボタン、または、アイコンやサムネイルなどの表示を制御する機能について説明するための機能ブロック図を図46に示す。ここでは、GUI表示画面が、IGとして提供され、表示開始ボタン、または、アイコンやサムネイルなどが、IGまたはPGとして提供される場合を例として説明する。
なお、コントローラ21は、例えば、GUI表示画面、表示開始ボタン、または、アイコンやサムネイルなどを表示する機能や、装着された記録媒体11またはローカルストレージ24に記録されているデータを再生する処理以外にも、さまざまな機能を有するものとしてもよいが、図46においては、GUI表示画面、表示開始ボタン、または、アイコンやサムネイルなどの表示の制御、並びに、ストリームデータの再生の制御以外の機能については、省略する。
PlayList読み出し制御部351は、PlayListファイルを取得する。PlayList読み出し制御部351は、例えば、通常再生時においては、取得したPlayListファイルに含まれるPlayItemおよびSubPlayItemに基づいて、対応するClipのClip_Information_file_nameを検出し、ストリームデータ読み出し制御部357に供給する。また、PlayList読み出し制御部351は、例えば、上述したようなGUI表示画面、表示開始ボタン、または、アイコンやサムネイルなどが表示される場合、取得したPlayListファイルを、GUIデータ読み出し制御部352に供給する。
GUIデータ読み出し制御部352は、GUI表示画面、表示開始ボタン、または、アイコンやサムネイルなどが表示される場合、記録媒体11またはローカルストレージ24からの、表示開始ボタン、または、アイコンやサムネイルなどに関するデータの読み出しを制御する。具体的には、GUIデータ読み出し制御部352は、供給されたPlayListファイルに基づいて、GUI表示画面、表示開始ボタン、または、アイコンやサムネイルなどに対応するIGまたはPGの読み出しと、AVデコーダ部26における対応するバッファ(バッファ52またはバッファ53)への供給を制御する。
GUIデータ再生制御部353は、GUI表示画面、表示開始ボタン、または、アイコンやサムネイルなどに対応するデータが、IGまたはPGによって提供される場合、PlayListファイルに基づいて読み出された、GUI表示画面に対応するIGまたはPGのストリームデータのデコードを制御する。
コマンド情報取得部355は、GUI表示画面上のボタンやアイコン、または、サムネイルなどのアイテム、もしくは、表示開始ボタンなどに対応付けられたコマンドが、ライブラリとして用意されている場合、コマンド発生部340によって発生される対応するコマンドをライブラリから取得する。すなわち、コマンド情報取得部355は、ユーザの操作入力を受けることが可能なボタンやアイコン、または、サムネイルなどのアイテムに、これらのアイテムを選択決定する操作入力を行うことにより発行される所定のコマンドが対応付けられており、これらのコマンドが、ライブラリとして用意されている場合、コマンド発生部340によって発生される対応するコマンドをライブラリから取得する。
操作入力取得部356は、操作入力部29から供給されるユーザの操作入力を取得し、GUIデータ再生制御部353、ストリームデータ読み出し制御部357、GUI表示制御部359、または、コマンド発生部340に供給する。
ストリームデータ読み出し制御部357は、PlayList読み出し制御部351から供給されたClip_Information_file_nameを基に、対応するClipに含まれるストリームデータの読み出しと、AVデコーダ部26への供給を制御する。またストリームデータ読み出し制御部357は、操作入力取得部356から供給された、GUI表示画面を参照したユーザの操作入力を基に、コマンド発生部340の処理により発生されたコマンドにより設定が変更された、上述したレジスタに設定された値を参照し、ユーザが所望したストリームデータの読み出しと、AVデコーダ部26への供給を制御する。
再生制御部358は、ストリームデータ読み出し制御部357の制御に基づいて、AVデコーダ部26へ供給されたデータのデコードおよび再生出力を制御する。
GUI表示制御部359は、操作入力取得部356から供給されるユーザの操作入力に基づいて、GUIデータ再生制御部353の処理により再生が制御されたGUI表示画面、すなわちPiP メニュー画面261、および、表示開始ボタン、または、アイコンやサムネイルなどの表示、すなわち、インタラクティブグラフィックスプレーン生成部94により生成されたインタラクティブグラフィックスプレーン、または、プレゼンテーショングラフィックスプレーン生成部93により生成されたプレゼンテーショングラフィックスプレーンの表示を制御するとともに、これらの表示の取り消しを制御する。
コマンド発生部340は、GUI表示画面のボタンやアイコン、または、サムネイルなどのアイテム、もしくは、表示開始ボタンなどに対応付けられている所定のコマンドを発行する。なお、再生装置1が実行可能なコマンドが、ライブラリとして用意されている場合、実際に実行されるコマンドは、コマンド情報取得部355によりライブラリから取得されて実行される。
図46に示されるような機能を有するコントローラ21は、再生装置1に記録媒体11が装着されることなどにより、記録媒体11またはローカルストレージ24に記録されているコンテンツの再生が可能な状態となったとき、コンテンツの再生前にGUI表示画面、すなわちPiP メニュー画面261を表示させることができるとともに、コンテンツとともにGUI表示画面、すなわちPiP メニュー画面261、および、表示開始ボタン、または、アイコンやサムネイルなどを表示させることができる。
すなわち、このGUI表示画面、表示開始ボタン、または、アイコンやサムネイルなどは、コンテンツの供給元、または、記録媒体11の販売者など、いわゆる、コンテンツオーサが、設計し、デザインして、ユーザに提供することができるものであるとともに、それぞれのアイテムに対応付けてコマンドを設定することが可能である。これにより、コンテンツオーサは、コンテンツの内容や、提供するピクチャインピクチャアプリケーションの内容に応じて、ユーザが効率よくピクチャインピクチャアプリケーションにより再生可能なセカンダリビデオまたはセカンダリオーディオを選択したり、再生開始を指令することができるようなGUI表示画面、表示開始ボタン、または、アイコンやサムネイルなどをユーザに提供することができる。
次に、図47乃至図50を用いて、各種のボタンやサムネイル画像などのアイテムに対応付けられるコマンドの例について説明する。
各種のボタンやサムネイル画像などのアイテムには、例えば、図47に示されるようなコマンドを対応付けることができる。
このコマンドは、Secondary video, Secondary audio、PiP PG TextST のうちのいずれか、もしくはこれらの全部のうち、表示されるべきものを設定するためのコマンドである。以下、このコマンドを、SetSecondaryStreamコマンドと称する。
SetSecondaryStreamコマンドのOperation Codeには、例えば、Operation Code1乃至4の4つのコードを用意することができ、Operation code 1は、Secondary video, Secondary audioおよびPiP PG TextSTを、上述した第1乃至第3のレジスタとは異なる第4のレジスタ(GPR:General Purpose Register)に保持されている値によって定義するOperation codeであり、Operation code 2は、Secondary videoを、コマンド内によって指定する値によって定義するOperation codeであり、Operation code 3は、Secondary audioおよびPiP PG TextSTをコマンド内によって指定する値によって定義するOperation codeであり、Operation code 4は、Secondary video, Secondary audioおよびPiP PG TextSTをコマンド内によって指定する値によって定義するOperation codeである。
図47のSetSecondaryStreamコマンドのうちのSecondary videoについて、図48を用いて説明する。
Secondary_Video_flagが1である場合、第2のレジスタのSecondary Video Stream Numberは新しい値に設定される。Secondary_Video_flagが0の場合、第2のレジスタのSecondary Video Stream Numberは変更されない。
そして、disp_v_flagが1である場合、第2のレジスタのdisp_v_flagが1に設定される。disp_v_flagが0である場合、第2のレジスタのdisp_v_flagが0に設定される。
Secondary_Video_size_flagが1である場合、第2のレジスタのSecondary Video Sizeは新しい値に設定される。Secondary_Video_size_flagが0である場合、第2のレジスタのSecondary Video Sizeは変更されない。
そして、Secondary_Video_sizeは、第2のレジスタの Secondary Video Sizeの意味に同じである。
また、Secondary video stream number or GPR numberは、第2のレジスタのSecondary Video stream numberに設定される値であり、直接指定されるか、第4のレジスタであるGPRにて指定されるかのうちのいずれかとなる。
次に、図47のSetSecondaryStreamコマンドのうちのSecondary audio & PiP PG TextSTについて、図49を用いて説明する。
Secondary_Audio_flagが1である場合、第2のレジスタのSecondary Audio Stream Numberを新しい値に設定される。Secondary_Audio_flagが0である場合、第2のレジスタのSecondary Audio Stream Numberは変更されない。
disp_a_flagが1である場合、第2のレジスタのdisp_a_flagが1に設定される。disp_a_flagが0である場合、2のレジスタのdisp_a_flagが0に設定される。
そして、Secondary audio stream number or GPR numberは、第2のレジスタのSecondary Audio stream numberに設定される値であり、直接指定されるか、第4のレジスタGPRにて指定されるかのうちのいずれかである。
PiP_PG_textST_flagが1である場合、第1のレジスタのPiP PG TextST Stream Numberが新しい値に設定される。PiP_PG_textST_flagが0である場合、第1のレジスタのPiP PG TextST Stream Numberは変更されない。
disp_s_flagが1である場合、第1のレジスタのdisp_s_flagが1に設定される。disp_s_flagが0である場合、第1のレジスタのdisp_s_flagが0に設定される。
そして、PiP_PG_textST_valid_flagの値が1である場合、第1のレジスタのPiP_PG_textST_valid_flagが1に設定される。PiP_PG_textST_valid_flagの値が1である場合、第1のレジスタのPiP_PG_textST_valid_flagが0に設定される。
また、PiP PG TextST stream number or GPR numberは、第1のレジスタのPiP PG TextST stream numberに設定される値であり、直接指定されるか、第4のレジスタGPRにて指定されるかのうちのいずれかである。
次に、SetSecondaryStreamコマンドの具体的な使用例について、図50を用いて説明する。
例えば、図50に示されるように、SetSecondaryStreamコマンドのうちのSecondary videoについて、Secondary_Video_flagが1、disp_v_flagが1、Secondary_Video_size_flagが0、Secondary_Video_sizeが0、そして、Secondary video stream numberを1とし、さらに、SetSecondaryStreamコマンドのうちのSecondary audio & PiP PG TextSTについて、Secondary_Audio_flagが1、disp_a_flagが1、Secondary audio stream numberが1、PiP_PG_textST_flagが1、disp_s_flagが1、PiP_PG_textST_valid_flagの値が1、そして、PiP PG TextST stream numberの値を1としたSetSecondaryStreamのコマンドを用いて、それぞれのレジスタが設定され、その後、所定のタイミングで再生開始コマンド(以下、Link Markコマンド(Link MK)と称する。また、再生位置を変更するコマンドも、ここでは、再生開始コマンドと称する)が発行されて、再生処理がスタートされる場合、ピクチャインピクチャ再生が実行されるとともに、ピクチャインピクチャ用のSecondary videoのサイズの変更はなく、Secondary Audio、PiP PGのstream numberは、値が直接指定される。
このようなコマンドを発行することが可能なようにすることにより、ユーザが所望するピクチャインピクチャ表示における再生開始を指令することが可能となる。
具体的には、ユーザにより、図36を用いて説明したストリーム選択ウィンドウ281において、同期型のPiPに対応付けられている第1のPiP選択ボタン291が選択された場合、図39を用いて説明した表示開始ボタン303が選択された場合、または、図41もしくは図42を用いて説明した表示開始ボタン311,312,313が選択された場合、操作入力取得部356は、いずれのアイテムが選択されたかを示す情報をコマンド発生部340に供給する。
コマンド発生部340は、操作入力取得部356から、いずれのアイテムが選択されたかを示す情報を得るとともに、コマンド情報取得部355により取得される選択されたアイテムに対応付けられているコマンドを示す情報に基づいて、ユーザが所望するPrimary VideoまたはPrimary Audio、もしくは、Secondary VideoまたはSecondary Audioの少なくともいずれかに対応するアイテムに対応付けられた、SetSecondaryStreamコマンドを発生する。
発行されたSetSecondaryStreamコマンドに応じて、アイテムに対応するSecondary Video、Secondary Audio、PG txtST/PiP PG txtSTのストリーム番号が、再生装置1のメモリ23の対応するレジスタの値として設定される。
そして、ストリームデータ読み出し制御部357は、Link MKコマンドを受けたとき、発生されたSetSecondaryStreamコマンドによりレジスタに設定されたそれぞれの設定値を基に、対応するClipに含まれるPrimary VideoおよびPrimary Audio、並びに、Secondary Video、および、必要に応じてSecondary Audio、PG txtST/PiP PG txtSTのストリームデータの読み出しを制御するとともに、読み出したストリームデータのAVデコーダ部26への供給を制御する。
再生制御部358は、ストリームデータ読み出し制御部357の制御に基づいて、AVデコーダ部26へ供給されたデータのデコード、合成、および再生出力を制御する。そして、ピクチャインピクチャ表示で、ユーザが指定した箇所から、コンテンツの再生が開始される。
これにより、ユーザは、表示可能な複数のピクチャインピクチャのうちの所望のものを再生させるための指令を容易うことができる。
すなわち、コンテンツとともに、ユーザが、表示可能な複数のピクチャインピクチャの子画面202のうちの所望のものを再生させるための指令が容易に行えるようなGUI表示画面や表示開始ボタン、または、現在の設定状況をユーザに通知するために用いられるアイコンなどを表示させるためのナビゲーションプログラム、IGストリーム、または、PGストリームなどが供給され、再生装置1により再生表示される。そして、ユーザにより、コマンドが対応付けられたアイテムが選択された場合、所定のコマンドが発行されて、表示可能な複数のピクチャインピクチャのうちの所望のものが再生される。このようにすることにより、ユーザが複雑な操作を行うことなく、ユーザが直感的に認識しやすいようにして、ユーザの所望するピクチャインピクチャ表示を指令することが可能となる。
次に、図51および図52のフローチャートを参照して、再生処理について説明する。
なお、ここでは、GUI表示画面、または、表示開始ボタン、アイコンなどを表示させるために必要な、プレゼンテーショングラフィックスストリームまたはインタラクティブグラフィックスストリーム、もしくは、ナビゲーションプログラムは、ストリームの再生とは関係しないタイミングで、予め取得されるものとして説明する。
ステップS1において、PlayList読み出し制御部351は、記録媒体11が装着されたか否かを判断する。ステップS1において、記録媒体11が装着されたと判断されなかった場合、記録媒体11が装着されたと判断されるまで、ステップS1の処理が繰り返される。
ステップS1において、記録媒体11が装着されたと判断された場合、ステップS2において、GUIデータ読み出し制御部352は、記録媒体11またはローカルストレージ24から、GUI表示画面261または、各種の表示開始ボタン、アイコンなどを表示させるために必要な、プレゼンテーショングラフィックスストリームまたはインタラクティブグラフィックスストリーム、もしくは、ナビゲーションプログラムを取得する。
ステップS3において、操作入力取得部356は、GUI表示画面、すなわち、PiP メニュー画面261の再生を指令する操作入力を取得したか否かを判断する。ステップS3において、GUI表示画面261の再生を指令する操作入力は取得されていないと判断された場合、処理は、後述するステップS7に進む。
ステップS3において、GUI表示が指令されたと判断された場合、ステップS4において、GUIデータ再生制御部353およびGUI表示制御部359は、GUI表示画面として、例えば、図35を用いて説明したようなPiPメニュー画面261の表示を制御する。
例えば、PiPメニュー画面261に対応するデータがIGとして提供されている場合、GUIデータ再生制御部354は、PlayListファイルに基づいて読み出された、PiP メニュー画面261に対応するIGのストリームデータのデコードを制御する。そして、GUI表示制御部359は、GUIデータ再生制御部354の処理により再生が制御されたGUI表示画面データの表示、すなわち、インタラクティブグラフィックスプレーン生成部94により生成されたインタラクティブグラフィックスプレーンの表示を制御する。
ステップS5において、操作入力取得部356は、図36を用いて説明したようなPiPメニュー画面261のストリーム選択ウィンドウ281において、再生させるPiPの選択を受けたか否かを判断する。ステップS5において、再生させるPiPの選択を受けていないと判断された場合、処理は、後述するステップS7に進む。
ステップS5において、再生させるPiPの選択を受けたと判断された場合、ステップS6において、操作入力取得部356は、再生させるPiPの選択の内容を、コマンド発生部340に供給する。コマンド発生部340は、ユーザによる再生されるPiPの選択結果を一時保持する。
ステップS3において、GUI表示画面261の再生を指令する操作入力は取得されていないと判断された場合、ステップS5において、再生させるPiPの選択を受けていないと判断された場合、または、ステップS6の処理の終了後、ステップS7において、操作入力取得部356は、ストリームの再生を指令する操作入力を取得したか否かを判断する。ステップS3において、ストリームの再生を指令する操作入力は取得されていないと判断された場合、処理は、ステップS3に戻り、それ以降の処理が繰り返される。
ステップS7において、ストリームの再生を指令する操作入力を取得したと判断された場合、ステップS8において、PlayList読み出し制御部351は、装着された記録媒体11からPlayListファイルを読み出し、取得したPlayListファイルに含まれるPlayItemおよびSubPlayItemに基づいて、対応するClipのClip_Information_file_nameを検出し、ストリームデータ読み出し制御部357に供給する。ストリームデータ読み出し制御部357は、PlayList読み出し制御部351から供給されたPlayListのClip_Information_file_nameを基に、対応するClipに含まれるストリームデータの読み出しと、AVデコーダ部26への供給を制御する。再生制御部358は、AVデコーダ部26へ供給されたデータのデコードおよび再生出力を制御する。
ステップS9において、コマンド発生部340は、再生されるPiPは選択されているか否かを判断する。ステップS9において、再生されるPiPは選択されていないと判断された場合、処理は、後述するステップS21に進む。
ステップS9において、再生されるPiPは選択されていると判断された場合、ステップS10において、コマンド発生部340は、選択されたPiPは同期型であるか否かを判断する。ステップS10において、選択されたPiPは同期型ではない、すなわち、非同期型であると判断された場合、処理は、後述するステップS16に進む。
ステップS10において、選択されたPiPは同期型であると判断された場合、ステップS11において、コマンド発生部340は、PiPの選択時にユーザの操作入力により選択決定されたボタン、例えば、図36を用いて説明したようなPiPメニュー画面261のストリーム選択ウィンドウ281に備えられている第1のPiP選択ボタン291に対応付けられているコマンドを発行して実行させる。このボタンナビゲーションコマンドが実行されることにより、第1のレジスタおよび第2のレジスタに、選択されたPiPを表示させるためのストリームナンバーなどが設定される。
ステップS12において、コマンド発生部340は、同期型PiPの表示開始時刻か否かを判断する。
ステップS12において、同期型PiPの表示開始時刻ではないと判断された場合、ステップS13において、GUIデータ生成制御部353およびGUI表示制御部359は、図38に示されるようにして、全画面201のいずれかの位置に、現在のピクチャインピクチャ表示に関する設定状況、例えば、いずれかの同期型PiPの表示開始待ちであることを示したり、または、表示開始待ちの同期型PiPの内容を示すアイコン302などを表示させ、処理は、ステップS12に戻り、それ以降の処理が繰り返される。
ステップS12において、同期型PiPの表示開始時刻であると判断された場合、ステップS14において、コマンド発生部340は、ナビゲーションコマンドを発生して、第1のレジスタにおけるdisp_s_flag、または、PiP_PG_textST_valid_flagや、第2のレジスタにおけるdisp_v_flag、または、disp_a_flagを設定し、ストリームデータ読み出し制御部357は、レジスタの設定に基づいて、対応するストリームデータを読み出し、再生制御部358は、読み出されたストリームデータのデコードなどを制御して、同期型PiPを表示させる。
ステップS15において、ストリームデータ読み出し制御部357および再生制御部358は、PiPの表示が終了されたか否かを判断する。ステップS15において、PiPの表示が終了されていないと判断された場合、処理は、ステップS14に戻り、それ以降の処理が繰り返される。ステップS15において、PiPの表示が終了されたと判断された場合、処理は、後述するステップS21に進む。
ステップS10において、選択されたPiPは同期型ではない、すなわち、非同期型であると判断された場合、ステップS16において、GUIデータ生成制御部353およびGUI表示制御部359は、メインストリームに多重化されているIGによって、ユーザにより選択決定された選択ボタン(例えば、図36のストリーム選択ウィンドウ281に表示されている第3のPiP選択ボタン293)に対応付けられているコマンドが発行されて、メインストリームに多重化されているIGのストリームナンバーが第3のレジスタに設定される。そして、図39に示されるように、メインストリームが再生されている全画面201に、非同期のPiPの表示開始をユーザが指令するときに押下される再生開始ボタン303が表示される。
ステップS17において、操作入力取得部356は、ユーザにより、再生開始ボタン303が選択されたか否かを判断する。ステップS17において、再生開始ボタン303が選択されていないと判断された場合、選択されたと判断されるまで、ステップS17の処理が繰り返される。
ステップS17において、再生開始ボタン303が選択されたと判断された場合、ステップS18において、操作入力取得部356は、ユーザにより再生開始ボタン303が選択されたことを、コマンド発生部340に通知する。コマンド発生部340は、再生開始ボタン303に対応付けられたコマンドを実行する。このボタンナビゲーションコマンドが実行されることにより、第1のレジスタおよび第2のレジスタに、選択されたPiPを表示させるためのストリームナンバーなどが設定される。
ステップS19において、ストリームデータ読み出し制御部357は、レジスタの設定に基づいて、対応するストリームデータを読み出し、再生制御部358は、読み出されたストリームデータのデコードなどを制御して、非同期型PiPを表示させる。
ステップS20において、ストリームデータ読み出し制御部357および再生制御部358は、PiPの表示が終了されたか否かを判断する。ステップS20において、PiPの表示が終了されていないと判断された場合、処理は、ステップS19に戻り、それ以降の処理が繰り返される。
ステップS15において、PiPの表示が終了されたと判断された場合、または、ステップS20において、PiPの表示が終了されたと判断された場合、ステップS21において、操作入力取得部356は、GUI表示画面、すなわち、PiPメニュー画面261の再生を指令する操作入力を取得したか否かを判断する。ステップS21において、GUI表示画面261の再生を指令する操作入力は取得されていないと判断された場合、処理は、後述するステップS24に進む。
ステップS21において、GUI表示が指令されたと判断された場合、ステップS22において、GUIデータ再生制御部353およびGUI表示制御部359は、GUI表示画面として、例えば、図35を用いて説明したようなPiPメニュー画面261の表示を制御する。
例えば、PiPメニュー画面261に対応するデータがIGとして提供されている場合、GUIデータ再生制御部354は、PlayListファイルに基づいて読み出された、PiP メニュー画面261に対応するIGのストリームデータのデコードを制御する。そして、GUI表示制御部359は、GUIデータ再生制御部354の処理により再生が制御されたGUI表示画面データの表示、すなわち、インタラクティブグラフィックスプレーン生成部94により生成されたインタラクティブグラフィックスプレーンの表示を制御する。
ステップS23において、操作入力取得部356は、図36を用いて説明したようなPiPメニュー画面261のストリーム選択ウィンドウ281において、再生させるPiPの選択を受けたか否かを判断する。ステップS23において、再生させるPiPの選択を受けたと判断された場合、処理は、ステップS10に戻り、それ以降の処理が繰り返される。
ステップS23において、再生させるPiPの選択を受けていないと判断された場合、ステップS24において、ストリームデータ読み出し制御部357および再生制御部358は、ストリームの再生が終了されるか否かを判断する。
ステップS24において、ストリームの再生が終了されないと判断された場合、処理は、ステップS21に戻り、それ以降の処理が繰り返される。ステップS24において、ストリームの再生が終了されたと判断された場合、処理は終了される。
このような処理により、メインストリームとともに再生されるPiPを選択するためのGUI表示画面であるPiPメニュー画面261をはじめとして、ユーザが容易に直感的にPiPの表示開始を指令することができるようなボタン、アイコン、サムネイルなどが表示される。そして、ユーザの操作入力に基づいて、対応するコマンドが発行され、レジスタの設定が行われて、ユーザが所望するPiPが再生表示される。
なお、表示されるPiPには、サブパスに参照されるサブストリームに多重化されたIGにより表示されるボタンなどが含まれている場合と、含まれていない場合がある。
次に、図53のフローチャートを参照して、PiP表示処理について説明する。
ステップS51において、操作入力取得部356は、例えば、図36のストリーム選択ウィンドウ281に表示されている第1のPiP選択ボタン291、図39に示される再生開始ボタン303、または、図41および図42を用いて説明した子画面202内に表示される再生開始ボタン311乃至再生開始ボタン313、もしくは、図44を用いて説明した再生開始ボタン321もしくは再生開始ボタン322などの操作入力、すなわち、PiPの表示の指令を受け、ユーザの操作入力をコマンド発生部340に通知する。コマンド発生部340は、再生開始ボタン303に対応付けられたコマンドを実行する。このボタンナビゲーションコマンドが実行されることにより、第1のレジスタおよび第2のレジスタに、選択されたPiPを表示させるためのストリームナンバーなどが設定される。
ステップS52において、ストリームデータ読み出し制御部357は、レジスタの設定に基づいて、対応するストリームデータを読み出し、表示されるPiPには、PiP IGが対応付けられているか否かを判断する。ステップS52において、表示されるPiPには、PiP IGが対応付けられていないと判断された場合、処理は、後述するステップS59に進む。
ステップS52において、表示されるPiPには、PiP IGが対応付けられていると判断された場合、ステップS53において、ストリームデータ読み出し制御部357および再生制御部358は、図51のステップS14または図52のステップS19に対応する処理を実行し、PiP IGを含んだPiPを表示させる。
ステップS54において、操作入力取得部356は、PiP IGを含んだPiPのうちのいずれかのボタン、例えば、および図42を用いて説明した子画面202内に表示される再生開始ボタン311乃至再生開始ボタン313、図44を用いて説明した再生開始ボタン321もしくは再生開始ボタン322、または、OFFボタン323のうちのいずれかが選択決定されたか否かを判断する。
ステップS54において、いずれのボタンも選択決定されていないと判断された場合、ステップS55において、ストリームデータ読み出し制御部357および再生制御部358は、PiPの表示が終了されたか否かを判断する。ステップS55において、PiPの表示が終了されていないと判断された場合、処理は、ステップS54に戻り、それ以降の処理が繰り返される。ステップS55において、PiPの表示が終了されたと判断された場合、処理は、後述するステップS61に進む。
ステップS54において、いずれかのボタンが選択決定されたと判断された場合、ステップS56において、操作入力取得部356は、ユーザにより選択されたボタンなどについての情報を、コマンド発生部340に通知する。コマンド発生部340は、ボタンに対応付けられたコマンドを実行する。
ステップS57において、コマンド発生部340は、実行されたコマンドにより、これまでと異なるPiPが表示されるか否かを判断する。ステップS57において、これまでと異なるPiPが表示されると判断された場合、処理は、ステップS52に戻り、それ以降の処理が繰り返される。
ユーザにより選択決定されたのが、例えば、図44を用いて説明したOFFボタン323であった場合など、ステップS57において、これまでと異なるPiPが表示されないと判断された場合、ステップS58において、コマンド発生部340は、選択されたボタンなどに対応付けられたコマンドを発生するので、コマンドに対応する処理が実行されて、処理が終了される。
ステップS52において、表示されるPiPには、PiP IGが対応付けられていないと判断された場合、ステップS59において、ストリームデータ読み出し制御部357および再生制御部358は、図51のステップS14または図52のステップS19に対応する処理を実行し、PiP IGを含まないPiPを表示させる。
ステップS60において、ストリームデータ読み出し制御部357および再生制御部358は、PiPの表示が終了されたか否かを判断する。ステップS60において、PiPの表示が終了されていないと判断された場合、処理は、ステップS59に戻り、それ以降の処理が繰り返される。
ステップS55、または、ステップS60において、PiPの表示が終了されたと判断された場合、ステップS61において、コマンド発生部340は、表示が終了されたPiPは、同期型PiPに含まれているIGにより発行されたコマンドにより表示されたか否かを判断する。ステップS61において、表示が終了されたPiPは、同期型PiPに含まれているIGにより発行されたコマンドにより表示されていないと判断された場合、処理は終了される。
ステップS61において、表示が終了されたPiPは、同期型PiPに含まれているIGにより発行されたコマンドにより表示されたと判断された場合、ステップS62において、コマンド発生部340は、表示が終了されたPiPは、同期型PiPに含まれているIGにより発行されたコマンドにより表示されたことをストリームデータ読み出し制御部375に供給する。ストリームデータ読み出し制御部375は、PlayList読み出し制御部351から供給されたPlayListに基づいて、その同期型PiPの表示区間は終了したか否かを判断する。ステップS62において、その同期型PiPの表示区間は終了したと判断された場合、処理は終了される。
ステップS62において、その同期型PiPの表示区間は終了していないと判断された場合、ステップS63において、ストリームデータ読み出し制御部357および再生制御部358は、対応する同期型PiPを、メインパスの表示時間軸に合わせて表示させ、処理は、ステップS52に戻り、それ以降の処理が繰り返される。
このような処理により、サブパスに参照されるサブストリームに多重化されたIGにより表示されるボタンなどが含まれているPiPと、含まれていないPiPとが、それぞれ表示される。PiP表示画面中に、IGによる各種ボタン等が設けられている場合、子画面202が表示されている状態から、再びPiP メニュー画面261メニュー画面を表示させることなく他のPiPを表示させることが可能となるので、ユーザは、複雑な操作入力を行うことなく、所望のPiP表示を指令することができる。
すなわち、上述したGUI表示画面、各種ボタン、サムネイル、または、アイコンなどは、コンテンツの供給元、または、記録媒体の販売者など、いわゆる、コンテンツオーサが、設計し、デザインして、ユーザに提供することができるものであるとともに、ユーザが所望するアイテムに対応付けてコマンドを設定することが可能である。これにより、コンテンツオーサは、コンテンツの内容や、提供するピクチャインピクチャアプリケーションの内容に応じて、ユーザが効率よくピクチャインピクチャアプリケーションにより再生可能なセカンダリビデオまたはセカンダリオーディオを選択することができたり、非同期のピクチャインピクチャアプリケーションの再生開始を指令することができるようユーザインタフェイスをユーザに提供することができる。
次に、図54および図55を参照して、再生装置1において再生可能なデータが記録された記録媒体11の製造方法について、記録媒体11がディスク状の記録媒体だった場合を例として説明する。
即ち、図54に示すように、例えばガラスなどよりなる原盤が用意され、その上に、例えばフォトレジストなどよりなる記録材料が塗布される。これにより、記録用原盤が製作される。
そして、図55に示すように、ソフト製作処理部において、符号化装置(ビデオエンコーダ)で符号化された、再生装置1において再生可能な形式のビデオデータが、一時バッファに記憶され、オーディオエンコーダで符号化されたオーディオデータが、一時バッファに記憶されるとともに、更に、データエンコーダで符号化された、ストリーム以外のデータ(例えば、Indexes、PlayList、PlayItemなど)が一時バッファに記憶される。それぞれのバッファに記憶されたビデオデータ、オーディオデータ、および、ストリーム以外のデータは、多重化器(MPX)で同期信号と共に多重化され、誤り訂正符号回路(ECC)でエラー訂正用のコードが付加される。そして、変調回路(MOD)で所定の変調がかけられ、所定のフォーマットにしたがって、例えば磁気テープなどに一旦記録され、再生装置1において再生可能な記録媒体11に記録されるソフトウェアが製作される。
このソフトウェアを必要に応じて編集(プリマスタリング)し、光ディスクに記録すべきフォーマットの信号が生成される。そして、この記録信号に対応して、レーザビームが変調されて、このレーザビームが原盤上のフォトレジスト上に照射される。これにより、原盤上のフォトレジストが記録信号に対応して露光される。
その後、この原盤を現像し、原盤上にピットを出現させる。このようにして用意された原盤に、例えば電鋳等の処理を施し、ガラス原盤上のピットを転写した金属原盤を製作する。この金属原盤から、さらに金属スタンパを製作し、これを成形用金型とする。
この成形用金型に、例えばインジェクションなどによりPMMA(アクリル)またはPC(ポリカーボネート)などの材料を注入し、固定化させる。あるいは、金属スタンパ上に2P(紫外線硬化樹脂)などを塗布した後、紫外線を照射して硬化させる。これにより、金属スタンパ上のピットを、樹脂よりなるレプリカ上に転写することができる。
このようにして生成されたレプリカ上に、反射膜が、蒸着あるいはスパッタリングなどにより形成される。あるいはまた、生成されたレプリカ上に、反射膜が、スピンコートにより形成される。
その後、このディスクに対して内外径の加工が施され、2枚のディスクを張り合わせるなどの必要な処置が施される。さらに、ラベルを貼り付けたり、ハブが取り付けられて、カートリッジに挿入される。このようにして再生装置1によって再生可能なデータが記録された記録媒体11が完成する。
上述した一連の処理は、ハードウエアにより実行させることもできるし、ソフトウェアにより実行させることもできる。この場合、上述した処理は、図56に示されるようなパーソナルコンピュータ500により実行される。
図56において、CPU(Central Processing Unit)501は、ROM(Read Only Memory)502に記憶されているプログラム、または、記憶部508からRAM(Random Access Memory)503にロードされたプログラムに従って各種の処理を実行する。RAM503にはまた、CPU501が各種の処理を実行する上において必要なデータなどが適宜記憶される。
CPU501、ROM502、およびRAM503は、内部バス504を介して相互に接続されている。この内部バス504にはまた、入出力インターフェース505も接続されている。
入出力インターフェース505には、キーボード、マウスなどよりなる入力部506、CRT,LCDなどよりなるディスプレイ、スピーカなどよりなる出力部507、ハードディスクなどより構成される記憶部508、並びに、モデム、ターミナルアダプタなどより構成される通信部509が接続されている。通信部509は、電話回線やCATVを含む各種のネットワークを介しての通信処理を行う。
入出力インターフェース505にはまた、必要に応じてドライブ510が接続され、磁気ディスク、光ディスク、光磁気ディスク、あるいは半導体メモリなどによりなるリムーバブルメディア521が適宜装着され、それから読み出されたコンピュータプログラムが、必要に応じて記憶部508にインストールされる。
一連の処理をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが、ネットワークやプログラム格納媒体からインストールされる。
このプログラム格納媒体は、図56に示されるように、コンピュータとは別に、ユーザにプログラムを提供するために配布される、プログラムが記録されているリムーバブルメディア521よりなるパッケージメディアにより構成されるだけでなく、装置本体に予め組み込まれた状態でユーザに提供される、プログラムが記録されているROM502や記憶部508が含まれるハードディスクなどで構成される。
なお、本明細書において、コンピュータプログラムを記述するステップは、記載された順序に従って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
また、ドライブ510は、装着されたリムーバブルメディア521に記録されたデータを読み出すことができるのみならず、装着されたリムーバブルメディア521にデータを記録することができる。そして、パーソナルコンピュータ500が、図55を用いて説明したソフト製作処理部と同様の機能を有する(例えば、CPU501を用いて、ソフト製作処理部と同様の機能を実現するためのプログラムを実行する)ことが可能であるのは言うまでもない。
すなわち、パーソナルコンピュータ500は、図55を用いて説明したソフト制作処理部により生成されたデータと同様のデータを、CPU501の処理により生成するか、または、外部の装置で生成された図55を用いて説明したソフト制作処理部により生成されたデータと同様のデータを、通信部509またはドライブ510に装着されたリムーバブルメディア521を介して取得することができる。そして、パーソナルコンピュータ500は、生成または取得された図55を用いて説明したソフト制作処理部により生成されたデータと同様のデータを、ドライブ510に装着されたリムーバブルメディア521に記録する記録装置としての機能を実現することができる。
なお、本明細書において、システムとは、複数の装置により構成される装置全体を表すものである。
なお、本発明の実施の形態は、上述した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能である。
1 再生装置, 11 記録媒体, 21 コントローラ, 26 AVデコーダ部, 30 OSD, 32 スイッチ, 51乃至54 バッファ, 55,56 PIDフィルタ, 57乃至59 スイッチ, 71 バックグラウンドデコーダ, 72 ビデオデコーダ, 73 プレゼンテーショングラフィックスデコーダ, 74 インタラクティブグラフィックスデコーダ, 75 オーディオデコーダ, 76 Text-STコンポジション, 77 スイッチ, 91 バックグラウンドプレーン生成部, 92 ビデオプレーン生成部, 93 プレゼンテーショングラフィックスプレーン生成部, 94 インタラクティブグラフィックスプレーン生成部, 95 バッファ 96 ビデオデータ処理部, 97 ミキシング処理部, 101 ミキシング処理部, 102 バッファ, 261 PiPメニュー画面, 281 ストリーム選択ウィンドウ, 291,292,293 PiP選択ボタン, 302 アイコン, 303 再生開始ボタン, 311,312,313,321,322 再生開始ボタン, 323 OFFボタン, 351 PlayList読み出し制御部, 352 GUIデータ読み出し制御部, 353 GUIデータ再生制御部, 356 操作入力取得部356, 357 ストリームデータ読み出し制御部, 358 コマンド情報取得部