JP4821456B2 - 情報処理装置および情報処理方法、プログラム、データ構造、並びに記録媒体 - Google Patents

情報処理装置および情報処理方法、プログラム、データ構造、並びに記録媒体 Download PDF

Info

Publication number
JP4821456B2
JP4821456B2 JP2006173678A JP2006173678A JP4821456B2 JP 4821456 B2 JP4821456 B2 JP 4821456B2 JP 2006173678 A JP2006173678 A JP 2006173678A JP 2006173678 A JP2006173678 A JP 2006173678A JP 4821456 B2 JP4821456 B2 JP 4821456B2
Authority
JP
Japan
Prior art keywords
stream
image
data
audio
playback
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2006173678A
Other languages
English (en)
Other versions
JP2008005289A (ja
JP2008005289A5 (ja
Inventor
綾子 岩瀬
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Corp
Original Assignee
Sony Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sony Corp filed Critical Sony Corp
Priority to JP2006173678A priority Critical patent/JP4821456B2/ja
Publication of JP2008005289A publication Critical patent/JP2008005289A/ja
Publication of JP2008005289A5 publication Critical patent/JP2008005289A5/ja
Application granted granted Critical
Publication of JP4821456B2 publication Critical patent/JP4821456B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、情報処理装置および情報処理方法、プログラム、データ構造、並びに記録媒体に関し、特に、複数のビデオストリームが合成されて表示可能なようになされている場合に用いて好適な、情報処理装置および情報処理方法、プログラム、データ構造、並びに記録媒体に関する。
DVD(Digital Versatile Disc)ビデオの規格においては、記録媒体に記録されている映画などのAV(Audio Visual)コンテンツを再生する場合、ユーザに、音声切り替えや字幕切り替えというインタラクティブな操作を提供している(例えば、非特許文献1参照)。具体的には、図1の表示装置1に表示されているAVコンテンツに対して、ユーザは、リモートコントローラ2の音声切り替えボタン11や字幕切り替えボタン12を操作することで、音声の切り替えや字幕を切り替える。例えば、音声1が初期状態として設定されており、ユーザによりリモートコントローラ2の音声切り替えボタン11が操作された場合、図2に示されるように、音声1が音声2に切り替えられる。
DVDビデオ上のAVコンテンツは、MPEG(Moving Picture Experts Group)2プログラムストリームの形式で記録されている。このMPEG2プログラムストリームには、図3に示されるように、ビデオストリーム(図3のビデオ)、複数のオーディオストリーム(図3のオーディオ1,2,3)、および複数のサブピクチャストリーム(図3のサブピクチャ1,2,3)が、ビデオストリームにAV同期して再生されるように多重化されている。サブピクチャストリーム(サブピクチャ1,2,3)は、ビットマップ画像がランレングス符号化されたストリームであり、主に字幕用途に用いられる。
一般に、複数のオーディオストリームは、異なる言語の音声を記録するために用いられ、複数のサブピクチャストリームは、異なる言語の字幕を記録するために用いられる。ユーザは、ビデオが再生されている場合、インタラクティブに所望の言語の音声や字幕を、リモートコントローラ2を用いて選択することができる。
DVD Specifications for Read-Only Disc Part 3;Version1.1
また、追加して記録された音声(例えば、いわゆるアフレコと称される音声)を再生するために、Sub pathが用いられている技術がある(例えば、特許文献1)。
特開2000−158972号公報
特許文献1に記載の技術では、たしかに、追加して記録された音声(例えば、いわゆるアフレコと称される音声)を再生するために、Sub pathが用いられているが、2つの同一の種類のストリーム、すなわち、2つのオーディオストリームや2つのビデオストリームを合成して再生するための構成についてはなんら開示されていない。
したがって、例えば、2つのビデオストリームが合成して再生される場合などにおいて、メインのストリームに合成されるストリームとしてどのようなものが再生可能であるか、または、メインのストリームに合成されて再生されるストリームが再生時間軸上においてどの位置で合成されるのかなどを把握するための技術や、メインのストリームではなく、メインのストリームに合成されて再生されるストリームを指定して再生させる技術はなかった。
本発明はこのような状況に鑑みてなされたものであり、複数のビデオストリームが合成して再生される場合であっても、メインのストリームではなく、メインのストリームに合成されて再生されるストリームを容易に把握することができるようにするものである。
本発明第1の側面の情報処理装置は、ストリームの再生を制御する情報処理装置であって、記録媒体から前記ストリームの主の再生パスとは異なる1つまたは複数の副の再生パスに基づいて再生可能な副のストリームをユーザが把握するための補助となる表示画面を表示させるためのデータを取得する情報取得手段と、前記情報取得手段により取得された前記データを基に、前記副のストリームに対応する情報を含む前記表示画面の表示を制御する表示制御手段と、前記表示画面に含まれる前記情報のうちの前記ユーザにより選択された情報に対応する前記副のストリームの画像をサブ画面の画像として再生し、その副のストリームに対応する前記主の再生パスにより再生される主のストリームの画像を、前記サブ画面を含むメイン画面の画像として再生するように、前記ストリームの再生を制御する再生制御手段とを備え、前記副のストリームに対応する情報は、その副のストリームの画像を前記サブ画面とし、その副のストリームに対応する主のストリームの画像を前記メイン画面とした画像を縮小したサムネイル画像である
前記ユーザの操作入力を受ける操作入力取得手段と、前記ストリームの再生を制御する再生制御コマンドの発生を制御するコマンド発生手段と更に備え前記操作入力取得手段により、前記ユーザにより前記副のストリームに対応する情報のうちのいずれかが選択されたことを示す操作入力が取得された場合、前記コマンド発生手段、選択された前記情報に対応する前記副のストリームの画像を前記サブ画面の画像として再生その副のストリームに対応する主のストリームの画像を前記メイン画面の画像として再生するように、前記ストリームの再生を制御する前記再生制御コマンドを発生、前記再生制御手段前記再生制御コマンドに基づいて前記ストリームの再生を制御することができる。
前記ストリームの再生に関する設定情報を保持する保持手段を更に備え前記コマンド発生手段前記再生制御コマンドとして、前記保持手段により保持される前記設定情報を設定するためのコマンドを発生した後、前記ストリームの再生を開始させるコマンドを発生し、前記再生制御手段は、前記ストリームの再生を開始させるコマンドに応じて、前記保持手段に保持されている前記設定情報に基づいて前記ストリームの再生を制御することができる。
前記表示画面には、前記再生制御コマンドが対応付けられるようにすることができる。
前記ストリームの再生に関する設定情報を保持する保持手段を更に備え、前記コマンド発生手段は、前記再生制御コマンドとして、前記保持手段により保持される前記設定情報を設定するためのコマンドを発生した後、前記ストリームの再生を開始させるコマンドを発生し、前記再生制御手段は、前記ストリームの再生を開始させるコマンドに応じて、前記保持手段に保持されている前記設定情報に基づいて前記ストリームの再生を制御することができる。
前記表示画面は、前記主のストリームの画像のうちの少なくとも一部も含ようにすることができる
前記情報取得手段により取得された前記表示画面を表示させるためのデータを基に、前記表示画面の画像データを生成する処理を実行する表示画面データ生成手段を更に備え前記表示画面を表示させるためのデータは、前記表示画面の画像を描画する処理を実行させるプログラムであ、前記表示画面データ生成手段は、前記プログラムを実行することにより、前記表示画面の画像データを生成し、前記表示制御手段は、前記表示画面の画像データを基に前記表示画面の表示を制御することができる。
本発明の第1の側面の情報処理方法は、ストリームの再生を制御する情報処理装置の情報処理方法において、前記情報処理装置が、記録媒体から前記ストリームの主の再生パスとは異なる1つまたは複数の副の再生パスに基づいて再生可能な副のストリームをユーザが把握するための補助となる表示画面を表示させるためのデータを取得し、前記情報処理装置が、取得された前記データを基に、前記副のストリームに対応する情報を含む前記表示画面の表示を制御し、前記情報処理装置が、前記表示画面に含まれる前記情報のうちの前記ユーザにより選択された情報に対応する前記副のストリームの画像をサブ画面の画像として再生し、その副のストリームに対応する前記主の再生パスにより再生される主のストリームの画像を、前記サブ画面を含むメイン画面の画像として再生するように、前記ストリームの再生を制御するステップを含み、前記副のストリームに対応する情報は、その副のストリームの画像を前記サブ画面とし、その副のストリームに対応する主のストリームの画像を前記メイン画面とした画像を縮小したサムネイル画像である情報処理方法である。
前記情報処理装置は、前記ユーザの操作入力を受ける操作入力取得手段を備え、前記情報処理方法は、前記情報処理装置が、前記ストリームの再生を制御する再生制御コマンドの発生を制御するコマンド発生ステップをさらに含み、前記操作入力取得手段により、前記ユーザにより前記副のストリームに対応する情報のうちのいずれかが選択されたことを示す操作入力が取得された場合、前記コマンド発生ステップでは、前記情報処理装置が、選択された前記情報に対応する前記副のストリームの画像を前記サブ画面の画像として再生し、その副のストリームに対応する主のストリームの画像を前記メイン画面の画像として再生するように、前記ストリームの再生を制御する前記再生制御コマンドを発生し、前記再生制御ステップでは、前記情報処理装置が、前記再生制御コマンドに基づいて前記ストリームの再生を制御し、前記表示画面には、前記再生制御コマンドが対応付けられているようにすることができる。
本発明の第1の側面のプログラムは、ストリームの再生を制御する情報処理装置を制御するコンピュータに、記録媒体から前記ストリームの主の再生パスとは異なる1つまたは複数の副の再生パスに基づいて再生可能な副のストリームをユーザが把握するための補助となる表示画面を表示させるためのデータを取得し、取得された前記データを基に、前記副のストリームに対応する情報を含む前記表示画面の表示を制御し、前記表示画面に含まれる前記情報のうちの前記ユーザにより選択された情報に対応する前記副のストリームの画像をサブ画面の画像として再生し、その副のストリームに対応する前記主の再生パスにより再生される主のストリームの画像を、前記サブ画面を含むメイン画面の画像として再生するように、前記ストリームの再生を制御するステップを含む処理を実行させるためのプログラムであり、前記副のストリームに対応する情報は、その副のストリームの画像を前記サブ画面とし、その副のストリームに対応する主のストリームの画像を前記メイン画面とした画像を縮小したサムネイル画像である
前記情報処理装置は、前記ユーザの操作入力を受ける操作入力取得手段を備え、前記処理は、前記ストリームの再生を制御する再生制御コマンドの発生を制御するコマンド発生ステップをさらに含み、前記操作入力取得手段により、前記ユーザにより前記副のストリームに対応する情報のうちのいずれかが選択されたことを示す操作入力が取得された場合、前記コマンド発生ステップでは、選択された前記情報に対応する前記副のストリームの画像を前記サブ画面の画像として再生し、その副のストリームに対応する主のストリームの画像を前記メイン画面の画像として再生するように、前記ストリームの再生を制御する前記再生制御コマンドを発生し、前記再生制御ステップでは、前記再生制御コマンドに基づいて前記ストリームの再生を制御し、前記表示画面には、前記再生制御コマンドが対応付けられているようにすることができる。
本発明の第1の側面の情報処理装置、情報処理方法またはプログラムにおいては、記録媒体からストリームの主の再生パスとは異なる1つまたは複数の副の再生パスに基づいて再生可能な副のストリームをユーザが把握するための補助となる表示画面を表示させるためのデータが取得され、取得された前記データを基に、前記副のストリームに対応する情報を含む前記表示画面の表示が制御され、前記表示画面に含まれる前記情報のうちの前記ユーザにより選択された情報に対応する前記副のストリームの画像をサブ画面の画像として再生し、その副のストリームに対応する前記主の再生パスにより再生される主のストリームの画像を、前記サブ画面を含むメイン画面の画像として再生するように、前記ストリームの再生が制御される。なお、前記副のストリームに対応する情報は、その副のストリームの画像を前記サブ画面とし、その副のストリームに対応する主のストリームの画像を前記メイン画面とした画像を縮小したサムネイル画像である。
ネットワークとは、少なくとも2つの装置が接続され、ある装置から、他の装置に対して、情報の伝達をできるようにした仕組みをいう。ネットワークを介して通信する装置は、独立した装置どうしであっても良いし、1つの装置を構成している内部ブロックどうしであっても良い。
また、通信とは、無線通信および有線通信は勿論、無線通信と有線通信とが混在した通信、即ち、ある区間では無線通信が行われ、他の区間では有線通信が行われるようなものであっても良い。さらに、ある装置から他の装置への通信が有線通信で行われ、他の装置からある装置への通信が無線通信で行われるようなものであっても良い。
再生装置は、独立した装置であっても良いし、記録再生装置や情報処理装置の再生処理を行うブロックであっても良い。
以上のように、本発明の第1の側面によれば、ユーザの操作のための補助となる表示画面を表示することができ、特に、その表示画面には、ピクチャインピクチャ表示状態を示すサムネイル画像を含ませることができる。
また、本発明の第2の側面によれば、ユーザの操作のための補助となる表示画面を再生装置において表示させるためのデータをユーザに提供することができ、特に、その表示画面には、ピクチャインピクチャ表示状態を示すサムネイル画像を含ませることができる。
本発明の第3の側面によれば、ユーザの操作のための補助となる表示画面を表示することができ、特に、その表示画面のうちの副のストリームに対応する情報には、対応する副のストリームを子画面として表示したピクチャインピクチャ表示による再生処理を実行させるためのコマンドを対応付けることができる。
本発明の第4の側面によれば、ユーザの操作のための補助となる表示画面を再生装置において表示させるためのデータをユーザに提供することができ、特に、その表示画面のうちの副のストリームに対応する情報には、対応する副のストリームを子画面として表示したピクチャインピクチャ表示による再生処理を実行させるためのコマンドを対応付けることができる。
以下に本発明の実施の形態を説明するが、本発明の構成要件と、明細書または図面に記載の実施の形態との対応関係を例示すると、次のようになる。この記載は、本発明をサポートする実施の形態が、明細書または図面に記載されていることを確認するためのものである。従って、明細書または図面中には記載されているが、本発明の構成要件に対応する実施の形態として、ここには記載されていない実施の形態があったとしても、そのことは、その実施の形態が、その構成要件に対応するものではないことを意味するものではない。逆に、実施の形態が構成要件に対応するものとしてここに記載されていたとしても、そのことは、その実施の形態が、その構成要件以外の構成要件には対応しないものであることを意味するものでもない。
本発明の第1の側面の情報処理装置は、ストリームの再生を制御する情報処理装置(例えば、再生装置1)であって、記録媒体から前記ストリームの主の再生パスとは異なる1つまたは複数の副の再生パスに基づいて再生可能な副のストリームをユーザが把握するための補助となる表示画面を表示させるためのデータ(例えば、PG,IG,または、プログラム)を取得する情報取得手段(例えば、図34のGUIデータ読み出し制御部352)と、前記情報取得手段により取得された前記データを基に、前記副のストリームに対応する情報を含む前記表示画面の表示を制御する表示制御手段(例えば、図34のGUI表示制御部359)と、前記表示画面に含まれる前記情報のうちの前記ユーザにより選択された情報に対応する前記副のストリームの画像をサブ画面の画像として再生し、その副のストリームに対応する前記主の再生パスにより再生される主のストリームの画像を、前記サブ画面(子画面)を含むメイン画面(親画面)の画像として再生するように、前記ストリームの再生を制御する再生制御手段とを備え、前記副のストリームに対応する情報は、その副のストリームの画像を前記サブ画面とし、その副のストリームに対応する主のストリームの画像を前記メイン画面とした画像を縮小したサムネイル画像である
前記ユーザの操作入力を受ける操作入力取得手段(例えば、図34の操作入力取得部356)と、前記ストリームの再生を制御する再生制御コマンドの発生を制御するコマンド発生手段と(例えば、図34のコマンド発生部340)更に備え前記操作入力取得手段により、前記ユーザにより前記副のストリームに対応する情報のうちのいずれかが選択されたことを示す操作入力が取得された場合、前記コマンド発生手段は、選択された前記情報に対応する前記副のストリームの画像を前記サブ画面(子画面)の画像として再生その副のストリームに対応する主のストリームの画像を前記メイン画面(親画面)の画像として再生するように、前記ストリームの再生を制御する前記再生制御コマンドを発生、前記再生制御手段は、前記再生制御コマンドに基づいて前記ストリームの再生を制御することができる。
前記ストリームの再生に関する設定情報を保持する保持手段(例えば、図29のメモリ23のレジスタ)を更に備え前記コマンド発生手段は、前記再生制御コマンドとして、前記保持手段により保持される前記設定情報を設定するためのコマンド(例えばSetSecondaryStream)を発生した後、前記ストリームの再生を開始させるコマンドを発生し、前記再生制御手段は、前記ストリームの再生を開始させるコマンド(例えば、Link MK)に応じて、前記保持手段に保持されている前記設定情報に基づいて前記ストリームの再生を制御することができる。
前記情報取得手段により取得された前記表示画面を表示させるためのデータを基に、前記表示画面の画像データを生成する処理を実行する表示画面データ生成手段(例えば、図34のGUI描画制御部354、GUI描画制御部354により制御されるプログラム処理部103、または、プログラマブルグラフィックスプレーン生成部104)を更に備え前記表示画面を表示させるためのデータは、前記表示画面の画像を描画する処理を実行させるプログラム(例えば、BDJOフォルダに含まれるプログラムファイル)であ、前記表示画面データ生成手段は、前記プログラムを実行することにより、前記表示画面の画像データを生成し、前記表示制御手段は、前記表示画面の画像データを基に前記表示画面の表示を制御することができる。
本発明の第1の側面の情報処理方法は、情報処理装置が、記録媒体からストリームの主の再生パスとは異なる1つまたは複数の副の再生パスに基づいて再生可能な副のストリームをユーザが把握するための補助となる表示画面を表示させるためのデータ(例えば、PG,IG,または、プログラム)を取得し(例えば、図43のステップS2の処理)、前記情報処理装置が、取得された前記データを基に、前記副のストリームに対応する情報を含む前記表示画面の表示を制御し(例えば、図43のステップS12の処理)、前記情報処理装置が、前記表示画面に含まれる前記情報のうちの前記ユーザにより選択された情報に対応する前記副のストリームの画像をサブ画面(子画面)の画像として再生し、その副のストリームに対応する前記主の再生パスにより再生される主のストリームの画像を、前記サブ画面を含むメイン画面(親画面)の画像として再生するように、前記ストリームの再生を制御するステップを含み、前記副のストリームに対応する情報は、その副のストリームの画像を前記サブ画面とし、その副のストリームに対応する主のストリームの画像を前記メイン画面とした画像を縮小したサムネイル画像である
以下、図を参照して、本発明の実施の形態について説明する。
図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再生に関する処理以外に、例えば、メインのストリームに合成されるストリームとしてどのようなものが再生可能であるか、または、メインのストリームに合成されて再生されるストリームが再生時間軸上においてどの位置で合成されるのかなどをユーザに把握させるためのメニュー画面(GUI表示画面)や、メインのストリームの再生位置を指定して再生させたり、メインのストリームに合成されて再生されるストリームを指定して再生させるなどの、各種の再生の実行をユーザが指示するためのメニュー画面(GUI表示画面)を表示する機能などを有するプログラムを、ディスクナビゲーションプログラム以外に提供するものとしても良い。また、これらの機能をディスクナビゲーションプログラムに含ませるようにしても良い。
このディスクナビゲーションプログラムおよびその他のプログラムは、例えば、Java(登録商標)などのプログラミング言語で記述され、記録媒体上に用意されたり、または、例えば、ネットワークもしくは他の記録媒体を介して、再生装置1に供給される。これらのプログラムが、ネットワークまたは他の記録媒体を介して、再生装置1に供給される場合、これらのプログラムは、所定の記録媒体を再生する場合に利用されるプログラムとして(例えば、記録媒体を特定する情報を含んで)、再生装置1に供給され、記憶される。
本実施の形態では、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ディレクトリ)、「BDJO」の名前が設定されたディレクトリ(BDJOディレクトリ)、「CLIPINF」の名前が設定されたディレクトリ(CLIPINFディレクトリ)、「STREAM」の名前が設定されたディレクトリ(STREAMディレクトリ)、「AUXDATA」の名前が設定されたディレクトリ(AUXDATAディレクトリ)が設けられている。
BACKUPディレクトリには、再生装置において再生可能なファイルやデータをバックアップするためのファイルやデータが記録される。
PLAYLISTディレクトリには、PlayListファイルが格納される。各PlayListファイルには、図内に示されるように5桁の数字からなるファイル名に拡張子「.mpls」を付加した名称が命名される。
BDJOディレクトリには、例えば、所定のGUI表示画面データの生成(描画)など、再生装置において実行可能なプログラムが記載されたプログラムファイルが格納されている。これらのプログラムファイルには、所定のファイル名に、例えば、拡張子「.bdjo」を付加した名称(例えば、「××××.bdjo」)が命名される。
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」の名前が設定されたファイル群、BDJOディレクトリに格納されるプログラムファイルに対応するプログラムファイル群、「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()は、プライマリビデオストリームと組み合わせて同時再生され得る、セカンダリビデオストリーム、プライマリオーディオストリーム、セカンダリオーディオストリーム、および、サブタイトルストリームの組み合わせを定義するにあたって、特に、セカンダリオーディオストリームとプライマリオーディオストリームとの組み合わせ、セカンダリビデオストリームとセカンダリオーディオストリームとの組み合わせ、セカンダリビデオストリームとピクチャインピクチャアプリケーション用のプレゼンテーショングラフィックス(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)がエントリーされる。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ストリームなどで構成されたコンテンツ)に含まれる、PG(プレゼンテーショングラフィックス)またはIG(インタラクティブグラフィックス)を用いて、所定のメニュー画面(GUI表示画面)の外部の表示装置への表示を制御することができ、更に、記録媒体11、または、ローカルストレージ24に記録されているコンテンツのデータとともに記録されている所定のプログラムファイル(上述したBDJOディレクトリに格納されているプログラムファイル)に記載されているプログラムを実行することにより、GUI表示画面に対応する画像データを描画して、外部の表示装置に表示させることも可能である。GUI表示画面の例については、図35乃至図38を用いて後述する。
ストレージドライブ22は、コントローラ21による制御に従って記録媒体11からデータを読み出し、読み出したデータを、コントローラ21、メモリ23、または、AVデコーダ部26に出力する。記録媒体11から読み出された情報が、ナビゲーションプログラムやPlayListなどであった場合、ストレージドライブ22により読み出された情報は、コントローラ21、または、メモリ23に出力される。記録媒体11から読み出された情報が、AVストリームやテキストデータ、または、上述したBDJOディレクトリに格納されているプログラムファイル(そのうちの、少なくとも、GUI表示画面の描画に関するプログラム)であった場合、ストレージドライブ22により読み出された情報は、AVデコーダ部26に出力される。
メモリ23は、コントローラ21が各種の処理を実行する上において必要なデータなどを適宜記憶する。さらに、メモリ23の記憶領域の一部には、再生装置1の再生処理において必要な情報が設定される各種のレジスタが設けられている。レジスタのうち、例えば、PG TextSTやピクチャインピクチャに関する情報が設定されるレジスタの詳細例については、図32および図33を用いて後述する。ローカルストレージ24は、例えば、HDD(Hard Disk Drive)などより構成される。
インターネットインタフェース25は、有線または無線によりネットワーク2に接続されており、コントローラ21からの制御に従って、ネットワーク2を介して、サーバ3との間で通信を行い、サーバ3からダウンロードされたデータをローカルストレージ24に供給する。サーバ3からは、例えば、そのとき再生装置1に装着されている記録媒体11に記録されている、図4を用いて説明したデータをアップデートさせるデータがコンテンツとしてダウンロードされる。ローカルストレージ24は、サーバ3からネットワーク2経由でダウンロードしたコンテンツを記録することができる。
AVデコーダ部26は、ストレージドライブ22、または、ローカルストレージ24から供給されるAVストリーム、または、テキストデータをデコードするとともに、上述したBDJOディレクトリに格納されているプログラムファイルに記載のプログラムを実行することができ、得られたビデオ信号およびオーディオ信号を外部の表示装置に出力する。
表示装置においては、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表示画面に関連するデータ(ストリームやプログラムなど)を読み出すとともに、PlayListファイルを読み出し、PlayListファイルの情報に基づいて、ストレージドライブ22を介して、HDD、Blu−ray Disc(商標)、またはDVDなどの記録媒体11から、または、ローカルストレージ24から、AVストリームやAVデータを読み出す。ユーザは、操作入力部29を用いて、コントローラ21に対し、音声や字幕などの切り替えの指令や、GUI表示画面の表示の指令などを行うことができる。また、コントローラ21は、メモリ23のレジスタに登録されている、例えば、再生装置1の言語設定の初期情報などの各種設定情報を読み込む。
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、バッファ102、プログラム処理部103、および、プログラマブルグラフィックプレーン生成部104が設けられている。
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、および、バッファ102に供給する。具体的には、スイッチ32は、コントローラ21からの制御に基づいて、バックグラウンドイメージデータをバッファ51に供給し、メインClip AVストリームファイルのデータをバッファ52に供給し、サブClipのデータをバッファ53に供給し、Text-STのデータをバッファ54に供給し、図8を用いて説明したBDJOディレクトリに含まれているプログラムファイルをバッファ102に供給するようスイッチ32を切り替える。
バッファ51は、バックグラウンドイメージデータをバッファリングし、バッファ52は、メインClip AVストリームファイルのデータをバッファリングし、バッファ53は、サブClip AVストリームファイルのデータをバッファリングし、バッファ54は、Text-STデータをバッファリングし、バッファ102は、図8を用いて説明したBDJOディレクトリに含まれているプログラムファイルをバッファリングする。
メインClip AVストリームファイルは、ビデオとオーディオとビットマップデータ(Presentation Graphics stream)とインタラクティブグラフィックスのうち、ビデオに加えて1つ以上のストリームを多重化したストリーム(例えばトランスポートストリーム)である。サブClip AVストリームファイルは、ビデオとオーディオとビットマップデータ(Presentation Graphics stream)とインタラクティブグラフィックスとのうち、1つ以上のストリームを多重化したストリームである。なお、テキストサブタイトルデータファイル(Text-ST)のデータは、トランスポートストリームのような多重化ストリームの形式であっても、そうでなくてもよい。
また、メインClip AVストリームファイル、サブClip AVストリームファイル、テキストサブタイトルデータ、または、BDJOディレクトリに含まれているプログラムファイルを、ストレージドライブ22を介して記録媒体11から、または、ローカルストレージ24から読み出すときに、それぞれのファイルを時分割に交互に読み出しても良いし、または、メインClipを読み出す前に、サブClip AVストリームファイル、テキストサブタイトルデータ、または、BDJOディレクトリに含まれているプログラムファイルを予め読み出しておき、先行してバッファ(バッファ53、バッファ54、または、バッファ102)へプリロードしてもよい。
そして、メイン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ストリームファイルからのからのプレゼンテーショングラフィックスストリーム、またはテキストサブタイトルデータのデコード出力である。
図8を用いて説明したBDJOディレクトリに含まれているプログラムファイル用のリードバッファであるバッファ102から読み出されたプログラムファイルのデータは、所定のタイミングで、後段のプログラム処理部103に供給される。
プログラム処理部103は、バッファ102から読み出されたプログラムファイルのプログラムを実行することにより、後述するGUI表示画面データを生成し、生成された描画データをプログラマブルグラフィックスプレーン生成部104に供給する。具体的には、プログラム処理部103は、後述するGUI表示画面に対応する画像データの描画処理とともに、画像に含まれているアイコンやサムネイル、または、ボタンなどの各種アイテムがユーザにより選択決定された場合にコマンドが発行されるように、コマンドを各種アイテムに対応付ける(リンクする)。
ここでは、例えば、再生装置1のネイティブなシステムを直接制御可能なコマンドを、GUI表示画像データに埋め込むようにしても良いし、再生装置1のネイティブなシステムを直接制御可能なコマンドを直接データに含ませるのではなく、所定のコマンドライブラリに定義されているコマンドをGUI表示画像データに埋め込むことにより、画像に含まれているアイコンやサムネイル、または、ボタンなどの各種アイテムがユーザにより選択決定された場合にコマンドが発行されるようにしてもよい。
バックグラウンドプレーン生成部91は、バックグラウンドデコーダ71から供給されたバックグラウンドイメージデータに基づいて、例えば、ビデオ画像を縮小表示した場合や、ストリーム再生中以外に後述するGUI表示画面を表示する場合に壁紙画像となるバックグラウンドプレーンを生成し、これを、ビデオデータ処理部96に供給する。
1stビデオプレーン生成部92−1は、1stビデオデコーダ72−1から供給されたビデオデータに基づいて、ビデオプレーンを生成し、これをビデオデータ処理部96に供給する。2ndビデオプレーン生成部92−2は、2ndビデオデコーダ72−2から供給されたビデオデータに基づいて、ビデオプレーンを生成し、これをビデオデータ処理部96に供給する。
プレゼンテーショングラフィックスプレーン生成部93は、スイッチ77により選択され、供給されたデータ(プレゼンテーショングラフィックスストリームまたはテキストサブタイトルデータ)に基づいて、例えば、レンダリング画像であるプレゼンテーショングラフィックスプレーンを生成し、これをビデオデータ処理部96に供給する。
インタラクティブグラフィックスプレーン生成部94は、インタラクティブグラフィックスデコーダ74から供給されたインタラクティブグラフィックスストリームのデータに基づいて、インタラクティブグラフィックスプレーンを生成し、これをビデオデータ処理部96に供給する。
プログラマブルグラフィックスプレーン生成部104は、プログラム処理部103から供給された、描画されて生成されたGUI表示画面データに基づいて、プログラマブルグラフィックスプレーンを生成し、これをビデオデータ処理部96に供給する。
ビデオデータ処理部96は、バックグラウンドプレーン生成部91からのバックグラウンドプレーン、1stビデオプレーン生成部92−1からのビデオプレーン、2ndビデオプレーン生成部92−2からのビデオプレーン、プレゼンテーショングラフィックスプレーン生成部93からのプレゼンテーショングラフィックスプレーン、およびインタラクティブグラフィックスプレーン生成部94からのインタラクティブグラフィックスプレーンを合成するとともに、必要に応じて、更に、プログラマブルグラフィックスプレーン生成部104からのプログラマブルグラフィックスプレーンを合成し、ビデオ信号として出力する。
また、図8を用いて説明したBDJOディレクトリに含まれているプログラムファイルに記載されているプログラムがプログラム処理部103により実行されることによって生成されるGUI表示画面データのみが表示される場合、ビデオデータ処理部96は、合成処理を行わず、プログラマブルグラフィックスプレーン生成部104からのプログラマブルグラフィックスプレーンのみを出力することも可能であるのは言うまでもない。
なお、ビデオデータ処理部96は、ピクチャインピクチャ表示が行われる場合、すなわち、1stビデオプレーン生成部92−1からのビデオプレーン、および、2ndビデオプレーン生成部92−2からのビデオプレーンの両方の入力を受けるとき、メイン画面(親画面)の中に、サブ画面(子画面)を有するピクチャインピクチャ表示画面(図31を用いて後述する)を生成する。
また、これらのスイッチ57乃至59、並びにスイッチ77は、操作入力部29を介するユーザからの選択に基づいて、または、対象となるデータが含まれるファイルが供給される側に、スイッチを切り替える。例えば、サブClip AVストリームファイルのみにしか、オーディオストリームが含まれていない場合、スイッチ59はサブClip AVストリームファイルを供給する側(PIDフィルタ56の出力)にスイッチを切り替える。
次に、再生装置1における再生処理について説明する。
まず、再生装置1に記録媒体11が装着された場合、コントローラ21は、記録媒体11に、図8を用いて説明したBDJOディレクトリに含まれているプログラムファイルが記録されているか否かを検出し、BDJOディレクトリに含まれているプログラムファイルが記録されていた場合、ストレージドライブ22を介して、記録媒体11からこれを読み出し、AVデコーダ部26に供給する。また、再生装置1に記録媒体11が装着された場合、コントローラ21は、HDD(Hard Disk Drive)などで構成されるローカルストレージ24に、記録媒体11に対応付けて、BDJOディレクトリに含まれているプログラムファイルと同様の形式(拡張子bdjoを有する)のプログラムファイルが記録されているか否かを検出し、このようなプログラムファイルが記録されていた場合、ローカルストレージ24からこれを読み出し、AVデコーダ部26に供給する。
AVデコーダ部26のスイッチ32は、供給されたプログラムファイルをバッファ102に供給し、バッファ102は、供給されたプログラムファイルをバッファリングするとともに、所定のタイミングで、プログラム処理部103に供給する。
そして、操作入力部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表示画面を表示させる。
GUI表示画面に対応するデータは、プレゼンテーショングラフィックスまたはインタラクティブグラフィックスとして、もしくは、プログラム処理部103の処理により生成される画像データとして、コンテンツデータに含まれて、ユーザに提供される。
表示が指令されたGUI表示画面がプレゼンテーショングラフィックスまたはインタラクティブグラフィックスである場合、GUI表示画面に対応するプレゼンテーショングラフィックスまたはインタラクティブグラフィックスは、メインパス非同期のサブパスである場合と、メインパス同期型のサブパスである場合とのいずれも存在する。
表示が指令されたGUI表示画面がプレゼンテーショングラフィックスである場合、対応するプレゼンテーショングラフィックスストリームがストレージドライブ22を介して記録媒体11から、または、ローカルストレージ24から読み出されて、上述したようにして、プレゼンテーショングラフィックスデコーダ73に供給されてデコードされ、プレゼンテーショングラフィックスプレーン生成部93に供給されて、生成されたプレゼンテーショングラフィックスプレーンがビデオデータ処理部96に供給される。
また、表示が指令されたGUI表示画面がインタラクティブグラフィックスであり、既にプリロードされてデコードされ、プリロード用バッファ81に蓄積されている場合、対応するインタラクティブグラフィックスデータがプリロード用バッファ81から読み出され、インタラクティブグラフィックスプレーン生成部94に供給されて、生成されたインタラクティブグラフィックスプレーンがビデオデータ処理部96に供給される。また、表示が指令されたGUI表示画面がインタラクティブグラフィックスであり、プリロードされていない場合、対応するインタラクティブグラフィックスストリームがストレージドライブ22を介して記録媒体11から、または、ローカルストレージ24から読み出されて、上述したようにして、インタラクティブグラフィックスデコーダ74に供給されてデコードされ、プリロード用バッファ81を介して、インタラクティブグラフィックスプレーン生成部94に供給されて、生成されたインタラクティブグラフィックスプレーンがビデオデータ処理部96に供給される。
また、表示が指令されたGUI表示画面が、プログラム処理部103の処理により生成される画像データとして提供される場合、プログラム処理部103は、バッファ102から取得したプログラムファイルを基に、所定のプログラムを実行して、後述するGUI表示画面に対応する画像データを描画して、GUI表示画面データを生成し、生成された描画データをプログラマブルグラフィックスプレーン生成部104に供給する。具体的には、プログラム処理部103は、後述するGUI表示画面に対応する画像データの描画処理とともに、画像に含まれているアイコンやサムネイル、または、ボタンなどの各種アイテムがユーザにより選択決定された場合に発光されるコマンドを、各種アイテムに対応付ける(リンクする)。プログラマブルグラフィックプレーン生成部104は、プログラム処理部103から供給された、描画されて生成されたGUI表示画面データに基づいて、プログラマブルグラフィックスプレーンを生成し、これをビデオデータ処理部96に供給する。
なお、プログラム処理部103においては、ストリームの再生とは関係しないタイミングで、GUI表示画面データを生成するためのプログラムが実行され、ユーザによりGUI表示画面の表示が指令される前に、対応する画像データが予め生成されていても良いし、ユーザによりGUI表示画面の表示が指令された場合に、対応する画像データを生成するためのプログラムの実行が開始されるものとしても良い。
そして、ビデオデータ処理部96は、各プレーンのデータを合成し、ビデオデータとして出力する。すなわち、ビデオデータ処理部96により合成されて生成されたビデオデータには、GUI表示画面が合成されている場合と、合成されていない場合がある。
また、バッファ95は、供給されたサウンドデータをバッファリングし、所定のタイミングでミキシング処理部97に供給する。ミキシング処理部97は、オーディオデータ(ミキシング処理部101から出力されたオーディオデータ)とサウンドデータをミキシング(合成)し、出力する。
このような処理により、PlayListに含まれるメインパスとサブパスによりメインClip AVストリーム、サブClip AVストリーム、およびテキストサブタイトルデータが参照され、再生される。PlayListにメインパスとサブパスを設けるようにし、サブパスで、メインパスで指定するClip AVストリームファイルとは異なるClip AVストリームである、サブClip AVストリームを指定可能な構成としたので、メインパスのPlayItemが指すメインClipとは異なるClipであるサブClipに含まれるデータとメインClipに含まれるデータとを一緒に(同じタイミングで)再生することができる。
なお、ここでは、プログラム処理部103において、GUI表示画面データを生成するためのプログラムが実行され、GUI表示画面データが生成されるものとして説明したが、これらのプログラムの実行は、AVデコーダ部26内部のプログラム処理部103ではなく、コントローラ21において実行されるものとしても良いことはいうまでもない。
ところで、上述したように、本発明の再生装置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に示されるように、全画面(親画面)301と子画面302のそれぞれに別々のコンテンツを同時再生させる、といったピクチャインピクチャ手法を適用することが可能になる。
例えば、図31に示されるように、1画面のうちの、全画面301に、メインパスで参照されるAVストリーム(図31中、Primary Videoと記述されているビデオストリーム311、および、Primary Audioと記述されているオーディオストリーム312)に対応する映画本編等のコンテンツを再生させるとともに、全画面301に配置される子画面302に、サブパスで参照されるAVストリーム(図31中、Secondary Videoと記述されているビデオストリーム313、および、Secondary Audioと記述されているオーディオストリーム314)に対応する映画の監督のコメンタリー等、メインパスで参照されるAVストリームとは別のコンテンツを再生させる、といった手法を適用することが可能になる。
具体的には、ピクチャインピクチャは、例えば映画本編(Primary Video, Primary Audio)を全画面301に表示しているときに、監督のコメンタリー(Secondary Video, Secondary Audio)を子画面302に入れ子画面にして、必要に応じて、音声を合成し、同時に表示出力されるように再生するアプリケーションである。
なお、サブタイトルストリームの再生位置(字幕等の表示位置)は、特に子画面内である必要は無く、全画面のうちの何れの位置でもよい。このため、図31の例では、サブタイトルストリーム315は、子画面302からはみ出すように描画されている。
ユーザがピクチャインピクチャアプリケーションに関して許されているユーザオペレーションは、セカンダリビデオを表示するか否か、換言すれば、ピクチャインピクチャアプリケーションのon/offを指令するためのユーザオペレーションと、一つの区間に複数のセカンダリビデオが用意されている場合に、現在表示されているセカンダリビデオを他のセカンダリビデオに切り替えるユーザオペレーションである。また、セカンダリビデオが表示されている場合には、セカンダリオーディオのon/offおよび再生されるセカンダリオーディオの変更、並びに、ピクチャインピクチャ用の字幕のon/offおよび字幕の変更を指令するユーザオペレーションも許されている。
ピクチャインピクチャにおいて、子画面302として表示可能なSecondary Videoは、1つのPlayList中に複数定義することができる。例えば、1つのPlayList中に子画面302として表示可能なSecondary Videoを255個含めることができるようになされているなど、多数のピクチャインピクチャアプリケーションがPlayList中に定義されていた場合、ユーザが、そのコンテンツにおいて再生可能なピクチャインピクチャアプリケーションを把握することは困難である。
また、例えば、全画面301に表示されるPrimary Videoに対しては、従来行われてきたように、チャプタなどを用いて、特定のシーンを呼び出して再生させることなどができる。しかしながら、これに対して、全画面301に表示されるPrimary Videoの再生区間に対して、いずれの区間に、いずれのSecondary Videoが子画面302として再生可能なようになされているかをユーザが把握したり、Secondary Videoの特定のシーンを選択して再生させるようにすることは困難である。
すなわち、全画面301に表示されるPrimary Videoとともにどのような子画面302が表示可能なようになされているかをユーザが把握したり、全画面301に表示されるPrimary Videoとともに子画面302に表示されるSecondary Videoの特定のシーン、例えば、ある俳優のコメンタリーがピクチャインピクチャ表示されている再生シーンを呼び出す方法は提供されていない。
また、Secondary VideoおよびSecondary Audioは、Primary Videoの全ての再生区間に対して用意されているとは限らず、また、同一の再生区間に、複数のSecondary VideoおよびSecondary Audioが用意されている場合もある。また、Secondary Videoと、それに対応するSecondary Audioは、全てが所定のタイミングで再生されるのではなく、ユーザの所望のタイミングで再生される(非同期)のものも存在する。このため、例えば、再生開始時刻を指定することにより、Secondary Videoと、それに対応するSecondary Audioの特定のシーンを任意に呼び出すのは困難であった。
そこで、再生装置1においては、ユーザが、Secondary Videoとそれに対応するSecondary Audioを容易に認識したり、Secondary Videoとそれに対応するSecondary Audioの特定のシーンを任意に呼び出すことができるようなGUI表示画面を表示する機能を有する。このGUI表示画面は、上述したように、プレゼンテーショングラフィックスまたはインタラクティブグラフィックスとして、もしくは、プログラム処理部103の処理により生成される画像データとして提供される。
具体的には、再生装置1においては、例えば、全画面301に表示されるPrimary Videoに対応付けて子画面302として再生可能なようになされているSecondary Videoに対応する情報を一覧表示するGUI表示画面や、Primary VideoとSecondary Videoとをユーザが明確に区別することなく、Primary VideoとSecondary Videoとのいずれかの特定のシーンを選択することができるようなGUI表示画面、または、全画面301に表示されるPrimary Videoの再生区間に対して、いずれの区間に、いずれのSecondary Videoが子画面302として再生可能なようになされているかをユーザが把握することができるようなGUI表示画面などを生成して表示する機能を有するものとする。
ユーザは、このGUI表示画面を参照することにより、全画面301に表示されるPrimary Videoの再生区間に対して、いずれの区間に、いずれのSecondary Videoが子画面302として再生可能なようになされているかを把握したり、Secondary Videoと、それに対応するSecondary Audioの特定のシーンを効率的に選択することが可能となる。
また、再生装置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()に登録されている順番で番号が若いものから順番に優先して選択されるといったような、ストリームの選択モデルである。
GUI表示画面が、インタラクティブグラフィックスとして、もしくは、プログラム処理部103の処理により生成される画像データとして提供され、インタラクティブグラフィックストリームまたはプログラム処理部103の処理により生成される画像データに、例えば、ユーザの操作入力を受けることが可能なボタンやアイコン、または、サムネイルなどのアイテムが含まれ、これらのボタンやアイコン、または、サムネイルなどのアイテムに、所定のコマンドが対応付けられていた場合、ユーザが、これらのアイテムを選択決定する操作入力を行うことにより、対応するコマンドが発行される。
そして、ユーザが、これらのアイテムを選択決定する操作入力を行うことにより、上述した第1のレジスタおよび第2のレジスタのうちの必要な部分が設定・更新されるコマンドが発行され、更に、ストリームの再生を指令するコマンドが発行されるようになされている場合、ユーザが所望するピクチャインピクチャアプリケーション実行状態から、ストリームの再生処理を開始させることができる。
コマンドは、GUI表示画面のユーザの操作入力を受けることが可能なボタンやアイコン、または、サムネイルなどのアイテムに対応つけて、直接、記載されていても良いが、例えば、再生装置1が実行可能なコマンドがライブラリで与えられているような場合、それぞれのアイテムが選択されたとき、アイテムに対応するコマンドが、ライブラリから取得されて実行されるようにしても良い。
図34に、コントローラ21が有する機能のうち、このようなGUI表示画面を生成して表示する機能について説明するための機能ブロック図を示す。
なお、コントローラ21は、例えば、GUI表示画面を表示する機能や、装着された記録媒体11またはローカルストレージ24に記録されているデータを再生する処理以外にも、さまざまな機能を有するものとしてもよいが、図34においては、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表示画面に関するデータの読み出しを制御する。具体的には、GUIデータ読み出し制御部352は、GUI表示画面のデータが、PGまたはIGによって提供される場合、供給されたPlayListファイルに基づいて、対応するPGまたはIGの読み出しと、AVデコーダ部26における対応するバッファ(バッファ52またはバッファ53)への供給を制御する。また、GUIデータ読み出し制御部352は、GUI表示画面のデータが、プログラム処理部103の処理により生成される画像データとして提供される場合、BDJOフォルダに格納されている対応するプログラムファイルの読み出しと、AVデコーダ部26における対応するバッファ(バッファ102)への供給を制御する。
GUIデータ描画制御部353は、GUI表示画面のデータが、プログラム処理部103の処理により生成される画像データとして提供される場合、バッファ102に格納された対応するプログラムファイルのプログラム処理部103への供給と、プログラム処理部103におけるプログラムの実行、すなわち、GUI表示画面に対応する画像データの描画を制御する。
GUIデータ再生制御部354は、GUI表示画面のデータが、PGまたはIGによって提供される場合、PlayListファイルに基づいて読み出された、GUI表示画面に対応するPGまたはIGのストリームデータのデコードを制御する。
コマンド情報取得部355は、GUI表示画面上のボタンやアイコン、または、サムネイルなどのアイテムに対応付けられたコマンドが、ライブラリとして用意されている場合、コマンド発生部340によって発生される対応するコマンドをライブラリから取得する。すなわち、コマンド情報取得部355は、GUI表示画面が、IGとして、もしくは、プログラム処理部103の処理により生成される画像データとして提供され、インタラクティブグラフィックストリームまたはプログラム処理部103の処理により生成される画像データに、上述したように、例えば、ユーザの操作入力を受けることが可能なボタンやアイコン、または、サムネイルなどのアイテムが含まれ、これらのアイテムに、ユーザが、これらのアイテムを選択決定する操作入力を行うことにより発行される所定のコマンドが対応付けられて、これらのコマンドが、ライブラリとして用意されている場合、コマンド発生部340によって発生される対応するコマンドをライブラリから取得する。
操作入力取得部356は、操作入力部29から供給されるユーザの操作入力を取得し、GUIデータ描画制御部353、GUIデータ再生制御部354、ストリームデータ読み出し制御部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データ再生制御部354の処理により再生が制御されたGUI表示画面データの表示、すなわち、プログラマブルグラフィックスプレーン生成部104により生成されたプログラマブルグラフィックスプレーン、または、プレゼンテーショングラフィックスプレーン生成部93により生成されたプレゼンテーショングラフィックスプレーン、もしくは、インタラクティブグラフィックスプレーン生成部94により生成されたインタラクティブグラフィックスプレーンの表示を制御するとともに、これらの表示の取り消しを制御する。
コマンド発生部340は、GUI表示画面のボタンやアイコン、または、サムネイルなどのアイテムに対応付けられている所定のコマンドを発行する。なお、再生装置1が実行可能なコマンドが、ライブラリとして用意されている場合、実際に実行されるコマンドは、コマンド情報取得部355によりライブラリから取得されて実行される。
図34に示されるような機能を有するコントローラ21は、再生装置1に記録媒体11が装着されるなどにより、記録媒体11またはローカルストレージ24に記録されているコンテンツの再生が可能な状態となったとき、コンテンツとともに提供されたデータ(BDJOフォルダ、もしくは、PGまたはIG)を基にGUI表示画面を表示させることができる。
すなわち、このGUI表示画面は、コンテンツの供給元、または、記録媒体11の販売者など、いわゆる、コンテンツオーサが、設計し、デザインして、ユーザに提供することができるものであるとともに、それぞれのアイテムに対応付けてコマンドを設定することが可能である。これにより、コンテンツオーサは、コンテンツの内容や、提供するピクチャインピクチャアプリケーションの内容に応じて、ユーザが効率よくピクチャインピクチャアプリケーションにより再生可能なセカンダリビデオまたはセカンダリオーディオを把握することができたり、所望のピクチャインピクチャアプリケーションの再生状態からの、コンテンツの再生を指令することができるようなGUI表示画面をユーザに提供することができる。
次に、図35乃至図38を用いて、GUI表示画面の例について説明する。
図35を参照して、GUI表示画面の第1の例であるGUI表示画面381について説明する。
図35に示されるように、GUI表示画面の第1の例であるGUI表示画面381においては、メインパスにより再生されるプライマリビデオに対応する複数のサムネイル画像391(図35においては、サムネイル画像391-1乃至サムネイル画像391−5)が表示されるとともに、メインパスにより再生されるプライマリビデオデータの画像を背景として、ピクチャインピクチャ表示されるセカンダリビデオデータの画像402が表示されている状態を示す複数のサムネイル画像401(図35においては、サムネイル画像401-1乃至401−3)が表示される。
図35のGUI表示画面381においては、メインパスにより再生されるプライマリビデオに対応する複数のサムネイル画像391と、メインパスにより再生されるプライマリビデオデータの画像を背景として、ピクチャインピクチャ表示されるセカンダリビデオデータの画像402が表示されている状態を示す複数のサムネイル画像401とのそれぞれの表示位置は、メインパスの再生時刻に対応付けられている。すなわち、サムネイル画像391-1乃至サムネイル画像391−5は、メインパスの再生時刻に対応付けられて、GUI表示画面381の画面上、左から右に並べられ、サムネイル画像401-1乃至401−3は、それぞれが含むセカンダリビデオデータの画像402−1乃至画像402−3の再生時刻を基に、サムネイル画像391-1乃至サムネイル画像391−5の再生時刻と対応付けられて、GUI表示画面381の画面の適する位置に表示されるようになされている。
なお、非同期のSecondary VideoおよびSecondary Audioが存在する場合、非同期のSecondary Videoに対応する画像402を含むサムネイル画像401は、例えば、MainPath先頭位置からのPrimary Videoを背景画像として、GUI表示画面381の表示画面内のMainPath先頭位置に対応する位置に表示させるようにしても良い。
また、メインパスの同一時刻に複数のSecondary Videoが表示可能なようになされている場合、表示時刻が同一であることがユーザに認識可能なように、対応するSecondary Videoを示す画像402を含むサムネイル画像401を、GUI表示画面381の表示画面内で縦に並べて配置するものとすればよい。
これにより、ユーザは、ピクチャインピクチャ表示状態の表示画面のサムネイル画像401を参照して、いかなるシーンにおいてピクチャインピクチャ表示が実行されるかを把握することができる。すなわち、メインパスにより再生されるプライマリビデオに対応するサムネイル画像391のみ、または、Secondary Videoに対応する画像402のみが表示される場合と比較して、このようなピクチャインピクチャ表示状態の表示画面のサムネイル画像401を表示させるようにすることにより、ユーザは、コンテンツのどのようなシーンにおいてどのようなピクチャインピクチャアプリケーションが実行可能であるかを、容易に、確実に認識することができる。
また、GUI表示画面381においては、メインパスにより決められる再生時刻に対応つけて、メインパスにより再生されるプライマリビデオに対応する複数のサムネイル画像391とピクチャインピクチャ表示状態の表示画面のサムネイル画像401との表示位置が決まるようにしたので、ユーザは、GUI表示画面381を参照することにより、コンテンツ全体のうち、いずれのタイミングでどのようなセカンダリビデオがピクチャインピクチャ表示可能かを容易に把握することができる。
また、GUI表示画面381が、インタラクティブグラフィックスとして、もしくは、プログラム処理部103の処理により生成される画像データとして提供されている場合、インタラクティブグラフィックストリームまたはプログラム処理部103の処理により生成される画像データのサムネイル画像401-1乃至401−3のそれぞれには、所定のコマンドを対応付けることができる。そして、サムネイル画像401-1乃至401−3のうちのユーザが所望するものが選択決定されることにより、それぞれの再生時刻に対応する再生位置から、ピクチャインピクチャ表示状態で再生が開始されるようなコマンドが発行されるようにすることができる。上述したように、GUI表示画面381のデータに直接コマンドが記載されるものとしても良いし、所定のコマンドライブラリから、対応するコマンドが呼び出されるようにしても良い。
このようにすることにより、ユーザは、GUI表示画面381を参照して、所望のセカンダリビデオがピクチャインピクチャアプリケーションとして表示されている状態からの再生開始を、容易に指令することが可能となる。
次に、図36を参照して、GUI表示画面の第2の例であるGUI表示画面421について説明する。
すなわち、再生装置1においては、例えば、図36に示されるように、ピクチャインピクチャアプリケーション(Secondary VideoおよびSecondary Audio)とMainMovie(Primary VideoおよびPrimary Audio)とを詳細に区別する必要なくユーザが認識することができるようなGUI表示画面421を表示するようにすることも可能である。
図36のGUI表示画面421には、例えば、MainMovieのプライマリビデオストリームのいずれかのフレーム(例えば、先頭フレーム)に対応するサムネイル画像411に加えて、ピクチャインピクチャ表示時に子画面に表示されるセカンダリビデオストリームのそれぞれのいずれかのフレーム(例えば、それぞれのセカンダリビデオストリームの再生開始位置に対応するフレーム)に対応するサムネイル画像442(図36においては、サムネイル画像442-1乃至442-6)が表示される。
なお、MainPathのPrimary VideoおよびPrimary Audioが再生されているときに、図36を用いて説明したGUI表示画面421の表示が指令された場合、例えば、Primary Videoに字幕などが合成された画像に対して、GUI表示画面421が合成されて表示される。MainPathのPrimary VideoおよびPrimary Audioを再生していないときに、GUI表示画面421の表示が指令された場合、バックグラウンドプレーン、すなわち、いわゆる背景画像に対して、GUI表示画面421が合成されて表示される。
このようなGUI表示画面421を参照することにより、ユーザは、対象となるコンテンツにどのようなビデオストリームが含まれているかを、大まかに把握することが可能となる。
また、GUI表示画面421が、インタラクティブグラフィックスとして、もしくは、プログラム処理部103の処理により生成される画像データとして提供されている場合、インタラクティブグラフィックストリームまたはプログラム処理部103の処理により生成される画像データのサムネイル画像411およびサムネイル画像442(図36においては、サムネイル画像442-1乃至442-6)のそれぞれには、所定のコマンドを対応付けることができる。そして、ユーザが所望するサムネイル画像が選択されることにより、MainMovieを再生させるためのコマンドが発行されるか、または、選択されたピクチャインピクチャの再生時刻に対応する再生位置から、ピクチャインピクチャ表示状態で再生を開始させるためのコマンドが発行されるようにすることができる。ここでも、上述したように、画像データに直接コマンドが記載されるものとしても良いし、所定のコマンドライブラリから、対応するコマンドが呼び出されるようにしても良い。
このようなGUI表示画面421を参照したユーザは、ピクチャインピクチャアプリケーションがMainMovieに対して同期しているか否か、同期されている場合にはPlayList中でどの再生位置となるように定義されているかなどの詳細を知ることなく、所望のピクチャインピクチャアプリケーションの再生を指令することが可能となる。
この場合において、ピクチャインピクチャのそれぞれに対応するサムネイル画像442が選択された場合、ユーザが所望するSecondary Videoが、必要に応じてSecondary Audioを伴って、MainPathのPrimary VideoおよびPrimary Audioとともに再生されるが、非同期のSecondary VideoまたはSecondary Audioに対応する、ピクチャインピクチャのそれぞれに対応するサムネイル画像442が選択された場合、例えば、MainPath先頭位置からのPrimary VideoおよびPrimary Audioとともに、ユーザが所望するSecondary VideoまたはSecondary Audioの少なくともいずれかが再生されるものとすることができる。
また、更に、例えば、図37に示されるように、映画本編などが表示されている画面451の一部に、Primary Videoの再生区間に対して、いずれの区間に、いくつのSecondary Videoが子画面302として再生可能なようになされているかをユーザが把握することができるようなGUI表示画面461が表示されるようにすることができる。
GUI表示画面461について、図38を参照して説明する。
GUI表示画面461には、例えば、MainMovie、すなわち、Primary Videoの再生区間全体に対応するメインタイムライン471と、メインタイムライン471上に、現在のPrimary Videoの再生位置を示すスライダ472が表示され、メインタイムライン471に対応付けて、Primary Videoの再生区間に対して、いずれの区間に、いずれのSecondary Videoが子画面302として再生可能であり、Secondary Audioが対応して再生されるかが分かるように、このPlayListファイルによって再生されるストリームに含まれるSecondary VideoまたはSecondary Audioに応じたサブタイムライン473(図38においては、サブタイムライン473−1乃至サブタイムライン473−5)が表示される。
そして、サブタイムライン473に対応付けられて、そのサブタイムライン473が対応付けられているストリームが、Secondary VideoまたはSecondary Audioのいずれであるかを示すためのアイコン474(図38においては、アイコン474-1乃至アイコン474-5)が表示されている。
また、例えばアイコン474のうち、ビデオストリームに対応するアイコン474を、いわゆるサムネイル画像としてもよい。
また、ユーザの所望のタイミングで再生される(非同期の)Secondary VideoまたはSecondary Audioに対応するサブタイムライン473は、ユーザの所望のタイミングで再生される(非同期)であることがユーザに認識可能なように表示されると好適である。このようなサブタイムライン473は、例えば、メインタイムライン471に対して、再生先頭位置に対応するように表示されても良いし、メインタイムライン471に対応しない異なる位置に表示されるようにしても良い。
なお、GUI表示画面461がPGまたはIGである場合、メインタイムライン471のスライダ472の表示位置を、現在再生中のメインムービーに対応付けるためには、GUI表示画面に対応するプレゼンテーショングラフィックストリームまたはインタラクティブグラフィックストリームは、メインパス同期型のサブパスであると好適である。すなわち、メインパスの再生時刻と対応付けてスライダ472の表示位置が異なるようなプレゼンテーショングラフィックストリームまたはインタラクティブグラフィックストリームを用意することにより、これらのストリームが再生されて、フレームが切り替わることにより、スライダ472の表示位置がメインパスの再生位置に対応付けられて変更されて表示されるようにすることができるので、好適である。
このようなGUI表示画面461を表示させることにより、ユーザは、全画面301において、現在本編のどこが再生されているかを認識することができるとともに、いずれの再生位置において、ピクチャインピクチャアプリケーションが何通り存在するか、または、非同期のピクチャインピクチャアプリケーションが何通り存在するかを、視覚的に容易に把握することが可能になる。
したがって、ユーザは、GUI表示画面461を参照することにより、複数のピクチャインピクチャアプリケーションが存在しているか否かも容易に認識できるので、ピクチャインピクチャアプリケーションのon/offを指令するユーザオペレーションや、いずれのピクチャインピクチャアプリケーションが再生されるかを切り替えるユーザオペレーションを容易に効率的に入力することができる。更に、GUI表示画面461は、ユーザによるForward Play/Backward Play操作にも役立つと考えられる。
また、Secondary Videoに対応するサムネイル画像の基となる画像データ(例えば、Secondary Video のストリームの先頭、すなわち、SubPlayItem_IN_timeに対応する部分のフレーム画像データや、その他のいずれかのフレーム画像データなど)をサムネイル画像としてサブタイムライン473とともに表示した場合、ユーザは、ピクチャインピクチャアプリケーションの内容を容易に認識することが可能となる。
なお、MainPathのPrimary VideoおよびPrimary Audioを再生していないときに、GUI表示画面461の表示が指令された場合、バックグラウンドプレーン、すなわち、いわゆる背景画像に対してGUI表示画面461が合成されて表示される。
また、GUI表示画面461が、インタラクティブグラフィックスとして、もしくは、プログラム処理部103の処理により生成される画像データとして提供されている場合、インタラクティブグラフィックストリームまたはプログラム処理部103の処理により生成される画像データのサブタイムライン473またはアイコン474のそれぞれには、所定のコマンドを対応付けることができる。そして、ユーザが所望するピクチャインピクチャアプリケーションに対応するサブタイムライン473またはアイコン474が選択されることにより、選択されたピクチャインピクチャの再生時刻に対応する再生位置から、ピクチャインピクチャ表示状態で再生を開始させるためのコマンドが発行されるようにすることができる。ここでも、上述したように、画像データに直接コマンドが記載されるものとしても良いし、所定のコマンドライブラリから、対応するコマンドが呼び出されるようにしても良い。
なお、非同期のSecondary VideoまたはSecondary Audioに対応するサブタイムライン473またはアイコン474が選択された場合、例えば、MainPath先頭位置からのPrimary VideoおよびPrimary Audioとともに、ユーザが所望するSecondary VideoまたはSecondary Audioの少なくともいずれかが再生されるものとすることができる。
上述したようなGUI表示画面が、インタラクティブグラフィックスとして、もしくは、プログラム処理部103の処理により生成される画像データとして提供されている場合、インタラクティブグラフィックストリームまたはプログラム処理部103の処理により生成される画像データの、サムネイル画像などのアイテムには、ピクチャインピクチャアプリケーションの再生のための各種設定を指令するための、または、ピクチャインピクチャアプリケーションの再生を指令するためのコマンドを対応付けることができる。
次に、図39乃至図42を用いて、サムネイル画像などのアイテムに対応付けられるコマンドの例について説明する。
サムネイル画像などのアイテムには、例えば、図39に示されるようなコマンドを対応付けることができる。
このコマンドは、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を第3のレジスタ(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である。
図39のSetSecondaryStreamコマンドのうちのSecondary videoについて、図40を用いて説明する。
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に設定される値であり、直接指定されるか、第3のレジスタであるGPRにて指定されるかのうちのいずれかとなる。
次に、図39のSetSecondaryStreamコマンドのうちのSecondary audio & PiP PG TextSTについて、図41を用いて説明する。
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に設定される値であり、直接指定されるか、第3のレジスタ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に設定される値であり、直接指定されるか、第3のレジスタGPRにて指定されるかのうちのいずれかである。
次に、SetSecondaryStreamコマンドの具体的な使用例について、図42を用いて説明する。
例えば、図42に示されるように、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は、値が直接指定される。
このようなコマンドを発行することが可能なようにすることにより、ユーザが所望するピクチャインピクチャ表示における再生開始を指令することが可能となる。
具体的には、図35を用いて説明したGUI表示画面381、図36を用いて説明したGUI表示画面421、または、図37および図38を用いて説明したGUI表示画面461を含むビデオデータがAVデコーダ部26から出力されて表示されているときに、ユーザにより、サムネイル画像391、サムネイル画像401、サムネイル画像442、サブタイムライン473、または、アイコン474などのいずれかのアイテムを選択する操作入力を受けた場合、操作入力取得部356は、いずれのアイテムが選択されたかを示す情報をコマンド発生部340に供給する。
コマンド発生部340は、操作入力取得部356から、いずれのアイテムが選択されたかを示す情報を得るとともに、コマンド情報取得部355により取得される選択されたアイテムに対応付けられているコマンドを示す情報に基づいて、ユーザが所望するPrimary VideoまたはPrimary Audio、もしくは、Secondary VideoまたはSecondary Audioの少なくともいずれかに対応するアイテムに対応付けられた、SetSecondaryStreamコマンドを発生するとともに、再生開始を指令するLink MKコマンドを発行する。
発行された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へ供給されたデータのデコード、合成、および再生出力を制御する。そして、ピクチャインピクチャ表示で、ユーザが指定した箇所から、コンテンツの再生が開始される。
これにより、メインパスのAVストリームのみならず、ユーザにより選択されたアイテムに対応する子画面が表示された状態、すなわち、ピクチャインピクチャアプリケーションの実行状態から、再生が開始される。
すなわち、このようにすることにより、例えば、ユーザが所望の再生開始時刻を設定し、メインムービーの再生を開始させる操作入力を行うとともに、ピクチャインピクチャ表示の実行を指令する操作入力を行うような複雑な操作を行うことなく、ユーザが直感的に認識しやすいようにして、ユーザの所望の再生開始位置から、ピクチャインピクチャ表示が実行された状態でのコンテンツの再生を指令することが可能となる。
次に、図43のフローチャートを参照して、再生装置1において実行される再生処理について説明する。
なお、図43のフローチャートにおいては、このGUI表示画面を表示させるために必要な、プレゼンテーショングラフィックスストリームまたはインタラクティブグラフィックスストリーム、もしくは、プログラム処理部103により処理されるプログラムは、ストリームの再生とは関係しないタイミングで、予め取得されるものとして説明する。
ステップS1において、PlayList読み出し制御部351は、記録媒体11が装着されたか否かを判断する。ステップS1において、記録媒体11が装着されたと判断されなかった場合、記録媒体11が装着されたと判断されるまで、ステップS1の処理が繰り返される。
ステップS1において、記録媒体11が装着されたと判断された場合、ステップS2において、GUIデータ読み出し制御部352は、記録媒体11またはローカルストレージ24から、このGUI表示画面を表示させるために必要な、プレゼンテーショングラフィックスストリームまたはインタラクティブグラフィックスストリーム、もしくは、プログラム処理部103により処理されるプログラムを取得する。
ステップS3において、操作入力取得部356は、ストリームの再生を指令する操作入力を取得したか否かを判断する。ステップS3において、ストリームの再生を指令する操作入力は取得されていないと判断された場合、処理は、後述するステップS6に進む。
ステップS3において、ストリームの再生を指令する操作入力を取得したと判断された場合、ステップS4において、PlayList読み出し制御部351は、装着された記録媒体11からPlayListファイルを読み出し、取得したPlayListファイルに含まれるPlayItemおよびSubPlayItemに基づいて、対応するClipのClip_Information_file_nameを検出し、ストリームデータ読み出し制御部357に供給する。
ステップS5において、ストリームデータ読み出し制御部357は、PlayList読み出し制御部351から供給されたPlayListのClip_Information_file_nameを基に、対応するClipに含まれるストリームデータの読み出しと、AVデコーダ部26への供給を制御する。再生制御部358は、AVデコーダ部26へ供給されたデータのデコードおよび再生出力を制御する。
ステップS3において、ストリームの再生を指令する操作入力は取得されていないと判断された場合、または、ステップS5の処理の終了後、ステップS6において、操作入力取得部356は、GUI表示が指令されたか否かを判断する。ステップS6において、GUI表示が指令されていないと判断された場合、処理は、後述するステップS13に進む。
ステップS6において、GUI表示が指令されたと判断された場合、ステップS7において、GUIデータ再生制御部353またはGUI描画制御部354、およびGUI表示制御部359は、例えば、図35乃至図38を用いて説明したようなGUI表示画面の表示を制御する。
具体的には、GUIデータ描画制御部353は、GUI表示画面のデータが、プログラム処理部103の処理により生成される画像データとして提供される場合、バッファ102に格納された対応するプログラムファイルのプログラム処理部103への供給と、プログラム処理部103におけるプログラムの実行、すなわち、GUI表示画面に対応する画像データの描画を制御する。また、GUIデータ再生制御部354は、GUI表示画面のデータが、PGまたはIGによって提供される場合、PlayListファイルに基づいて読み出された、GUI表示画面に対応するPGまたはIGのストリームデータのデコードを制御する。そして、GUI表示制御部359は、操作入力取得部356から供給されるユーザの操作入力に基づいて、GUI描画制御部353により描画が制御された、または、GUIデータ再生制御部354の処理により再生が制御されたGUI表示画面データの表示、すなわち、プログラマブルグラフィックスプレーン生成部104により生成されたプログラマブルグラフィックスプレーン、または、プレゼンテーショングラフィックスプレーン生成部93により生成されたプレゼンテーショングラフィックスプレーンもしくはインタラクティブグラフィックスプレーン生成部94により生成されたインタラクティブグラフィックスプレーンの表示を制御する。
ステップS8において、操作入力取得部356は、いずれかのSubPlayItemに対応するサムネイル等(いずれかのサムネイル画像401、サムネイル画像442、サブタイムライン473、または、アイコン474)を選択する操作入力を受けたか否かを判断する。ステップS8において、いずれかを選択する操作入力を受けたと判断された場合、処理は、後述するステップS11に進む。
ステップS8において、いずれかを選択する操作入力を受けていないと判断された場合、ステップS9において、操作入力取得部356は、GUIの表示の終了が指令されたか否かを判断する。ステップS9において、GUIの表示の終了が指令されていないと判断された場合、処理は、ステップS6に戻り、それ以降の処理が繰り返される。
ステップS9において、GUIの表示の終了が指令されたと判断された場合、ステップS10において、GUI表示制御部359は、ステップS6において表示されたGUIの表示を終了し、処理は、後述するステップS13に進む。
ステップS8において、いずれかを選択する操作入力を受けたと判断された場合、ステップS11において、図44を用いて後述するコマンド取得処理が実行される。
そして、ステップS12において、ストリームデータ読み出し制御部357は、コマンド取得処理により取得されたコマンドに基づいて、所定の再生開始位置からの、プライマリビデオおよびプライマリオーディオ、並びに、セカンダリビデオおよびセカンダリオーディオの読み出しを制御し、再生制御部358は、ピクチャインピクチャアプリケーション実行状態でのストリームの再生を制御する。
ステップS10またはステップS12の処理の終了後、ステップS13において、操作入力取得部356は、処理の終了が指令されたか否かを判断する。ステップS13において、処理の終了が指令されていないと判断された場合、処理は、ステップS6に戻り、それ以降の処理が繰り返される。ステップS13において、処理の終了が指令されたと判断された場合、処理が終了される。
このような処理により、GUI表示画面が表示されるので、ユーザは、複数のピクチャインピクチャアプリケーションの内容やメインストリームに対する再生位置などを、容易に明確に認識することができる。そして、GUI表示画面を参照したユーザの操作入力を基に、ユーザが所望するピクチャインピクチャ表示状態でのストリームの再生を開始させることが可能となる。
次に、図44のフローチャートを参照して、図43のステップS11において実行される、コマンド取得処理について説明する。
ステップS41において、コマンド情報取得部355は、ユーザにより選択されたアイテムに対応するSetSecondaryStreamコマンドを取得し、コマンド発行部340は、対応するコマンドを発行する。
ステップS42において、取得して発行されたSetSecondaryStreamコマンドに対応して、上述したレジスタの値が設定される。
ステップS43において、コマンド情報取得部355は、再生開始コマンド(Link MK)を取得し、コマンド発行部340は、対応するコマンドを発行し、処理は、図43のステップS11に戻り、ステップS12に進む。
このような処理により、ユーザが選択したアイテムに対応するコマンドが発行される。
以上説明したようにして、複数のビデオストリームが合成して再生される場合であっても、メインのストリームではなく、メインのストリームに合成されて再生されるストリームを容易に把握することができるようなGUI表示画面をユーザに提供することが可能となる。
特に、例えば、ピクチャインピクチャ表示の子画面に対応するサムネイルを単独で表示させるのみならず、メインムービー(プライマリビデオ)の映像を背景として共に表示したサムネイルを表示させたり、ピクチャインピクチャ表示の子画面に対応するサムネイルをメインムービーのサムネイルと対応させて表示するようにしたので、ユーザは、それぞれの子画面の映像が、メインムービー(プライマリビデオ)のいずれのシーンに対応しているかを、容易に明確に把握することが出来る。
また、GUI表示画面が、インタラクティブグラフィックスとして、もしくは、プログラム処理部103の処理により生成される画像データとして提供されている場合、インタラクティブグラフィックストリームまたはプログラム処理部103の処理により生成される画像データのアイコン、ボタン、サムネイル画像などのアイテムのそれぞれには、所定のコマンドを対応付けることができる。そして、これらのアイテムのうちのユーザが所望するものが選択されることにより、それぞれの再生時刻に対応する再生位置から、ピクチャインピクチャ表示状態で再生が開始されるようなコマンドが発行されるようにすることができる。
上述したように、画像データに直接コマンドが記載されるものとしても良いし、所定のコマンドライブラリから、対応するコマンドが呼び出されるようにしても良い。
いずれかのアイテムが選択された場合、再生装置1の各種設定を定義するレジスタの値が必要において変更、または、設定される。
したがって、ユーザは、所望のピクチャインピクチャアプリケーションを示すサムネイル画像などを選択決定するのみで、所望のピクチャインピクチャアプリケーションが実行された状態の再生を指令することができる。
すなわち、このGUI表示画面は、コンテンツの供給元、または、記録媒体の販売者など、いわゆる、コンテンツオーサが、設計し、デザインして、ユーザに提供することができるものであるとともに、ユーザが所望するアイテムに対応付けてコマンドを設定することが可能である。これにより、コンテンツオーサは、コンテンツの内容や、提供するピクチャインピクチャアプリケーションの内容に応じて、ユーザが効率よくピクチャインピクチャアプリケーションにより再生可能なセカンダリビデオまたはセカンダリオーディオを把握することができたり、所望のピクチャインピクチャアプリケーションの再生状態から、コンテンツの再生を指令することができるようなGUI表示画面をユーザに提供することができる。
次に、図45および図46を参照して、再生装置1において再生可能なデータが記録された記録媒体11の製造方法について、記録媒体11がディスク状の記録媒体だった場合を例として説明する。
即ち、図45に示すように、例えばガラスなどよりなる原盤が用意され、その上に、例えばフォトレジストなどよりなる記録材料が塗布される。これにより、記録用原盤が製作される。
そして、図46に示すように、ソフト製作処理部において、符号化装置(ビデオエンコーダ)で符号化された、再生装置1において再生可能な形式のビデオデータが、一時バッファに記憶され、オーディオエンコーダで符号化されたオーディオデータが、一時バッファに記憶されるとともに、更に、データエンコーダで符号化された、ストリーム以外のデータ(例えば、Indexes、PlayList、PlayItemなど)が一時バッファに記憶される。それぞれのバッファに記憶されたビデオデータ、オーディオデータ、および、ストリーム以外のデータは、多重化器(MPX)で同期信号と共に多重化され、誤り訂正符号回路(ECC)でエラー訂正用のコードが付加される。そして、変調回路(MOD)で所定の変調がかけられ、所定のフォーマットにしたがって、例えば磁気テープなどに一旦記録され、再生装置1において再生可能な記録媒体11に記録されるソフトウェアが製作される。
このソフトウェアを必要に応じて編集(プリマスタリング)し、光ディスクに記録すべきフォーマットの信号が生成される。そして、この記録信号に対応して、レーザビームが変調されて、このレーザビームが原盤上のフォトレジスト上に照射される。これにより、原盤上のフォトレジストが記録信号に対応して露光される。
その後、この原盤を現像し、原盤上にピットを出現させる。このようにして用意された原盤に、例えば電鋳等の処理を施し、ガラス原盤上のピットを転写した金属原盤を製作する。この金属原盤から、さらに金属スタンパを製作し、これを成形用金型とする。
この成形用金型に、例えばインジェクションなどによりPMMA(アクリル)またはPC(ポリカーボネート)などの材料を注入し、固定化させる。あるいは、金属スタンパ上に2P(紫外線硬化樹脂)などを塗布した後、紫外線を照射して硬化させる。これにより、金属スタンパ上のピットを、樹脂よりなるレプリカ上に転写することができる。
このようにして生成されたレプリカ上に、反射膜が、蒸着あるいはスパッタリングなどにより形成される。あるいはまた、生成されたレプリカ上に、反射膜が、スピンコートにより形成される。
その後、このディスクに対して内外径の加工が施され、2枚のディスクを張り合わせるなどの必要な処置が施される。さらに、ラベルを貼り付けたり、ハブが取り付けられて、カートリッジに挿入される。このようにして再生装置1によって再生可能なデータが記録された記録媒体11が完成する。
上述した一連の処理は、ハードウエアにより実行させることもできるし、ソフトウェアにより実行させることもできる。この場合、上述した処理は、図47に示されるようなパーソナルコンピュータ500により実行される。
図47において、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にインストールされる。
一連の処理をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが、ネットワークやプログラム格納媒体からインストールされる。
このプログラム格納媒体は、図47に示されるように、コンピュータとは別に、ユーザにプログラムを提供するために配布される、プログラムが記録されているリムーバブルメディア521よりなるパッケージメディアにより構成されるだけでなく、装置本体に予め組み込まれた状態でユーザに提供される、プログラムが記録されているROM502や記憶部508が含まれるハードディスクなどで構成される。
なお、本明細書において、コンピュータプログラムを記述するステップは、記載された順序に従って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
また、ドライブ510は、装着されたリムーバブルメディア521に記録されたデータを読み出すことができるのみならず、装着されたリムーバブルメディア521にデータを記録することができる。そして、パーソナルコンピュータ500が、図46を用いて説明したソフト製作処理部と同様の機能を有する(例えば、CPU501を用いて、ソフト製作処理部と同様の機能を実現するためのプログラムを実行する)ことが可能であるのは言うまでもない。
すなわち、パーソナルコンピュータ500は、図46を用いて説明したソフト制作処理部により生成されたデータと同様のデータを、CPU501の処理により生成するか、または、外部の装置で生成された図46を用いて説明したソフト制作処理部により生成されたデータと同様のデータを、通信部509またはドライブ510に装着されたリムーバブルメディア521を介して取得することができる。そして、パーソナルコンピュータ500は、生成または取得された図46を用いて説明したソフト制作処理部により生成されたデータと同様のデータを、ドライブ510に装着されたリムーバブルメディア521に記録する記録装置としての機能を実現することができる。
なお、本明細書において、システムとは、複数の装置により構成される装置全体を表すものである。
なお、本発明の実施の形態は、上述した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能である。
従来の音声切り替えを説明する図である。 従来の音声切り替えを説明する図である。 MPEG2プログラムストリームの構成を説明する図である。 本発明を適用した再生装置に装着される記録媒体上のアプリケーションフォーマットの例を示す図である。 メインパスとサブパスの構造を説明する図である。 メインパスとサブパスの例を説明する図である。 メインパスとサブパスの別の例を説明する図である。 再生装置で再生可能なデータのデータ構成例を説明する図である。 index.bdmvのシンタクスを示す図である。 indexesシンタクスを示す図である。 PlayListファイルのデータ構造ついて説明するための図である。 AppInfoPlayList()のシンタクスについて説明するための図である。 PlayList()のシンタクスを示す図である。 PlayItem()のシンタクスを示す図である。 STN_table()のシンタクスを示す図である。 STN_table()のシンタクスを示す図である。 stream_entry()のシンタクスを示す図である。 stream_attribute()のシンタクスを示す図である。 stream_cording_typeを説明する図である。 video_formatを説明する図である。 frame_rateを説明する図である。 aspect_ratioを説明する図である。 audio_presentation_typeを説明する図である。 sampling_frequencyを説明する図である。 Character codeを説明する図である。 SubPath()のシンタクスを示す図である。 SubPath_typeを説明する図である。 SubPlayItem(i)のシンタクスを示す図である。 再生装置の構成を示すブロック図である。 図29の再生装置のAVデコーダ部の構成を示すブロック図である。 ピクチャインピクチャ表示について説明するための図である。 第1のレジスタについて説明するための図である。 第2のレジスタについて説明するための図である。 図29の再生装置のコントローラが有する機能を示す機能ブロック図である。 GUI表示画面について説明するための図である。 GUI表示画面について説明するための図である。 GUI表示画面について説明するための図である。 GUI表示画面について説明するための図である。 コマンドについて説明するための図である。 コマンドについて説明するための図である。 コマンドについて説明するための図である。 コマンドについて説明するための図である。 再生処理について説明するフローチャートである。 コマンド取得処理について説明するフローチャートである。 再生装置で再生可能なデータを記録した記録媒体の製造について説明するための図である。 再生装置で再生可能なデータを記録した記録媒体の製造について説明するための図である。 パーソナルコンピュータの構成を示す図である。
符号の説明
1 再生装置, 11 記録媒体, 21 コントローラ, 26 AVデコーダ部, 30 OSD, 32 スイッチ, 33 AVデコーダ部, 34 コントローラ, 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 バッファ, 103 プログラム処理部, 104 プログラマブルグラフィックスプレーン生成部, 351 PlayList読み出し制御部, 352 GUIデータ読み出し制御部, 353 GUIデータ描画制御部, 354 GUIデータ再生制御部358 コマンド情報取得部, 356 操作入力取得部356, 357 ストリームデータ読み出し制御部, 358 再生制御部, 359 GUI表示制御部, 340 コマンド発生部, 381 GUI表示画面,391,401 サムネイル画像, 402 サムネイル画像内子画面, 421 GUI表示画面, 441,442 サムネイル画像, 461 GUI表示画面, 471 メインタイムライン, 472 スライダ, 473 サブタイムライン, 474 アイコン

Claims (11)

  1. ストリームの再生を制御する情報処理装置において、
    記録媒体から前記ストリームの主の再生パスとは異なる1つまたは複数の副の再生パスに基づいて再生可能な副のストリームをユーザが把握するための補助となる表示画面を表示させるためのデータを取得する情報取得手段と、
    前記情報取得手段により取得された前記データを基に、前記副のストリームに対応する情報を含む前記表示画面の表示を制御する表示制御手段と、
    前記表示画面に含まれる前記情報のうちの前記ユーザにより選択された情報に対応する前記副のストリームの画像をサブ画面の画像として再生し、その副のストリームに対応する前記主の再生パスにより再生される主のストリームの画像を、前記サブ画面を含むメイン画面の画像として再生するように、前記ストリームの再生を制御する再生制御手段と
    を備え
    前記副のストリームに対応する情報は、その副のストリームの画像を前記サブ画面とし、その副のストリームに対応する主のストリームの画像を前記メイン画面とした画像を縮小したサムネイル画像である
    情報処理装置。
  2. 前記ユーザの操作入力を受ける操作入力取得手段と、
    前記ストリームの再生を制御する再生制御コマンドの発生を制御するコマンド発生手段と
    を更に備え、
    前記操作入力取得手段により、前記ユーザにより前記副のストリームに対応する情報のうちのいずれかが選択されたことを示す操作入力が取得された場合、前記コマンド発生手段は、選択された前記情報に対応する前記副のストリームの画像を前記サブ画面の画像として再生し、その副のストリームに対応する主のストリームの画像を前記メイン画面の画像として再生するように、前記ストリームの再生を制御する前記再生制御コマンドを発生し、
    前記再生制御手段は、前記再生制御コマンドに基づいて前記ストリームの再生を制御する
    請求項1に記載の情報処理装置。
  3. 前記ストリームの再生に関する設定情報を保持する保持手段を更に備え、
    前記コマンド発生手段は、前記再生制御コマンドとして、前記保持手段により保持される前記設定情報を設定するためのコマンドを発生した後、前記ストリームの再生を開始させるコマンドを発生し、
    前記再生制御手段は、前記ストリームの再生を開始させるコマンドに応じて、前記保持手段に保持されている前記設定情報に基づいて前記ストリームの再生を制御する
    請求項2に記載の情報処理装置。
  4. 前記表示画面には、前記再生制御コマンドが対応付けられる
    請求項2に記載の情報処理装置。
  5. 前記ストリームの再生に関する設定情報を保持する保持手段を更に備え、
    前記コマンド発生手段は、前記再生制御コマンドとして、前記保持手段により保持される前記設定情報を設定するためのコマンドを発生した後、前記ストリームの再生を開始させるコマンドを発生し、
    前記再生制御手段は、前記ストリームの再生を開始させるコマンドに応じて、前記保持手段に保持されている前記設定情報に基づいて前記ストリームの再生を制御する
    請求項4に記載の情報処理装置。
  6. 前記表示画面は、前記主のストリームの画像のうちの少なくとも一部も含
    請求項1に記載の情報処理装置。
  7. 前記情報取得手段により取得された前記表示画面を表示させるためのデータを基に、前記表示画面の画像データを生成する処理を実行する表示画面データ生成手段を更に備え、
    前記表示画面を表示させるためのデータは、前記表示画面の画像を描画する処理を実行させるプログラムであり、
    前記表示画面データ生成手段は、前記プログラムを実行することにより、前記表示画面の画像データを生成し、
    前記表示制御手段は、前記表示画面の画像データを基に前記表示画面の表示を制御する
    請求項1に記載の情報処理装置。
  8. ストリームの再生を制御する情報処理装置の情報処理方法において、
    前記情報処理装置が、記録媒体から前記ストリームの主の再生パスとは異なる1つまたは複数の副の再生パスに基づいて再生可能な副のストリームをユーザが把握するための補助となる表示画面を表示させるためのデータを取得し、
    前記情報処理装置が、取得された前記データを基に、前記副のストリームに対応する情報を含む前記表示画面の表示を制御し、
    前記情報処理装置が、前記表示画面に含まれる前記情報のうちの前記ユーザにより選択された情報に対応する前記副のストリームの画像をサブ画面の画像として再生し、その副のストリームに対応する前記主の再生パスにより再生される主のストリームの画像を、前記サブ画面を含むメイン画面の画像として再生するように、前記ストリームの再生を制御する
    ステップを含み、
    前記副のストリームに対応する情報は、その副のストリームの画像を前記サブ画面とし、その副のストリームに対応する主のストリームの画像を前記メイン画面とした画像を縮小したサムネイル画像である
    情報処理方法。
  9. 前記情報処理装置は、前記ユーザの操作入力を受ける操作入力取得手段を備え、
    前記情報処理方法は、
    前記情報処理装置が、前記ストリームの再生を制御する再生制御コマンドの発生を制御するコマンド発生ステップ
    をさらに含み、
    前記操作入力取得手段により、前記ユーザにより前記副のストリームに対応する情報のうちのいずれかが選択されたことを示す操作入力が取得された場合、前記コマンド発生ステップでは、前記情報処理装置が、選択された前記情報に対応する前記副のストリームの画像を前記サブ画面の画像として再生し、その副のストリームに対応する主のストリームの画像を前記メイン画面の画像として再生するように、前記ストリームの再生を制御する前記再生制御コマンドを発生し、
    前記再生制御ステップでは、前記情報処理装置が、前記再生制御コマンドに基づいて前記ストリームの再生を制御し、
    前記表示画面には、前記再生制御コマンドが対応付けられている
    請求項に記載の情報処理方法。
  10. ストリームの再生を制御する情報処理装置を制御するコンピュータに、
    記録媒体から前記ストリームの主の再生パスとは異なる1つまたは複数の副の再生パスに基づいて再生可能な副のストリームをユーザが把握するための補助となる表示画面を表示させるためのデータを取得し、
    取得された前記データを基に、前記副のストリームに対応する情報を含む前記表示画面の表示を制御し、
    前記表示画面に含まれる前記情報のうちの前記ユーザにより選択された情報に対応する前記副のストリームの画像をサブ画面の画像として再生し、その副のストリームに対応する前記主の再生パスにより再生される主のストリームの画像を、前記サブ画面を含むメイン画面の画像として再生するように、前記ストリームの再生を制御する
    ステップを含む処理を実行させるためのプログラムであり、
    前記副のストリームに対応する情報は、その副のストリームの画像を前記サブ画面とし、その副のストリームに対応する主のストリームの画像を前記メイン画面とした画像を縮小したサムネイル画像である
    プログラム
  11. 前記情報処理装置は、前記ユーザの操作入力を受ける操作入力取得手段を備え、
    前記処理は、
    前記ストリームの再生を制御する再生制御コマンドの発生を制御するコマンド発生ステップ
    をさらに含み、
    前記操作入力取得手段により、前記ユーザにより前記副のストリームに対応する情報のうちのいずれかが選択されたことを示す操作入力が取得された場合、前記コマンド発生ステップでは、選択された前記情報に対応する前記副のストリームの画像を前記サブ画面の画像として再生し、その副のストリームに対応する主のストリームの画像を前記メイン画面の画像として再生するように、前記ストリームの再生を制御する前記再生制御コマンドを発生し、
    前記再生制御ステップでは、前記再生制御コマンドに基づいて前記ストリームの再生を制御し、
    前記表示画面には、前記再生制御コマンドが対応付けられている
    請求項1に記載のプログラム。
JP2006173678A 2006-06-23 2006-06-23 情報処理装置および情報処理方法、プログラム、データ構造、並びに記録媒体 Expired - Fee Related JP4821456B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006173678A JP4821456B2 (ja) 2006-06-23 2006-06-23 情報処理装置および情報処理方法、プログラム、データ構造、並びに記録媒体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006173678A JP4821456B2 (ja) 2006-06-23 2006-06-23 情報処理装置および情報処理方法、プログラム、データ構造、並びに記録媒体

Publications (3)

Publication Number Publication Date
JP2008005289A JP2008005289A (ja) 2008-01-10
JP2008005289A5 JP2008005289A5 (ja) 2009-08-06
JP4821456B2 true JP4821456B2 (ja) 2011-11-24

Family

ID=39009303

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006173678A Expired - Fee Related JP4821456B2 (ja) 2006-06-23 2006-06-23 情報処理装置および情報処理方法、プログラム、データ構造、並びに記録媒体

Country Status (1)

Country Link
JP (1) JP4821456B2 (ja)

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3717880B2 (ja) * 2002-10-01 2005-11-16 パイオニア株式会社 情報記録媒体、情報記録装置及び方法、情報再生装置及び方法、情報記録再生装置及び方法、記録又は再生制御用のコンピュータプログラム、並びに制御信号を含むデータ構造
WO2005011273A1 (ja) * 2003-06-18 2005-02-03 Matsushita Electric Industrial Co., Ltd. 再生装置、記録媒体、プログラム、再生方法
US7609947B2 (en) * 2004-09-10 2009-10-27 Panasonic Corporation Method and apparatus for coordinating playback from multiple video sources

Also Published As

Publication number Publication date
JP2008005289A (ja) 2008-01-10

Similar Documents

Publication Publication Date Title
JP4770601B2 (ja) 情報処理装置および情報処理方法、プログラム、並びに、プログラム格納媒体
KR101244148B1 (ko) 데이터 생성 방법, 기록 장치, 기록 방법, 저장 매체, 재생 장치 및 재생 방법
JP4923751B2 (ja) 再生装置、並びに記録媒体及びその製造方法
JP4968506B2 (ja) 再生装置、再生方法、およびプログラム
JP4251298B2 (ja) 再生装置および再生方法、プログラム、プログラム格納媒体、データ、記録媒体、記録装置、および、記録媒体の製造方法
JP4822081B2 (ja) 再生装置、再生方法、および記録媒体
JP4849343B2 (ja) データ生成方法、記録装置および方法、並びに、プログラム
JP4720676B2 (ja) 情報処理装置および情報処理方法、データ構造、記録媒体の製造方法、プログラム、並びに、プログラム格納媒体
JP4821456B2 (ja) 情報処理装置および情報処理方法、プログラム、データ構造、並びに記録媒体
JP4968562B2 (ja) 再生装置、再生方法、および記録方法
JP2008193604A (ja) 再生装置および方法、並びにプログラム
JP2008052836A (ja) 情報処理装置および情報処理方法、プログラム、並びに、プログラム格納媒体
JP5234144B2 (ja) 再生装置、並びに記録媒体及びその製造方法
JP4900708B2 (ja) 再生装置および再生方法、プログラム、並びにプログラム格納媒体
JP5201428B2 (ja) データ生成方法、記録装置および方法、並びに、プログラム

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090623

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090623

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20101028

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20101102

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101224

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110524

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110719

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20110809

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110822

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

Free format text: PAYMENT UNTIL: 20140916

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees