(57)【要約】  【課題】  映像データ用ＢＤ−ＲＯＭで新たにＨＴＭＬおよびスクリプトで記述したアプリケーションによる再生制御環境を導入する際、映像データ等のデジタルストリームとインタラクティブコンテンツを連動させた同期再生の挙動を完全に制御することが難しいという課題がある。  【解決手段】ＢＤ−ＲＯＭのインタラクティブコンテンツを管理する管理情報内に、映像データ等のデジタルストリームとインタラクティブコンテンツの同期実行を設定するか否かの指定や、特定タイミングでの同期記録を設定するか否かの指定を示す属性情報を導入する。【選択図】  図４６
2007018623.tif 000002
【特許請求の範囲】
【請求項１】
デジタルストリームを含むタイトルと、宣言型言語で記述された文書からなるインタラクティブコンテンツを記録する情報記録媒体であって、
前記インタラクティブコンテンツ実行時において、前記タイトルと前記宣言型言語で記述された文書の同期実行を設定するか否かを指定する映像同期再生機能属性情報が記録されていることを特徴とする情報記録媒体。
【請求項２】
前記映像同期再生機能とは、デジタルストリームを含むタイトルと、宣言型言語で記述された文書からなるインタラクティブコンテンツの再生において、デジタルストリームを含むタイトルの特殊再生時に、前記インタラクティブコンテンツの提示可否設定に基づいて再生を実行できる機能であることを特徴とする請求項１に記載の情報記録媒体。
【請求項３】
前記情報記録媒体は、インタラクティブコンテンツを構成するデータファイルを管理するインタラクティブコンテンツ管理情報を持ち、前記映像同期再生機能属性情報は前記インタラクティブコンテンツ管理情報内に記録されていることを特徴とする請求項２に記載の情報記録媒体。
【請求項４】
情報記録媒体に記録されたデジタルストリームの再生と、宣言型言語で記述された文書からなるインタラクティブコンテンツの実行を同時に行うことが可能な再生装置であって、
宣言型言語で記述された文書を解析し表示、実行するインタラクティブコンテンツ実行部と、
前記インタラクティブコンテンツが、前記デジタルストリームの特殊再生時に、再生装置に実装された映像同期再生機能を使用するか否かを解析する管理情報解析部と、
前記管理情報解析部により、前記インタラクティブコンテンツは再生装置に実装された映像同期再生機能を使用すると解析された場合に、前記インタラクティブコンテンツ実行時に映像同期再生機能を実行させる提示処理部と
を備えることを特徴とする再生装置。
【請求項５】
前記管理情報解析部は、情報記録媒体に記録されたインタラクティブコンテンツ管理情報内の映像同期再生機能属性情報により判定することを特徴とする請求項４に記載の再生装置。
【請求項６】
情報記録媒体に記録されたデジタルストリームの再生と、宣言型言語で記述された文書からなるインタラクティブコンテンツの実行を同時に行うことが可能な再生方法であって、
宣言型言語で記述された文書を解析し表示、実行するステップと、
前記インタラクティブコンテンツが、前記デジタルストリームの特殊再生時に、再生装置に実装された映像同期再生機能を使用するか否かを解析する管理情報解析ステップと、
前記管理情報解析ステップにより、前記インタラクティブコンテンツは再生装置に実装された映像同期再生機能を使用すると解析された場合に、前記インタラクティブコンテンツ実行時に映像同期再生機能を実行させるステップと
を含むことを特徴とする再生方法。
【請求項７】
情報記録媒体に記録されたデジタルストリームの再生と、宣言型言語で記述された文書からなるインタラクティブコンテンツの実行を同時に行うことが可能なプログラムであって、
宣言型言語で記述された文書を解析し表示、実行するステップと、
前記インタラクティブコンテンツが、前記デジタルストリームの特殊再生時に、再生装置に実装された映像同期再生機能を使用するか否かを解析する管理情報解析ステップと、
前記管理情報解析ステップにより、前記インタラクティブコンテンツは再生装置に実装された映像同期再生機能を使用すると解析された場合に、前記インタラクティブコンテンツ実行時に映像同期再生機能を実行させるステップと
をコンピュータに実行させることを特徴とするプログラム。
【請求項８】
デジタルストリームを含むタイトルと、宣言型言語で記述された文書からなるインタラクティブコンテンツを記録する情報記録媒体であって、
前記インタラクティブコンテンツ実行時において、前記タイトルと前記宣言型言語で記述された文書を、特定タイミングでの同期記録を設定するか否かを指定する映像同期記録再生機能属性情報が記録されていることを特徴とする情報記録媒体。
【請求項９】
前記映像同期記録再生機能とは、デジタルストリームを含むタイトルと、宣言型言語で記述された文書からなるインタラクティブコンテンツの再生において、デジタルストリームを含むタイトルの再生時に、前記タイトルと前記宣言型言語で記述された文書を、特定のタイミングでの同期記録可否設定に基づいて再生を実行できる機能であることを特徴とする請求項８に記載の情報記録媒体。
【請求項１０】
前記情報記録媒体は、インタラクティブコンテンツを構成するデータファイルを管理するインタラクティブコンテンツ管理情報を持ち、前記映像同期記録再生機能属性情報は前記インタラクティブコンテンツ管理情報内に記録されていることを特徴とする請求項９に記載の情報記録媒体。
【請求項１１】
情報記録媒体に記録されたデジタルストリームの再生と、宣言型言語で記述された文書からなるインタラクティブコンテンツの実行を同時に行うことが可能な再生装置であって、
宣言型言語で記述された文書を解析し表示、実行するインタラクティブコンテンツ実行部と、前記インタラクティブコンテンツが、前記デジタルストリームの特殊再生時に、再生装置に実装された映像同期記録再生機能を使用するか否かを解析する管理情報解析部と、
前記管理情報解析部により、前記インタラクティブコンテンツは再生装置に実装された映像同期記録再生機能を使用すると解析された場合に、前記インタラクティブコンテンツ実行時に映像同期記録再生機能を実行させる提示処理部とを備えることを特徴とする再生装置。
【請求項１２】
前記管理情報解析部は、情報記録媒体に記録されたインタラクティブコンテンツ管理情報内の映像同期記録再生機能属性情報により判定することを特徴とする請求項１１に記載の再生装置。
【請求項１３】
情報記録媒体に記録されたデジタルストリームの再生と、宣言型言語で記述された文書からなるインタラクティブコンテンツの実行を同時に行うことが可能な再生方法であって、
宣言型言語で記述された文書を解析し表示、実行するステップと、
前記インタラクティブコンテンツが、前記デジタルストリームの特殊再生時に、再生装置に実装された映像同期記録再生機能を使用するか否かを解析する管理情報解析ステップと、
前記管理情報解析ステップにより、前記インタラクティブコンテンツは再生装置に実装された映像同期記録再生機能を使用すると解析された場合に、前記インタラクティブコンテンツ実行時に映像同期記録再生機能を実行させるステップと
を含むことを特徴とする再生方法。
【請求項１４】
情報記録媒体に記録されたデジタルストリームの再生と、宣言型言語で記述された文書からなるインタラクティブコンテンツの実行を同時に行うことが可能なプログラムであって、
宣言型言語で記述された文書を解析し表示、実行するステップと、
前記インタラクティブコンテンツが、前記デジタルストリームの特殊再生時に、再生装置に実装された映像同期再生機能を使用するか否かを解析する管理情報解析ステップと、
前記管理情報解析ステップにより、前記インタラクティブコンテンツは再生装置に実装された映像同期記録再生機能を使用すると解析された場合に、前記インタラクティブコンテンツ実行時に映像同期記録再生機能を実行させるステップと
をコンピュータに実行させることを特徴とするプログラム。
【請求項１５】
デジタルストリームを含むタイトルと、宣言型言語で記述された文書からなるインタラクティブコンテンツを記録する情報記録媒体であって、
前記インタラクティブコンテンツ実行時において、前記タイトルと前記宣言型言語で記述された文書の同期提示を設定するか否かを指定するイベント同期再生機能属性情報が記録されていることを特徴とする情報記録媒体。
【請求項１６】
前記イベント同期再生機能とは、デジタルストリームを含むタイトルと、宣言型言語で記述された文書からなるインタラクティブコンテンツの再生において、デジタルストリームを含むタイトルの特殊再生時に、前記タイトルや前記宣言型言語で記述した文書に連動したイベントの受信可否設定に基づいて再生を実行できる機能であることを特徴とする請求項１５に記載の情報記録媒体。
【請求項１７】
前記情報記録媒体は、インタラクティブコンテンツを構成するデータファイルを管理するインタラクティブコンテンツ管理情報を持ち、前記イベント同期再生機能属性情報は前記インタラクティブコンテンツ管理情報内に記録されていることを特徴とする請求項１６に記載の情報記録媒体。
【請求項１８】
情報記録媒体に記録されたデジタルストリームの再生と、宣言型言語で記述された文書からなるインタラクティブコンテンツの実行を同時に行うことが可能な再生装置であって、
宣言型言語で記述された文書を解析し表示、実行するインタラクティブコンテンツ実行部と、
前記インタラクティブコンテンツが、前記デジタルストリームの特殊再生時に、再生装置に実装された映像同期再生機能を使用するか否かを解析する管理情報解析部と、
前記管理情報解析部により、前記インタラクティブコンテンツは再生装置に実装されたイベント同期再生機能を使用すると解析された場合に、前記インタラクティブコンテンツ実行時にイベント同期再生機能を実行する提示処理部と
を備えることを特徴とする再生装置。
【請求項１９】
前記管理情報解析部は、情報記録媒体に記録されたインタラクティブコンテンツ管理情報内のイベント同期再生機能属性情報により判定することを特徴とする請求項１８に記載の再生装置。
【請求項２０】
情報記録媒体に記録されたデジタルストリームの再生と、宣言型言語で記述された文書からなるインタラクティブコンテンツの実行を同時に行うことが可能な再生方法であって、
宣言型言語で記述された文書を解析し表示、実行するステップと、
前記インタラクティブコンテンツが、前記デジタルストリームの特殊再生時に、再生装置に実装されたイベント同期再生機能を使用するか否かを解析する管理情報解析ステップと、
前記管理情報解析ステップにより、前記インタラクティブコンテンツは再生装置に実装されたイベント同期再生機能を使用すると解析された場合に、前記インタラクティブコンテンツ実行時にイベント同期再生機能を実行させるステップと
を含むことを特徴とする再生方法。
【請求項２１】
情報記録媒体に記録されたデジタルストリームの再生と、宣言型言語で記述された文書からなるインタラクティブコンテンツの実行を同時に行うことが可能なプログラムであって、
宣言型言語で記述された文書を解析し表示、実行するステップと、
前記インタラクティブコンテンツが、前記デジタルストリームの特殊再生時に、再生装置に実装されたイベント同期再生機能を使用するか否かを解析する管理情報解析ステップと、
前記管理情報解析ステップにより、前記インタラクティブコンテンツは再生装置に実装されたイベント同期再生機能を使用すると解析された場合に、前記インタラクティブコンテンツ実行時にイベント同期再生機能を実行させるステップと
をコンピュータに実行させることを特徴とするプログラム。
【請求項２２】
前記インタラクティブコンテンツ管理情報はインタラクティブコンテンツ毎に用意され、前記インタラクティブコンテンツを構成するファイルは、タイトル選択時に再生装置のメモリ上にロードされることを特徴とし、前記インタラクティブコンテンツを構成するファイルや前記インタラクティブコンテンツ管理情報を含めて、１つに纏めたアーカイブファイルであることを特徴とする請求項３、請求項１０、請求項１７に記載の情報記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＢＤ−ＲＯＭ等、映像データを記録した情報記録媒体、その再生装置及び再生方法に関し、特に、映像データとプログラムとを含むコンテンツの開発にプログラミング環境を導入する場合の改良に関する。
【背景技術】
【０００２】
映像データを記録した情報記録媒体の代表格は、ＤＶＤ（以下、ＳＤ−ＤＶＤまたは単にＤＶＤと称する）である。以降、従来のＤＶＤについて説明する。
【０００３】
図１は、ＳＤ−ＤＶＤの構造を示した図である。図１の下段に示すように、ＤＶＤディスク上にはリードインからリードアウトまでの間に論理アドレス空間が設けられ、論理アドレス空間の先頭からファイルシステムのボリューム情報が記録され、続いて映像音声などのアプリケーションデータが記録されている。
【０００４】
ファイルシステムとは、ＩＳＯ９６６０やＵＤＦ（Ｕｎｉｖｅｒｓａｌ  Ｄｉｓｃ  Ｆｏｒｍａｔ）のことであり、ディスク上のデータをディレクトリまたはファイルと呼ばれる単位で表現する仕組みである。日常使っているＰＣ（パーソナルコンピュータ）の場合でも、ＦＡＴまたはＮＴＦＳと呼ばれるファイルシステムを通すことにより、ディレクトリやファイルという構造でハードディスクに記録されたデータがコンピュータ上で表現され、ユーザビリティを高めている。  ＳＤ−ＤＶＤの場合、ＵＤＦ及びＩＳＯ９６６０両方を使用しており（両方を合わせて「ＵＤＦブリッジ」と呼ぶ事がある）、ＵＤＦまたはＩＳＯ９６６０どちらのファイルシステムドライバによってもデータの読み出し（ここで取り扱うＤＶＤはパッケージメディア用のＲＯＭディスクであり、物理的に書き込みが不可能である）ができるようになっている。
【０００５】
ＤＶＤ上に記録されたデータは、ＵＤＦブリッジを通して、図１左上に示すようなディレクトリまたはファイルとして見ることができる。ルートディレクトリ（図中「ＲＯＯＴ」）の直下に「ＶＩＤＥＯ＿ＴＳ」と呼ばれるディレクトリが置かれ、ここにＤＶＤのアプリケーションデータが記録されている。アプリケーションデータは、複数のファイルとして記録され、主なファイルとして以下のものがある。
【０００６】
ＶＩＤＥＯ＿ＴＳ．ＩＦＯ    ディスク再生制御情報ファイル
ＶＴＳ＿０１＿０．ＩＦＯ    ビデオタイトルセット＃１再生制御情報ファイル
ＶＴＳ＿０１＿０．ＶＯＢ    ビデオタイトルセット＃１ストリームファイル
．．．．．
拡張子として２つの種類が存在する。「ＩＦＯ」は再生制御情報が記録されたファイルであって、「ＶＯＢ」はＡＶデータであるＭＰＥＧストリームが記録されたファイルである。再生制御情報とは、ＤＶＤで採用されたインタラクティビティ（ユーザの操作に応じて再生を動的に変化させる技術）を実現するための情報や、メタデータのようなタイトルやＡＶストリームに付属する情報などのことである。また、ＤＶＤでは一般的に再生制御情報のことをナビゲーション情報と呼ぶことがある。
【０００７】
再生制御情報ファイルは、ディスク全体を管理する「ＶＩＤＥＯ＿ＴＳ．ＩＦＯ」と、個々のビデオタイトルセット（ＤＶＤでは複数のタイトル、言い換えれば異なる映画や異なるバージョンの映画を１枚のディスクに記録することが可能である。）毎の再生制御情報である「ＶＴＳ＿０１＿０．ＩＦＯ」がある。ここで、ファイル名ボディにある「０１」はビデオタイトルセットの番号を示しており、例えば、ビデオタイトルセット＃２の場合は、「ＶＴＳ＿０２＿０．ＩＦＯ」となる。
【０００８】
図１の右上部は、ＤＶＤのアプリケーション層でのＤＶＤナビゲーション空間であり、前述した再生制御情報が展開された論理構造空間である。「ＶＩＤＥＯ＿ＴＳ．ＩＦＯ」内の情報は、ＶＭＧＩ（ＶＩＤＥＯ  Ｍａｎａｇｅｒ  Ｉｎｆｏｒｍａｔｉｏｎ）として、「ＶＴＳ＿０１＿０．ＩＦＯ」または、他のビデオタイトルセット毎に存在する再生制御情報はＶＴＳＩ（Ｖｉｄｅｏ  Ｔｉｔｌｅ  Ｓｅｔ  Ｉｎｆｏｒｍａｔｉｏｎ）としてＤＶＤナビゲーション空間に展開される。
【０００９】
ＶＴＳＩの中にはＰＧＣ（Ｐｒｏｇｒａｍ  Ｃｈａｉｎ）と呼ばれる再生シーケンスの情報であるＰＧＣＩ（Ｐｒｏｇｒａｍ  Ｃｈａｉｎ  Ｉｎｆｏｒｍａｔｉｏｎ）が記述されている。ＰＧＣＩは、Ｃｅｌｌの集合とコマンドと呼ばれる一種のプログラミング情報によって構成されている。Ｃｅｌｌ自身はＶＯＢ（Ｖｉｄｅｏ  Ｏｂｊｅｃｔの略であり、ＭＰＥＧストリームを指す）の一部区間または全部区間の集合であり、Ｃｅｌｌの再生は、当該ＶＯＢのＣｅｌｌによって指定された区間を再生することを意味している。
【００１０】
コマンドは、ＤＶＤの仮想マシンによって処理されるものであり、ブラウザ上で実行されるＪａｖａ（登録商標）スクリプトなどに近いものである。しかしながらＪａｖａ（登録商標）スクリプトが論理演算の他にウィンドウやブラウザの制御（例えば、新しいブラウザのウィンドを開くなど）を行うのに対して、ＤＶＤのコマンドは、論理演算の他にＡＶタイトルの再生制御、例えば、再生するチャプタの指定などを実行するだけのものである点で異なっている。
【００１１】
Ｃｅｌｌはディスク上に記録されているＶＯＢの開始及び終了アドレス（論理アドレス）をその内部情報として有しており、プレーヤは、Ｃｅｌｌに記述されたＶＯＢの開始及び終了アドレス情報を使ってデータの読み出し、再生を実行する。
【００１２】
図１はＡＶストリーム中に埋め込まれているナビゲーション情報を説明する概略図である。ＳＤ−ＤＶＤの特長であるインタラクティビティは前述した「ＶＩＤＥＯ＿ＴＳ．ＩＦＯ」や「ＶＴＳ＿０１＿０．ＩＦＯ」などに記録されているナビゲーション情報だけによって実現されているのではなく、幾つかの重要な情報はナビゲーション・パック（ナビパックまたは、ＮＶ＿ＰＣＫと称する）と呼ばれる専用キャリアを使いＶＯＢ内に映像、音声データと一緒に多重化されている。
【００１３】
ここでは簡単なインタラクティビティの例としてメニューを説明する。メニュー画面上には、幾つかのボタンが現れ、夫々のボタンには当該ボタンが選択実行された時の処理が定義されている。また、メニュー上では一つのボタンが選択されており（ハイライトによって選択ボタン上に半透明色がオーバーレイされている）、ユーザは、リモコンの上下左右キーを使って、選択状態のボタンを上下左右の何れかのボタンに移動させることができる。リモコンの上下左右キーを使って、選択実行したいボタンまでハイライトを移動させ、決定する（決定キーを押す）ことによって対応するコマンドのプログラムが実行される。一般的には対応するタイトルやチャプタの再生がコマンドによって実行されている。
【００１４】
図２の左上部はＮＶ＿ＰＣＫ内の概要を示している。
【００１５】
ＮＶ＿ＰＣＫ内には、ハイライトカラー情報と個々のボタン情報などが含まれている。ハイライトカラー情報には、カラーパレット情報が記述され、オーバーレイ表示されるハイライトの半透明色が指定される。ボタン情報には、個々のボタンの位置情報である矩形領域情報と、当該ボタンから他のボタンへの移動情報（ユーザの上下左右キー操作夫々に対応する移動先ボタンの指定）と、ボタンコマンド情報（当該ボタンが決定された時に実行されるコマンド）が記述されている。
【００１６】
メニュー上のハイライトは、図２の中央右上部に示すように、オーバーレイ画像として作られる。オーバーレイ画像は、ボタン情報の矩形領域情報にカラーパレット情報の色をつけた物である。このオーバーレイ画像は右部に示す背景画像と合成されて画面上に表示される。
【００１７】
上述のようにして、ＤＶＤではメニューを実現している。また、何故、ナビゲーションデータの一部をＮＶ＿ＰＣＫを使ってストリーム中に埋め込んでいるのは、ストリームと同期して動的にメニュー情報を更新、例えば、映画再生中の途中５分〜１０分の間にだけメニューが表示されるなど、同期タイミングが問題となりやすいアプリケーションの場合でも、問題なく実現できるようにしたためである。
【００１８】
図３は、ＤＶＤのＶＯＢのイメージである。図に示すように、映像、音声、字幕などのデータ（Ａ段）は、ＭＰＥＧシステム（ＩＳＯ／ＩＥＣ１３８１８−１）規格に基づいて、パケット及びパック化し（Ｂ段）、夫々を多重化して１本のＭＰＥＧプログラムストリームにしている（Ｃ段）。また、前述した通りインタラクティブを実現するためのボタンコマンドを含んだＮＶ＿ＰＣＫも一緒に多重化をされている。
【００１９】
ＭＰＥＧシステムの多重化の特徴は、多重化する個々のデータは、そのデコード順に基づくビット列になっているが、多重化されるデータ間、即ち、映像、音声、字幕の間は必ずしも再生順、言い換えればデコード順に基づいてビット列が形成されているわけではない。これはＭＰＥＧシステムストリームのデコーダモデル（一般にＳｙｓｔｅｍ  Ｔａｒｇｅｔ  Ｄｅｃｏｄｅｒ、またはＳＴＤと呼ばれる（図３のＤ段））が多重化を解いた後に個々のエレメンタリーストリームに対応するデコーダバッファを持ち、デコードタイミングまでに一時的にデータを蓄積している事に由来している。このデコーダバッファは、個々のエレメンタリーストリーム毎にサイズが異なり、映像に対しては、２３２ｋＢ、音声に対しては４ｋＢ、字幕に対しては５２ｋＢを夫々有している。このため、各デコーダバッファへのデータ入力タイミングは個々のエレメンタリストリームで異なるため、ＭＰＥＧシステムストリームとしてビット列を形成する順番と表示（デコード）されるタイミングにずれが生じている。
【００２０】
即ち、映像データと並んで多重化されている字幕データが必ずしも同一タイミングでデコードされているわけでは無い。
【００２１】
かかるＤＶＤの構成は、以下の特許文献１に記載されている。
【特許文献１】特許第２８１３２４５号公報
【発明の開示】
【発明が解決しようとする課題】
【００２２】
ところで、次世代の情報記録媒体であるＢＤ−ＲＯＭは、上述したような簡易なナビゲーションコマンドだけではなく、ＸＨＴＭＬのような宣言型言語で記述された文書データや、スクリプトで記述されたプログラムや、イメージファイル等で構成されるインタラクティブなコンテンツの記録が予定されている。
【００２３】
これらのインタラクティブなコンテンツは、映像データ等のデジタルストリームと連動しながら提示されたり、ユーザのリモコン操作に応じて動作や実行状態が切り替わるものであり、ユーザに対してより表現力が豊かな提示を実現するものである。
【００２４】
一般に、アプリケーションが、映像データ等のデジタルストリームと連動しながら前記インタラクティブコンテンツを提示するには、映像データ等のデジタルストリームを制御するＡＶ再生制御部の状態に応じて、例えばデジタルストリームの再生速度や、デジタルストリームの参照先等に応じて、様々な処理を実行するために、予めスクリプト言語で記述されたプログラムを文書データと関連付けておく。
【００２５】
このようにアプリケーションは、再生制御状態に応じてインタラクティブコンテンツの提示を制御することが可能であるが、映像データ等のデジタルストリームとインタラクティブコンテンツを時刻同期させて提示する場合、インタラクティブコンテンツを構成するＨＴＭＬ文書内に、映像データの任意の時間毎に対応した同期処理をスクリプトで記述する必要があるため、映像データ等のデジタルストリームとインタラクティブコンテンツの同期再生の挙動を完全に制御することが難しいという課題がある。
【００２６】
また、アプリケーションが、ユーザのリモコン操作や、映像データ等のデジタルストリームに特定の時刻に埋め込まれているイベントをトリガにして、ある特定のタイミングでコンテンツを提示したりするような映像データと連動したインタラクティブコンテンツの提示制御を行なう場合、ＡＶ再生制御部とアプリケーションの実行状態によっては、ユーザが意図した操作結果と、ＡＶ再生制御部及びアプリケーションの実行結果が合致しない課題が生じる。
【課題を解決するための手段】
【００２７】
上記課題を解決するため、本発明にかかる情報記録媒体には、インタラクティブコンテンツを構成する宣言型言語で記述した文書ファイルと前記文書に関連するイメージファイル等のリソースを纏めたものを、起動や実行や終了を行なう１つの単位であるコンテンツとして管理し、コンテンツ内の論理構成情報や各ファイルの属性情報等を格納する管理情報を、コンテンツと紐付けて管理する。
【００２８】
前記管理情報の付加情報として、映像データとコンテンツの同期再生や連動提示を実現するか否かを示す識別情報を設定する。
【発明の効果】
【００２９】
上述した構成により、映像データとインタラクティブコンテンツの同期再生や連動提示において、インタラクティブコンテンツを構成する宣言型言語で記述された文書内に、映像データ等のデジタルストリームの再生状態制御に応じた処理内容をあらゆる状態を想定して予めスクリプトで記述することなく、よりシンプルに映像データとコンテンツの同期再生の挙動を制御することが可能になる。
【発明を実施するための最良の形態】
【００３０】
（実施例１）
まず最初に本発明の第１の実施の形態について説明する。
【００３１】
（ディスク上の論理データ構造）
図４は、ＢＤ−ＲＯＭ（以降、「ＢＤ」と称する場合もある）の構成、特にディスク媒体であるＢＤディスク（１０４）と、ディスクに記録されているデータ（１０１、１０２、１０３）の構成を示す図である。ＢＤディスク（１０４）に記録されるデータは、ＡＶデータ（１０３）と、ＡＶデータに関する管理情報及びＡＶ再生シーケンスなどのＢＤ管理情報（１０２）と、インタラクティブを実現するＢＤ再生プログラム（１０１）である。本実施の形態では、映画などのＡＶコンテンツを再生するためのＡＶアプリケーションを主眼においてのＢＤディスクの説明を行うが、ＢＤディスクをＣＤ−ＲＯＭやＤＶＤ−ＲＯＭの様にコンピュータ用途の記録媒体としてしようすることも当然のことながら可能である。
【００３２】
図５は、上述したＢＤディスクに記録されている論理データを示した図である。ＢＤディスクは、他の光ディスク、例えばＤＶＤやＣＤなどと同様にその内周から外周に向けてらせん状に記録領域を持ち、内周のリード・インと外周のリード・アウトの間に論理データを記録できる論理アドレス空間を有している。また、リード・インの内側にはＢＣＡ（Ｂｕｒｓｔ  Ｃｕｔｔｉｎｇ  Ａｒｅａ）と呼ばれるドライブでしか読み出せない特別な領域がある。この領域はアプリケーションから読み出せないため、例えば著作権保護技術などに利用されることがよくある。
【００３３】
論理アドレス空間には、ファイルシステム情報（ボリューム）を先頭に映像データなどのアプリケーションデータが記録されている。ファイルシステムとは従来技術で説明した通り、ＵＤＦやＩＳＯ９６６０などのことであり、通常のＰＣと同じように記録されている論理データをディレクトリ、ファイル構造を使って読み出しする事が可能になっている。
【００３４】
本実施例の場合、ＢＤディスク上のディレクトリ、ファイル構造は、ルートディレクトリ（ＲＯＯＴ）直下にＢＤＶＩＤＥＯディレクトリが置かれている。このディレクトリはＢＤ−ＲＯＭで扱うＡＶコンテンツや管理情報などのデータ（図４で説明した１０１、１０２、１０３）が記録されているディレクトリである。
【００３５】
ＢＤＶＩＤＥＯディレクトリの下には、次の７種類のファイルが記録されている。
【００３６】
ＢＤ．ＩＮＦＯ（ファイル名固定）
「ＢＤ管理情報」の一つであり、ＢＤディスク全体に関する情報を記録したファイルである。ＢＤプレーヤは最初にこのファイルを読み出す。
【００３７】
ＢＤ．ＰＲＯＧ（ファイル名固定）
「ＢＤ再生プログラム」の一つであり、ＢＤディスク全体に関わるプログラムを記録したファイルである。
【００３８】
ＸＸＸ．ＰＬ（「ＸＸＸ」は可変、拡張子「ＰＬ」は固定）
「ＢＤ管理情報」の一つであり、シナリオを記録するプレイリスト（Ｐｌａｙ  Ｌｉｓｔ）情報を記録したファイルである。プレイリスト毎に１つのファイルを持っている。
【００３９】
ＸＸＸ．ＰＲＯＧ（「ＸＸＸ」は可変、拡張子「ＰＬ」は固定）
「ＢＤ再生プログラム」の一つであり、前述したプレイリスト毎のプログラムを記録したファイルである。プレイリストとの対応はファイルボディ名（「ＸＸＸ」が一致する）によって識別される。
【００４０】
ＹＹＹ．ＶＯＢ（「ＹＹＹ」は可変、拡張子「ＶＯＢ」は固定）
「ＡＶデータ」の一つであり、ＶＯＢ（従来例で説明したＶＯＢと同じ）を記録したファイルである。ＶＯＢ毎に１つのファイルを持っている。
【００４１】
ＹＹＹ．ＶＯＢＩ（「ＹＹＹ」は可変、拡張子「ＶＯＢＩ」は固定）
「ＢＤ管理情報」の一つであり、ＡＶデータであるＶＯＢに関わる管理情報を記録したファイルである。ＶＯＢとの対応はファイルボディ名（「ＹＹＹ」が一致する）によって識別される。
【００４２】
ＺＺＺ．ＰＮＧ（「ＺＺＺ」は可変、拡張子「ＰＮＧ」は固定）
「ＡＶデータ」の一つであり、字幕及びメニューを構成するためのイメージデータＰＮＧ（Ｗ３Ｃによって標準化された画像フォーマットであり「ピング」と読む）を記録したファイルである。１つのＰＮＧイメージ毎に１つのファイルを持つ。
【００４３】
（プレーヤの構成）
次に、前述したＢＤディスクを再生するプレーヤの構成について図６及び図７を用いて説明する。
【００４４】
図６は、プレーヤの大まかな機能構成を示すブロック図である。
【００４５】
ＢＤディスク（２０１）上のデータは、光ピックアップ（２０２）を通して読み出される。読み出されたデータは夫々のデータの種類に応じて専用のメモリに記録される。ＢＤ再生プログラム（「ＢＤ．ＰＲＯＧ」または「ＸＸＸ．ＰＲＯＧ」ファイルの中身）はプログラム記録メモリ（２０３）に、ＢＤ管理情報（「ＢＤ．ＩＮＦＯ」、「ＸＸＸ．ＰＬ」または「ＹＹＹ．ＶＯＢＩ」）は管理情報記録メモリ（２０４）に、ＡＶデータ（「ＹＹＹ．ＶＯＢ」または「ＺＺＺ．ＰＮＧ」）はＡＶ記録メモリ（２０５）に夫々記録される。
【００４６】
プログラム記録メモリ（２０３）に記録されたＢＤ再生プログラムはプログラム処理部（２０６）によって、管理情報記録メモリ（２０４）に記録されたＢＤ管理情報は管理情報処理部（２０７）によって、また、ＡＶ記録メモリ（２０５）に記録されたＡＶデータはプレゼンテーション処理部（２０８）によって夫々処理される。
【００４７】
プログラム処理部（２０６）は、管理情報処理部（２０７）より再生するプレイリストの情報やプログラムの実行タイミングなどのイベント情報を受け取りプログラムの処理を行う。また、プログラムでは再生するプレイリストを動的に変える事が可能であり、この場合は管理情報処理部（２０７）に対してプレイリストの再生命令を送ることで実現する
。プログラム処理部（２０６）は、ユーザからのイベント、即ちリモコンキーからのリクエストを受け、ユーザイベントに対応するプログラムがある場合は、実行処理する。
【００４８】
管理情報処理部（２０７）は、プログラム処理部（２０６）の指示を受け、対応するプレイリスト及びプレイリストに対応したＶＯＢの管理情報を解析し、プレゼンテーション処理部（２０８）に対象となるＡＶデータの再生を指示する。また、管理情報処理部（２０７）は、プレゼンテーション処理部（２０８）より基準時刻情報を受け取り、時刻情報に基づいてプレゼンテーション処理部（２０８）にＡＶデータ再生の停止指示を行い、また、プログラム処理部（２０６）に対してプログラム実行タイミングを示すイベントを生成する。
【００４９】
プレゼンテーション処理部（２０８）は、映像、音声、字幕／イメージ夫々に対応するデコーダを持ち、管理情報処理部（２０７）からの指示に従い、ＡＶデータのデコード及び出力を行う。映像データ及び字幕／イメージの場合は、デコード後に夫々の専用プレーン、ビデオプレーン（２１０）及びイメージプレーン（２０９）に描画され、合成処理部（２１１）によって映像の合成処理が行われＴＶなどの表示デバイスへ出力される。
【００５０】
図６で示すように、ＢＤプレーヤは図４で示したＢＤディスクに記録されているデータ構成に基づいた構成をとっている。
【００５１】
図７は前述したプレーヤ構成を詳細化したブロック図である。図７では、ＡＶ記録メモリ（２０５）はイメージメモリ（３０８）とトラックバッファ（３０９）に、プログラム処理部（２０６）はプログラムプロセッサ（３０２）とＵＯＰマネージャ（３０３）に、管理情報処理部（２０７）はシナリオプロセッサ（３０５）とプレゼンテーションコントローラ（３０６）に、プレゼンテーション処理部（２０８）はクロック（３０７）、デマルチプレクサ（３１０）、イメージプロセッサ（３１１）、ビデオプロセッサ（３１２）とサウンドプロセッサ（３１３）に夫々対応／展開している。
【００５２】
ＢＤディスク（２０１）から読み出されたＶＯＢデータ（ＭＰＥＧストリーム）はトラックバッファ（３０９）に、イメージデータ（ＰＮＧ）はイメージメモリ（３０８）に夫々記録される。デマルチプレクサ（３１０）がクロック（３０７）の時刻に基づき、トラックバッファ（３０９）に記録されたＶＯＢデータを抜き出し、映像データをビデオプロセッサ（３１２）に音声データをサウンドプロセッサ（３１３）に夫々送り込む。ビデオプロセッサ（３１２）及びサウンドプロセッサ（３１３）は夫々ＭＰＥＧシステム規格で定める通りに、デコーダバッファとデコーダから夫々構成されている。即ち、デマルチプレクサ（３１０）から送りこまれる映像、音声夫々のデータは、夫々のデコーダバッファに一時的に記録され、クロック（３０７）に従い個々のデコーダでデコード処理される。
【００５３】
イメージメモリ（３０８）に記録されたＰＮＧは、次の２つの処理方法がある。イメージデータが字幕用の場合は、プレゼンテーションコントローラ（３０６）によってデコードタイミングが指示される。クロック（３０７）からの時刻情報をシナリオプロセッサ（３０５）が一旦受け、適切な字幕表示が行えるように、字幕表示時刻（開始及び終了）になればプレゼンテーションコントローラ（３０６）に対して字幕の表示、非表示の指示を出す。プレゼンテーションコントローラ（３０６）からデコード／表示の指示を受けたイメージプロセッサ（３１１）は対応するＰＮＧデータをイメージメモリ（３０８）から抜き出し、デコードし、イメージプレーン（３１４）に描画する。
【００５４】
次に、イメージデータがメニュー用の場合は、プログラムプロセッサ（３０２）によってデコードタイミングが指示される。プログラムプロセッサ（３０２）が何時イメージのデコードを指示するかは、プログラムプロセッサ（３０２）が処理しているＢＤプログラムに因るものであって一概には決まらない。
【００５５】
イメージデータ及び映像データは、図６で説明したように夫々デコード後にイメージプレーン（３１４）、ビデオプレーン（３１５）に記録され、合成処理部（３１６）によって合成出力される。
【００５６】
ＢＤディスク（２０１）から読み出された管理情報（シナリオ、ＡＶ管理情報）は、管理情報記録メモリ（３０４）に記録されるが、シナリオ情報（「ＢＤ．ＩＮＦＯ」及び「ＸＸＸ．ＰＬ」）はシナリオプロセッサ（３０５）によって読み出され処理される。また、ＡＶ管理情報（「ＹＹＹ．ＶＯＢＩ」）はプレゼンテーションコントローラ（３０６）によって読み出され処理される。
【００５７】
シナリオプロセッサ（３０５）は、プレイリストの情報を解析し、プレイリストによって参照されているＶＯＢとその再生位置をプレゼンテーションコントローラ（３０６）に指示し、プレゼンテーションコントローラ（３０６）は対象となるＶＯＢの管理情報（「ＹＹＹ．ＶＯＢＩ」）を解析して、対象となるＶＯＢを読み出すようにドライブコントローラ（３１７）に指示を出す。
【００５８】
ドライブコントローラ（３１７）はプレゼンテーションコントローラ（３０６）の指示に従い、光ピックアップを移動させ、対象となるＡＶデータの読み出しを行う。読み出されたＡＶデータは、前述したようにイメージメモリ（３０８）またはトラックバッファ（３０９）に記録される。
【００５９】
また、シナリオプロセッサ（３０５）は、クロック（３０７）の時刻を監視し、管理情報で設定されているタイミングでイベントをプログラムプロセッサ（３０２）に投げる。
【００６０】
プログラム記録メモリ（３０１）に記録されたＢＤプログラム（「ＢＤ．ＰＲＯＧ」または「ＸＸＸ．ＰＲＯＧ」）は、プログラムプロセッサ３０２によって実行処理される。プログラムプロセッサ（３０２）がＢＤプログラムを処理するのは、シナリオプロセッサ（３０５）からイベントが送られてきた場合か、ＵＯＰマネージャ（３０３）からイベントが送られたきた場合である。ＵＯＰマネージャ（３０３）は、ユーザからリモコンキーによってリクエストが送られてきた場合に、プログラムプロセッサ（３０２）にイベントを生成する。
【００６１】
（アプリケーション空間）
図８は、ＢＤ−ＲＯＭのアプリケーション空間を示す図である。
【００６２】
ＢＤ−ＲＯＭのアプリケーション空間では、プレイリスト（ＰｌａｙＬｉｓｔ）が一つの再生単位になっている。プレイリストはセル（Ｃｅｌｌ）の再生シーケンスから構成される静的なシナリオと、プログラムによって記述される動的なシナリオを有している。プログラムによる動的なシナリオが無い限り、プレイリストは個々のセルを順に再生するだけであり、また、全てのセルの再生を終了した時点でプレイリストの再生は終了する。一方で、プログラムは、プレイリストを超えての再生記述や、ユーザ選択またはプレーヤの状態によって再生する対象を動的に変えることが可能である。典型的な例としてはメニューがあげられる。ＢＤ−ＲＯＭの場合、メニューとはユーザの選択によって再生するシナリオ、即ちプレイリストを動的に選択することである。
【００６３】
ここで言うプログラムは、時間イベントまたはユーザイベントによって実行されるイベントハンドラの事である。
【００６４】
時間イベントは、プレイリスト中に埋め込まれた時刻情報に基づいて生成されるイベントである。図７で説明したシナリオプロセッサ（３０５）からプログラムプロセッサ（３０２）に送られるイベントがこれに相当する。時間イベントが発行されると、プログラムプロセッサ（３０２）はＩＤによって対応付けられるイベントハンドラを実行処理する。前述した通り、実行されるプログラムが他のプレイリストの再生を指示することが可能であり、この場合には、現在再生されているプレイリストの再生は中止され、指定されたプレイリストの再生へと遷移する。
【００６５】
ユーザイベントは、ユーザのリモコンキー操作によって生成されるイベントである。ユーザイベントは大きく２つのタイプに分けられる。一つ目は、カーソルキー（「上」「下」「左」「右」キー）または「決定」キーの操作によって生成されるメニュー選択のイベントである。メニュー選択のイベントに対応するイベントハンドラはプレイリスト内の限られた期間でのみ有効であり（プレイリストの情報として、個々のイベントハンドラの有効期間が設定されている）、リモコンの「上」「下」「左」「右」キーまたは「決定」キーが押された時に有効なイベントハンドラを検索して、有効なイベントハンドラがある場合は当該イベントハンドラが実行処理される。他の場合は、メニュー選択のイベントは無視されることになる。
【００６６】
二つ目のユーザイベントは、「メニュー」キーの操作によって生成されるメニュー呼び出しのイベントである。メニュー呼び出しのイベントが生成されると、グローバルイベントハンドラが呼ばれる。グローバルイベントハンドラはプレイリストに依存せず、常に有効なイベントハンドラである。この機能を使うことにより、ＤＶＤのメニューコール（タイトル再生中に音声、字幕メニューなどを呼び出し、音声または字幕を変更後に中断した地点からのタイトル再生を実行する）を実装することができる。
【００６７】
プレイリストで静的シナリオを構成する単位であるセル（Ｃｅｌｌ）はＶＯＢ（ＭＰＥＧストリーム）の全部または一部の再生区間を参照したものである。セルはＶＯＢ内の再生区間を開始、終了時刻の情報として持っている。個々のＶＯＢと一対になっているＶＯＢ管理情報（ＶＯＢＩ）は、その内部にタイムマップ（Ｔｉｍｅ  ＭａｐまたはＴＭ）を有しており、このタイムマップによって前述したＶＯＢの再生、終了時刻をＶＯＢ内（即ち対象となるファイル「ＹＹＹ．ＶＯＢ」内）での読み出し開始アドレス及び終了アドレスを導き出すことが可能である。なおタイムマップの詳細は後述する。
（ＶＯＢの詳細）
図９は、本実施例で使用するＭＰＥＧストリーム（ＶＯＢ）の構成図である。図９に示すように、ＶＯＢは複数のＶＯＢＵ（Ｖｉｄｅｏ  Ｏｂｊｅｃｔ  Ｕｎｉｔ）によって構成されている。ＶＯＢＵは、ＭＰＥＧビデオストリームで言うＧＯＰ（Ｇｒｏｕｐ  Ｏｆ  Ｐｉｃｔｕｒｅｓ）を基準として、音声データも含んだ多重化ストリームとしての一再生単位である。ＶＯＢＵは０．４秒から１．０秒の時間を持ち、通常は０．５秒の再生時間を持っている。これはＭＰＥＧのＧＯＰの構造が通常は１５フレーム／秒（ＮＴＳＣの場合）によって導かれるものである。
【００６８】
ＶＯＢＵは、その内部にビデオパック（Ｖ＿ＰＣＫ）とオーディオパック（Ａ＿ＰＣＫ）を有している。各パックは１セクタ、本実施例の場合は２ｋＢ単位で構成されている。
【００６９】
図１０は、パックの構成を示した図である。
【００７０】
図１０に示すように、ビデオデータ及びオーディオデータといったエレメンタリデータは、ペイロードと呼ばれるパケットのデータ格納領域に先頭から順次入れられていく。ペイロードにはパケットヘッダが付けられ１つのパケットを構成する。パケットヘッダには、ペイロードに格納してあるデータがどのストリームなのか、ビデオなのかオーディオなのか、また、ビデオまたはオーディオが夫々複数ストリームある場合は、どのストリームのデータなのかを識別するためのＩＤ（ｓｔｒｅａｍ＿ｉｄ）と、当該ペイロードのデコード及び表示時刻情報であるタイムスタンプＤＴＳ及びＰＴＳが夫々記録されている。ＰＴＳ／ＤＴＳは必ずしも全てのパケットヘッダに記録されている訳ではなく、ＭＰＥＧによって記録するルールが規定されている。ルールの詳細についてはＭＰＥＧシステム（ＩＳＯ／ＩＥＣ１３８１８−１）規格書に記述されているので省略する。
【００７１】
パケットには更にヘッダ（パックヘッダ）が付けられ、パックを構成する。パックヘッダには、当該パックがいつデマルチプレクサを通過し、個々のエレメンタリストリームのデコーダバッファに入力されるかを示すタイムスタンプＳＣＲ（Ｓｙｓｔｅｍ  Ｃｌｏｃｋ  Ｒｅｆｅｒｅｎｃｅ）が記録されている。
【００７２】
（ＶＯＢのインターリーブ記録）
次に図１１及び図１２を用いてＶＯＢファイルのインターリーブ記録について説明する。
【００７３】
図１１上段は、前述したプレーヤ構成図の一部である。図の通り、ＢＤディスク上のデータは、光ピックアップを通してＶＯＢ即ちＭＰＥＧストリームであればトラックバッファへ入力され、ＰＮＧ即ちイメージデータであればイメージメモリへと入力される。
【００７４】
トラックバッファはＦＩＦＯであり、入力されたＶＯＢのデータは入力された順にデマルチプレクサへと送られる。この時、前述したＳＣＲに従って個々のパックはトラックバッファから引き抜かれデマルチプレクサを介してビデオプロセッサまたはサウンドプロセッサへとデータが送り届けられる。一方で、イメージデータの場合は、どのイメージを描画するかはプレゼンテーションコントローラによって指示される。また、描画に使ったイメージデータは、字幕用イメージデータの場合は同時にイメージメモリから削除されるが、メニュー用のイメージデータの場合は、イメージメモリ内にそのまま残される。これはメニューの描画はユーザ操作に依存するところがあるため、同一イメージを複数回描画する可能性があるためである。
【００７５】
図１１下段は、ＢＤディスク上でのＶＯＢファイル及びＰＮＧファイルのインターリーブ記録を示す図である。一般的にＲＯＭ、例えばＣＤ−ＲＯＭやＤＶＤ−ＲＯＭの場合、一連の連続再生単位となるＡＶデータは連続記録されている。これは、連続記録されている限り、ドライブは順次データを読み出しプレーヤ側に送り届けるだけで良いが、連続データが分断されてディスク上に離散配置されている場合は、個々の連続区間の間でシーク操作が入ることになり、この間データの読み出しが止まることになり、データの供給が止まる可能性があるからである。ＢＤ−ＲＯＭの場合も同様に、ＶＯＢファイルは連続領域に記録することができる方が望ましいが、例えば字幕データのようにＶＯＢに記録されている映像データと同期して再生されるデータがあり、ＶＯＢファイルと同様に字幕データも何らかの方法によってＢＤディスクから読み出す事が必要になる。
【００７６】
字幕データの読み出し方法の一手段として、ＶＯＢの再生開始前に一まとめで字幕用のイメージデータ（ＰＮＧファイル）を読み出してしまう方法がある。しかしながら、この場合には一時記録に使用する大量のメモリが必要となり、非現実的である。
【００７７】
そこで、本実施の形態では、ＶＯＢファイルを幾つかのブロックに分けて、イメージデータとインターリーブ記録する方式を使用している。図１１下段はそのインターリーブ記録を説明した図である。ＶＯＢファイルとイメージデータを適切にインターリーブ配置することで、前述したような大量の一時記録メモリ無しに、必要なタイミングでイメージデータをイメージメモリに格納することが可能になる。しかしながらイメージデータを読み出している際には、ＶＯＢデータの読み込みは当然のことながら停止することになる。
【００７８】
図１２は、この問題を解決するトラックバッファを使ったＶＯＢデータ連続供給モデルを説明する図である。
【００７９】
既に説明したように、ＶＯＢのデータは、一旦トラックバッファに蓄積される。トラックバッファへのデータ入力レートとトラックバッファからのデータ出力レートの間に差を設けると、ＢＤディスクからデータを読み出し続けている限り、トラックバッファのデータ蓄積量は増加をしていくことになる。ここでトラックバッファへの入力レートをＶａ、トラックバッファからの出力レートをＶｂとする。図１２の上段に記すようにＶＯＢの一連続記録領域が論理アドレスの”ａ１”から”ａ２”まで続くとする。”ａ２”から”ａ３”の間は、イメージデータが記録されていて、ＶＯＢデータの読み出しが行えない区間であるとする。
【００８０】
図１２の下段は、トラックバッファの内部を示す図である。横軸が時間、縦軸がトラックバッファ内部に蓄積されているデータ量を示している。時刻”ｔ１”がＶＯＢの一連続記録領域の開始点である”ａ１”の読み出しを開始した時刻を示している。この時刻以降、トラックバッファにはレートＶａ−Ｖｂでデータが蓄積されていくことになる。このレートは言うまでもなくトラックバッファの入出力レートの差である。時刻”ｔ２”は一連続記録領域の終了点である”ａ２”のデータを読み込む時刻である。即ち時刻”ｔ１”から”ｔ２”の間レートＶａ−Ｖｂでトラックバッファ内はデータ量が増加していき、時刻”ｔ２”でのデータ蓄積量はＢ（ｔ２）は下式によって求めることができる。
【００８１】
Ｂ（ｔ２）  ＝  （Ｖａ−Ｖｂ）×（ｔ２−ｔ１）        （式１）
この後、ＢＤディスク上のアドレス”ａ３”まではイメージデータが続くため、トラックバッファへの入力は０となり、出力レートである”−Ｖｂ”でトラックバッファ内のデータ量は減少していくことになる。これは読み出し位置”ａ３”まで、時刻でいう”ｔ３”までになる。
【００８２】
ここで大事なことは、時刻”ｔ３”より前にトラックバッファに蓄積されているデータ量が０になると、デコーダへ供給するＶＯＢのデータが無くなってしまい、ＶＯＢの再生がストップしてしまう可能性がある。しかしながら、時刻”ｔ３”でトラックバッファにデータが残っている場合には、ＶＯＢの再生がストップすることなく連続できることを意味している。
【００８３】
この条件は下式によって示すことができる。
【００８４】
Ｂ（ｔ２）  ≧  −Ｖｂ×（ｔ３−ｔ２）                （式２）
即ち、式２を満たすようにイメージデータの配置を決めればよい事になる。
【００８５】
（ナビゲーションデータ構造）
図１３から図１９を用いて、ＢＤ−ＲＯＭのナビゲーションデータ（ＢＤ管理情報）構造について説明をする。図１３は、ＶＯＢ管理情報ファイル（”ＹＹＹ．ＶＯＢＩ”）の内部構造を示した図である。
【００８６】
ＶＯＢ管理情報は、当該ＶＯＢのストリーム属性情報（Ａｔｔｒｉｂｕｔｅ）とタイムマップ（ＴＭＡＰ）を有している。ストリーム属性は、ビデオ属性（Ｖｉｄｅｏ）、オーディオ属性（Ａｕｄｉｏ＃０〜Ａｕｄｉｏ＃ｍ）個々に持つ構成となっている。特にオーディオストリームの場合は、ＶＯＢが複数本のオーディオストリームを同時に持つことができることから、オーディオストリーム数（Ｎｕｍｂｅｒ）によって、データフィールドの有無を示している。
【００８７】
下記はビデオ属性（Ｖｉｄｅｏ）の持つフィールドと夫々が持ち得る値である。
【００８８】
圧縮方式（Ｃｏｄｉｎｇ）：
ＭＰＥＧ１
ＭＰＥＧ２
ＭＰＥＧ４
解像度（Ｒｅｓｏｌｕｔｉｏｎ）：
１９２０ｘ１０８０
１２８０ｘ７２０
７２０ｘ４８０
７２０ｘ５６５
アスペクト比（Ａｓｐｅｃｔ）
４：３
１６：９
フレームレート（Ｆｒａｍｅｒａｔｅ）
６０
５９．９４
５０
３０
２９．９７
２５
２４
【００８９】
下記はオーディオ属性（Ａｕｄｉｏ）の持つフィールドと夫々が持ち得る値である。
【００９０】
圧縮方式（Ｃｏｄｉｎｇ）：
ＡＣ３
ＭＰＥＧ１
ＭＰＥＧ２
ＬＰＣＭ
チャンネル数（Ｃｈ）：
１〜８
言語属性（Ｌａｎｇｕａｇｅ）：
【００９１】
タイムマップ（ＴＭＡＰ）はＶＯＢＵ毎の情報を持つテーブルであって、当該ＶＯＢが有するＶＯＢＵ数（Ｎｕｍｂｅｒ）と各ＶＯＢＵ情報（ＶＯＢＵ＃１〜ＶＯＢＵ＃ｎ）を持つ。個々のＶＯＢＵ情報は、ＶＯＢＵの再生時間長（Ｄｕｒａｔｉｏｎ）とＶＯＢＵのデータサイズ（Ｓｉｚｅ）を夫々有している。
【００９２】
図１４はＶＯＢＵ情報の詳細を説明する図である。
【００９３】
広く知られているように、ＭＰＥＧストリームは時間的側面とデータサイズとしての側面との２つを有している。例えば、音声の圧縮規格であるＡＣ３は固定ビットレートでの圧縮を行っているため、時間とアドレスとの関係は１次式によって求めることができる。しかしながらＭＰＥＧビデオデータの場合は、個々のフレームは固定の表示時間、例えばＮＴＳＣの場合は１フレームは１／２９．９７秒の表示時間を持つが、個々のフレームの圧縮後のデータサイズは絵の特性や圧縮に使ったピクチャタイプ、いわゆるＩ／Ｐ／Ｂピクチャによってデータサイズは大きく変わってくる。従って、ＭＰＥＧビデオの場合は、時間とアドレスの関係は一般式の形で表現することは不可能である。
【００９４】
当然の事として、ＭＰＥＧビデオデータを多重化しているＭＰＥＧシステムストリーム、即ちＶＯＢも時間とデータとを一般式の形で表現することは不可能である。これに代わって、ＶＯＢ内での時間とアドレスとの関係を結びつけるのがタイムマップ（ＴＭＡＰ）である。図１４に示すように、各ＶＯＢＵ毎にＶＯＢＵ内のフレーム数と、ＶＯＢＵ内のパック数を夫々エントリーとして持つテーブルがタイムマップ（ＴＭＡＰ）である。
【００９５】
図１５を使って、タイムマップ（ＴＭＡＰ）の使い方を説明する。
【００９６】
図１５に示すように時刻情報が与えられた場合、先ずは当該時刻がどのＶＯＢＵに属するのかを検索する。これは、タイム亜マップのＶＯＢＵ毎のフレーム数を加算して行き、フレーム数の和が当該時刻を（フレーム数に換算して）超えるまたは一致するＶＯＢＵが当該ＶＯＢＵになる。次にタイムマップのＶＯＢＵ毎のサイズを当該ＶＯＢＵの直前のＶＯＢＵまで加算して行き、その値が与えられた時刻を含むフレームを再生するために読み出すべきパックの先頭アドレスになっている。
【００９７】
次に図１６を使って、プレイリスト情報（”ＸＸＸ．ＰＬ”）の内部構造を説明する。
【００９８】
プレイリスト情報は、セルリスト（ＣｅｌｌＬｉｓｔ）とイベントリスト（ＥｖｅｎｔＬｉｓｔ）から構成されている。
【００９９】
セルリスト（ＣｅｌｌＬｉｓｔ）は、プレイリスト内の再生セルシーケンスであり、本リストの記述順でセルが再生される事になる。セルリスト（ＣｅｌｌＬｉｓｔ）の中身は、セルの数（Ｎｕｍｂｅｒ）と各セル情報（Ｃｅｌｌ＃１〜Ｃｅｌｌ＃ｎ）である。
【０１００】
セル情報（Ｃｅｌｌ＃）は、ＶＯＢファイル名（ＶＯＢＮａｍｅ）、当該ＶＯＢ内での有効区間開始時刻（Ｉｎ）及び有効区間終了時刻（Ｏｕｔ）と、字幕テーブル（ＳｕｂｔｉｔｌｅＴａｂｌｅ）を持っている。有効区間開始時刻（Ｉｎ）及び有効区間終了時刻（Ｏｕｔ）は、夫々当該ＶＯＢ内でのフレーム番号で表現され、前述したタイムマップ（ＴＭＡＰ）を使うことによって再生に必要なＶＯＢデータのアドレスを得る事ができる。
【０１０１】
字幕テーブル（ＳｕｂｔｉｔｌｅＴａｂｌｅ）は、当該ＶＯＢと同期再生される字幕情報を持つテーブルである。字幕は音声同様に複数の言語を持つことができ、字幕テーブル（ＳｕｂｔｉｔｌｅＴａｂｌｅ）最初の情報も言語数（Ｎｕｍｂｅｒ）とそれに続く個々の言語ごとのテーブル（Ｌａｎｇｕａｇｅ＃１〜Ｌａｎｇｕａｇｅ＃ｋ）から構成されている。
【０１０２】
各言語のテーブル（Ｌａｎｇｕａｇｅ＃）は、言語情報（Ｌａｎｇｕａｇｅ）と、個々に表示される字幕の字幕情報数（Ｎｕｍｂｅｒ）と、個々に表示される字幕の字幕情報（Ｓｐｅｅｃｈ＃１〜Ｓｐｅｅｃｈ＃ｊ）から構成され、字幕情報（Ｓｐｅｅｃｈ＃）は対応するイメージデータファイル名（Ｎａｍｅ）、字幕表示開始時刻（Ｉｎ）及び字幕表示終了時刻（Ｏｕｔ）と、字幕の表示位置（Ｐｏｓｉｔｉｏｎ）から構成されている。
【０１０３】
イベントリスト（ＥｖｅｎｔＬｉｓｔ）は、当該プレイリスト内であげられるイベントを定義したテーブルである。イベントリストは、イベント数（Ｎｕｍｂｅｒ）に続いて個々のイベント（Ｅｖｅｎｔ＃１〜Ｅｖｅｎｔ＃ｍ）から構成され、個々のイベント（Ｅｖｅｎｔ＃）は、イベントの種類（Ｔｙｐｅ）、イベントのＩＤ（ＩＤ）、イベント生成時刻（Ｔｉｍｅ）と有効期間（Ｄｕｒａｔｉｏｎ）から構成されている。
【０１０４】
図１７は、個々のプレイリスト毎のイベントハンドラ（時間イベントと、メニュー選択用のユーザイベント）を持つイベントハンドラテーブル（”ＸＸＸ．ＰＲＯＧ”）である。
【０１０５】
イベントハンドラテーブルは、定義されているイベントハンドラ／プログラム数（Ｎｕｍｂｅｒ）と個々のイベントハンドラ／プログラム（Ｐｒｏｇｒａｍ＃１〜Ｐｒｏｇｒａｍ＃ｎ）を有している。各イベントハンドラ／プログラム（Ｐｒｏｇｒａｍ＃）内の記述は、イベントハンドラ開始の定義（＜ｅｖｅｎｔ＿ｈａｎｄｌｅｒ＞タグ）と前述したイベントのＩＤと対になるイベントハンドラのＩＤ（ＩＤ）を持ち、その後に当該プログラムもＦｕｎｃｔｉｏｎに続く括弧”｛”と”｝”の間に記述する。
【０１０６】
次に図１８を用いてＢＤディスク全体に関する情報（”ＢＤ．ＩＮＦＯ”）の内部構造について説明をする。
【０１０７】
ＢＤディスク全体情報は、タイトルリスト（ＴｉｔｌｅＬｉｓｔ）とグローバルイベント用のイベントテーブル（ＥｖｅｎｔＴａｂｌｅ）から構成されている。
【０１０８】
タイトルリスト（ＴｉｔｌｅＬｉｓｔ）は、ディスク内のタイトル数（Ｎｕｍｂｅｒ）と、これに続く各タイトル情報（Ｔｉｔｌｅ＃１〜Ｔｉｔｌｅ＃ｎ）から構成されている。個々のタイトル情報（Ｔｉｔｌｅ）は、タイトルに含まれるプレイリストのテーブル（ＰＬＴａｌｂｌｅ）とタイトル内のチャプタリスト（ＣｈａｐｔｅｒＬｉｓｔ）を含んでいる。プレイリストのテーブル（ＰＬＴａｂｌｅ）はタイトル内のプレイリストの数（Ｎｕｍｂｅｒ）と、プレイリスト名（Ｎａｍｅ）即ちプレイリストのファイル名を有している。
【０１０９】
チャプタリスト（ＣｈａｐｔｅｒＬｉｓｔ）は、当該タイトルに含まれるチャプタ数（Ｎｕｍｂｅｒ）と個々のチャプタ情報（Ｃｈａｐｔｅｒ＃１〜Ｃｈａｐｔｅｒ＃ｎ）から構成され、チャプタ情報（Ｃｈａｐｔｅｒ＃）は当該チャプタが含むセルのテーブル（ＣｅｌｌＴａｂｌｅ）を持ち、セルのテーブル（ＣｅｌｌＴａｂｌｅ）はセル数（Ｎｕｍｂｅｒ）と個々のセルのエントリ情報（ＣｅｌｌＥｎｔｒｙ＃１〜ＣｅｌｌＥｎｔｒｙ＃ｋ）から構成されている。セルのエントリ情報（ＣｅｌｌＥｎｔｒｙ＃）は当該セルを含むプレイリスト名と、プレイリスト内でのセル番号によって記述されている。
【０１１０】
イベントリスト（ＥｖｅｎｔＬｉｓｔ）は、グローバルイベントの数（Ｎｕｍｂｅｒ）と個々のグローバルイベントの情報を持っている。ここで注意すべきは、最初に定義されるグローバルイベントは、ファーストイベント（ＦｉｒｓｔＥｖｅｎｔ）と呼ばれ、ＢＤディスクがプレーヤに挿入された時、最初に呼ばれるイベントである。グローバルイベント用イベント情報はイベントタイプ（Ｔｙｐｅ）とイベントのＩＤ（ＩＤ）だけを持っている。
【０１１１】
図１９は、グローバルイベントハンドラのプログラムのテーブル（”ＢＤ．ＰＲＯＧ”）である。本テーブルは、図１７で説明したイベントハンドラテーブルと同一内容である。
【０１１２】
（イベント発生のメカニズム）
図２０から図２２を使ってイベント発生のメカニズムについて説明する。
【０１１３】
図２０はタイムイベントの例である。
【０１１４】
前述したとおり、タイムイベントはプレイリスト情報（”ＸＸＸ．ＰＬ”）のイベントリスト（ＥｖｅｎｔＬｉｓｔ）で定義される。タイムイベントとして定義されているイベント、即ちイベントタイプ（Ｔｙｐｅ）が”ＴｉｍｅＥｖｅｎｔ”の場合、イベント生成時刻（”ｔ１”）になった時点で、ＩＤ”Ｅｘ１”を持つタイムイベントがシナリオプロセッサからプログラムプロセッサに対してあげられる。プログラムプロセッサは、イベントＩＤ”Ｅｘ１”を持つイベントハンドラを探し、対象のイベントハンドラを実行処理する。例えば、本実施例の場合では、２つのボタンイメージの描画を行うなどを行うことができる。
【０１１５】
図２１はメニュー操作を行うユーザーイベントの例である。
【０１１６】
前述したとおり、メニュー操作を行うユーザイベントもプレイリスト情報（”ＸＸＸ．ＰＬ”）のイベントリスト（ＥｖｅｎｔＬｉｓｔ）で定義される。ユーザイベントとして定義されるイベント、即ちイベントタイプ（Ｔｙｐｅ）が”ＵｓｅｒＥｖｅｎｔ”の場合、イベント生成時刻（”ｔ１”）になった時点で、当該ユーザイベントがレディとなる。この時、イベント自身は未だ生成されてはいない。当該イベントは、有効規格情報（Ｄｕｒａｔｉｏｎ）で記される期間レディ状態にある。
【０１１７】
図２１に描くように、ユーザがリモコンキーの「上」「下」「左」「右」キーまたは「決定」キーを押した場合、先ずＵＯＰイベントがＵＯＰマネージャによって生成されプログラムプロセッサに上げられる。プログラムプロセッサは、シナリオプロセッサに対してＵＯＰイベントを流し、シナリオプロセッサはＵＯＰイベントを受け取った時刻に有効なユーザイベントが存在するかを検索し、対象となるユーザイベントがあった場合は、ユーザイベントを生成し、プログラムプロセッサに持ち上げる。プログラムプロセッサでは、イベントＩＤ”Ｅｖ１”を持つイベントハンドラを探し、対象のイベントハンドラを実行処理する。例えば、本実施例の場合では、プレイリスト＃２の再生を開始する。
【０１１８】
生成されるユーザイベントには、どのリモコンキーがユーザによって押されたかの情報は含まれていない。選択されたリモコンキーの情報は、ＵＯＰイベントによってプログラムプロセッサに伝えられ、仮想プレーヤが持つレジスタＳＰＲＭ（８）に記録保持される。イベントハンドラのプログラムは、このレジスタの値を調べ分岐処理を実行することが可能である。
【０１１９】
図２２はグローバルイベントの例である。
【０１２０】
前述したとおり、グローバルイベントはＢＤディスク全体に関する情報（”ＢＤ．ＩＮＦＯ”）のイベントリスト（ＥｖｅｎｔＬｉｓｔ）で定義される。グローバルイベントとして定義されるイベント、即ちイベントタイプ（Ｔｙｐｅ）が”ＧｌｏｂａｌＥｖｅｎｔ”の場合、ユーザのリモコンキー操作があった場合にのみイベントが生成される。
【０１２１】
ユーザが”メニュー”を押した場合、先ずＵＯＰイベントがＵＯＰマネージャによって生成されプログラムプロセッサに上げられる。プログラムプロセッサは、シナリオプロセッサに対してＵＯＰイベントを流し、シナリオプロセッサは、該当するグローバルイベントを生成し、プログラムプロセッサに送る。プログラムプロセッサでは、イベントＩＤ”ｍｅｎｕ”を持つイベントハンドラを探し、対象のイベントハンドラを実行処理する。例えば、本実施例の場合ではプレイリスト＃３の再生を開始している。
【０１２２】
本実施例では、単に”メニュー”キーと呼んでいるが、ＤＶＤのように複数のメニューキーがあってもよい。各メニューキーに対応するＩＤを夫々定義することで対応することが可能である。
【０１２３】
（仮想プレーヤマシン）
図２３を用いてプログラムプロセッサの機能構成を説明する。
【０１２４】
プログラムプロセッサは、内部に仮想プレーヤマシンを持つ処理モジュールである。仮想プレーヤマシンはＢＤ−ＲＯＭとして定義された機能モデルであって、各ＢＤ−ＲＯＭプレーヤの実装には依存しないものである。即ち、どのＢＤ−ＲＯＭプレーヤにおいても同様の機能を実行するできることを保証している。
【０１２５】
仮想プレーヤマシンは大きく２つの機能を持っている。プログラミング関数とプレーヤ変数（レジスタ）である。プログラミング関数は、Ｊａｖａ（登録商標）  Ｓｃｒｉｐｔをベースとして、以下に記す２つの機能をＢＤ−ＲＯＭ固有関数として定義している。
【０１２６】
リンク関数：現在の再生を停止し、指定するプレイリスト、セル、時刻からの再生を開始する
Ｌｉｎｋ（ＰＬ＃，Ｃｅｌｌ＃，ｔｉｍｅ）
ＰＬ＃  ：  プレイリスト名
Ｃｅｌｌ＃  ：  セル番号
ｔｉｍｅ  ：  セル内での再生開始時刻
ＰＮＧ描画関数：指定ＰＮＧデータをイメージプレーンに描画する
Ｄｒａｗ（Ｆｉｌｅ，Ｘ，Ｙ）
Ｆｉｌｅ  ：  ＰＮＧファイル名
Ｘ  ：  Ｘ座標位置
Ｙ  ：  Ｙ座標位置
イメージプレーンクリア関数：イメージプレーンの指定領域をクリアする
Ｃｌｅａｒ（Ｘ，Ｙ，Ｗ，Ｈ）
Ｘ  ：  Ｘ座標位置
Ｙ  ：  Ｙ座標位置
Ｗ  ：  Ｘ方向幅
Ｈ  ：  Ｙ方向幅
プレーヤ変数は、プレーヤの状態を示すシステムパラメータ（ＳＰＲＭ）と一般用途として使用可能なゼネラルパラメータ（ＧＰＲＭ）とがある。
【０１２７】
図２４はシステムパラメータ（ＳＰＲＭ）の一覧である。
【０１２８】
ＳＰＲＭ（０）      ：  言語コード
ＳＰＲＭ（１）      ：  音声ストリーム番号
ＳＰＲＭ（２）      ：  字幕ストリーム番号
ＳＰＲＭ（３）      ：  アングル番号
ＳＰＲＭ（４）      ：  タイトル番号
ＳＰＲＭ（５）      ：  チャプタ番号
ＳＰＲＭ（６）      ：  プログラム番号
ＳＰＲＭ（７）      ：  セル番号
ＳＰＲＭ（８）      ：  選択キー情報
ＳＰＲＭ（９）      ：  ナビゲーションタイマー
ＳＰＲＭ（１０）    ：  再生時刻情報
ＳＰＲＭ（１１）    ：  カラオケ用ミキシングモード
ＳＰＲＭ（１２）    ：  パレンタル用国情報
ＳＰＲＭ（１３）    ：  パレンタルレベル
ＳＰＲＭ（１４）    ：  プレーヤ設定値（ビデオ）
ＳＰＲＭ（１５）    ：  プレーヤ設定値（オーディオ）
ＳＰＲＭ（１６）    ：  音声ストリーム用言語コード
ＳＰＲＭ（１７）    ：  音声ストリーム用言語コード（拡張）
ＳＰＲＭ（１８）    ：  字幕ストリーム用言語コード
ＳＰＲＭ（１９）    ：  字幕ストリーム用言語コード（拡張）
ＳＰＲＭ（２０）    ：  プレーヤリージョンコード
ＳＰＲＭ（２１）    ：  予備
ＳＰＲＭ（２２）    ：  予備
ＳＰＲＭ（２３）    ：  再生状態
ＳＰＲＭ（２４）    ：  予備
ＳＰＲＭ（２５）    ：  予備
ＳＰＲＭ（２６）    ：  予備
ＳＰＲＭ（２７）    ：  予備
ＳＰＲＭ（２８）    ：  予備
ＳＰＲＭ（２９）    ：  予備
ＳＰＲＭ（３０）    ：  予備
ＳＰＲＭ（３１）    ：  予備
【０１２９】
なお、本実施例では、仮想プレーヤのプログラミング関数をＪａｖａ（登録商標）  Ｓｃｒｉｐｔベースとしたが、Ｊａｖａ（登録商標）  Ｓｃｒｉｐｔではなく、ＵＮＩＸ（登録商標）  ＯＳなどで使われているＢ−Ｓｈｅｌｌや、Ｐｅｒｌ  Ｓｃｒｉｐｔなど他のプログラミング関数であっても構わなく、言い換えれば、本発明はＪａｖａ（登録商標）  Ｓｃｒｉｐｔに限定されるものでは無い。
【０１３０】
（プログラムの例）
図２５及び図２６は、イベントハンドラでのプログラムの例である。
【０１３１】
図２５は、２つの選択ボタンを持ったメニューの例である。
【０１３２】
セル（ＰｌａｙＬｉｓｔ＃１．Ｃｅｌｌ＃１）先頭でタイムイベントを使って図２５左側のプログラムが実行される。ここでは、最初にゼネラルパラメータの一つＧＰＲＭ（０）に”１”がセットされている。ＧＰＲＭ（０）は、当該プログラムの中で、選択されているボタンを識別するのに使っている。最初の状態では、左側に配置するボタン１が選択されている事を初期値として持たされている。
【０１３３】
次に、ＰＮＧの描画を描画関数であるＤｒａｗを使ってボタン１、ボタン２夫々について行っている。ボタン１は、座標（１０、２００）を起点（左端）としてＰＮＧイメージ”１ｂｌａｃｋ．ｐｎｇ”を描画している。ボタン２は、座標（３３０，２００）を起点（左端）としてＰＮＧイメージ”２ｗｈｉｔｅ．ｐｎｇ”を描画している。
【０１３４】
また、本セル最後ではタイムイベントを使って図２５右側のプログラムが実行される。ここでは、Ｌｉｎｋ関数を使って当該セルの先頭から再度再生するように指定している。
【０１３５】
図２６は、メニュー選択のユーザイベントのイベントハンドラの例である。
【０１３６】
「左」キー、「右」キー、「決定」キー何れかのリモコンキーが押された場合夫々に対応するプログラムがイベントハンドラに書かれている。ユーザがリモコンキーを押した場合、図２１で説明したとおり、ユーザイベントが生成され、図２６のイベントハンドラが起動されることになる。本イベントハンドラでは、選択ボタンを識別しているＧＰＲＭ（０）の値と、選択されたリモコンキーを識別するＳＰＲＭ（８）を使って分岐処理を行っている。
【０１３７】
条件１）ボタン１が選択されている、かつ、選択キーが「右」キーの場合
ＧＰＲＭ（０）を２に再設定して、選択状態にあるボタンを右ボタン２に変更する。
【０１３８】
ボタン１、ボタン２のイメージを夫々書き換える。
【０１３９】
条件２）選択キーが「決定（ＯＫ）」の場合で、ボタン１が選択されている場合、プレ
イリスト＃２の再生を開始する
条件３）選択キーが「決定（ＯＫ）」の場合で、ボタン２が選択されている場合、プレイリスト＃３の再生を開始する
上記のようにして実行処理が行われる。
【０１４０】
（プレーヤ処理フロー）
次に図２７から図３０を用いてプレーヤでの処理フローを説明する。
【０１４１】
図２７は、ＡＶ再生までの基本処理フローである。
【０１４２】
ＢＤディスクを挿入すると（Ｓ１０１）、ＢＤ−ＲＯＭプレーヤはＢＤ．ＩＮＦＯファイルの読み込みと解析（Ｓ１０２）、ＢＤ．ＰＲＯＧの読み込み（Ｓ１０３）を実行する。ＢＤ．ＩＮＦＯ及びＢＤ．ＰＲＯＧは共に管理情報記録メモリに一旦格納され、シナリオプロセッサによって解析される。
【０１４３】
続いて、シナリオプロセッサは、ＢＤ．ＩＮＦＯファイル内のファーストイベント（ＦｉｒｓｔＥｖｅｎｔ）情報に従い、最初のイベントを生成する（Ｓ１０４）。生成されたファーストイベントは、プログラムプロセッサで受け取られ、当該イベントに対応するイベントハンドラを実行処理する（Ｓ１０５）。
【０１４４】
ファーストイベントに対応するイベントハンドラには、最初に再生するべきプレイリスト情報が記録されていることが期待される。仮に、プレイリスト再生が指示されていない場合には、プレーヤは何も再生することなく、ユーザイベントを受け付けるのを待ち続けるだけになる。この場合、ユーザイベントを受け付けるのを待ち続けることになる（Ｓ２０１）。ＢＤ−ＲＯＭプレーヤはがユーザからのリモコン操作を受け付けると、ＵＯＰマネージャはプログラムマネージャに対してＵＯＰイベントを立ち上げる（Ｓ２０２）。
【０１４５】
プログラムマネージャは、ＵＯＰイベントがメニューキーによるものであるかを判別し（Ｓ２０３）、メニューキーの場合は、シナリオプロセッサにＵＯＰイベントを流し、シナリオプロセッサがユーザイベントを生成する（Ｓ２０４）。プログラムプロセッサは生成されたユーザイベントに対応するイベントハンドラを実行処理する（Ｓ２０５）。
【０１４６】
図２８は、ＰＬ再生開始からＶＯＢ再生開始までの処理フローである。
【０１４７】
前述したように、ファーストイベントハンドラまたはグローバルイベントハンドラによってプレイリスト再生が開始される（Ｓ３０１）。シナリオプロセッサは、再生対象のプレイリスト再生に必要な情報として、プレイリスト情報”ＸＸＸ．ＰＬ”の読み込みと解析（Ｓ３０２）、プレイリストに対応するプログラム情報”ＸＸＸ．ＰＲＯＧ”の読み込みを行う（Ｓ３０３）。続いてシナリオプロセッサは、プレイリストに登録されているセル情報に基づいてセルの再生を開始する（Ｓ３０４）。セル再生は、シナリオプロセッサからプレゼンテーションコントローラに対して要求が出さる事を意味し、プレゼンテーションコントローラはＡＶ再生を開始する（Ｓ３０５）。
【０１４８】
ＡＶ再生の開始（Ｓ４０１）を開始すると、プレゼンテーションコントローラは再生するセルに対応するＶＯＢの情報ファイル（ＸＸＸ．ＶＯＢＩ）を読み込み及び解析をする（Ｓ４０２）。プレゼンテーションコントローラは、タイムマップを使って再生開始するＶＯＢＵとそのアドレスを特定し、ドライブコントローラに読み出しアドレスを指示し、ドライブコントローラは対象となるＶＯＢデータを読み出し（Ｓ４０３）、ＶＯＢデータがデコーダに送られ再生が開始される（Ｓ４０４）。ＶＯＢ再生は、当該ＶＯＢの再生区間が終了するまで続けられ（Ｓ４０５）、終了すると次のセル再生Ｓ３０４へ移行する。次にセルが無い場合は、再生が停止する（Ｓ４０６）。
【０１４９】
図２９は、ＡＶ再生開始後からのイベント処理フローである。
【０１５０】
ＢＤ−ＲＯＭプレーヤはイベントドリブン型のプレーヤモデルである。プレイリストの再生を開始すると、タイムイベント系、ユーザイベント系、字幕表示系のイベント処理プロセスが夫々起動され、平行してイベント処理を実行するようになる。
【０１５１】
Ｓ５００系の処理は、タイムイベント系の処理フローである。
【０１５２】
プレイリスト再生開始後（Ｓ５０１）、プレイリスト再生が終了しているかを確認するステップ（Ｓ５０２）を経て、シナリオプロセッサは、タイムイベント発生時刻になったかを確認する（Ｓ５０３）。タイムイベント発生時刻になっている場合には、シナリオプロセッサはタイムイベントを生成し（Ｓ５０４）、プログラムプロセッサがタイムイベントを受け取りイベントハンドラを実行処理する（Ｓ５０５）。
【０１５３】
ステップＳ５０３でタイムイベント発生時刻になっていない場合、または、ステップＳ５０４でイベントハンドラ実行処理後は再度ステップＳ５０２へ戻り、上述した処理を繰り返す。また、ステップＳ５０２でプレイリスト再生が終了したことが確認されると、タイムイベント系の処理は強制的に終了する。
【０１５４】
Ｓ６００系の処理は、ユーザイベント系の処理フローである。
【０１５５】
プレイリスト再生開始後（Ｓ６０１）、プレイリスト再生終了確認ステップ（Ｓ６０２）を経て、ＵＯＰ受付確認ステップの処理に移る（Ｓ６０３）。ＵＯＰの受付があった場合、ＵＯＰマネージャはＵＯＰイベントを生成し（Ｓ６０４）、ＵＯＰイベントを受け取ったプログラムプロセッサはＵＯＰイベントがメニューコールであるかを確認し（Ｓ６０５）、メニューコールであった場合は、プログラムプロセッサはシナリオプロセッサにイベントを生成させ（Ｓ６０７）、プログラムプロセッサはイベントハンドラを実行処理する（Ｓ６０８）。
【０１５６】
ステップＳ６０５でＵＯＰイベントがメニューコールで無いと判断された場合、ＵＯＰイベントはカーソルキーまたは「決定」キーによるイベントである事を示している。この場合、現在時刻がユーザイベント有効期間内であるかをシナリオプロセッサが判断し（Ｓ６０６）、有効期間内である場合には、シナリオプロセッサがユーザイベントを生成し（Ｓ６０７）、プログラムプロセッサが対象のイベントハンドラを実行処理する（Ｓ６０８）。
【０１５７】
ステップＳ６０３でＵＯＰ受付が無い場合、ステップＳ６０６で現在時刻がユーザイベント有効期間に無い場合、または、ステップＳ６０８でイベントハンドラ実行処理後は再度ステップＳ６０２へ戻り、上述した処理を繰り返す。また、ステップＳ６０２でプレイリスト再生が終了したことが確認されると、ユーザイベント系の処理は強制的に終了する。
【０１５８】
図３０は字幕処理のフローである。
【０１５９】
プレイリスト再生開始後（Ｓ７０１）、プレイリスト再生終了確認ステップ（Ｓ７０２）を経て、字幕描画開始時刻確認ステップに移る（Ｓ７０３）。字幕描画開始時刻の場合、シナリオプロセッサはプレゼンテーションコントローラに字幕描画を指示し、プレゼンテーションコントローラはイメージプロセッサに字幕描画を指示する（Ｓ７０４）。ステップＳ７０３で字幕描画開始時刻で無いと判断された場合、字幕表示終了時刻であるかを確認する（Ｓ７０５）。字幕表示終了時刻であると判断された場合は、プレゼンテーションコントローラがイメージプロセッサに字幕消去指示を行い、描画されている字幕をイメージプレーンから消去する（Ｓ７０６）。
【０１６０】
字幕描画ステップＳ７０４終了後、字幕消去ステップＳ７０６終了後、または、字幕表示終了時刻確認ステップＳ７０５で当該時刻でないことが判断された場合、ステップＳ７０２に戻り、上述した処理を繰り返す。また、ステップＳ７０２でプレイリスト再生が終了したことが確認されると、字幕表示系の処理は強制的に終了する。
【０１６１】
（実施例２）
次に本発明の第２の実施の形態について説明する。
【０１６２】
第２の実施の形態は、ＢＤーＲＯＭにおいてより豊かなインタラクティブ性を実現するため、ＸＭＬ・ＸＨＴＭＬ・ＨＴＭＬベースの画面構成環境と、イベントおよびスクリプトを用いたプログラミング環境を導入することに関する内容である。基本的には第１の実施例に基づく内容であり、拡張または異なる部分を中心に説明する。なお、本実施例では、画面構成を定義する言語として、ＨＴＭＬを用いる。
【０１６３】
（ＨＴＭＬファイルを利用したコンテンツ制御）
図３１は、ＨＴＭＬおよびスクリプトを利用したシナリオ制御に関わるモジュール構成、制御の流れ、イベントなどの伝わり方を示している。
【０１６４】
ユーザーイベント処理部は、リモコン信号などを受信し、次のモジュールにイベントを割り振るモジュールである。再生制御に関わる、再生/停止/早送り/巻き戻し/スキップ/アングル変更/音声切替/字幕切替などのイベントはＡＶ再生制御部に送られる。ボタンフォーカスの移動（上下左右キー）や決定などのイベントは、ＨＴＭＬ処理部に送られる。タイトル切替に関わる、タイトル選択やメニュー呼び出しのイベントは、タイトル制御部に送られる。なお、Ｉｎｄｅｘ  Ｔａｂｌｅとは、ディスク中のタイトルを列挙したファイルであり、図１８のＴｉｔｌｅ  Ｌｉｓｔ部分を切り出して１つにしたものである。
【０１６５】
タイトル制御部は、タイトル切替を要求されるとＩｎｄｅｘ  Ｔａｂｌｅにしたがってタイトル切替を行うモジュールである。タイトルがＨＴＭＬで定義される場合、ＨＴＭＬ処理部にタイトルに関連付けられたＨＴＭＬファイルを読み込むように制御を行う。
【０１６６】
ＨＴＭＬ処理部はＨＴＭＬファイルを読み込み、スタイル定義情報などにしたがって、画面を構成し、イベントに応じて関連するスクリプトを実行するモジュールである。スクリプトを実行した結果、ＡＶの再生が必要であればＡＶ再生制御部に対して、再生開始などの制御を行い、タイトル切替が必要であれば、タイトル制御部に対して制御を行う。
【０１６７】
ＡＶ再生制御部は、イベントや指示に従ってＡＶストリームの再生を行い、ＡＶ再生制御部の状態が変化したときやＡＶストリームの再生位置が特定の位置に達した際にイベントを生成してＨＴＭＬ処理部に通知する。
【０１６８】
プレーヤの状態が変化したことを通知するイベントとは、ユーザーから再生指示があり、ユーザーイベント処理部が再生開始要求のイベントをＡＶ再生制御部に通知すると、ＡＶ再生制御部は再生を開始する。この時に、ＡＶ再生制御部が停止状態から再生状態に変化したことを通知するようなイベントである。
【０１６９】
また、再生位置を通知するイベントとは、ＡＶストリームの終端に達したときや、セルの境界に達したとき、あるいはマークと呼ばれるＡＶストリームの一時点を示すデータが存在する場合その地点に達したことを通知するイベントである。
【０１７０】
図３２はあるタイトルが選択されたときの動作の様子を示している。
【０１７１】
Ｉｎｄｅｘ  Ｔａｂｌｅで定義されるあるタイトルを選択した場合、タイトルに関連付けられたＨＴＭＬファイルが呼び出される。ＨＴＭＬファイルには、再生制御などを行うスクリプトなども記述しされている。 図中の例では、スクリプトファイルを間接的に参照しているが、直接ＨＴＭＬファイル内に記述することも可能である。また、説明のため、ＨＴＭＬと表記しているが、ＸＭＬ形式にのっとっていれば独自のタグなどを利用した形式でもよい。
【０１７２】
図中のＨＴＭＬファイル内に記述されている“ｏｎＬｏａｄ”属性において、ファイルが読み込まれたときに実行されるスクリプトを規定している。この例では、ＨＴＭＬファイルが読み込まれたときに、“ｐｌａｙＴｉｔｌｅ１”というスクリプトが呼び出され、スクリプト自体はスクリプトファイル内に記述されている。
【０１７３】
また、＜ｅｖｅｎｔ＞タグを用いることにより、ユーザーイベント処理部やＡＶ再生制御部から通知されたイベントに対応してスクリプトを実行する仕組みも提供する。この例では、“ＥｎｄＯｆＳｔｒｅａｍ”イベントが発生した際、“ｊｕｍｐＴｉｔｌｅ２”というスクリプトを呼び出す例である。なお、“ＥｎｄＯｆＳｔｒｅａｍ”イベントとは、たとえばＡＶ再生がファイルの終端に達した場合にＡＶ再生制御部が生成するイベントである。
【０１７４】
また、予め関数名が予約されているイベント処理用関数（例えば、ＢＤＩＭｏｖｉｅＰｌａｙｂａｃｋＥｖｅｎｔＨａｎｄｌｅｒ（）関数など）を、ＨＴＭＬ文書のスクリプトタグ内や、スクリプトファイル内に記述しておくことで、ユーザーイベント処理部やＡＶ再生制御部から通知されたイベントに対応して、スクリプトを実行することも可能である。
【０１７５】
図３３は先ほどの例に、画面生成を加えた例である。たとえば、先ほどと同様にＩｎｄｅｘ  ＴａｂｌｅからＨＴＭＬが呼び出され、そのＨＴＭＬはメニュー画面などを生成するための情報が書かれていた場合である。画面構成のスタイルなどはＣＳＳなどのスタイルシートを利用してもよい。
【０１７６】
この例では、画面上に２つのボタンを配置している。それぞれのボタンが押されると対応スクリプトが実行される。あるボタンを選択すると、“ｏｎＣｌｉｃｋ”属性に定義されているスクリプトが実行される。ＴｉｔｌｅＡと書かれたＰＮＧイメージファイルと関連付けられている左側のボタンを選択すると、“ｐｌａｙＡ”スクリプトが実行され、タイトル１にジャンプする。同様に、ＴｉｔｌｅＢボタンを選択すると、あるＡＶストリームが再生された後に、タイトル２にジャンプする。
【０１７７】
これまで説明した仕組みを用いることのより、ＨＴＭＬファイルを用いて、メニュー画面を表示し、何らかのボタンを選択を選択するとコンテンツの再生を開始するような仕組みを提供することが可能となる。
【０１７８】
また、スクリプト部分と、スクリプトが実行するＡＰＩを追加することにより、より複雑な機能、たとえばインターネット接続やダウンロードサービスといったアプリケーションも実行可能である。
【０１７９】
（リソース管理）
ＨＴＭＬファイルがメニュー画面のような画面を構成する際には、ＰＮＧイメージファイルなどのデータファイルを参照する。メニューが凝ったものになればなるほど、表示するグラフィクスは複雑なものになり、それを表示するためのイメージデータのサイズは大きくなる。
【０１８０】
また、ＨＴＭＬファイルはユーザー操作によって画面を切り替えるように作ることも可能である。メニュー画面の中である項目を選ぶと、さらにサブメニューが出てくるような場合である。このような場合、メニュー画面が表示された最初の瞬間には表示されていなかったイメージデータが、あとから必要になることがある。
【０１８１】
ところが、さらにそのメニュー画面の背景では動画が表示されている、つまりＡＶストリームが再生されている場合、必要になってからイメージデータを読み込みに行こうとすると、ディスク上でファイルがある位置にシークを行ってから読み込んで元の位置に戻ってこなければならず、ＡＶストリームの再生が一時的に中断してしまう可能性がある。十分な量のバッファを積んでおり、ＡＶストリームを事前にバッファ一杯に先読みすればこのようなことも回避できるが、画像が高解像度・高画質になり、高ビットレートが必要になってきているので、かなり大容量のバッファを用意しなければならず、コストアップなどにつながり、現実的ではない。
【０１８２】
また、ハードディスクのようにシーク時間が短く、読み取り速度が速いメディアでは、少量のバッファでもその早さを利用して、ＡＶを中断させずに他のデータを読み込むことも可能であるが、光ディスクメディアのドライブでは、シークには時間がかかり、読み込み速度もそれほど速くないため、実現にはさらなる技術の進歩が必要となる。
【０１８３】
そのため、一旦ＡＶ再生が開始されるとＡＶ以外のデータを読み込みに行かないモデルにすることが望ましい。
【０１８４】
図３４はその様な場合のデータのライフサイクルを示している。
【０１８５】
ＡＶの再生が開始される前に、画面を表示するために必要なデータである、ＨＴＭＬファイルやスクリプトファイル、それらのファイルから参照されるＰＮＧイメージファイルなどのデータファイルをバッファ上にプリロードしておく。
【０１８６】
一旦ＡＶの再生が開始されると、それらのデータをディスクに読みに行くことはない。
【０１８７】
なお、ＡＶの再生が止まってもよい場合は、これらを考慮する必要はない。
【０１８８】
また、コンテンツにより、ＡＶの再生が止まって欲しくない場合と、止まってもよい場合を区別する必要があるならば、管理情報にこの２つのパターンを区別する識別子を用意しておけばよい。
【０１８９】
ＨＴＭＬ処理部がデータを必要とするときは、バッファからＨＴＭＬ処理部のワークメモリ上に読み込んでおき、画面の表示などに利用する。その画面が表示されなくなったときには、必要なくなったデータをワークメモリから解放し、次に必要になるデータをバッファから読み込んでくる。
【０１９０】
なお、このワークメモリは、バッファと共有してもよい。
【０１９１】
バッファにあるメモリーは、そこに読み込まれているデータが必要なくなるまで保存しておき、必要なくなれば解放する。
【０１９２】
（データのライフサイクル）
上で述べたように、バッファにデータを読み込んでくるタイミングと、バッファからデータを解放するタイミングを明確に決めることができれば、データのライフサイクルの管理が明確になり、管理がしやすくなる。
【０１９３】
データの管理がしやすくなれば、コンテンツ作成者がどのプレーヤでも必ず動作させることができるコンテンツ構成を判定しやすくなり、コンテンツ作成が容易になる。
【０１９４】
データのライフサイクルの開始タイミングと終了タイミングは、ＡＶの再生が停止しているタイミング、あるいは一時的に停止する、連続して再生する場合でもシームレスに再生する必要がないタイミングが望ましい。
【０１９５】
このようなタイミングとしては、ＡＶストリームの切替点、ＨＴＭＬファイルで構成される画面の切替点や、タイトル切替のタイミングなどがあり、その他上記の条件を満たすのであればその他の点でもよい。
【０１９６】
これまで説明した構造を用いると、タイトルの切替のタイミングは、Ｉｎｄｅｘ  Ｔａｂｌｅで明示的に、かつ静的データとして参照することができ、プレーヤから制御しやすい。そのため、データのライフサイクルとは、あるタイトルが開始するときに開始し、あるタイトルが終了するときにライフサイクルも終了する。
【０１９７】
つまり、あるタイトルが開始するときに、そのタイトルを再生するために必要な全てのデータをバッファにプリロードしておき、そのタイトルが終了するとき、たとえば他のタイトルにジャンプするときに、バッファから解放する。
【０１９８】
図３５は各モジュール間の制御の流れとデータの流れ、それに合わせたデータのライフサイクルを示したタイミングチャートである。
【０１９９】
このようなライフサイクルと、バッファのサイズを規定すれば、タイトルを作成するときに、どのくらいのサイズまでイメージデータを使うことができ、どのようなアプリケーションを実行できるか定量的に判断でき、タイトルが非常に作りやすくなる。
【０２００】
なお、バッファの解放はタイトル制御部や、より上位のモジュールから強制的に行ってもよいし、ＨＴＭＬ処理部が行ってもよい。
【０２０１】
ユーザー操作によりアプリケーション実行中にタイトルを切り替えられた場合、タイトル制御部は、ＨＴＭＬ処理部に現在実行中のスクリプトを中止し、バッファの解放を指示する。また、タイトルが切り替わると、次のタイトルに関連するファイルをバッファに読み込むよう指示する。
【０２０２】
（データ読み込みの保証）
ＡＶストリームの再生開始より前に、ＡＶストリーム以外のファイルをバッファにプリロードしておく必要は上で述べたとおりである。その際、ＨＴＭＬファイルを解析して必要なファイルをリストアップしていては、時間がかかってしまう。
【０２０３】
そこで、図３６（ａ）のように、各タイトルで必要なファイルをリストアップしたファイルリストをタイトル毎に作成し、タイトルが選択されたときに、そのタイトルリストに列挙されているファイルを全てバッファに読み込めばよい。
【０２０４】
また、ファイル数が多い場合、ファイル毎にシークが発生すると読み込みの時間がかかってしまうため、リストアップされたファイルをディスク上の１カ所にまとめて配置することのより、無駄なシークを発生させることなく必要なファイルを全て読み込むことも可能である。
【０２０５】
あるいは、図３６（ｂ）のように、ファイルをディレクトリ構造ごとＺＩＰファイルなどで１つにまとめてしまい、バッファに読み込んだあとでバッファ内でファイルを展開し、ディレクトリ構造などを構成してもよい。ファイルを１まとめにでき、ディレクトリ構造を保持できるようなフォーマットであれば、ＺＩＰファイルでなくてもよい。また、圧縮ファイルである必要もない。
【０２０６】
あるいは、図３７に示すように、制作段階などにおいてディレクトリ構造を持つ論理ファイルツリー４００の各ファイルを、Ｃｏｎｔｅｎｔ  Ａｒｃｈｉｖｅ  Ｆｉｌｅ４０１（以降、ＣＡＲファイルと記載する）内に、フラットに配置し、ＨＴＴＰのｅｎｔｉｔｙ形式などでマルチパート化しておく。さらに、論理ファイルツリー４００のディレクトリ構造情報は、Ｒｅｓｏｕｒｃｅ  Ｌｉｓｔ  Ｆｉｌｅ４０２に格納して、このＲｅｓｏｕｒｃｅ  Ｌｉｓｔ  Ｆｉｌｅ４０２を、ＣＡＲファイル４０１内に配置してもよい。
【０２０７】
（ＺＩＰファイル、ＣＡＲファイル４０１を用いたアーカイブ構成の効果）
図３６（ｂ）の構成や、図３７の構成をとることで実現できるディスクへの書込み効率／読出し効率の向上について説明する。
【０２０８】
もし、ＨＴＭＬファイルやイメージファイルを、ディスク上に個別配置した場合、１つのファイルに関する情報しか配置できないディスク上のセクターに、何も書き込まれないエリア（フラグメンテーション）が発生し、書込み効率が低下する。
【０２０９】
また、読出しにおいては、ＨＴＭＬファイル、イメージファイルの個数分だけ読出し処理が発生し、読出しの都度、ディスクのＳＥＥＫ処理が発生し、関連するファイルの読込みに時間がかかってしまい、タイトルの起動が遅くなる。
【０２１０】
一方、ＺＩＰファイル、もしくは、ＣＡＲファイル４０１を用いた場合、画面提示に利用されるＨＴＭＬファイルとそのＨＴＭＬファイルが参照するイメージファイル群、そして、そのＨＴＭＬファイルから文書遷移して次に提示されるＨＴＭＬファイルなど、一連の動作に関連するファイル群（コンテンツ）をアーカイブ化しているので、フラグメンテーションの合計サイズ、個数が抑えられて、ディスクへの書込み効率が高くなり、また、１ファイルにアーカイブされているので、１回の読出し処理しか発生せず、ＳＥＥＫ回数が抑えられ、すばやくディスクから読み出すことができる。
【０２１１】
また、このような仕組みを用いることにより、タイトル毎にリソースを分かりやすく管理し、データの読み込みを効率化することにより、オーサリング時にミスが起こりにくく、プレーヤで制御しやすい仕組みを提供することが可能となる。
【０２１２】
（Ｒｅｓｏｕｒｃｅ  Ｌｉｓｔ  Ｆｉｌｅ形式による起動処理フロー）
以下、図３６、図３７を用いて説明したＺＩＰファイルおよびＣＡＲファイルなどのアーカイブファイルを応用した仕組みに関してより詳細な実装を説明する。
【０２１３】
図３９にＸＭＬを用いたＲｅｓｏｕｒｃｅ  Ｌｉｓｔ  Ｆｉｌｅを記述した例を図示している。Ｒｅｓｏｕｒｃｅ  Ｌｉｓｔ  Ｆｉｌｅは各タイトル毎に記述され、各タイトル再生時に実行されるアプリケーションに関する記述がなされる。
【０２１４】
図３２を用いて前述した例では、Ｉｎｄｅｘ  Ｔａｂｌｅで定義されるタイトルからはＨＴＭＬファイルが関連づけられていたが、Ｉｎｄｅｘ  Ｔａｂｌｅで定義された各タイトルからはＲｅｓｏｕｒｃｅ  Ｌｉｓｔ  Ｆｉｌｅが関連づけられており、Ｉｎｄｅｘ  Ｔａｂｌｅで定義されるあるタイトルを選択した場合、そのタイトルに関連づけられたＲｅｓｏｕｒｃｅ  Ｌｉｓｔ  Ｆｉｌｅが最初に呼び出される。
【０２１５】
また、図３２を用いて前述した例では、Ｉｎｄｅｘ  Ｔａｂｌｅで定義されるタイトルからはＨＴＭＬファイルが関連づけられていたが、Ｉｎｄｅｘ  Ｔａｂｌｅで定義された各タイトルからは、ＣＡＲファイルが関連づけられていており、さらに、ＣＡＲファイル内には、Ｒｅｓｏｕｒｃｅ  Ｌｉｓｔ  Ｆｉｌｅが格納されており、Ｉｎｄｅｘ  Ｔａｂｌｅで定義されるあるタイトルを選択した場合、そのタイトルに関連づけられたＣＡＲファイルが最初に呼び出され、ＣＡＲファイルに関連付けられたＲｅｓｏｕｒｃｅ  Ｌｉｓｔ  Ｆｉｌｅが次に呼び出される。
【０２１６】
なお、図３８のＳ８００系は、Ｔｉｔｌｅが選択されてから、ＨＴＭＬによる画面提示までのフローを示している。
【０２１７】
Ｉｎｄｅｘ  Ｔａｂｌｅで定義されるあるタイトルを選択されると（Ｓ８０１）、そのタイトルに関連づけられたＣＡＲファイルが呼出され、ＣＡＲファイル用のＢｕｆｆｅｒに格納される（Ｓ８０２）。次に、ＣＡＲファイルに格納された、Ｒｅｓｏｕｒｃｅ  Ｌｉｓｔ  Ｆｉｌｅが切り出され、Ｒｅｓｏｕｒｃｅ  Ｌｉｓｔ  Ｆｉｌｅが解析され、起動すべきＨＴＭＬファイルが特定される（Ｓ８０３）。なお、Ｒｅｓｏｕｒｃｅ  Ｌｉｓｔ  Ｆｉｌｅは、マルチパート化されたＣＡＲファイルの先頭に配置することで、Ｒｅｓｏｕｒｃｅ  Ｌｉｓｔ  Ｆｉｌｅの切り出しをすばやく実現できる。
【０２１８】
次に、Ｒｅｓｏｕｒｃｅ  Ｌｉｓｔ  Ｆｉｌｅに記載された起動すべきＨＴＭＬファイルのＯｆｆｓｅｔ値を用いて、ＣＡＲファイル内に格納されたＨＴＭＬファイルを切り出し、ＨＴＭＬファイルを解析する（Ｓ８０４）。なお、Ｏｆｆｓｅｔが記載されていない場合には、ディレクトリ構成に記載されたディレクトリ名、ファイル名を付け足して論理パスを構築し、本論理パスを用いて、ＺＩＰファイルにアーカイブされた各ファイルのリソースヘッダに記載されたリソースパスと比較することで、ＨＴＭＬファイルを特定し、切り出すことができる。
【０２１９】
ＨＴＭＬファイルがイメージファイルなどのデータファイルを参照している場合は、さらに、Ｒｅｓｏｕｒｃｅ  Ｌｉｓｔ  Ｆｉｌｅを解析して、対応するデータファイルを切り出し、レイアウト処理、スクリプト処理を行って、画面が提示される（Ｓ８０５）
さらに、図３８のＳ９００系を用いて、画面提示された後、ユーザ操作やスクリプト処理などによって文書遷移処理が発生してから、次の提示画面が提示されるまでの処理フローを説明する。
【０２２０】
ユーザ操作やスクリプト処理などによって文書遷移が発生すると（Ｓ９０１）、指定されたＵＲＩを解析し、同一タイトル内に属するかを判断し、別タイトルに属する場合は、Ｉｎｄｅｘ  Ｔａｂｌｅを解析して、別タイトルの起動を指示し、（Ｓ８０１）へ移行する（Ｓ９０２）。同タイトルに属する場合、すでにＰｒｅｌｏａｄされているＣＡＲファイル内にあるＲｅｓｏｕｒｃｅ  Ｌｉｓｔ  Ｆｉｌｅを解析し、指定されたＨＴＭＬファイルを特定する（Ｓ９０３）。次に、Ｒｅｓｏｕｒｃｅ  Ｌｉｓｔ  Ｆｉｌｅに記載されたＯｆｆｓｅｔ値を用いて、ＣＡＲファイル内に格納されたＨＴＭＬファイルを切り出し、ＨＴＭＬファイルを解析する（Ｓ９０４）。イメージファイルなどのデータファイルが参照されている場合は、さらに、Ｒｅｓｏｕｒｃｅ  Ｌｉｓｔ  Ｆｉｌｅを解析して、対応するデータファイルを切り出し、レイアウト処理、スクリプト処理を行って、画面が提示される（Ｓ９０５）
（ＸＭＬ形式のＲｅｓｏｕｒｃｅ  Ｌｉｓｔ  Ｆｉｌｅの構造）
図３９は、ＸＭＬ形式のＲｅｓｏｕｒｃｅ  Ｌｉｓｔ  Ｆｉｌｅの記述例を示す。ＸＭＬ形式のＲｅｓｏｕｒｃｅ  Ｌｉｓｔ  Ｆｉｌｅは、ＸＭＬ宣言と、＜ａｐｐｌｉｃａｔｉｏｎ＞、＜ｅｎｔｒｙ＞、＜ｔｏｐｐａｇｅ＞、＜ｌｉｎｋｆｉｌｅ＞の四つの要素からなる。
【０２２１】
＜ａｐｐｌｉｃａｔｉｏｎ＞要素のｎａｍｅ属性にアプリケーション名が記述される。
【０２２２】
アプリケーションを実行する上で一番最初に読み込んで解析する必要があるＨＴＭＬ（以降、Ｔｏｐｐａｇｅと呼ぶ）に関しては、そのファイル名が＜ｔｏｐｐａｇｅ＞要素のｓｒｃ属性として記述されている。
【０２２３】
Ｔｏｐｐａｇｅを除く、アプリケーションを構成する各ファイルのファイル名がＵＲＩ形式で＜ｌｉｎｋｆｉｌｅ＞要素のｓｒｃ属性としてリストアップされている。
【０２２４】
また、これらのアプリケーションを構成するファイル群（Ｔｏｐｐａｇｅを含む）は、アーカイブファイルとして一纏めにＢＤ−ＲＯＭ上に記録されるものとし、Ｒｅｓｏｕｒｃｅ  Ｌｉｓｔ  Ｆｉｌｅには当該アーカイブファイルのファイル名がＵＲＩ形式で＜ｅｎｔｒｙ＞要素のｓｒｃ属性として記述されている。
【０２２５】
このように、ＢＤプレーヤはタイトル再生時にそのタイトルに対応するＲｅｓｏｕｒｃｅ  Ｌｉｓｔ  Ｆｉｌｅを読み込むことで、ＢＤ−ＲＯＭ上にアーカイブファイルとして一纏めに配置されたアプリケーションを構成するファイルを無駄なシークを発生させることなく一括して読み込むことができ、また当該アプリケーションで使用する全てのファイル名を知ることができる。
【０２２６】
また、Ｒｅｓｏｕｒｃｅ  Ｌｉｓｔ  Ｆｉｌｅ中の＜Ｔｏｐｐａｇｅ＞要素を参照することで、ＨＴＭＬ及びスクリプトで記述されたアプリケーションを実行する際、どのファイルを一番はじめに解析するのかを知ることができる。
【０２２７】
現在再生しているタイトルとは違うタイトルが選択された場合、再生していたタイトルのＲｅｓｏｕｒｃｅ  Ｌｉｓｔ  Ｆｉｌｅに記述されていたファイルを解放してもよいし、選択されたタイトルに関連づけられたＲｅｓｏｕｒｃｅ  Ｌｉｓｔ  Ｆｉｌｅに記載されていないファイルのみ解放してもよい。このようにＲｅｓｏｕｒｃｅ  Ｌｉｓｔ  Ｆｉｌｅを用いることで、タイトル毎にリソースを分かりやすく管理し、データの読み込みを効率化することが可能であり、オーサリング時にミスが起こりにくく、プレーヤで制御しやすい仕組みを提供することが可能となる。
【０２２８】
なお、本実施の形態のＲｅｓｏｕｒｃｅ  Ｌｉｓｔ  Ｆｉｌｅでは、＜ａｐｐｌｉｃａｔｉｏｎ＞要素のｎａｍｅ属性にアプリケーションの名前が記述されており、プレーヤは挿入されたＢＤ−ＲＯＭ  Ｄｉｓｃのタイトル名とこのアプリケーション名を用いてプレーヤにて実行されたアプリケーションを識別可能である。したがって、プレーヤのローカルストレージにそれぞれのアプリケーション用の領域を設定してもよい。また、前記アプリケーション用の領域には当該アプリケーションのみがアクセス可能であり、そのほかのアプリケーションのアクセスを禁止しても良い。
（バイナリー形式のＲｅｓｏｕｒｃｅ  Ｌｉｓｔ  Ｆｉｌｅの構造）
図４０を用いて、ＣＡＲファイルにアーカイブされるファイルのディレクトリ構造情報を格納したバイナリー形式のＲｅｓｏｕｒｃｅ  Ｌｉｓｔ  Ｆｉｌｅの内部構造について説明をする。
【０２２９】
＜Ｒｅｓｏｕｒｃｅ  Ｌｉｓｔ  Ｆｉｌｅ＞
バイナリー形式のＲｅｓｏｕｒｃｅ  Ｌｉｓｔ  Ｆｉｌｅは、Ｂａｓｅ  ＩｎｆｏとＢａｓｅ  Ｄｉｒｅｃｔｏｒｙから構成される。Ｂａｓｅ  Ｉｎｆｏは、Ｒｅｓｏｕｒｃｅ  Ｌｉｓｔ  Ｆｉｌｅが格納されているＣＡＲファイル全般に関わる情報が記載される。
【０２３０】
＜Ｂａｓｅ  Ｄｉｒｅｃｔｏｒｙ＞
Ｂａｓｅ  Ｄｉｒｅｃｔｏｒｙは、ＣＡＲファイルに格納されているＨＴＭＬファイル等ファイルのディレクトリ構造情報が記載されており、Ｉｎｆｏｒｍａｔｉｏｎ、Ｎｕｍｂｅｒ、ＣＡＲファイルをトップディレクトリとして、この１段下に配置されるＤｉｒｅｃｔｏｒｙ、Ｆｉｌｅから構成される。ＤｉｒｅｃｔｏｒｙとＦｉｌｅの合計数は、Ｎｕｍｂｅｒに記載された数となる。Ｉｎｆｏｒｍａｔｉｏｎには、Ｂａｓｅ  Ｄｉｒｅｃｔｏｒｙに関する情報が記載される。
【０２３１】
＜Ｄｉｒｅｃｔｏｒｙ＞
Ｄｉｒｅｃｔｏｒｙは、Ｉｎｆｏｒｍａｔｉｏｎ、Ｎｕｍｂｅｒ、本Ｄｉｒｅｃｔｏｒｙの１段下に配置されるＤｉｒｅｃｔｏｒｙ、Ｆｉｌｅから構成される。ＤｉｒｅｃｔｏｒｙとＦｉｌｅの合計数は、Ｎｕｍｂｅｒに記載された数となる。Ｉｎｆｏｒｍａｔｉｏｎには、Ｄｉｒｅｃｔｏｒｙの名前や本Ｄｉｒｅｃｔｏｒｙの属性情報が記載される。さらに配下に配置されたＤｉｒｅｃｔｏｒｙは、本Ｄｉｒｅｃｔｏｒｙと同じ構成となる。
【０２３２】
＜Ｆｉｌｅ＞
Ｆｉｌｅは、Ｉｎｆｏｒｍａｔｉｏｎ、Ｏｆｆｓｅｔ、Ｎａｍｅから構成される。Ｉｎｆｏｒｍａｔｉｏｎには、本Ｆｉｌｅの属性情報が記載される。Ｎａｍｅは名前である。Ｏｆｆｓｅｔは、ＣＡＲファイル内に配置されている本来のファイルの、ＣＡＲファイルの先頭からのｂｉｔ長さが記載されている。
【０２３３】
（バイナリ形式のＲｅｓｏｕｒｃｅ  Ｌｉｓｔ  Ｆｉｌｅの効果）
バイナリ形式のＲｅｓｏｕｒｃｅ  Ｌｉｓｔ  Ｆｉｌｅの内部構造であるＤｉｒｅｃｔｏｒｙ、Ｆｉｌｅを解析していくことで、ＣＡＲファイル内にフラットに配置され、マルチパート化されたファイルのディレクトリ構造を復元できて、かつ、Ｆｉｌｅ内にあるＯｆｆｓｅｔを用いて、ＢｕｆｆｅｒにＰｒｅｌｏａｄされたＣＡＲファイルから、実ファイルの位置を計算できるため、数Ｍ〜Ｂｙｔｅの巨大なＣＡＲファイル内から、すばやく目的のファイルを切り出すことができる。
【０２３４】
（実施例３）
次に本発明の第３の実施の形態について説明する。
【０２３５】
第３の実施の形態は、ＢＤ−ＲＯＭにおいて、映像データ等のデジタルストリームと、ＨＴＭＬのような宣言型言語で記述された文書データやスクリプトで記述されたプログラムやイメージファイルで構成されるインタラクティブなコンテンツとの同期再生を実現に関する内容である。基本的には第１の実施例と第２の実施例に基づく内容であり、拡張または異なる部分を中心に説明する。
【０２３６】
（映像データとインタラクティブコンテンツの同期再生時の課題）
ＢＤ−ＲＯＭアプリケーションは、ＨＴＭＬのような宣言型言語で記述された文書データやスクリプトで記述されたプログラムおよびイメージファイル等で構成されるインタラクティブなコンテンツを、ＢＤ−ＲＯＭに設定された情報とＢＤプレーヤーのリソースを使用して、ユーザに対して表現力が豊かな提示を実現することができる。
【０２３７】
一方で、映像データ等のデジタルストリームとインタラクティブコンテンツを同期して再生する場合、早送り、巻き戻し、一時停止、一時停止からの再生、スロー再生等といった特殊再生時の再生制御状態に応じて、アプリケーションが意図した、映像データとインタラクティブコンテンツの同期再生が実現されない可能性がある。
【０２３８】
また、映像データとインタラクティブコンテンツの同期処理をコンテンツ内のスクリプトに記述する場合、映像データ等のデジタルストリームの再生制御状態の全ての状態に対して、映像データとの全ての同期制御をスクリプトで記述する必要が生じるケースが考えられる。
【０２３９】
例えば、特殊再生（早送り等）の再生速度が非常に高速な再生状態（２０倍速以上等）になった場合に、プレーヤーは映像データに事前に埋込み済のマークイベント等を発生させることができないため、スクリプト内に予めマークイベントに対応した処理が実行されず、映像データとの同期制御を実現することができなくなる可能性がある。
【０２４０】
図４１は、本発明に係る実施例３における再生装置の構成の一例を示す図である。
【０２４１】
ＨＴＭＬ処理部３１０２は、インタラクティブコンテンツを構成する、ＨＴＭＬファイルを読み込み、スタイル定義情報などに従って、画面を構成し、イベント処理部３１０４で受け付けたユーザ操作等に応じて発生するイベント、もしくはアプリケーションが発生させるイベントに対して、各イベントに関連するスクリプトを実行するモジュールである。ＡＶ再生制御部３１０３は、ＨＴＭＬ処理部からの制御コマンドや、イベント処理部３１０４で受け付けたユーザ操作等に応じて、ＢＤ−ＲＯＭ上に記録されたＡＶストリームを再生するモジュールである。ＡＶ再生制御部３１０３は、現在のＡＶストリームの再生状態の情報を含むプレーヤ変数を保持している。ＨＴＭＬ処理部３１０２、ＡＶ再生処理部３１０３は、基本的に実施例１、実施例２で説明した内容と同じであるので、ここでは詳細な説明は省略する。
【０２４２】
管理情報解析部３１０１は、実施例２で説明した、Ｃｏｎｔｅｎｔ  Ａｒｃｈｉｖｅ  Ｆｉｌｅ（以降、ＣＡＲファイルと記載する）内のＲｅｓｏｕｒｃｅ  Ｌｉｓｔ  Ｆｉｌｅ（以降、ｒｃｌファイルと記載する）を解析するモジュールである。
【０２４３】
提示処理部は３１０５は、ＨＴＭＬ処理部３１０２で処理したＨＴＭＬ文書と、ＡＶ再生制御部３１０３で処理した映像データ等のデジタルストリームの同期再生を実行するモジュールである。
ここで、本実施例を記載する前に、映像データとインタラクティブコンテンツの特殊再生時の同期再生時の動作例をスクリプトによる記述で制御する場合の動作例を下記に説明する。
【０２４４】
図４２は、映像データとインタラクティブコンテンツの同期再生の一例を記載したものである。
【０２４５】
図４３は、ｂｂｂｂ．ｈｔｍｌの記述例３３０１と、ｂｂｂｂ．ｈｔｍｌファイルが読み込む外部ファイルとして記述したスクリプトファイルｓｃｒｉｐｔ０１．ｊｓの記述例３３０２である。
【０２４６】
図４４は、ｃｃｃｃ．ｈｔｍｌの記述例３３０３である。
【０２４７】
図４５は、早送り再生時に発生したイベントに応じて、実行される処理を記述したスクリプトファイルｓｃｒｉｐｔ１１．ｊｓの記述例３３０４である。
なお、スクリプトファイルは、図４３、図４４のように、外部にスクリプトを記述したファイルを置き、＜ｓｃｒｉｐｔ＞内でｓｒｃ属性を利用してＵＲＬを指定することにより、それを読み込んで実行するだけでなく、ＨＴＭＬファイル内に＜sｃｒｉｐｔ＞タグを用いて直接記述する方法でもよい。
【０２４８】
図４２では、リモコンによるユーザ操作により、ＴＯＰ画面であるｂｂｂｂ.ｈｔｍｌ３２０１からＰｌａｙボタン３２０３が押下された後、指定されたタイトルの再生画面であるｃｃｃｃ．ｈｔｍｌ３２３１に遷移し、前記再生画面３２３１からＦａｓｔＦｏｒｗａｒｄボタン３２３２を押下された場合の、画面例を示している。
【０２４９】
以下、図４１から図４５を用いて、映像データとインタラクティブコンテンツの同期再生の詳細な動作の例を記載する。
【０２５０】
ｂｂｂｂ．ｈｔｍｌ３２０１において、ユーザ操作によるリモコン操作にてＰｌａｙボタン３２０３にカーソルもしくはフォーカスを合わせ決定ボタンを押下すると、イベント処理部３１０４は、ＨＴＭＬイベントを、ＨＴＭＬ処理部３１０２に対して、イベントを発生させ、ボタン要素のｏｎｃｌｉｃｋ属性に指示されている関数であるｆｕｎｃ２（）が実行される。
【０２５１】
ｆｕｎｃ２（）は、外部スクリプトファイル３３０２に処理の内容が別途記述されている。なお、ｆｕｎｃ１（）は、メニューボタン要素３２０２のｏｎｃｌｉｃｋ属性に指示されている関数であり、ｆｕｎｃ３（）は、ゲームボタン要素３２０４のｏｎｃｌｉｃｋ属性に指示されている関数である。
【０２５２】
ｆｕｎｃ２（）は、現在提示中のＨＴＭＬ文書ｂｂｂｂ．ｈｔｍｌから指定されたＵＲＬのｃｃｃｃ．ｈｔｍｌに画面を切り替え、タイトル００００１の再生を開始する処理が記述されている。
【０２５３】
ｆｕｎｃ２（）の実行後に提示される画面は、ｃｃｃｃ．ｈｔｍｌ３２１１と、ボタン要素として、早送り再生を表すボタン要素３２１２、停止を表すボタン要素３２１３、メニュー画面に戻るためのボタン要素３２１４で構成される。また、映像データ等のＡＶストリームであるタイトル００００１の再生画面は３２２１である。ｂｂｂｂ．ｈｔｍｌ３２０１やｃｃｃｃ．ｈｔｍｌ３２１１及び、ボタンイメージ等のモノメディアファイルは、インタラクティブグラフィックスプレーン上に提示される。映像データ等のＡＶストリーム３２２１は動画プレーン上に提示される。再生画面３２３１は前記ＨＴＭＬ文書３２１１と前記ＡＶストリーム３２２１を重ねあわせて提示したものである。
【０２５４】
再生画面３２３１は、ＨＴＭＬ文書とＡＶストリームと連動して再生されるものであり、以下、ＨＴＭＬ文書とＡＶストリームが、重ね合わせて提示されている状態を、映像同期再生と定義する。
【０２５５】
なお映像同期再生中のコンテンツは、ＡＶストリームの任意の時刻に併せてＨＴＭＬ文書を提示させてもよいし、ＡＶストリームの任意の時刻に併せて、スクリプト処理を実行し、ＨＴＭＬ文書やモノメディアファイルを切り替えて表示してもよい。
【０２５６】
ここで、映像同期再生中である再生画面３２３１の提示中において、ユーザ操作により、リモコンの早送りボタンが押下された場合の動作例を下記に示す。
【０２５７】
リモコンの早送りボタンが押下された場合、プレーヤのＡＶ再生制御部３１０３から、再生状態が通常再生から早送り再生に変化したことを示す、例えばＳｐｅｅｄＣｈａｎｇｅｄＥｖｅｎｔのようなイベントが、ＨＴＭＬ処理部３１０２にディスパッチされる。
再生画面３２３１を提示しているＨＴＭＬ文書３３０３は、外部スクリプトファイル３３０４を読み込んでおり、この外部スクリプトファイルには、イベントハンドラが記述されている。
【０２５８】
前記外部スクリプトファイル３３０４に記述されているイベントハンドラでは、ＰｌａｙＢａｃｋＥｖｅｎｔＨａｎｄｌｅｒ（）が記述され、前記ＰｌａｙＢａｃｋＥｖｅｎｔＨａｎｄｌｅｒ（）には、イベントのタイプ及び早送り速度に対応した処理内容がそれぞれ記述されている。
【０２５９】
外部スクリプトファイル３３０４を読み込んでいるＨＴＭＬ文書３３０３は、受信したイベントのタイプよって、それぞれ提示するボタン属性を、”ｖｉｓｉｖｌｅ”にしたり”ｈｉｄｄｅｎ”に変更する。
【０２６０】
ＰｌａｙＢａｃｋＥｖｅｎｔＨａｎｄｌｅｒ（）の引数である早送り速度は、プレーヤーの特殊再生の設定や、リモコンの早送りボタンの押下回数によって速度が、様々なパターンがあり、スクリプトで事前に各速度に対応した処理を記述しておかなければならない。本実施例では、２倍速以下、４倍速、８倍速の３つのパターンに関して外部スクリプトファイル３３０４に記述されているが、より多くのパターンの処理をイベントハンドラに記述しておく必要が生じるケースがある。
【０２６１】
なお、今回の動作例では、早送り時の特殊再生のケースを記述したが、早送り以外にも、巻き戻し、スロー再生、Ｎ倍速再生（Ｎは整数を示す）等がある。
【０２６２】
早送り中の映像同期再生画面３２４１は、２倍速以下の早送り再生時の提示状態である。２倍速以下のケースでは、ＨＴＭＬ文書と映像が同期された状態で提示され続け、ボタン要素３２４２、３２４３、３３４４の各々は、早送り再生されているＡＶストリームに同期して提示されている。
【０２６３】
一方、早送り中の映像同期再生３２５１では、８倍速での早送り再生時の提示状態である。８倍速のケースでは、映像のみの画面３２５１が提示され続け、ＨＴＭＬ文書や、ボタン要素等が早送り再生中に提示されていないことを示し、結果として映像同期再生が行なわれていないことを示す。
【０２６４】
このように、映像データ等のＡＶストリームと、インタラクティブコンテンツの特殊再生時における同期再生をスクリプトで制御する場合、スクリプトファイル内に、特殊再生時の全てのイベント処理を事前に設定しておく必要があり、コンテンツの制作がより複雑になることが分かる。
【０２６５】
そこで、上記課題を解決するために、ＨＴＭＬのような宣言型言語で記述された文書データやスクリプトで記述されたプログラムおよびイメージファイル等で構成されるインタラクティブなコンテンツに対して、映像データ等のデジタルストリームとの同期再生を実現するか否かを設定する仕組みを提供する。
【０２６６】
より具体的には、実施例２で記述した、Ｒｅｓｏｕｒｃｅ  Ｌｉｓｔ  Ｆｉｌｅの内部構造に含まれているＤｉｒｅｃｔｏｒｙの属性情報と、Ｆｉｌｅの属性情報に対して、当該ディレクトリやファイルが属性を特殊再生時における映像データとの同期再生を行なうか否かを設定可能な記述子を記載する機能を提供する。
【０２６７】
なお、前記ディレクトリの属性情報およびファイル属性情報の設定項目は、カスケード処理に基づき、一番最下位の設定項目が上書きされ有効になる。
【０２６８】
（課題を解決するための手段）
ＨＴＭＬブラウザが、映像データ等のデジタルストリームとの同期再生を実現するか否かを設定するために、前記Ｒｅｓｏｕｒｃｅ  Ｌｉｓｔ  Ｆｉｌｅに、同期再生を実現するか否かを識別する映像同期再生許可設定を追加する。
【０２６９】
図４６は図４０で示したバイナリ形式のＲｅｓｏｕｒｃｅ  Ｌｉｓｔ  ＦｉｌｅのＢａｓｅＩｎｆｏに、映像同期再生許可設定情報を示した図である。
【０２７０】
＜ＢａｓｅＩｎｆｏ＞に、ＴｒｉｃｋＰｌａｙＩｎｆｏ情報を付与する。ＴｒｉｃｋＰｌａｙＩｎｆｏは０ＦＦかＯＮのみの値を取る。ここでＴｒｉｃｋＰｌａｙＩｎｆｏの値がＯＮならば、ＨＴＭＬブラウザは、映像データの特殊再生中に、インタラクティブコンテンツ（ＨＭＴＬ文書やＭｏｎｏｍｅｄｉａファイル等のリソース）を提示し続ける。
【０２７１】
一方、ＴｒｉｃｋＰｌａｙＩｎｆｏの値がＯＦＦならば、ＨＴＭＬブラウザは、特殊再生中では、映像データとインタラクティブコンテンツを提示しない。なお、本実施例ではＲｅｓｏｕｒｃｅ  Ｌｉｓｔ  ＦｉｌｅのＢａｓｅＩｎｆｏにＴｒｉｃｋＰｌａｙＩｎｆｏを導入したため、当該ＣｏｎｔｅｎｔｓＡｒｉｃｈｉｖｅＦｉｌｅコンテンツの実行において常にそのＴｒｉｃｋＰｌａｙＩｎｆｏの値が有効であるが、例えばこのＴｒｉｃｋＰｌａｙＩｎｆｏ情報をＤｉｒｅｃｔｏｒｙ情報やＦｉｌｅ情報に導入すれば、ディレクトリ単位、あるいはファイル単位でその有効範囲を指定することも可能である。
【０２７２】
図４７に、ＣｏｎｔｅｎｔｓＡｒｉｃｈｉｖｅＦｉｌｅ（ＣＡＲファイル）の内容の例を示す。
【０２７３】
ＣｏｎｔｅｎｔｓＡｒｃｈｉｖｅＦｉｌｅ（３５００）は、１つのＲｅｓｏｕｒｃｅＬｉｓｔＦｉｌｅと、１つのＳｉｇｎａｔｕｒｅＦｉｌｅと、１つのＨＴＭＬ  Ｆｉｌｅと、７つのＭｏｎｏ−Ｍｅｄｉａファイルから構成されている。
【０２７４】
ＲｅｓｏｕｒｃｅＬｉｓｔＦｉｌｅには、コンテンツを構成するディレクトリやファイルの論理構成情報が格納されており、ディレクトリやファイル単位毎に、前記同期再生許可項目が設定されている。
【０２７５】
１つのＨＴＭＬ  Ｆｉｌｅは、ＨＴＭＬ処理部３１０２が提示する文書ファイルであり、インタラクティブプレーン上に背景色が透明に設定された枠のみのＨＴＭＬファイルである。（３５０１）
７つのＭｏｎｏ−ｍｅｄｉａファイルは、インタラクティブプレーン上に配置される、ｉｍａｇｅオブジェクトであり、ＨＴＭＬ文書内で配置されるボタンイメージファイルを示す。ボタンイメージは、ｊｐｇ画像である。なお、ボタンイメージ等を示すＭｏｎｏ−ｍｅｄｉａファイルは、ｇｉｆでもよいし、ＰＮＧであってもよい。本実施例におけるコンテンツを構成するＭｏｎｏ−ｍｅｄｉａファイルは、巻戻しボタンのイメージファイル（３５０２）、一時停止ボタンのイメージファイル（３５０３）、停止ボタンのイメージファイル（３５０４）、早送りボタンのイメージファイル（３５０５）、ＴｏｐＭｅｎｕに遷移するためのボタンイメージファイル（３５０６）、再生ボタンのイメージファイル（３５０７）通常再生中に表示されるイメージファイル（３５０８）、特殊再生中に表示されるイメージファイル（３５０９）である。
【０２７６】
（映像同期再生許可設定が全てＯＮの時）
ここで図４８に、前記図４７に記載されているＣＡＲファイルに基づいた、映像データとコンテンツとの同期再生の実施例を示す。
【０２７７】
ユーザは、ＴＯＰメニューやある任意の画面から、視聴したいＴｉｔｌｅを選択すると（Ｓ８０１）、イベント処理部３１０４が受信したイベントのタイプに基づき、ＨＴＭＬ処理部３１０２は、選択されたＴｉｔｌｅを構成するコンテンツの設定状態を確認するために、ＣＡＲファイルをプリロードし（Ｓ８０２）、プリロードされたＣＡＲファイル内のリソースリストファイルをプレーヤのメモリ上に展開し、ディレクトリの属性情報及びファイルの属性情報を解釈する（Ｓ８０３）。
【０２７８】
ＨＴＭＬ処理部３１０２は、ＨＴＭＬ文書を読み込み（Ｓ８０４）、ＡＶ再生制御部３１０３に対して、Ｔｉｔｌｅ１に紐付けられたプレイリストの再生命令を実行して、ＡＶストリームとコンテンツの同期再生を開始する（Ｓ８０５）。
【０２７９】
上記同期再生開始処理は、タイトル選択からの処理シーケンスを示しているが、ここで図５７を用いて、再生状態からユーザ操作による早送り状態にＡＶ再生状態が変化した場合における処理シーケンスを説明する。ＨＴＭＬブラウザは、前記ＡＶ再生制御部３１０２を用いて、ＡＶストリームの再生状態を監視している（Ｓ１００１）。特殊再生イベントをイベント処理部３１０４が受信すると（Ｓ１００２）、前記イベント処理部は早送りイベントをＨＴＭＬ処理部３１０２に投げ、管理情報解析部３１０１のリソースリストファイルにおけるディレクトリの属性情報及びファイルの属性情報の設定をＨＴＭＬ処理部３１０２に通知する（Ｓ１００３）。設定情報がＯＮの場合、ＨＴＭＬ処理を実行し（Ｓ１００４）、提示処理部３１０５がＨＴＭＬ文書を、ＡＶストリームと同期させて画面提示を行う（Ｓ１００５）。
【０２８０】
本実施例では、最初に出現するＤｉｒｅｃｔｏｒｙに、ＨＴＭＬファイル及びＭｏｎｏ−ｍｅｄｉａファイルが配置されており、ディレクトリの属性情報に、特殊再生中の映像同期再生を許可する設定項目（以下、映像同期再生許可設定）がＯＮの場合の例に関して説明する。
【０２８１】
なお、ディレクトリの属性情報及びファイルの属性情報を解釈する処理は、再生コマンド実行前で処理を行なってもよいし、予めＣＡＲファイルがプレーヤーのメモリやフラッシュ、ＨＤＤ、永続記憶領域等のテンポラリの領域にプリロードされた場合に、事前にリソースリストファイル内に設定されている設定項目を解釈しておいてもよい。
【０２８２】
図４８は、時刻Ｔ１からＴ４まで再生される、陸上競技の短距離走のコンテンツである。
時刻Ｔ１から映像データの再生開始前に、ＨＴＭＬ処理部３１０２は、前記３５００〜３５０９のＨＴＭＬ文書並びにボタンイメージを予めＨＴＭＬ文書に設定されているスタイルシートの設定に基づきレイアウトを行い、時刻Ｔ１から映像データの提示中に映像データ等のＡＶストリームを連動させて提示する。（画面３６０１）
時刻Ｔ１から時刻Ｔ２の間は、ユーザは、Ｔｉｔｌｅ１を通常再生で視聴しているため、ＨＴＭＬ処理部３１０２は、画面３６０１を継続して提示し続ける。画面３６０１の右上、即ちインタラクティブグラフィックスプレーン上で提示されているＨＴＭＬ文書の右上の位置に、通常再生中のボタンイメージ（図４７の３５０８）が表示される。
【０２８３】
ここで、ユーザが画面３６０１において、時刻Ｔ２で、早送りボタンを選択すると、ＨＴＭＬ処理部３１０２は、プレーヤーのＡＶ再生制御部３１０３へ、ボタンイメージに設定されている制御命令を呼び出し、早送りコマンドを実行する。
【０２８４】
プレーヤーのＡＶ再生制御部３１０３は、早送りを開始し、ＨＴＭＬ処理部３１０２に特殊再生（早送り）イベントを上げ、、ＨＴＭＬ処理部３１０２は、前記特殊再生イベントを受信し、イベントのタイプが特殊再生（早送り）イベントで有る場合に、時刻Ｔ２まで提示し続けていた通常再生中のイメージファイル（図４７の３５０８）を、特殊再生（早送り）中のイメージファイル（図４７の３５０９）に置き換えて画面３６０１の提示処理を行なう。特殊再生（早送り）中の画面例は、画面３６０２で示される。
【０２８５】
映像データ等のＡＶストリームの表示が早送り状態になるが、映像同期再生許可設定がＯＮであるため、コンテンツを構成するＨＴＭＬ文書と操作用のボタンイメージ（巻戻しボタン３５０２、一時停止ボタン３５０３、停止ボタン３５０４、早送りボタン３５０５、メニューボタン３５０６）は、映像データ等のＡＶストリームが早送り状態でも、提示され続ける。
【０２８６】
ユーザは、時刻Ｔ３で、再生ボタン（図４７の３５０７）を選択すると、ＨＴＭＬ処理部３１０２は、プレーヤーのＡＶ再生制御部３１０３に対して、ボタンイメージに設定されている制御命令を呼び出し、再生コマンドを命令する。
【０２８７】
プレーヤーのＡＶ再生制御部３１０３は、早送りを停止し、通常再生を開始し、ＨＴＭＬ処理部３１０２に対して再生イベントを投げ、ＨＴＭＬ処理部３１０２は、前記再生イベントを受信し、イベントのタイプが再生イベントで在った場合に、時刻Ｔ３まで提示し続けていた、特殊再生中のイメージファイル（図４７の３５０９）を、再生中のイメージファイル（図４７の３５０８）に置き換えて提示処理を行なう。
【０２８８】
時刻Ｔ４の時、Ｔｉｔｌｅ１の映像データは、再生が終了する。なお、再生終了後のプレーヤーの動作は、ＨＴＭＬ処理部３１０２は、最終提示画面のまま、ユーザオペレーションの待機状態であってもよいし、ＴｏｐＭｅｎｕに自動で遷移してもよいし、映像再生制御機能からの指定されたタイトルへの遷移イベントを受信し、そのイベントのコンテキストに従って終了処理を実行してもよい。
【０２８９】
なお時刻Ｔ１〜Ｔ４は、プレーヤーの内部クロックであってもよいし、Ｔｉｔｌｅを構成する現在再生中のクリップ映像の先頭からの相対時刻であってもよいし、現在再生中のプレイアイテムの相対時刻であってもよい。
（映像同期再生許可設定が一部ＯＮの時）
次に図４９に特殊再生時の映像データとインタラクティブコンテンツとの同期再生の中で、特定のファイルの属性情報に対して映像同期再生許可設定がＯＮになっている場合の例を示す。
【０２９０】
本実施例では、図４７の３５００のＨＴＭＬ文書ファイル及び３５０９の特殊再生中に表示されるイメージファイルに対して映像同期再生設定項目がＯＮであり、他のボタンイメージファイルのファイルの属性情報には、映像同期再生許可設定項目がＯＦＦに設定されている場合について下記に記載する。
【０２９１】
図４８は、時刻Ｔ１からＴ４まで再生される、陸上競技の短距離走のコンテンツである。
時刻Ｔ１から映像データの再生開始前に、ＨＴＭＬ処理部３１０２は、前記３５００〜３５０９のＨＴＭＬ文書並びにボタンイメージを予めＨＴＭＬ文書に設定されているスタイルシートの設定に基づきレイアウトを行い、時刻Ｔ１から映像データの提示中に映像データ等のＡＶストリームを連動させて提示する。（画面３６１１）
時刻Ｔ１から時刻Ｔ２の間は、ユーザは、Ｔｉｔｌｅ１を通常再生で視聴しているため、ＨＴＭＬ処理部３１０２は、画面３６１１を継続して提示し続ける。画面３６１１の右上、即ちインタラクティブグラフィックスプレーン上で提示されているＨＴＭＬ文書の右上の位置に、通常再生中のボタンイメージ（図４７の３５０８）が表示される。
【０２９２】
ここで、ユーザが画面３６１１において、時刻Ｔ２で、早送りボタンを選択すると、
ＨＴＭＬ処理部３１０２は、プレーヤーのＡＶ再生制御部３１０３に対して、ボタンイメージに設定されている制御命令を呼び出し、早送りコマンドを実行する。
【０２９３】
プレーヤーのＡＶ再生制御部３１０３は、早送りを開始し、ＨＴＭＬ処理部３１０２に特殊再生（早送り）イベントを上げ、、ＨＴＭＬ処理部３１０２は、前記特殊再生イベントを受信し、イベントのタイプが特殊再生（早送り）イベントで有る場合に、時刻Ｔ２まで提示し続けていた通常再生中のイメージファイル（図４７の３５０８）を、特殊再生（早送り）中のイメージファイル（図４７の３５０９）に置き換えて画面３６０１の提示処理を行なう。特殊再生（早送り）中の画面例は、画面３６１２で示される。
【０２９４】
映像データ等のＡＶストリームの表示が早送り状態になるが、特殊再生中のイメージファイル（図４７の３５０９）は、映像同期再生許可設定がＯＮであるため、映像データが早送り再生中でも、図４９の画面３６１２、３６１３のように、画面右上にＭｏｎｏ−ｍｅｄｉａファイルを提示し続けることが可能である。
【０２９５】
しかしながら、図４７の３５０２、３５０３、３５０５、３５０６、３５０７の各ボタンイメージファイルのファイルの属性情報は、映像同期再生許可設定項目がＯＦＦに設定されており、時刻Ｔ２から時刻Ｔ３の間、前記３５０２、３５０３、３５０５、３５０６、３５０７の各ボタンイメージファイルは、特殊再生時に非表示になる。
【０２９６】
ユーザは、時刻Ｔ３で、再生ボタン（図４７の３５０７）を選択すると、ＨＴＭＬ処理部３１０２は、プレーヤーのＡＶ再生制御部３１０３に対して、ボタンイメージに設定されている制御命令を呼び出し、再生コマンドを命令する。
【０２９７】
プレーヤーのＡＶ再生制御部３１０３は、早送りを停止し、通常再生を開始し、ＨＴＭＬ処理部３１０２に再生イベントを投げ、ＨＴＭＬ処理部３１０２は、前記再生イベントを受信し、イベントのタイプが再生イベントで在った場合に、時刻Ｔ３まで提示し続けていた、特殊再生中のイメージファイル（図４７の３５０９）を、再生中のイメージファイル（図４７の３５０８）に置き換えて提示処理を行なう。
【０２９８】
また、時刻Ｔ３以降は、特殊再生状態から通常再生状態に再生状態が変更するため、前期図４７の３５０２、３５０３、３５０４、３５０５、３５０６の各ボタンイメージが非表示から表示の状態に切り替わる。（画面３６１４）
時刻Ｔ４の時、Ｔｉｔｌｅ１の映像データは、再生が終了する。なお、再生終了後のプレーヤーの動作は、ＨＴＭＬ処理部３１０２は、最終提示画面のまま、ユーザオペレーションの待機状態であってもよいし、ＴｏｐＭｅｎｕに自動で遷移してもよいし、映像再生制御機能からの指定されたタイトルへの遷移イベントを受信し、そのイベントのコンテキストに従って終了処理を実行してもよい。
【０２９９】
なお時刻Ｔ１〜Ｔ４は、プレーヤーの内部クロックであってもよいし、Ｔｉｔｌｅを構成する現在再生中のクリップ映像の先頭からの相対時刻であってもよいし、現在再生中のプレイアイテムの相対時刻であってもよい。
【０３００】
（映像同期再生許可設定が全てＯＦＦの時）
次に、特殊再生時の映像データとインタラクティブコンテンツとの同期再生の中で、ディレクトリ付加情報に対して映像同期再生許可設定がＯＦＦになっている場合の動作例を図５０に記載する。
【０３０１】
本実施例では、図４７の３５０２〜３５０９の全てのイメージファイルに対して映像同期再生許可設定がＯＦＦに設定されている場合について下記に記載する。
【０３０２】
図５０は、時刻Ｔ１からＴ４まで再生される、陸上競技の短距離走のコンテンツである。
【０３０３】
時刻Ｔ１から映像データの再生開始前に、ＨＴＭＬ処理部３１０２は、前記３５００〜３５０９のＨＴＭＬ文書並びにボタンイメージを予めＨＴＭＬ文書に設定されているスタイルシートの設定に基づきレイアウトを行い、時刻Ｔ１から映像データの提示中に映像データ等のＡＶストリームを連動させて提示する。（画面３６１１）
時刻Ｔ１から時刻Ｔ２の間は、ユーザは、Ｔｉｔｌｅ１を通常再生で視聴しているため、ＨＴＭＬ処理部３１０２は、画面３６２１を継続して提示し続ける。画面３６２１の右上、即ちインタラクティブグラフィックスプレーン上で提示されているＨＴＭＬ文書の右上の位置に、通常再生中のボタンイメージ（図４７の３５０８）が表示される。
【０３０４】
ここで、ユーザが画面３６２１において、時刻Ｔ２で、早送りボタンを選択すると、
ＨＴＭＬ処理部３１０２は、プレーヤーのＡＶ再生制御部３１０３に対して、ボタンイメージに設定されている拡張ＡＰＩを呼び出し、早送りコマンドを命令する。
【０３０５】
プレーヤーのＡＶ再生制御部３１０３は、早送りを開始し、ＨＴＭＬ処理部３１０２に特殊再生イベントを投げ、ＨＴＭＬ処理部３１０２は、前記特殊再生イベントを受信し、イベントのタイプが特殊再生イベントで在った場合に、時刻Ｔ２まで提示し続けていた、各イメージファイルを非表示にし、画面３６２１の提示処理を行なう。
【０３０６】
この場合、映像データの表示が早送り表示になり、特殊再生中のイメージファイルは、映像同期再生許可設定がOFFであるため、時刻T２〜T３の特殊再生中の期間は、非表示となる。
【０３０７】
ここで、ユーザが画面３６２１において、時刻Ｔ２で、早送りボタンを選択すると、ＨＴＭＬ処理部３１０２は、プレーヤーのＡＶ再生制御部３１０３に対して、ボタンイメージに設定されている制御命令を呼び出し、早送りコマンドを実行する。
【０３０８】
プレーヤーのＡＶ再生制御部３１０３は、早送りを開始し、ＨＴＭＬ処理部３１０２に特殊再生（早送り）イベントを上げ、ＨＴＭＬ処理部３１０２は、前記特殊再生イベントを受信し、イベントのタイプが特殊再生（早送り）イベントで有る場合に、時刻Ｔ２まで提示し続けていた、各イメージファイルを非表示にし、画面３６２１の提示処理を行なう。（画面３６２２）
この場合、映像データ等のＡＶストリームの表示が早送り状態になるが、ボタンイメージのＭｏｎｏ−Ｍｅｄｉａファイルや特殊再生中のイメージファイルは、映像同期再生許可設定が全てＯＦＦであるため、映像データが早送り再生中でも、図５０の画面３６２２、３６２３のように、映像データ等のＡＶストリームのみがビデオプレーン上に示される。
【０３０９】
なお、インタラクティブグラフィックスプレーン上のＨＴＭＬブラウザのプロセスはｋｉｌｌ状態であってもよいし、ＨＴＭＬブラウザはファイルを提示せずに行き続けていてもよい。
【０３１０】
また、時刻Ｔ２のタイミングでＨＴＭＬ文書３５０１を別のＨＴＭＬ文書に切り替えて表示したりする実施例でも、本実施例の動作は実現可能である。
【０３１１】
ユーザは、時刻Ｔ３のタイミングで、リモコンボタンの再生ボタン等を押下すると、リモコンのキーイベントを、イベント処理部３１０４が受信し、ＨＴＭＬ処理部３１０２と、ＡＶ再生制御部３１０３にイベントのタイプを上げ、プレーヤーのＡＶ再生制御部３１０３は、早送りを停止し、通常再生を開始し、ＨＴＭＬ処理部は、時刻Ｔ３から、ＣＡＲファイル内のボタンイメージ等を適切に提示する。（画面３６２４）表示する。
【０３１２】
時刻Ｔ４の時、Ｔｉｔｌｅ１の映像データは、再生が終了する。
【０３１３】
ＨＴＭＬ処理部３１０２は、最終提示画面のまま、ユーザオペレーションの待機状態であってもよいし、ＴｏｐＭｅｎｕに自動で遷移してもよいし、映像再生制御機能からの指定されたタイトルへの遷移イベントを受信し、そのイベントのコンテキストに従って終了処理を実行してもよい。
【０３１４】
なお時刻Ｔ１〜Ｔ４は、プレーヤーの内部クロックであってもよいし、Ｔｉｔｌｅを構成する現在再生中のクリップ映像の先頭からの相対時刻であってもよいし、現在再生中のプレイアイテムの相対時刻であってもよい。
【０３１５】
なお、本実施例では、ディレクトリの属性情報の映像同期許可設定をＯＮに設定した場合や、ディレクトリの属性情報の映像同期許可設定をＯＦＦに設定した場合や、ファイルの属性情報の特定のファイルに、映像同期許可設定をＯＮに設定した場合の実施例を記載したが、ディレクトリの属性情報、及びファイルの属性情報へ映像同期許可設定を追加する場合は、インタラクティブコンテンツの構成によっては、幾多の設定方法が考えられ、複数のディレクトリに対して、ディレクトリ毎にディレクトリの属性情報へ映像同期許可設定を設定したり、複数のファイルに対して、ファイル毎にファイルの属性情報へ映像同期許可設定を設定したりしてもよい。
【０３１６】
以上のように、ＣＡＲファイル内のリソースリストファイル内のディレクトリの属性情報及びファイルの属性情報に対して、映像同期再生許可設定のＯＮやＯＦＦを設定することで、インタラクティブコンテンツと映像データ等のＡＶストリームを同期させて再生するか否かという提示方法を、予めコンテンツの制作時に設定することができるため、インタラクティブコンテンツを構成する各宣言型言語で記述された文書毎に、特殊再生中の様々状態（早送り、巻き戻し、スロー再生、Ｎ倍速再生等）に応じて、インタラクティブコンテンツと映像データ等のＡＶストリームとの同期処理を実現するスクリプトを記述するよりも、明らかに制作の容易性が向上し、ユーザに対する柔軟な提示を実現することが可能となる。
【０３１７】
なお、本実施例では、アプリケーションデータを管理する管理情報であるＲｅｓｏｕｒｃｅ  Ｌｉｓｔ  Ｆｉｌｅの構造としてバイナリ形式を用いたが、例えばＸＭＬ形式で記述されていてもよいし、宣言型記述言語を用いた形式で記述されていても良い。
【０３１８】
また、本実施例では、アプリケーションの記述言語としてＨＴＭＬを用いたが、これに限るものではない。プレーヤが解釈可能なものであれば、例えば、画面構成を定義する独自のＸＭＬ言語であってもよいし、ＸＨＴＭＬであってもよく、また必ずしもＸＭＬ形式である必要もない。
【０３１９】
（実施例４）
次に本発明の第４の実施の形態について説明する。
【０３２０】
第４の実施の形態は、ＢＤ−ＲＯＭ再生環境において、ＢＤ−ＲＯＭに記録されたアプリケーションの中で、映像データ等のＡＶストリームとインタラクティブコンテンツの同期再生中に、特定のファイルや、映像データと同期したシーンを記録する機能に関する内容である。
【０３２１】
基本的には、第１の実施例や第２の実施例や第３の実施例に基づく内容であり、拡張または異なる部分を中心に説明する。
【０３２２】
（映像データとインタラクティブコンテンツの同期シーンの記録時の課題）
ＢＤ−ＲＯＭアプリケーションは、ＨＴＭＬのような宣言型言語で記述された文書データやスクリプトで記述されたプログラムおよびイメージファイル等で構成されるインタラクティブなコンテンツを、ＢＤ−ＲＯＭに設定された情報とＢＤプレーヤーのリソースを使用して、ユーザに対して表現力が豊かな提示を実現することができる。
【０３２３】
またＢＤ−ＲＯＭアプリケーションは、ユーザに対して、ＢＤ−ＲＯＭに記録されたコンテンツや、表現力に富んだアプリケーションの視聴時に、ユーザの好みのシーンやお気に入りのシーンをプレーヤーに記録させることが可能である。
【０３２４】
さらにＢＤ−ＲＯＭアプリケーションは、ユーザに対して、再度ＢＤ−ＲＯＭに記録されたコンテンツを視聴する場合に、以前に記録した好みのシーンやお気に入りのシーンの一覧を表示し、ユーザが選択した好みのシーンやお気に入りのシーンからの再生を開始する機能を提供することが可能である。
【０３２５】
従来の一般的なＷＥＢブラウザの機能としてＢｏｏｋｍａｒｋ機能（以下、Ｂｏｏｋｍａｒｋ）が提供されている。Ｂｏｏｋｍａｒｋとは、ユーザが頻繁にアクセスするＷｅｂサイトのアドレスを記録しておく機能であり、ユーザのメリットとして、ユーザの好みのページをＢｏｏｋｍａｒｋしておくことで、わざわざＵＲＬを入力する必要はなく、またＷＥＢページのリンクを辿って行く手間を省くことができる。
【０３２６】
ここで図５１、図５２を用いて、映像データ等のＡＶストリームとインタラクティブコンテンツを同期して再生する場合において、ある特定のシーンやインタラクティブコンテンツを同期させてＢｏｏｋｍａｒｋする場合の動作制御例を説明する。
【０３２７】
図５１は、インタラクティブコンテンツとＡＶストリームの同期状態を示している。
【０３２８】
画面４３０１は、ＨＴＭＬブラウザが、ＨＴＭＬ文書１１１１．ｈｔｍｌとＭＮＧファイル１（４３０２）で構成するインタラクティブコンテンツと、時刻Ｔ１からＴ２の区間に再生するＡＶストリーム（４３１１）と同期して提示した画面である。
【０３２９】
画面４３０３は、ＨＴＭＬブラウザが、ＨＴＭＬ文書１１１２．ｈｔｍｌとＭＮＧファイル２（４３０４）で構成するインタラクティブコンテンツと、時刻Ｔ２からＴ３の区間に再生するＡＶストリーム（４３１２）と同期して提示した画面である。
【０３３０】
画面４３０５は、ＨＴＭＬブラウザが、ＨＴＭＬ文書１１１３．ｈｔｍｌとＭＮＧファイル３（４３０６）で構成するインタラクティブコンテンツと、時刻Ｔ３からＴ４の区間に再生するＡＶストリーム（４３１３）と同期して提示した画面である。
【０３３１】
本実施例では、４３１１から４３１３までを、再生を実行する単位として纏められた１つのリスト（以下、ＰｌａｙＬｉｓｔファイル）としている。
【０３３２】
ＡＶストリームの再生は、ＨＴＭＬコンテンツが再生開始コマンドを呼ぶ際に、ＰｌａｙＬｉｓｔファイルを指定すると、指定されたＰｌａｙＬｉｓｔファイルに紐付けられたＡＶストリームの再生が開始する。
【０３３３】
なお、再生するＡＶストリームは、時刻Ｔ１からＴ２の区間（４３１１）、時刻Ｔ２からＴ３の区間（４３１２）、時刻Ｔ３からＴ４の区間（４３１３）の各々を、再生を実行する単位として構成しても良い。
【０３３４】
時刻Ｔ１のタイミングで、あるＴｉｔｌｅの再生開始をプレーヤーに要求すると、ＨＴＭＬブラウザは、ユーザのリモコン操作によるイベントを、イベント処理部３１０４で受信し、ＨＴＭＬ処理部３１０２にイベント投げ、ＨＴＭＬコンテンツは、ＡＶストリームの再生を開始するために、ＡＶ再生制御部３１０３に対して再生開始コマンドを実行し、前記ＡＶ再生制御部３１０３は、再生開始コマンドに指定されたＰｌａｙＬｉｓｔファイルの再生を開始する。
【０３３５】
時刻Ｔ１から時刻Ｔ２の間は、ＡＶストリームは、四角の映像（４３１４）を提示し、ＨＴＭＬコンテンツは、顔のイメージを表すＭＮＧファイル１（４３０２）を提示する。
【０３３６】
時刻Ｔ２から時刻Ｔ３の間は、ＡＶストリームは、丸の映像（４３１５）を提示し、ＨＴＭＬコンテンツは、顔のイメージを表すＭＮＧファイル２（４３０４）を提示する。
【０３３７】
時刻Ｔ１から時刻Ｔ２の間は、ＡＶストリームは、三角の映像（４３１６）を提示し、ＨＴＭＬコンテンツは、顔のイメージを表すＭＮＧファイル３（４３０６）を提示する。
【０３３８】
ユーザが、時刻ＴＮのタイミングで、リモコンのＢｏｏｋｍａｒｋボタンを押下すると、映像データ等のＡＶストリームとインタラクティブコンテンツを同期させてＢｏｏｋｍａｒｋする場合、ＨＴＭＬコンテンツ１１１２．ｈｔｍｌ（４３０３）と、丸の映像（４３１５）であるＭＮＧファイル２（４３０４）が、プレーヤーの一時記憶領域にお気に入りとして記録される。
【０３３９】
図５２の４４０１に、ユーザがＢｏｏｋｍａｒｋした映像データ等のＡＶストリームとインタラクティブコンテンツ（ＨＴＭＬコンテンツ）の画面を示す。
【０３４０】
一方で、ユーザがプレーヤーのレジデントアプリから、Ｂｏｏｋｍａｒｋしたお気に入りコンテンツの一覧を表示する場合、ＢｏｏｋｍａｒｋしたＨＴＭＬ文書１１１２．ｈｔｍｌには、どのＰｌａｙＬｉｓｔファイルを再生しているかを指定するコマンドが記述されていないため、プレーヤーのレジデントアプリは、ＨＴＭＬコンテンツとＡＶストリームを提示して、お気に入りリスト一覧を表示しようとすると、ＨＴＭＬコンテンツしか提示できない場合がある。
【０３４１】
また、ユーザが、時刻ＴＮのタイミングで、リモコンのＢｏｏｋｍａｒｋボタンを押下した場合、プレーヤーのレジデンドアプリで、現在再生中のＰｌａｙＬｉｓｔファイルの識別するＵＲＩを記録し、前記ＵＲＩを元に、Ｂｏｏｋｍａｒｋ登録時に再生されていたＡＶストリームを識別し、ＡＶストリームの先頭シーンとＢｏｏｋｍａｒｋしたＨＴＭＬ文書１１１２．ｈｔｍｌ及びＭＮＧファイル２（４３０４）を重ね合わせて、
レジデンドアプリは、お気に入りリスト提示時に、ＡＶストリームの先頭シーンが四角の映像（４３１４）として表示される。この画面例を図５２の４４０２に示す。
【０３４２】
このように、映像データ等のＡＶストリームとインタラクティブコンテンツの同期再生時におけるＢｏｏｋｍａｒｋ機能を実現する場合、コンテンツの構成によっては、ユーザが意図した映像データとインタラクティブコンテンツのお気に入りのシーンと、プレーヤーがお気に入りリスト一覧を表示する際に、表示されるお気に入りのシーンが異なる課題が生じる。
【０３４３】
そこで、上記課題を解決するために、ＨＴＭＬのような宣言型言語で記述された文書データやスクリプトで記述されたプログラムおよびイメージファイル等で構成されるインタラクティブなコンテンツに対して、映像データ等のデジタルストリームの同期再生時に、Ｂｏｏｋｍａｒｋ機能を有効にするか否かを設定する仕組み（以下、Ｂｏｏｋｍａｒｋ登録許可設定）を提供する。
【０３４４】
より具体的には、実施例２及び実施例３で記述した、Ｒｅｓｏｕｒｃｅ  Ｌｉｓｔ  Ｆｉｌｅの内部構造に含まれているＤｉｒｅｃｔｏｒｙの属性情報と、Ｆｉｌｅの属性情報に対して、当該ディレクトリやファイルが属性を特殊再生時における映像データとの同期再生を行なうか否かを設定可能な記述子を記載する機能を提供する。
【０３４５】
なお、前記ディレクトリの属性情報およびファイル属性情報の設定項目は、カスケード処理に基づき、一番最下位の設定項目が上書きされ有効になる。
【０３４６】
（課題を解決するための手段）
ＨＴＭＬブラウザが、ＨＴＭＬのような宣言型言語で記述された文書データやスクリプトで記述されたプログラムおよびイメージファイル等で構成されるインタラクティブなコンテンツと、映像データ等のデジタルストリームとの同期再生時にＢｏｏｋｍａｒｋ機能を有効にするか否かを設定するために、前記Ｒｅｓｏｕｒｃｅ  Ｌｉｓｔ  Ｆｉｌｅに、Ｂｏｏｋｍａｒｋ機能を有効にするか否かを識別するＢｏｏｋｍａｒｋ登録許可設定を追加する。
【０３４７】
図５１は図４０で示したバイナリ形式のＲｅｓｏｕｒｃｅ  Ｌｉｓｔ  ＦｉｌｅのＢａｓｅＩｎｆｏに、映像同期再生許可設定情報を示した図である。
【０３４８】
＜ＢａｓｅＩｎｆｏ＞に、ＢｏｏｋｍａｒｋＩｎｆｏ情報を付与する。ＢｏｏｋｍａｒｋＩｎｆｏは０ＦＦかＯＮのみの値を取る。ここでＢｏｏｋｍａｒｋＩｎｆｏの値がＯＮならば、ＨＴＭＬブラウザは、映像データの特殊再生中に、インタラクティブコンテンツ（ＨＭＴＬ文書やＭｏｎｏｍｅｄｉａファイル等のリソース）を提示し続ける。
一方、ＢｏｏｋｍａｒｋＩｎｆｏの値がＯＦＦならば、ＨＴＭＬブラウザは、特殊再生中では、映像データとインタラクティブコンテンツを提示しない。なお、本実施例ではＲｅｓｏｕｒｃｅ  Ｌｉｓｔ  ＦｉｌｅのＢａｓｅＩｎｆｏにＢｏｏｋｍａｒｋＩｎｆｏを導入したため、当該ＣｏｎｔｅｎｔｓＡｒｉｃｈｉｖｅＦｉｌｅコンテンツの実行において常にそのＢｏｏｋｍａｒｋＩｎｆｏの値が有効であるが、例えばこのＢｏｏｋｍａｒｋＩｎｆｏ情報をＤｉｒｅｃｔｏｒｙ情報やＦｉｌｅ情報に導入すれば、ディレクトリ単位、あるいはファイル単位でその有効範囲を指定することも可能である。
【０３４９】
図５４に、あるＣｏｎｔｅｎｔｓＡｒｉｃｈｉｖｅＦｉｌｅの内容を示す。
ＣｏｎｔｅｎｔｓＡｒｃｈｉｖｅＦｉｌｅ（４５００）は、１つのＲｅｓｏｕｒｃｅＬｉｓｔＦｉｌｅと、１つのＳｉｇｎａｔｕｒｅＦｉｌｅと、１つのＨＴＭＬ  Ｆｉｌｅと、７つのＭｏｎｏ−Ｍｅｄｉａファイルから構成されている。ＲｅｓｏｕｒｃｅＬｉｓｔＦｉｌｅには、コンテンツを構成するディレクトリやファイルの論理構成情報が格納されており、ディレクトリやファイル単位毎に、前記Ｂｏｏｋｍａｒｋ登録許可設定が設定されている。
【０３５０】
１つのＨＴＭＬ  Ｆｉｌｅは、ＨＴＭＬ処理部３１０２が提示する文書ファイルであり、インタラクティブプレーン上に背景色が透明に設定された枠のみのＨＴＭＬファイルである。（４５０１）７つのＭｏｎｏ−ｍｅｄｉａファイルは、インタラクティブプレーン上に配置される、ｉｍａｇｅオブジェクトであり、ＨＴＭＬ文書内で配置されるボタンイメージファイルを示す。ボタンイメージは、ｊｐｇ画像である。なお、ボタンイメージ等を示すＭｏｎｏ−ｍｅｄｉａファイルは、ｇｉｆでもよいし、ＰＮＧであってもよい。本実施例におけるコンテンツを構成するＭｏｎｏ−ｍｅｄｉａファイルは、ＴｏｐＭｅｎｕに遷移するためのボタンイメージファイル（４５０２）、一時停止ボタンのイメージファイル（４５０３）、Ｂｏｏｋｍａｒｋ登録ボタンのイメージファイル（４５０４）、通常再生中に表示されるイメージファイル（４５０５）、寺Ａのｊｐｇファイル（４５０６）、寺Ｂのｊｐｇファイル（４５０７）、寺Ｃのｊｐｇファイル（４５０８）、である。
（Ｂｏｏｋｍａｒｋ登録許可設定が全てＯＦＦの時）
ここで図５４に、前記図５３に記載されているＣＡＲファイルに基づいた、映像データとコンテンツとの同期再生中におけるＢｏｏｋｍａｒｋ登録の実施例を示す。
【０３５１】
ユーザは、ＴＯＰメニューやある任意の画面から、視聴したいＴｉｔｌｅを選択すると（Ｓ８０１）、イベント処理部３１０４が受信したイベントのタイプに基づき、ＨＴＭＬ処理部３１０２は、選択されたＴｉｔｌｅを構成するコンテンツの設定状態を確認するために、ＣＡＲファイルをプリロードし（Ｓ８０２）、プリロードされたＣＡＲファイル内のリソースリストファイルをプレーヤのメモリ上に展開し、ディレクトリの属性情報及びファイルの属性情報を解釈する（Ｓ８０３）。
【０３５２】
ＨＴＭＬ処理部３１０２は、ＨＴＭＬ文書を読み込み（Ｓ８０４）、ＡＶ再生制御部３１０３に対して、Ｔｉｔｌｅ１に紐付けられたプレイリストの再生命令を実行して、ＡＶストリームとコンテンツの同期再生を開始する（Ｓ８０５）。
【０３５３】
本実施例では、最初に出現するＤｉｒｅｃｔｏｒｙのディレクトリ属性情報に対して、Ｂｏｏｋｍａｒｋ登録許可設定がＯＦＦに設定されている場合に関して説明を行なう。
【０３５４】
なお、ディレクトリの属性情報及びファイルの属性情報を解釈する処理は、再生コマンド実行前で処理を行なってもよいし、予めＣＡＲファイルがプレーヤーのメモリやフラッシュ、ＨＤＤ、永続記憶領域等のテンポラリの領域にプリロードされた場合に、事前にリソースリストファイル内に設定されている設定項目を解釈しておいてもよい。
【０３５５】
前記Ｔｉｔｌｅ１は、時刻Ｔ１からＴ４まで再生される紀行番組であり、各地域のお寺を紹介するコンテンツである。
【０３５６】
時刻Ｔ１から映像データの再生開始前に、ＨＴＭＬ処理部３１０２は、前記４５００〜４５０８のＨＴＭＬ文書並びにボタンイメージを予めＨＴＭＬ文書に設定されているスタイルシートの設定に基づきレイアウトを行い、時刻Ｔ１から映像データと同期してインタラクティブコンテンツを提示する
ＨＴＭＬブラウザは、時刻Ｔ１から時刻Ｔ２の間は、画面４５１１を継続して提示し続ける。画面４５１１の右下、即ちインタラクティブグラフィックスプレーン上で提示されているＨＴＭＬ文書の右下の位置に、寺Ａのｊｐｇファイル（４５０６）が表示される。
【０３５７】
ＨＴＭＬブラウザは、時刻Ｔ２から時刻Ｔ３の間は、画面４５１２を継続して提示し続ける。画面４５１２の右下、即ちインタラクティブグラフィックスプレーン上で提示されているＨＴＭＬ文書の右下の位置に、寺Ｂのｊｐｇファイル（４５０７）が表示される。
【０３５８】
ＨＴＭＬブラウザは、時刻Ｔ３から時刻Ｔ４の間は、画面４５１３を継続して提示し続ける。画面４５１３の右下、即ちインタラクティブグラフィックスプレーン上で提示されているＨＴＭＬ文書の右下の位置に、寺Ｃのｊｐｇファイル（４５０８）が表示される。
【０３５９】
ここで、ユーザが再生中（Ｓ１００１）の画面４５１２において、時刻ＴＮのタイミングで、リモコンのＢｏｏｋｍａｒｋボタンを押下すると、ＨＴＭＬブラウザは、Ｂｏｏｋｍａｒｋイベントを、イベント処理部３１０４で受信し（Ｓ１００２）、管理情報解析部３１０１で、属性情報の設定を確認し（Ｓ１００３）、ディレクトリの属性情報であるＢｏｏｋｍａｒｋ登録許可設定がＯＦＦであるため、Ｂｏｏｋｍａｒｋとして、提示中のＨＴＭＬコンテンツをプレーヤーの一時記憶領域に記録しない（Ｓ１００４）。
【０３６０】
そのため、ユーザがレジデントアプリにてお気に入りリスト一覧を提示しても、前記紀行番組内にＢｏｏｋｍａｒｋされたＨＴＭＬコンテンツ及びＡＶストリームの先頭シーンは、お気に入りリスト一覧に含まれない（Ｓ１００５）。
【０３６１】
なおＢｏｏｋｍａｒｋ登録許可設定がＯＦＦの時に、ユーザ操作によりリモコンのＢｏｏｋｍａｒｋボタンを押下された場合の処理として、アプリケーションは、ユーザに対してＢｏｏｋｍａｒｋ機能が使用できない旨を示すパネルを表示したり、ＨＴＭＬ文書の特定の領域にＢｏｏｋｍａｒｋ機能が使用できない旨を示すＭｏｎｏｍｅｄｉａファイルを提示しても良い。
【０３６２】
（Ｂｏｏｋｍａｒｋ登録許可設定が一部ＯＦＦの時）
次に、本実施例において、最初に出現するＤｉｒｅｃｔｏｒｙのディレクトリ属性情報に対して、Ｂｏｏｋｍａｒｋ登録許可設定がＯＦＦに設定され、且つ、ＨＴＭＬ文書４５０１と寺Ａのｊｐｇファイル（４５０６）に対してファイル属性情報として、Ｂｏｏｋｍａｒｋ登録許可設定がＯＮに設定されている場合に関して説明を行なう。
【０３６３】
なお、基本的には上記に説明したＢｏｏｋｍａｒｋ登録許可設定がＯＦＦの時の場合の実施例に基づく内容であり、拡張または異なる部分を中心に説明する。
【０３６４】
ユーザが画面４５１１において、再生中（Ｓ１００１）の寺Ａのｊｐｇファイル（４５０６）をお気に入りに登録しようとして、リモコンのＢｏｏｋｍａｒｋボタンを押下すると、プレーヤーはＢｏｏｋｍａｒｋイベントを、イベント処理部３１０４で受信し（Ｓ１００２）、管理情報解析部３１０１でディレクトリの属性情報であるＢｏｏｋｍａｒｋ登録許可設定を確認し（Ｓ１００３）、Ｂｏｏｋｍａｒｋ登録許可設定がＯＮであるため、提示中のＨＴＭＬコンテンツ４５０１と寺Ａのｊｐｇファイル（４５０６）をプレーヤーの一時記憶領域に記録する。
【０３６５】
ユーザが画面４５１２の時刻ＴＮ２において、再生中の寺Ｂのｊｐｇファイル（４５０７）をお気に入りに登録しようとして、リモコンのＢｏｏｋｍａｒｋボタンを押下しても、寺Ｂのｊｐｇファイルのファイル属性項目である、Ｂｏｏｋｍａｒｋ登録許可設定がＯＦＦであるため、ＨＴＭＬブラウザは、寺Ｂのｊｐｇファイルを、プレーヤーの一時記憶領域には記録しない。
【０３６６】
ユーザが、レジデントアプリにてお気に入りリスト一覧を提示した際には、勿論Ｂｏｏｋｍａｒｋ登録許可設定がＯＦＦに設定されているコンテンツは、プレーヤーの一時記憶領域に記録されていないため、お気に入りリストに表示されることはない。
【０３６７】
なお、Ｂｏｏｋｍａｒｋ登録許可設定がＯＦＦ時に、ユーザ操作で、リモコンのＢｏｏｋｍａｒｋボタンを押下された場合の処理として、ユーザに対して、Ｂｏｏｋｍａｒｋ機能が使用できない旨を示すパネルを表示したり、ＨＴＭＬ文書の特定の領域に、Ｂｏｏｋｍａｒｋ機能が使用できない旨を示すＭｏｎｏｍｅｄｉａファイルを提示し続けても良い。
【０３６８】
なお、本実施例では、アプリケーションデータを管理する管理情報であるＲｅｓｏｕｒｃｅ  Ｌｉｓｔ  Ｆｉｌｅの構造としてバイナリ形式を用いたが、例えばＸＭＬ形式で記述されていてもよいし、宣言型記述言語を用いた形式で記述されていても良い。
【０３６９】
また、本実施例では、アプリケーションの記述言語としてＨＴＭＬを用いたが、これに限るものではない。プレーヤが解釈可能なものであれば、例えば、画面構成を定義する独自のＸＭＬ言語であってもよいし、ＸＨＴＭＬであってもよく、また必ずしもＸＭＬ形式である必要もない。
【０３７０】
（実施例５）
次に本発明の第５の実施の形態について説明する。
【０３７１】
第５の実施の形態は、ＢＤ−ＲＯＭ再生環境において、ＢＤ−ＲＯＭに記録されたアプリケーションの中で、映像データ等のＡＶストリームとインタラクティブコンテンツが同期しながら特殊再生を行なう場合における、インタラクティブコンテンツの動作制御機能に関する内容である。
【０３７２】
基本的には、第１の実施例や第２の実施例や第３の実施例や第４の実施例に基づく内容であり、拡張または異なる部分を中心に説明する。
【０３７３】
（映像データと連動したインタラクティブコンテンツの特殊再生時における動作制御の課題）
ＢＤ−ＲＯＭアプリケーションは、ＨＴＭＬのような宣言型言語で記述された文書データやスクリプトで記述されたプログラムおよびイメージファイル等で構成されるインタラクティブなコンテンツを、ＢＤ−ＲＯＭに設定された情報とＢＤプレーヤーのリソースを使用して、ユーザに対して表現力が豊かな提示を実現することができる。
【０３７４】
具体的には、ＢＤ−ＲＯＭアプリケーションは、映像データ等のＡＶストリーム再生中に特定のタイミングで発生するマークイベントを受信した場合や、スクリプトファイルに記述されたＴｉｍｅｒ関数が発火したタイミングで、文書を遷移させたり、ＨＴＭＬ文書内のＭｏｎｏｍｅｄｉａファイルを切り替えやメニュー表示、アニメーション再生の開始、音声の再生開始等を実行する。
【０３７５】
このように、映像データ等のＡＶストリームと連動させたインタラクティブコンテンツの同期再生において、アプリケーション経由もしくは、ユーザからの直接指示によって、映像が早送り、もしくは、巻き戻し状態に変化した場合、前記アプリケーションは、前記マークイベントやＴｉｍｅｒイベントを全て受信したとしても、ある特定のイベントの受信後に実行する処理が終了していないのにも関わらず、次のマークイベントやＴｉｍｅｒイベントを受信することとなり、特殊再生中に映像データ等のＡＶストリームと連動させたコンテンツの提示処理の制御が、次のイベント受信までに完了しないという課題が生じる。
【０３７６】
また特殊再生中に一部のイベントを受信してコンテンツを制御する場合においても、特殊再生の速度やイベントのタイプ、取得イベントの選別方法等の条件に応じて、スクリプトファイルにイベントハンドラが実行する処理を記述しなければならないため、コンテンツの制作が複雑になる可能性が考えられる。
【０３７７】
そこで、上記課題を解決するために、ＨＴＭＬのような宣言型言語で記述された文書データやスクリプトで記述されたプログラムおよびイメージファイル等で構成されるインタラクティブなコンテンツに対して、映像データ等のデジタルストリームとのイベント同期再生を実現するか否かを設定する仕組み（以下、イベント受信許可設定項目）を提供する。
【０３７８】
（課題を解決するための手段）
（イベント受信許可設定がＯＦＦの時）
ＨＴＭＬブラウザが、映像データ等のＡＶストリームとインタラクティブコンテンツの特殊再生時におけるイベントを受信するかどうかをコンテンツ制作者が選択できるようにするために、前記Ｒｅｓｏｕｒｃｅ  ＬｉｓｔＦｉｌｅに、イベント受信を許可するかしないかを識別するイベント受信許可設定を追加する。
【０３７９】
図５６は図４０で示したバイナリ形式のＲｅｓｏｕｒｃｅ  Ｌｉｓｔ  ＦｉｌｅのＢａｓｅＩｎｆｏに、イベント受信許可設定情報を示した図である。
【０３８０】
＜ＢａｓｅＩｎｆｏ＞に、ＥｖｅｎｔＲｅｃｅｉｖｅＩｎｆｏ情報を付与する。ＥｖｅｎｔＲｅｃｅｉｖｅＩｎｆｏは０ＦＦかＯＮのみの値を取る。ここでＥｖｅｎｔＲｅｃｅｉｖｅＩｎｆｏの値がＯＮならば、ＨＴＭＬブラウザは、マークイベントやＴｉｍｅｒイベントの受信後の動作制御処理がスクリプトに記述されている、されていないに関わらず、ＨＴＭＬブラウザは、特殊再生中のイベントを全て受信する。
【０３８１】
一方、ＥｖｅｎｔＲｅｃｅｉｖｅＩｎｆｏの値がＯＦＦならば、ＨＴＭＬブラウザは、特殊再生中のイベントを受信しない。
【０３８２】
なお、本実施例ではＲｅｓｏｕｒｃｅ  Ｌｉｓｔ  ＦｉｌｅのＢａｓｅＩｎｆｏにＥｖｅｎｔＲｅｃｅｉｖｅＩｎｆｏを導入したため、当該ＣＡＲコンテンツの実行において常にそのＥｖｅｎｔＲｅｃｅｉｖｅＩｎｆｏの値が有効であるが、例えばこのＥｖｅｎｔＲｅｃｅｉｖｅＩｎｆｏ情報をＤｉｒｅｃｔｏｒｙ情報やＦｉｌｅ情報に導入すれば、ディレクトリ単位、あるいはファイル単位でその有効範囲を指定することも可能である。
【０３８３】
以上の仕組みを導入することにより、映像データ等のＡＶストリームと連動させたインタラクティブコンテンツの同期再生において、アプリケーションが、早送り等の特殊再生時におけるマークイベントやＴｉｍｅｒ関数が設定したイベントを受信するかしないかを設定項目をＯＦＦに設定することで、特殊再生中に映像データ等のＡＶストリームと連動させたコンテンツの提示において、特定のタイミングで発生するイベントをトリガにして、コンテンツの提示状態の制御をした場合に、例えば、Ｍｏｎｏｍｅｄｉａ等のイメージファイルが、特殊再生中の映像データの提示と全く関係ないところで、提示されるといった、コンテンツの提示状態が著しく損なわれることがなくなるという効果が生まれる。
【０３８４】
また、コンテンツ側で、ある任意の区間は、特殊再生中のイベント受信をトリガにしたインタラクティブコンテンツの提示をさせたくないといった場合に、スクリプトで特殊再生中の全ての状態をスクリプトに記述しなくても、イベント受信許可設定情報のＯＮ／ＯＦＦのみを設定するだけで済むため、コンテンツ制作の容易性の向上という効果が見込まれる。
【０３８５】
なお、コンテンツ側が指定した速度の特殊再生の場合に、イベントを受信するように、イベント受信許可設定項目には、特殊再生の速度を記載しても良い。
【０３８６】
なお、イベント受信許可設定項目には、取得するイベントの優先度情報を記載しても良い。
【０３８７】
なお、イベント受信許可設定項目には、同一タイプのイベントの取得条件等を記載しても良い。前記イベントの取得条件とは、例えばイベント番号が偶数である場合とか、ユーザイベント以外のイベントは取得する等である。
【０３８８】
なお、本実施例では、アプリケーションデータを管理する管理情報であるＲｅｓｏｕｒｃｅ  Ｌｉｓｔ  Ｆｉｌｅの構造としてバイナリ形式を用いたが、例えばＸＭＬ形式で記述されていてもよいし、宣言型記述言語を用いた形式で記述されていても良い。
【０３８９】
また、本実施例では、アプリケーションの記述言語としてＨＴＭＬを用いたが、これに限るものではない。プレーヤーが解釈可能なものであれば、例えば、画面構成を定義する独自のＸＭＬ言語であってもよいし、ＸＨＴＭＬであってもよく、また必ずしもＸＭＬ形式である必要もない。
【産業上の利用可能性】
【０３９０】
本発明にかかる情報記録媒体およびその再生装置、再生方法は、記録媒体上のデジタルストリームに連動する文書の間での同期再生時において、より表現力の豊かなコンテンツの提示を実現可能にするという効果を有し、ＢＤ−ＲＯＭ等の次世代ディスク、およびその再生装置等に用いるのに適している。
【図面の簡単な説明】
【０３９１】
【図１】ＤＶＤの構成図
【図２】ハイライトの構成図
【図３】ＤＶＤでの多重化の例を示す図
【図４】ＢＤ−ＲＯＭのデータ階層図
【図５】ＢＤ−ＲＯＭ上の論理空間の構成図
【図６】ＢＤ−ＲＯＭプレーヤの概要ブロック図
【図７】ＢＤ−ＲＯＭプレーヤの構成ブロック図
【図８】ＢＤ−ＲＯＭのアプリケーション空間の説明図
【図９】ＭＰＥＧストリーム（ＶＯＢ）の構成図
【図１０】パックの構成図
【図１１】ＡＶストリームとプレーヤ構成の関係を説明する図
【図１２】トラックバッファへのＡＶデータ連続供給モデル図
【図１３】ＶＯＢ情報ファイル構成図
【図１４】タイムマップの説明図
【図１５】タイムマップを使ったアドレス情報取得方法説明図
【図１６】プレイリストファイルの構成図
【図１７】プレイリストに対応するプログラムファイルの構成図
【図１８】ＢＤディスク全体管理情報ファイルの構成図
【図１９】グローバルイベントハンドラを記録するファイルの構成図
【図２０】タイムイベントの例を説明する図
【図２１】ユーザイベントの例を説明する図
【図２２】グローバルイベントハンドラの例を説明する図
【図２３】仮想マシンの構成図
【図２４】プレーヤ変数テーブルの図
【図２５】イベントハンドラ（タイムイベント）の例を示す図
【図２６】イベントハンドラ（ユーザイベント）の例を示す図
【図２７】プレーヤの基本処理のフローチャート
【図２８】プレイリスト再生処理のフローチャート
【図２９】イベント処理のフローチャート
【図３０】字幕処理のフローチャート
【図３１】モジュール構成や制御の流れを説明する図
【図３２】Ｉｎｄｅｘ  ＴａｂｌｅとＨＴＭＬファイルの関係を説明する図
【図３３】ボタンが表示されるＨＴＭＬファイルの例
【図３４】データのライフサイクルを説明する説明図
【図３５】データのライフサイクルを説明するタイミングチャート
【図３６】データを１つにまとめる方法を説明する図
【図３７】データを１つにまとめる方法を説明する図
【図３８】Ｔｉｔｌｅ起動と文書遷移における処理のフローチャート
【図３９】ＸＭＬ形式のＲｅｓｏｕｒｃｅ  Ｌｉｓｔ  Ｆｉｌｅの例を示す図
【図４０】バイナリー形式のＲｅｓｏｕｒｃｅ  Ｌｉｓｔ  Ｆｉｌｅ構造図
【図４１】ＨＴＭＬ文書と、ＡＶストリーム、イベントの関係の一例を示す図
【図４２】映像データとインタラクティブコンテンツの同期再生の一例を示す図
【図４３】ＨＴＭＬ文書とスクリプトファイルの例を示す図
【図４４】ＨＴＭＬ文書の例を示す図
【図４５】スクリプトファイルの例を示す図
【図４６】バイナリ形式のＲｅｓｏｕｒｃｅ  Ｌｉｓｔ  Ｆｉｌｅの構造図
【図４７】実施例３におけるＣｏｎｔｅｎｔｓＡｒｃｈｉｖｅＦｉｌｅの説明図
【図４８】実施例３における映像同期再生許可設定が全てＯＮの時の画面例
【図４９】実施例３における映像同期再生許可設定が一部ＯＮの時の画面例
【図５０】実施例３における映像同期再生許可設定が全てＯＦＦの時の画面例
【図５１】バイナリ形式のＲｅｓｏｕｒｃｅ  Ｌｉｓｔ  Ｆｉｌｅの構造図
【図５２】実施例４におけるＡＶストリームとコンテンツの同期再生に関する説明図
【図５３】実施例４におけるＡＶストリームとコンテンツの同期再生に関する説明図
【図５４】実施例４におけるＣｏｎｔｅｎｔｓＡｒｃｈｉｖｅＦｉｌｅの説明図
【図５５】実施例４におけるＢｏｏｋｍａｒｋ登録許可設定が一部ＯＮの時の画面例
【図５６】バイナリ形式のＲｅｓｏｕｒｃｅ  Ｌｉｓｔ  Ｆｉｌｅの構造図
【図５７】映像データとコンテンツの同期再生提示処理のフローチャート
【符号の説明】
【０３９２】
２０１  ＢＤディスク
２０２  光ピックアップ
２０３  プログラム記録メモリ
２０４  管理情報記録メモリ
２０５  ＡＶ記録メモリ
２０６  プログラム処理部
２０７  管理情報処理部
２０８  プレゼンテーション処理部
２０９  イメージプレーン
２１０  ビデオプレーン
２１１  合成処理部
３０１  プログラム記録メモリ
３０２  プログラムプロセッサ
３０３  ＵＯＰマネージャ
３０４  管理情報記録メモリ
３０５  シナリオプロセッサ
３０６  プレゼンテーションコントローラ
３０７  クロック
３０８  イメージメモリ
３０９  トラックバッファ
３１０  デマルチプレクサ
３１１  イメージプロセッサ
３１２  ビデオプロセッサ
３１３  サウンドプロセッサ
３１４  イメージプレーン
３１５  ビデオプレーン
３１６  合成処理部
３１７  ドライブコントローラ
４００  ディレクトリ構造を持つ制作段階の論理ツリー
４０１  Ｃｏｎｔｅｎｔ  Ａｒｃｈｉｖｅ  Ｆｉｌｅ
４０２  Ｒｅｓｏｕｒｃｅ  Ｌｉｓｔ  Ｆｉｌｅ
３１０１  管理情報解析部
３１０２  ＨＴＭＬ処理部
３１０３  ＡＶ再生制御部
３１０４  イベント処理部
３１０５  提示処理部
３２０１  ＴＯＰＭＥＮＵの例
３２０２  ＭｅｎｕＢｕｔｔｏｎのｉｍａｇｅファイル
３２０３  ＰｌａｙＢｕｔｔｏｎのｉｍａｇｅファイル
３２０４  ＧａｍｅＢｕｔｔｏｎのｉｍａｇｅファイル
３２１１  インタラクティブグラフィックスプレーン上のコンテンツ
３２１２  ＳｔｏｐＢｕｔｔｏｎのｉｍａｇｅファイル
３２１３  ＭｅｎｕＢｕｔｔｏｎのｉｍａｇｅファイル
３２１４  ＧａｍｅＢｕｔｔｏｎのｉｍａｇｅファイル
３２２１  動画プレーン上のＡＶストリーム
３２３１  インタラクティブコンテンツとＡＶストリームの同期再生時の画面例
３２３２  ＳｔｏｐＢｕｔｔｏｎのｉｍａｇｅファイル
３２３３  ＭｅｎｕＢｕｔｔｏｎのｉｍａｇｅファイル
３２３４  ＧａｍｅＢｕｔｔｏｎのｉｍａｇｅファイル
３２４１  インタラクティブコンテンツとＡＶストリームの特殊再生時の画面例
３２４２  ＳｔｏｐＢｕｔｔｏｎのｉｍａｇｅファイル
３２４３  ＭｅｎｕＢｕｔｔｏｎのｉｍａｇｅファイル
３２４４  ＧａｍｅＢｕｔｔｏｎのｉｍａｇｅファイル
３２５１  インタラクティブコンテンツとＡＶストリームの特殊再生時の画面例
３３０１  ＨＴＭＬファイル（ｂｂｂｂ．ｈｔｍｌ）
３３０２  スクリプトファイル（ｓｃｒｉｐｔ０１．ｊｓ）
３３０３  ＨＴＭＬファイル（ｃｃｃｃ．ｈｔｍｌ）
３３０４  スクリプトファイル（ｓｃｒｉｐｔ１１．ｊｓ）
３５００  実施例３におけるＣｏｎｔｅｎｔＡｒｃｈｉｖｅＦｉｌｅの一例
３５０１  ＨＴＭＬファイル
３５０２  巻き戻し用のＢｕｔｔｏｎのｉｍａｇｅファイル
３５０３  一時停止用のＢｕｔｔｏｎのｉｍａｇｅファイル
３５０４  停止用のＢｕｔｔｏｎのｉｍａｇｅファイル
３５０５  早送り用のＢｕｔｔｏｎのｉｍａｇｅファイル
３５０６  メニュー画面に戻る用のＢｕｔｔｏｎのｉｍａｇｅファイル
３５０７  再生用のＢｕｔｔｏｎのｉｍａｇｅファイル
３５０８  再生状態を示すｉｍａｇｅファイル
３５０９  早送り状態を示すｉｍａｇｅファイル
３６０１  実施例３における通常再生中の画面例
３６０２  実施例３における属性項目がＯＮの時の画面例
３６０３  実施例３における属性項目がＯＮの時の画面例
３６０４  実施例３における通常再生中の画面例
３６１１  実施例３における通常再生中の画面例
３６１２  実施例３における属性項目が一部ＯＮの時の画面例
３６１３  実施例３における属性項目が一部ＯＮの時の画面例
３６１４  実施例３における通常再生中の画面例
３６２１  実施例３における通常再生中の画面例
３６２２  実施例３における属性項目がＯＦＦの時の画面例
３６２３  実施例３における属性項目がＯＦＦの時の画面例
３６２４  実施例３における通常再生中の画面例
４３０１  実施例４における画面例
４３０２  ＭＮＧファイル
４３０３  実施例４における画面例
４３０４  ＭＮＧファイル
４３０５  実施例４における画面例
４３０６  ＭＮＧファイル
４３１１  ＡＶストリーム
４３１２  ＡＶストリーム
４３１３  ＡＶストリーム
４３１４  ＡＶストリーム４３１１で表示される映像
４３１５  ＡＶストリーム４３１２で表示される映像
４３１６  ＡＶストリーム４３１３で表示される映像
４４０１  プレーヤが記録した、映像と同期したお気に入り画面例
４４０２  プレーヤが記録した、映像と同期していないお気に入り画面例
４５００  実施例４におけるＣｏｎｔｅｎｔＡｒｃｈｉｖｅＦｉｌｅの一例
４５０１  ＨＴＭＬファイル
４５０２  メニュー画面に戻る用のＢｕｔｔｏｎのｉｍａｇｅファイル
４５０３  一時停止用のＢｕｔｔｏｎのｉｍａｇｅファイル
４５０４  Ｂｏｏｋｍａｒｋ用Ｂｕｔｔｏｎのｉｍａｇｅファイル
４５０５  再生用のＢｕｔｔｏｎのｉｍａｇｅファイル
４５０６  ｊｐｇファイル
４５０７  ｊｐｇファイル
４５０８  ｊｐｇファイル
４５１１  実施例４における画面例
４５１２  実施例４における画面例
４５１３  実施例４における画面例
Ｓ１０１  ディスク挿入ステップ
Ｓ１０２  ＢＤ．ＩＮＦＯ読み込みステップ
Ｓ１０３  ＢＤ．ＰＲＯＧ読み込みステップ
Ｓ１０４  ファーストイベント生成ステップ
Ｓ１０５  イベントハンドラ実行ステップ
Ｓ２０１  ＵＯＰ受付ステップ
Ｓ２０２  ＵＯＰイベント生成ステップ
Ｓ２０３  メニューコール判定ステップ
Ｓ２０４  イベント生成ステップ
Ｓ２０５  イベントハンドラ実行ステップ
Ｓ３０１  プレイリスト再生開始ステップ
Ｓ３０２  プレイリスト情報（ＸＸＸ．ＰＬ）読み込みステップ
Ｓ３０３  プレイリストプログラム（ＸＸＸ．ＰＲＯＧ）読み込みステップ
Ｓ３０４  セル再生開始ステップ
Ｓ３０５  ＡＶ再生開始ステップ
Ｓ４０１  ＡＶ再生開始ステップ
Ｓ４０２  ＶＯＢ情報（ＹＹＹ．ＶＯＢＩ）読み込みステップ
Ｓ４０３  ＶＯＢ（ＹＹＹ．ＶＯＢ）読み込みステップ
Ｓ４０４  ＶＯＢ再生開始ステップ
Ｓ４０５  ＶＯＢ再生終了ステップ
Ｓ４０６  次セル存在判定ステップ
Ｓ５０１  プレイリスト再生開始ステップ
Ｓ５０２  プレイリスト再生終了判定ステップ
Ｓ５０３  タイムイベント時刻判定ステップ
Ｓ５０４  イベント生成ステップ
Ｓ５０５  イベントハンドラ実行ステップ
Ｓ６０１  プレイリスト再生開始ステップ
Ｓ６０２  プレイリスト再生終了判定ステップ
Ｓ６０３  ＵＯＰ受付判定ステップ
Ｓ６０４  ＵＯＰイベント生成ステップ
Ｓ６０５  メニューコール判定ステップ
Ｓ６０６  ユーザーイベント有効期間判定ステップ
Ｓ６０７  イベント生成ステップ
Ｓ６０８  イベントハンドラ実行ステップ
Ｓ７０１  プレイリスト再生開始ステップ
Ｓ７０２  プレイリスト再生終了判定ステップ
Ｓ７０３  字幕描画開始判定ステップ
Ｓ７０４  字幕描画ステップ
Ｓ７０５  字幕表示終了判定ステップ
Ｓ７０６  字幕消去ステップ
Ｓ８０１  タイトル起動ステップ
Ｓ８０２  ＣＡＲファイルＰｒｅｌｏａｄステップ
Ｓ８０３  Ｒｅｓｏｕｒｃｅ  Ｌｉｓｔ  Ｆｉｌｅ読込みステップ
Ｓ８０４  ＨＴＭＬファイルの読込みステップ
Ｓ８０５  画面の提示ステップ
Ｓ９０１  文書遷移操作ステップ
Ｓ９０２  タイトル判断ステップ
Ｓ９０３  Ｒｅｓｏｕｒｃｅ  Ｌｉｓｔ  Ｆｉｌｅ読込みステップ
Ｓ９０４  ＨＴＭＬファイルの読込みステップ
Ｓ９０５  画面の提示ステップ
Ｓ１００１  再生状態確認ステップ
Ｓ１００２  イベント受信ステップ
Ｓ１００３  属性項目判断ステップ
Ｓ１００４  ＨＴＭＬ文書処理ステップ
Ｓ１００５  画面の提示ステップ
Ｓ１００６  ＨＴＭＬ文書処理ステップ
Ｓ１００７  画面の提示ステップ
【図１】
2007018623.tif 000003
【図２】
2007018623.tif 000004
【図３】
2007018623.tif 000005
【図４】
2007018623.tif 000006
【図５】
2007018623.tif 000007
【図６】
2007018623.tif 000008
【図７】
2007018623.tif 000009
【図８】
2007018623.tif 000010
【図９】
2007018623.tif 000011
【図１０】
2007018623.tif 000012
【図１１】
2007018623.tif 000013
【図１２】
2007018623.tif 000014
【図１３】
2007018623.tif 000015
【図１４】
2007018623.tif 000016
【図１５】
2007018623.tif 000017
【図１６】
2007018623.tif 000018
【図１７】
2007018623.tif 000019
【図１８】
2007018623.tif 000020
【図１９】
2007018623.tif 000021
【図２０】
2007018623.tif 000022
【図２１】
2007018623.tif 000023
【図２２】
2007018623.tif 000024
【図２３】
2007018623.tif 000025
【図２４】
2007018623.tif 000026
【図２５】
2007018623.tif 000027
【図２６】
2007018623.tif 000028
【図２７】
2007018623.tif 000029
【図２８】
2007018623.tif 000030
【図２９】
2007018623.tif 000031
【図３０】
2007018623.tif 000032
【図３１】
2007018623.tif 000033
【図３２】
2007018623.tif 000034
【図３３】
2007018623.tif 000035
【図３４】
2007018623.tif 000036
【図３５】
2007018623.tif 000037
【図３６】
2007018623.tif 000038
【図３７】
2007018623.tif 000039
【図３８】
2007018623.tif 000040
【図３９】
2007018623.tif 000041
【図４０】
2007018623.tif 000042
【図４１】
2007018623.tif 000043
【図４２】
2007018623.tif 000044
【図４３】
2007018623.tif 000045
【図４４】
2007018623.tif 000046
【図４５】
2007018623.tif 000047
【図４６】
2007018623.tif 000048
【図４７】
2007018623.tif 000049
【図４８】
2007018623.tif 000050
【図４９】
2007018623.tif 000051
【図５０】
2007018623.tif 000052
【図５１】
2007018623.tif 000053
【図５２】
2007018623.tif 000054
【図５３】
2007018623.tif 000055
【図５４】
2007018623.tif 000056
【図５５】
2007018623.tif 000057
【図５６】
2007018623.tif 000058
【図５７】
2007018623.tif 000059