(57)【要約】【課題】情報記憶媒体の再生の拡張性に優れ且つ効率良く情報をダウンロードすることが可能な情報再生装置を提供すること。【解決手段】情報記憶媒体からコンテンツを取得する第１の取得手段と、前記情報記憶媒体及び通信回線を経由する外部のうちの少なくとも一方から拡張情報を取得する第２の取得手段（２１１）と、前記第２の取得手段により取得された前記拡張情報を情報の種類に応じて記憶する記憶手段（２０９、２０９３）と、前記第１の取得手段により取得された前記コンテンツを再生するとともに、このコンテンツの再生に同期させて、前記第記憶手段に記憶された前記拡張情報を再生する再生手段（１０１、２０３、２０８）とを備えている。【選択図】      図４
2004206863.tif 000002
【特許請求の範囲】
【請求項１】
情報記憶媒体からコンテンツを取得する第１の取得手段と、
前記情報記憶媒体及び通信回線を経由する外部のうち少なくとも一方から拡張情報を取得する第２の取得手段と、
前記第２の取得手段により取得された前記拡張情報を情報の種類に応じて記憶する記憶手段と、
前記第１の取得手段により取得された前記コンテンツを再生するとともに、このコンテンツの再生に同期させて、前記第記憶手段に記憶された前記拡張情報を再生する再生手段と、
を備えたことを特徴とする情報再生装置。
【請求項２】
前記コンテンツは、タイトル番号が割り当てられたタイトルを含み、
前記タイトルは、時間情報が割り当てられた所定の再生情報を含み、
前記拡張情報は、一つ以上の分割拡張情報を含み、
一つの分割拡張情報は、ヘッダ情報及び本体拡張情報を含み、
前記ヘッダ情報は、タイトル番号及び時間情報を含み、
前記再生手段は、前記分割拡張情報の前記ヘッダ情報に含まれる前記タイトル番号及び前記時間情報に基づき、前記コンテンツの前記タイトルに含まれる所定の再生情報の再生に同期させて所定の本体拡張情報を再生する、
ことを特徴とする請求項１に記載の情報再生装置。
【請求項３】
前記コンテンツは、チャプタ番号が割り当てられたチャプタを含み、
前記チャプタは、時間情報が割り当てられた所定の再生情報を含み、
前記拡張情報は、一つ以上の分割拡張情報を含み、
一つの分割拡張情報は、ヘッダ情報及び本体拡張情報を含み、
前記ヘッダ情報は、チャプタ番号及び時間情報を含み、
前記再生手段は、前記分割拡張情報の前記ヘッダ情報に含まれる前記チャプタ番号及び前記時間情報に基づき、前記コンテンツの前記タイトルに含まれる所定の再生情報の再生に同期させて所定の本体拡張情報を再生する、
ことを特徴とする請求項１に記載の情報再生装置。
【請求項４】
前記拡張情報は、一つ以上の分割拡張情報を含み、
一つの分割拡張情報は、ヘッダ情報及び本体拡張情報を含み、
前記ヘッダ情報は、前記本体拡張情報の先頭からの相対時間を示すインデックス時間、及びこのインデックス時間に対応する前記本体拡張情報中の位置を示す位置情報を含み、
前記再生手段は、前記分割拡張情報の前記ヘッダ情報に含まれる前記インデックス時間及び前記位置情報に基づき、前記コンテンツの再生に同期させて所定の本体拡張情報中の所定の位置の情報を再生する、
ことを特徴とする請求項１に記載の情報再生装置。
【請求項５】
前記記憶手段は、前記第２の取得手段により取得される拡張情報のうち所定の種類の拡張情報を記憶する第１及び第２の記憶部を備え、
前記第１及び第２の記憶部は、所定の種類の拡張情報を構成する複数の分割拡張情報を交互に記憶するとともに交互に出力する、
ことを特徴とする請求項１に記載の情報再生装置。
【請求項６】
前記記憶手段は、前記第２の取得手段により取得される拡張情報のうち第１の種類の拡張情報及び第２の種類の拡張情報のうちのどちらか一方の拡張情報を記憶する第１及び第２の記憶部を備え、
前記第１及び第２の記憶部は、前記第１の種類の拡張情報を記憶する場合、前記第１の種類の拡張情報を構成する複数の分割拡張情報を交互に記憶するとともに交互に出力し、
前記第１及び第２の記憶部は、前記第２の種類の拡張情報を記憶する場合、前記第１及び第２の記憶部のメモリ空間を一体として、前記第２の種類の拡張情報を記憶するとともに出力する、
ことを特徴とする請求項１に記載の情報再生装置。
【請求項７】
情報記憶媒体及び通信回線を経由する外部のうち少なくとも一方から拡張情報を取得し、
前記拡張情報を情報の種類に応じて記憶部に記憶し、
情報記憶媒体から取得されるコンテンツを再生するとともに、このコンテンツの再生に同期させて、前記第記憶部に記憶された前記拡張情報を再生する、
ことを特徴とする情報再生方法。
【請求項８】
前記コンテンツは、タイトル番号が割り当てられたタイトルを含み、
前記タイトルは、時間情報が割り当てられた所定の再生情報を含み、
前記拡張情報は、一つ以上の分割拡張情報を含み、
一つの分割拡張情報は、ヘッダ情報及び本体拡張情報を含み、
前記ヘッダ情報は、タイトル番号及び時間情報を含み、
前記分割拡張情報の前記ヘッダ情報に含まれる前記タイトル番号及び前記時間情報に基づき、前記コンテンツの前記タイトルに含まれる所定の再生情報の再生に同期させて所定の本体拡張情報を再生する、
ことを特徴とする請求項７に記載の情報再生方法。
【請求項９】
前記コンテンツは、チャプタ番号が割り当てられたチャプタを含み、
前記チャプタは、時間情報が割り当てられた所定の再生情報を含み、
前記拡張情報は、一つ以上の分割拡張情報を含み、
一つの分割拡張情報は、ヘッダ情報及び本体拡張情報を含み、
前記ヘッダ情報は、チャプタ番号及び時間情報を含み、
前記分割拡張情報の前記ヘッダ情報に含まれる前記チャプタ番号及び前記時間情報に基づき、前記コンテンツの前記タイトルに含まれる所定の再生情報の再生に同期させて所定の本体拡張情報を再生する、
ことを特徴とする請求項７に記載の情報再生方法。
【請求項１０】
前記拡張情報は、一つ以上の分割拡張情報を含み、
一つの分割拡張情報は、ヘッダ情報及び本体拡張情報を含み、
前記ヘッダ情報は、前記本体拡張情報の先頭からの相対時間を示すインデックス時間、及びこのインデックス時間に対応する前記本体拡張情報中の位置を示す位置情報を含み、
前記分割拡張情報の前記ヘッダ情報に含まれる前記インデックス時間及び前記位置情報に基づき、前記コンテンツの再生に同期させて所定の本体拡張情報中の所定の位置の情報を再生する、
ことを特徴とする請求項７に記載の情報再生方法。
【請求項１１】
前記記憶部は、前記拡張情報のうち所定の種類の拡張情報を記憶する第１及び第２の記憶部を備え、
前記第１及び第２の記憶部に対して所定の種類の拡張情報を構成する複数の分割拡張情報を交互に記憶するとともに、前記第１及び第２の記憶部から複数の分割拡張情報を交互に出力する、
ことを特徴とする請求項１に記載の情報再生方法。
【請求項１２】
前記記憶部は、前記拡張情報のうち第１の種類の拡張情報及び第２の種類の拡張情報のうちのどちから一方の拡張情報を記憶する第１及び第２の記憶部を備え、
前記第１及び第２の記憶部に対して前記第１の種類の拡張情報を記憶する場合、前記第１及び第２の記憶部に対して前記第１の種類の拡張情報を構成する複数の分割拡張情報を交互に記憶するとともに、前記第１及び第２の記憶部から複数の分割拡張情報を交互に出力し、
前記第１及び第２の記憶部に対して前記第２の種類の拡張情報を記憶する場合、前記第１及び第２の記憶部のメモリ空間を一体として、前記第１及び第２の記憶部の一体のメモリ空間に対して前記第２の種類の拡張情報を記憶するとともに、前記第１及び第２の記憶部の一体のメモリ空間から前記第２の種類の拡張情報を出力する、
ことを特徴とする請求項１に記載の情報再生方法。
【請求項１３】
情報記憶媒体からコンテンツを取得する第１の取得部と、
複数の分割ファイルからなる拡張情報であって、各分割ファイルは再生情報である音声情報が格納されたデータ部と、分割ファイルの制御情報が格納されたヘッダ部とを有し、前記制御情報としてはコンテンツのタイトル情報およびコンテンツのチャプタ情報並びにタイトル開始またはチャプタの先頭からの時間情報を有する拡張情報を前記分割ファイル単位に通信回線を経由して外部から取得する第２の取得部と、
前記第１の取得手段で取得したコンテンツを再生すると共に、前記第２の取得手段で取得した前記データ部の前記音声情報を前記ヘッダ部に格納された制御情報にしたがって前記コンテンツに同期させて再生する再生部と
を備えたことを特徴とする情報再生装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、情報記憶媒体に記憶されたコンテンツを再生する情報再生装置及び情報再生方法に関する。
【背景技術】
【０００２】
近年、再生専用ＤＶＤ（Digital Versatile Disk）の規格が定められ、これに伴い再生専用ＤＶＤに格納された映像・音声情報を再生する再生装置が登場し始めている。
【０００３】
再生専用ＤＶＤの規格によると、再生専用ＤＶＤは、実際の映像・音声データが記録されたプレゼンテーション・データと、これを管理するためのナビゲーション・データを格納している。プレゼンテーション・データはビデオデータ、オーディオデータ、サブピクチャデータを含み、これらデータはMPEG2で定められたプログラムストリーム（２０４８ｂｙｔｅｓ）の仕様に沿って多重化されている。また、ナビゲーション・データ中には、再生する映像・音声データの時間構成や順序を設定するＰＧＣ（ProGram Chain）とＣｅｌｌが記述されており、このナビゲーション・データによりマルチアングル、マルチストーリー、パレンタルといった機能が実現可能となっている。
【０００４】
これに関する従来技術として、ＤＶＤビデオタイトルとＨＴＭＬファイルとを融合させたサービスを行なう画像表示装置が開示されている（特許文献１）。この画像表示装置においては、ビデオオブジェクトユニットのナビパックからＵＲＬを取り出し、これに基づいてインターネットに接続して再生中のシーンに連動して表示することが可能となる。
【特許文献１】特開平１１−１６１６６３
【発明の開示】
【発明が解決しようとする課題】
【０００５】
上記の再生専用ＤＶＤの規格によると、ディスクに記録されているＭＰＥＧ２のプログラム・ストリームの再生のみが可能であり、ディスクに記録されているＭＰＥＧ２のプログラム・ストリーム以外の情報を再生することはできなかった。つまり、ＤＶＤの再生の拡張性に乏しいという問題があった。
【０００６】
また、上記の特許文献１においては、インターネットに接続して情報を入手する手法に問題がある。一般的に、ＤＶＤから情報を読み出す速度とインターネット経由で情報をダウンロードする速度とを比較すると、前者の方が高速である。つまり、インターネット経由で情報をダウンロードするには、それなりの時間が必要であり、ユーザにとってそれなりの待ち時間が発生することになる。この問題を解決するために、最初にインターネット経由で必要な情報を全てダウンロードしてから再生を開始する方法もあるが、これにはダウンロード用の大容量バッファが必要となり、装置のコストアップという問題を引き起こす。
【０００７】
この発明の目的は、上記したような事情に鑑み成されたものであって、情報記憶媒体の再生の拡張性に優れ且つ効率良く情報をダウンロードすることが可能な情報再生装置及び情報再生方法を提供することにある。
【課題を解決するための手段】
【０００８】
上記課題を解決し目的を達成するために、この発明の情報再生装置及び情報再生方法は、以下のように構成されている。
【０００９】
（１）この発明の情報再生装置は、情報記憶媒体（エンハンスドＤＶＤビデオディスクＤ２）からコンテンツ（ＤＶＤビデオコンテンツＣ１）を取得する第１の取得手段（ＤＶＤビデオ再生エンジン１００）と、前記情報記憶媒体及び通信回線を経由する外部のうち少なくとも一方から拡張情報（ＥＮＡＶコンテンツＣ２２）を取得する第２の取得手段（ＥＮＡＶエンジン２００、インターネット接続部２１１）と、前記第２の取得手段により取得された前記拡張情報を情報の種類に応じて記憶する記憶手段（プリロード・ダウンロード・バッファ２０９、静止画バッファ２０９１、アニメーション・動画バッファ２０９２、オーディオ・コメンタリ・バッファ２０９３、…など）と、前記第１の取得手段により取得された前記コンテンツを再生するとともに、このコンテンツの再生に同期させて、前記第記憶手段に記憶された前記拡張情報を再生する再生手段（１０１、２０３、２０８）とを備えている。
【００１０】
（２）この発明の情報再生方法は、情報記憶媒体及び通信回線を経由する外部のうちの少なくとも一方から拡張情報（ＥＮＡＶコンテンツＣ２２）を取得し、前記拡張情報を情報の種類に応じて記憶部（プリロード・ダウンロード・バッファ２０９、静止画バッファ２０９１、アニメーション・動画バッファ２０９２、オーディオ・コメンタリ・バッファ２０９３、…など）に記憶し、情報記憶媒体（エンハンスドＤＶＤビデオディスクＤ２）から取得されるコンテンツ（ＤＶＤビデオコンテンツＣ１）を再生するとともに、このコンテンツの再生に同期させて、前記第記憶部に記憶された前記拡張情報を再生する。
【発明の効果】
【００１１】
この発明によれば、情報記憶媒体の再生の拡張性に優れ且つ効率良く情報をダウンロードすることが可能な情報再生装置及び情報再生方法を提供できる。
【発明を実施するための最良の形態】
【００１２】
以下、図面を参照しながら本実施形態について説明する。
【００１３】
まず最初に、ＤＶＤビデオ規格との互換性を考慮したディスクのデータ構造から説明する。
【００１４】
図１、図２に、後述する図３のＤＶＤビデオプレーヤで再生可能なＤＶＤビデオディスクのデータ構造の一例を示す。
【００１５】
図１は、標準ＤＶＤビデオディスクＤ１のデータ構造の一例を示す図である。標準ＤＶＤビデオディスクＤ１のＤＶＤビデオエリア３は、ＤＶＤビデオコンテンツＣ１（ＭＰＥＧ２プログラムストリーム構造を持つ）を格納する。
【００１６】
一方、図２は、エンハンスドＤＶＤビデオディスクＤ２のデータ構造の一例を示す図である。エンハンスドＤＶＤビデオディスクＤ２のＤＶＤビデオエリアは、ＤＶＤビデオ規格と同じデータ構造のＤＶＤビデオコンテンツＣ１（ＭＰＥＧ２プログラムストリーム構造を持つ）を格納する。さらに、エンハンスドＤＶＤビデオディスクＤ２の他の記録エリア４は、ビデオコンテンツの再生をバラエティに富んだものにできるエンハンスド・ナビゲーション（以下ＥＮＡＶと略記する）コンテンツＣ２１を格納する。なお、記録エリア４は、ＤＶＤビデオ規格でも存在が認められている。
【００１７】
ここで、ＤＶＤビデオディスクの基本的なデータ構造について説明する。すなわち、ＤＶＤビデオディスクの記録エリアは、内周から順にリードインエリア１、ボリュームスペース、およびリードアウトエリア５を含んでいる。ボリュームスペースは、ボリューム／ファイル構造情報エリア２、およびＤＶＤビデオエリア（ＤＶＤビデオゾーン）３を含み、さらにオプションで他の記録エリア（ＤＶＤアザーゾーン）４を含むことができる。
【００１８】
上記ボリューム／ファイル構造情報エリア２は、ＵＤＦ（Universal Disk Format）ブリッジ構造のために割り当てられたエリアである。ＵＤＦブリッジフォーマットのボリュームは、ＩＳＯ／ＩＥＣ１３３４６のパート２に従って認識されるようになっている。このボリュームを認識するスペースは、連続したセクタからなり、図１、図２のボリュームスペースの最初の論理セクタから始まる。その最初の１６論理セクタは、ＩＳＯ９６６０で規定されるシステム使用のために予約されている。従来のＤＶＤビデオ規格との互換性を確保するには、このような内容のボリューム／ファイル構造情報エリア２が必要となる。
【００１９】
また、ＤＶＤビデオエリア３には、ビデオマネージャＶＭＧ３０という管理情報と、ビデオタイトルセットＶＴＳ（ＶＴＳ＃１〜ＶＴＳ＃ｎ）というビデオコンテンツが１つ以上記録されている。ＶＭＧ３０は、ＤＶＤビデオエリア３に存在する全てのＶＴＳに対する管理情報であり、制御データＶＭＧＩ、ＶＭＧメニュー用データＶＭＧＭ＿ＶＯＢＳ（オプション）、およびＶＭＧのバックアップデータを含んでいる。また、各ＶＴＳは、そのＶＴＳの制御データＶＴＳＩ、ＶＴＳメニュー用データＶＴＳＭ＿ＶＯＢＳ（オプション）、そのＶＴＳ（タイトル）の内容（映画等）のデータＶＴＳＴＴ＿ＶＯＢＳ、およびＶＴＳＩのバックアップデータを含んでいる。従来のＤＶＤビデオ規格との互換性を確保するには、このような内容のＤＶＤビデオエリアも必要となる。
【００２０】
各タイトル（ＶＴＳ＃１〜ＶＴＳ＃ｎ）の再生選択メニュー等は、ＶＭＧを用いてプロバイダ（ＤＶＤビデオディスクの制作者）により予め与えられ、特定タイトル（例えばＶＴＳ＃１）内での再生チャプタ選択メニューや記録内容（セル）の再生手順等は、ＶＴＳＩを用いてプロバイダにより予め与えられている。従って、ディスクの視聴者（ＤＶＤビデオプレーヤのユーザ）は、予めプロバイダにより用意されたＶＭＧ／ＶＴＳＩのメニューやＶＴＳＩ内の再生制御情報（プログラムチェーン情報ＰＧＣＩ）に従ってそのディスク１の記録内容を楽しむことができる。しかし、ＤＶＤビデオ規格では、視聴者（ユーザ）が、プロバイダが用意したＶＭＧ／ＶＴＳＩと異なる方法でＶＴＳの内容（映画や音楽）を再生することはできない。
【００２１】
プロバイダが用意したＶＭＧ／ＶＴＳＩと異なる方法でＶＴＳの内容（映画や音楽）を再生したり、プロバイダが用意したＶＭＧ／ＶＴＳＩとは異なる内容を付加して再生したりする仕組みのために用意したのが、図２のエンハンスドＤＶＤビデオディスクＤ２である。このディスクＤ２に含まれるＥＮＡＶコンテンツＣ２１は、ＤＶＤビデオ規格に基づき製造されたＤＶＤビデオプレーヤではアクセスできない（仮にアクセスできたとしてもその内容を利用できない）が、この発明の一例のＤＶＤビデオプレーヤ（図３のプレーヤ等）ではアクセスでき、その再生内容を利用できるようになっている。
【００２２】
ＥＮＡＶコンテンツＣ２１、Ｃ２２は、音声、静止画、フォント・テキスト、動画、アニメーション等のデータと、これらの再生を制御するための情報であるＥＮＡＶドキュメント(これはMarkup/Script言語で記述されている)を含むように構成される。この再生を制御するための情報には、ＥＮＡＶコンテンツ(音声、静止画、フォント・テキスト、動画、アニメーション等から構成される)および／またはＤＶＤビデオコンテンツＣ１の再生方法（表示方法、再生手順、再生切換手順、再生対象の選択等）が Markup言語や Script言語を用いて記述されてる。例えば、Markup言語として、ＨＴＭＬ（Hyper Text Markup Language）／ＸＨＴＭＬ（eXtensible Hyper Text Markup Language）やＳＭＩＬ（Synchronized Multimedia Integration Language）、Script言語として、ＥＣＭＡ（European Computer Manufacturers Association）Script や JavaScriptのような Script言語などを組み合わせながら用いることができる。
【００２３】
ここで、図２のエンハンスドＤＶＤビデオディスクＤ２は、他の記録エリア以外の内容がＤＶＤビデオ規格に従っているので、既に普及しているＤＶＤビデオプレーヤを用いても、ＤＶＤビデオエリアに記録されたビデオコンテンツを再生できる（つまり従来のＤＶＤビデオディスクＤ１と互換性がある）。
【００２４】
他の記録エリアに記録されたＥＮＡＶコンテンツＣ２１は従来のＤＶＤビデオプレーヤでは再生できない（あるいは利用できない）が、この発明の一例に係るＤＶＤビデオプレーヤ（図３）では再生でき利用できる。従って、この発明の一例に係るＤＶＤビデオプレーヤを用いＥＮＡＶコンテンツＣ２１（さらにはＥＮＡＶコンテンツＣ２２）を再生すれば、プロバイダが予め用意したＶＭＧ／ＶＴＳＩの内容だけに限定されることなく、よりバラエティに富んだビデオ再生が可能になる。
【００２５】
図３は、この発明のエンハンスドＤＶＤビデオディスク(図２)を再生するためのＤＶＤビデオプレーヤの一例を示す図である。このＤＶＤビデオプレーヤは、図２に示すＤＶＤビデオ規格と互換性を持ったエンハンスドＤＶＤビデオディスクＤ２からその記録内容（ＤＶＤビデオコンテンツＣ１および／またはＥＮＡＶコンテンツＣ２１）を再生し処理するものであり、また、インターネット等の通信回線からＥＮＡＶコンテンツＣ２２を取り込み処理するものである。なお、ＥＮＡＶコンテンツＣ２１及びＥＮＡＶコンテンツＣ２２は拡張情報の一つである。
【００２６】
図３のＤＶＤビデオプレーヤは、ＤＶＤビデオ再生エンジン１００、ＥＮＡＶエンジン２００、ディスク部３００、ユーザ・インターフェース部４００を備えている。ＤＶＤビデオ再生エンジン１００は、エンハンスドＤＶＤビデオディスクＤ２上に記録されたＭＰＥＧ２プログラムストリーム（ＤＶＤビデオコンテンツＣ１）を再生し処理する。ＥＮＡＶエンジン２００は、ＥＮＡＶコンテンツＣ２１、Ｃ２２を再生し処理する。ディスク部３００は、エンハンスドＤＶＤビデオディスクＤ２に記録されたＤＶＤビデオコンテンツＣ１および／またはＥＮＡＶコンテンツＣ２１を読み出す。ユーザ・インターフェース部４００は、プレーヤのユーザによる入力（ユーザオペレーション／ユーザ操作）をユーザ・イベントとして伝達する。
【００２７】
また、ＥＮＡＶエンジン２００は、インターネット接続部２１１を備える。インターネット接続部２１１は、インターネット等の通信回線に接続するための通信手段として機能する。さらに、ＥＮＡＶエンジン２００は、プリロード・ダウンロード・バッファ部２０９、ＸＨＴＭＬ＋ＳＭＩＬ／ＣＳＳパーサ２１０、ＸＨＴＭＬ／ＣＳＳレイアウト・マネージャ２０７、ＥＣＭＡＳｃｒｉｐｔインタープリタ２０５、ＳＭＩＬタイミング・エンジン２０６、ＥＮＡＶインターフェース・ハンドラ２０２、ユーザ・イベント・コントローラ２０１、エレメント・デコーダ２０８、ＡＶレンダラ２０３、バッファ・マネージャ２０４を含んでいる。
【００２８】
なお、図３のブロック構成において、ＤＶＤビデオ再生制御部１０２、ＤＶＤビデオデコーダ１０１、ユーザ・イベント・コントローラ２０１、ＥＮＡＶインターフェース・ハンドラ２０２、ＸＨＴＭＬ＋ＳＭＩＬ／ＣＳＳパーサ２１０、ＥＣＭＡＳｃｒｉｐｔインタープリタ２０５、ＳＭＩＬタイミング・エンジン２０６、ＸＨＴＭＬ／ＣＳＳレイアウト・マネージャ２０７、ＡＶレンダラ２０３、エレメント・デコーダ２０８、バッファ・マネージャ２０４等は、図示しない組込プログラム（ファームウエア）により各ブロック構成の機能を果たすマイクロコンピュータ（および／またはハードウエアロジック）により実現できる。このファームウエアを実行する際に使用するワークエリアは、各ブロック構成内の図示しない半導体メモリ（および必要に応じてハードディスク）を用いて得ることができる。
【００２９】
ＤＶＤビデオ再生エンジン１００は、既存のＤＶＤビデオ規格基づくＤＶＤビデオコンテンツＣ１を再生するための装置であり、ディスク部３００より読み込んだこんだＤＶＤビデオコンテンツＣ１をデコードするＤＶＤビデオデコーダ１０１およびＤＶＤビデオコンテンツＣ１の再生制御を行うＤＶＤビデオ再生制御部１０２を含んで構成される。
【００３０】
ＤＶＤビデオデコーダ１０１は、既存のＤＶＤビデオ規格に基づく映像データ、音声データ、および副映像データをそれぞれデコードし、デコードされた映像データ(前述の映像データと前述の副映像データを合成したもの)と音声データをそれぞれ出力する機能を持っている。これにより、ＤＶＤビデオ再生エンジン１００は、既存のＤＶＤビデオ規格に基づいて製造される通常のＤＶＤビデオプレーヤの再生エンジンと同じ機能を持つようになる。つまり、図３のプレーヤは、ＭＰＥＧ２プログラムストリーム構造の映像、音声等のデータを通常のＤＶＤビデオプレーヤと同様に再生することができ、これにより既存のＤＶＤビデオディスク（従来のＤＶＤビデオ規格に則ったディスク）Ｄ１の再生が可能となる。
【００３１】
これに加えて、ＤＶＤビデオ再生制御部１０２は、ＥＮＡＶエンジン２００から出力される“ＤＶＤコントロール”信号に応じて、ＤＶＤビデオコンテンツＣ１の再生を制御することもできるように構成されている。具体的には、ＤＶＤビデオ再生制御部１０２は、ＤＶＤビデオ再生時に、ＤＶＤビデオ再生エンジン１００において、あるイベント（例えばメニューコールやタイトルジャンプ）が発生した際に、ＥＮＡＶエンジン２００に対して、ＤＶＤビデオコンテンツＣ１の再生状況を示す“ＤＶＤトリガ”信号を出力することができる。その際（ＤＶＤトリガ信号の出力と同時に、あるいはその前後の適当なタイミングで）、ＤＶＤビデオ再生制御部１０２は、ＤＶＤビデオプレーヤのプロパティ情報（例えばプレーヤに設定されている音声言語、副映像字幕言語、再生動作、再生位置、各種時間情報、ディスクの内容等）を示す“ＤＶＤステータス”信号をＥＮＡＶエンジン２００に出力することができる。
【００３２】
ユーザ・イベントコントローラ２０１は、ユーザ操作に基づく制御を行うためのもので、ユーザ操作（メニューコール、タイトルジャンプ、再生スタート、再生停止、再生ポーズ、その他）に対応した“ユーザ・イベント”をユーザ・インターフェース部４００から受け取る。その上で、ユーザ・イベントコントローラ２０１は、ＥＮＡＶインターフェース・ハンドラ２０２から送られる“ユーザ・イベント・コントロール”信号に基づいて、以下のうちのいずれかの処理を実行する。
【００３３】
１、“ユーザ・トリガ”信号をＥＮＡＶインターフェース・ハンドラ２０２に伝達する。
【００３４】
２、“ユーザ・トリガ”信号をＤＶＤビデオ再生制御部１０２に直接伝達する。
【００３５】
３、ユーザ・イベントを禁止する(例えばコンテンツ・プロバイダが意図しないＤＶＤビデオの再生を行う可能性があるため)。
【００３６】
このとき、前述の“ユーザ・イベント・コントロール”信号は具体的には、例えば以下に示すような制御を行う。
【００３７】
１、ＤＶＤビデオ再生エンジン１００の映像をＡＶレンダラ２０３より出力する場合において、ユーザ・イベント信号はユーザ・トリガ信号としてＤＶＤビデオ再生エンジン１００に直接伝達される。この場合、ユーザ操作は通常のＤＶＤビデオ再生時のものと全く同じものであるからである。
【００３８】
２、ＥＮＡＶエンジン２００の映像をＡＶレンダラ２０３より出力する場合、あるいはＤＶＤビデオ再生エンジン１００の映像とＥＮＡＶエンジン２００の映像を合成して同時にＡＶレンダラ２０３より出力する場合、以下のような制御が行なわれる。
【００３９】
２−１、ユーザイベント信号がユーザ・トリガ信号としてＥＮＡＶインターフェース・ハンドラ２０２に出力されると、ＥＮＡＶインターフェース・ハンドラ２０２は、そのイベント（メニューコール等）に対応するファンクション・コールを、ＤＶＤコントロール信号として、ＤＶＤビデオ再生エンジン１００のＤＶＤビデオ再生制御部１０２に出力する。
【００４０】
２−１、システムが意図しないＤＶＤビデオの再生（例えば現在稼働中のＤＶＤビデオ再生エンジン１００で対応できない再生方法であったり、現在のＤＶＤ規格で定められているユーザオペレーションコントロールＵＯＰによって操作が禁止されたもの）が行われる可能性がある場合、ユーザ・イベント信号の伝達をブロック（禁止または阻止）する。
【００４１】
なお、ＥＮＡＶインターフェース・ハンドラ２０２に伝達されたユーザ・イベント信号(ユーザ・トリガ信号)の内容は、“ＡＶ出力コントロール”信号として、ＡＶレンダラ２０３に伝達するように構成することもできる。これにより、例えば、ユーザが図示しないリモコンのカーソルキーでコンテンツまたはウインドウサイズを変更したりその表示位置をシフトさせる操作をした場合に、この操作をユーザ・トリガ信号としてユーザ・イベント・コントローラ２０１からＥＮＡＶインターフェース・ハンドラ２０２に送り、それを対応するＡＶ出力コントロール信号として、ＡＶレンダラ２０３に出力する。これ以外にも、ＤＶＤビデオ再生エンジン１００からの映像・音声出力と、ＥＮＡＶエンジン２００からの映像・音声出力の切替を示すユーザ・イベントをＡＶレンダラ２０３に送ることにより、ユーザ操作による映像・音声出力の切替を行うことが可能である。
【００４２】
なお、ＥＮＡＶインターフェース・ハンドラ２０２に伝達されたユーザ・イベント信号(ユーザ・トリガ信号)の内容は、“ＡＶ出力コントロール”信号として、ＡＶレンダラ２０３に伝達するように構成することもできる。これにより、例えば、ユーザが図示しないリモコンのカーソルキーでコンテンツまたはウインドウサイズを変更したりその表示位置をシフトさせる操作をした場合に、この操作をユーザ・トリガ信号としてユーザ・イベント・コントローラ２０１からＥＮＡＶインターフェース・ハンドラ２０２に送り、それを対応するＡＶ出力コントロール信号として、ＡＶレンダラ２０３に出力する。これ以外にも、ＤＶＤビデオ再生エンジン１００からの映像・音声出力と、ＥＮＡＶエンジン２００からの映像・音声出力の切替を示すユーザ・イベントをＡＶレンダラ２０３に送ることにより、ユーザ操作による映像・音声出力の切替を行うことが可能である。
【００４３】
ＥＮＡＶインターフェース・ハンドラ２０２は、ＤＶＤビデオ再生制御部１０２との間で“ＤＶＤステータス”信号、“ＤＶＤトリガ”信号および／または“ＤＶＤコントロール”信号の送受信を行い、あるいはユーザ・イベント・コントローラ２０１との間で“ユーザ・トリガ”信号および／または“ユーザ・イベント・コントロール”信号の送受信を行う。ＥＮＡＶインターフェース・ハンドラ２０２はさらに、ＥＣＭＡＳｃｒｉｐｔインタープリタ２０５やＳＭＩＬタイミング・エンジン２０６との間で、“ＥＮＡＶイベント”、“ＥＮＡＶプロパティ”、“ＥＮＡＶコマンド”、“ＥＮＡＶコントロール”信号の送受信を行うように構成されている。すなわち、ＥＮＡＶインターフェース・ハンドラ２０２は、以下を実行する。
【００４４】
１、ＤＶＤビデオ再生エンジン１００からのＤＶＤビデオ再生エンジン１００の動作を示す“ＤＶＤトリガ”信号、またはユーザ・イベント・コントローラ２０１からのユーザの操作を示す“ユーザ・トリガ”を“ＥＮＡＶイベント”として、ＥＣＭＡＳｃｒｉｐｔインタープリタ２０５とＳＭＩＬタイミング・エンジン２０６に伝達する。
【００４５】
２、ＤＶＤビデオ再生エンジン１００からのＤＶＤビデオ再生エンジン１００の再生状況を示す“ＤＶＤステータス”信号を“ＥＮＡＶプロパティイベント”として、ＥＣＭＡＳｃｒｉｐｔインタープリタ２０５とＳＭＩＬタイミング・エンジン２０６に伝達する。このとき、ＤＶＤステータスは情報は、ＥＮＡＶインターフェース・ハンドラ２０２のプロパティ・バッファ２０２ａに随時保存される。
【００４６】
３、ＳＭＩＬタイミング・エンジン２０６からの“ＥＮＡＶコントロール”信号を“ＤＶＤコントロール”信号としてＤＶＤビデオ再生エンジン１００に伝達する。
【００４７】
４、ＥＣＭＡＳｃｒｉｐｔインタプリタ２０５からの“ＥＮＡＶコントロール”信号の内容に応じて、ユーザ・イベントコントローラ２０１へユーザ・イベントの切替を行うための“ユーザ・イベント・コントロール”信号を、ＤＶＤビデオ再生エンジン１００へＤＶＤビデオ再生エンジン１００の再生を制御するための“ＤＶＤコントロール”信号を、ＡＶレンダラ２０３へ映像や音声の切替を行うための“ＡＶ出力コントロール”信号を、バッファ・マネージャ２０４へバッファへの読み込みやバッファの消去を行うための“バッファ・コントロール”信号を出力する。
【００４８】
つまり、ＥＮＡＶインターフェース・ハンドラ２０２は、ＥＮＡＶコンテンツを解析・解釈してから、ＤＶＤビデオ再生エンジン１００とＥＮＡＶエンジン２００との間で制御信号等の変換を行う機能をもつ。
【００４９】
ＥＮＡＶインターフェース・ハンドラ２０２は、ＸＨＴＭＬ＋ＳＭＩＬ／ＣＳＳパーサ２１０で解析され、ＥＣＭＡＳｃｒｉｐｔインタープリタ２０５、ＳＭＩＬタイミング・エンジン２０６にて解釈された内容、または入力装置からのユーザ・イベントに基づいて、第１信号の交換を行うとともに、第２信号の交換を行なうように構成されている。別の言い方をすると、ＥＮＡＶインターフェース・ハンドラ２０２は、ＤＶＤビデオ再生制御部１０２との間で交換される第１信号、およびＥＣＭＡＳｃｒｉｐｔインタープリタ２０５、ＳＭＩＬタイミング・エンジン２０６との間で交換される第２信号の少なくとも一方に基づいて、ＡＶレンダラ２０３による映像・音声信号の出力状態を制御するものであるとも言える。第１信号とは、エンハンスドＤＶＤビデオディスクＤ２の再生状況に関する信号であり、“ＤＶＤコントロール”信号、“ＤＶＤトリガ”信号、“ＤＶＤステータス”信号などが該当する。第２の信号とは、ＥＮＡＶコンテンツの内容に関する信号であり、“ＥＮＡＶイベント”信号、“ＥＮＡＶコマンド”信号、“ＥＮＡＶプロパティ”信号、“ＥＮＡＶコントロール”信号などが該当する。
【００５０】
ＸＨＴＭＬ＋ＳＭＩＬ／ＣＳＳパーサ２１０は、概括的に言えば、エンハンスドＤＶＤビデオディスクＤ２から得たＥＮＡＶコンテンツＣ２１、またはインターネット等から得たＥＮＡＶコンテンツＣ２２に含まれる再生制御情報を示すＥＮＡＶドキュメントの構文解析を行う。ＥＮＡＶドキュメントは前述のＨＴＭＬ／ＸＨＴＭＬ、ＳＭＩＬといったＭａｒｋｕｐ言語やＥＣＭＡＳｃｒｉｐｔ、ＪａｖａＳｃｒｉｐｔといったＳｃｒｉｐｔ言語の組み合わせで構成されている。ＸＨＴＭＬ＋ＳＭＩＬ／ＣＳＳパーサ２１０は、言語解析の結果に応じて、ＥＣＭＡＳｃｉｒｐｔモジュールをＥＣＭＡＳｃｒｉｐｔインタープリタ２０５に、ＳＭＩＬモジュールはＳＭＩＬタイミング・エンジン２０６に、ＸＨＴＭＬモジュールはＸＨＴＭＬ／ＣＳＳレイアウト・マネージャ２０７に伝達する機能をもつ。
【００５１】
ＥＣＭＡＳｃｒｉｐｔインタープリタ２０５は、前述のＥＣＭＡＳｃｒｉｐｔモジュールを解釈し、その指示に従う。つまり、ＥＣＭＡＳｃｒｉｐｔインタープリタ２０５は、ＥＮＡＶインターフェース・ハンドラ２０２から送られる“ＥＮＡＶイベント”信号や、ＥＮＡＶインターフェース・ハンドラ２０２のプロパティ・バッファから読み取る“ＥＮＡＶプロパティ”信号に対して、ＥＮＡＶエンジン２００における各機能を制御するための“ＥＮＡＶコマンド”信号をＥＮＡＶインターフェース・ハンドラ２０２に発行する機能をもつ。
【００５２】
ＳＭＩＬタイミングエンジン２０６は、前述のＳＭＩＬモジュールを解釈し、その指示に従う。つまり、ＳＭＩＬタイミングエンジン２０６は、ＥＮＡＶインターフェース・ハンドラから送られる“ＥＮＡＶイベント”信号や、ＥＮＡＶインターフェース・ハンドラのプロパティ・バッファから読み取る“ＥＮＡＶプロパティ”信号に対し、指示されたタイミングで(ＥＮＡＶエンジン内で計測している時間に従って)、“ＥＮＡＶコントロール”信号をＥＮＡＶインターフェース・ハンドラ２０２、またはエレメント・デコーダ２０８に発行する機能をもつ。これにより、所望のタイミングでＤＶＤビデオ再生エンジン１００のコントロールや映像(動画・静止画・アニメーション)や音声の再生が可能となる。
【００５３】
ＸＨＴＭＬ／ＣＳＳレイアウト・マネージャ２０７は、前述のＸＨＴＭＬモジュールを解釈し、その指示に従う。つまり、ＸＨＴＭＬ／ＣＳＳレイアウト・マネージャ２０７は、“レイアウト・コントロール”信号をＡＶレンダラに出力する。“レイアウト・コントロール”信号は、出力する映像の画面の大きさやその位置に関する情報(表示開始・終了・継続といった表示時間に関する情報を含む場合もある)、出力する音声のレベルに関する情報(出力開始・終了・継続といった出力時間に関する情報を含む場合もある)が含まれる。また、ＸＨＴＭＬモジュールに含まれている表示のためのテキスト情報はエレメント・デコーダ２０８に送られ、所望のフォントを用いて、デコードされ表示される。
【００５４】
Ｍａｒｋｕｐ言語やＳｃｒｉｐｔ言語の構文解析およびその解釈を行う具体的な方法は、例えばＨＴＭＬ／ＸＨＴＭＬやＳＭＩＬあるいはＥＣＭＡＳｃｒｉｐｔやＪａｖａＳｃｒｉｐｔのような公知技術における構文解析・解釈と同様な手法でよい(使用するハードウエアは図３の説明の冒頭で述べたマイクロコンピュータ)。ただしＳｃｒｉｐｔ中に記載されるコマンドや変数については、制御対象が異なるので違いが生じる。この発明を実施する際に用いるＥＮＡＶドキュメントにおいては、エンハンスドＤＶＤビデオディスクＤ２および／またはＥＮＡＶコンテンツＣ２１、Ｃ２２の再生に関連した特有のコマンドや変数が用いられる。例えば、あるイベントに応答してエンハンスドＤＶＤビデオディスクＤ２またはＥＮＡＶコンテンツＣ２１、Ｃ２２の再生内容を切り換えるといったコマンドは、ＥＮＡＶドキュメントにおけるＭａｒｋｕｐ言語やＳｃｒｉｐｔ言語に特有のものとなっている。
【００５５】
ＥＮＡＶドキュメントにおけるＭａｒｋｕｐ言語やＳｃｒｉｐｔ言語に特有なコマンドや変数の他例として、ＤＶＤビデオ再生エンジン１００および／またはＥＮＡＶエンジン２００からの映像のサイズを変更したり、その映像の配置を変えたりするものがある。映像のサイズの変更は、サイズ変更を命令するコマンドと変更後のサイズを指定する変数により指示される。映像の配置の変更は、表示位置の変更を命令するコマンドと変更後の座標等を指定する変数により指示され、表示対象が画面上でオーバーラッピングするときは、重なりの上下位置関係を指定する変数も加わる。あるいは、ＤＶＤビデオ再生エンジン１００および／またはＥＮＡＶエンジン２００からの音声レベルを変えたり、使用音声言語を選択するものもある。音声レベルの変更は、音声レベルの変更を命令するコマンドと変更後の音声レベルを指定する変数により指示される。使用音声言語の選択は、使用音声言語の変更を命令するコマンドと変更後の言語の種類を指定する変数により指示される。また、ユーザイベントコントローラ２０１においてユーザイベントを制御するものもある。
【００５６】
上記で例示したようなＥＮＡＶドキュメントにおけるＭａｒｋｕｐ言語やＳｃｒｉｐｔ言語のコマンド／変数に基づいて、“レイアウトコントロール”信号が、ＸＨＴＭＬ／ＣＳＳレイアウト・マネージャ２０７(一部の機能はＳＭＩＬタイミング・エンジン２０６によって行われる場合もある)からＡＶレンダラ２０３に送られるようになっている。“レイアウトコントロール”信号は、図示しない外部モニタ装置等で表示すべき映像の画面上のレイアウト、映像のサイズ、映像の出力タイミング、映像の出力時間、および／または図示しない外部スピーカから再生すべき音声の音量レベル、音声の出力タイミング、音声の出力時間を制御する信号である。
【００５７】
エレメント・デコーダ２０８は、ＥＮＡＶコンテンツＣ２１、Ｃ２２に含まれる音声、静止画、テキスト・フォント、動画・アニメーション等のＥＮＡＶコンテンツのデータをデコードする。つまり、エレメント・デコーダ２０８は、デコード対象に対応して音声デコーダ、静止画デコーダ、テキスト・フォントデコーダ、および動画デコーダを含んでいる。例えばＭＰＥＧ、ＡＣ−３でエンコードされたＥＮＡＶコンテンツ中の音声データは、音声デコーダによりデコードされて非圧縮の音声データに変換される。また、ＪＰＥＧ、ＧＩＦ、ＰＮＧでエンコードされた静止画データは、静止画デコーダによりデコードされて非圧縮の画像データに変換される。同様に、例えばＭＰＥＧ２、ＭＰＥＧ４、ＭａｃｒｏｍｅｄｉａＦｌａｓｈでエンコードされた動画・アニメーションデータは、動画・アニメーションデコーダによりデコードされて非圧縮の動画データに変換される。また、ＥＮＡＶコンテンツに含まれるテキストデータは、ＥＮＡＶコンテンツに含まれるフォントデータを用い、テキスト・フォントデコーダによりデコードされて、動画または静止画の画像にスーパーインポーズ可能なテキスト画像データに変換される。これらデコードされた音声データ、画像データ、動画データ、およびテキスト画像データを適宜含む映像・音声データは、エレメント・デコーダ２０８からＡＶレンダラ２０３に送られる。
【００５８】
ＡＶレンダラ２０３は、映像・音声出力を制御する機能をもつ。具体的には、ＡＶレンダラ２０３は、ＸＨＴＭＬ／ＣＳＳレイアウト・マネージャ２０７から出力される“レイアウト・コントロール”信号に応じて、例えば、映像の表示位置、表示サイズや(これらとともに表示タイミング、表示時間を含むこともある)、音声の大きさを(これらとともに出力タイミング、出力時間を含むこともある)制御する。制御の対象となる映像・音声出力は、ＤＶＤビデオ再生エンジン１００およびエレメント・デコーダ２０８からの出力である。さらに、ＡＶレンダラ２０３は、ＥＮＡＶインターフェース・ハンドラ２０２から出力される“ＡＶ出力コントロール”信号に従って、ＤＶＤビデオコンテンツＣ１とＥＮＡＶコンテンツＣ２１、Ｃ２２のミキシング(混合)、スイッチング(切替)を制御する機能をもつ。
【００５９】
なお、図３のＤＶＤビデオプレーヤ内のＥＮＡＶエンジン２００は、エンハンスドＤＶＤビデオディスクＤ２から読み取られたＥＮＡＶコンテンツＣ２１中のＥＮＡＶドキュメントをプリロード・ダウンロード・バッファ部２０９を介してＸＨＴＭＬ＋ＳＭＩＬ／ＣＳＳパーサ２１０に送るためのインターフェース、および読み取られたＥＮＡＶコンテンツＣ２１中のデータ（音声データ、静止画データ、テキスト・フォントデータ、動画データ等）をプリロード・ダウンロード・バッファ部２０９を介してエレメント・デコーダ２０８に送るためのインターフェースを備えている。これらのインターフェースは、図３のインターネット接続部２１１とは別のインターフェース（第１のインターフェース）を構成している。
【００６０】
また、図３のＤＶＤビデオプレーヤは、インターネット等の通信回線からＥＮＡＶコンテンツＣ２２を受け取り、受け取ったＥＮＡＶコンテンツＣ２２中のＥＮＡＶドキュメントをプリロード・ダウンロード・バッファ部２０９を介してＸＨＴＭＬ＋ＳＭＩＬ／ＣＳＳパーサ２１０に送るためのインターフェース、および受け取ったＥＮＡＶコンテンツＣ２２中のデータ（音声データ、静止画データ、フォント・テキストデータ、動画データ等）をプリロード・ダウンロード・バッファ部２０９を介してエレメント・デコーダ２０８に送るためのインターフェースを備えている。これらのインターフェースが、図３のインターネット接続部（第２のインターフェース）を構成している。
【００６１】
プリロード・ダウンロード・バッファ部２０９は、サーバ部５００からダウンロードしたＥＮＡＶコンテンツＣ２２を記憶するとともに、ディスク部３００によりエンハンスドＤＶＤビデオディスクＤ２から読み込んだＥＮＡＶコンテンツＣ２１を記憶するためのバッファから構成される。
【００６２】
プリロード・ダウンロード・バッファ部２０９は、マークアップ言語／スクリプト言語に基づいたバッファ・マネージャ２０４の制御により、外部のサーバ上（サーバ部５００）にあるＥＮＡＶコンテンツＣ２２を読み、インターネット接続部２１１を介して、ＥＮＡＶコンテンツＣ２２をダウンロードする。
【００６３】
プリロード・ダウンロード・バッファ部２０９は、マークアップ言語／スクリプト言語に基づいたバッファ・マネージャ２０４の制御により、エンハンスドＤＶＤビデオディスクＤ２に記録されているＥＮＡＶコンテンツＣ２１を読み込む。このとき、ディスク部３００がディスクに対して高速アクセス可能な装置であれば、ＤＶＤビデオコンテンツＣ１を再生しながら、つまりエンハンスドＤＶＤビデオディスクＤ２よりＤＶＤビデオ・データを読み出しながら、同時にエンハンスドＤＶＤビデオディスクＤ２からＥＮＡＶコンテンツＣ２１を読み出すことができる。ディスク部３００が高速アクセス可能な装置でない場合、もしくはＤＶＤビデオコンテンツＣ１の再生動作を完全に保障する場合は、ＤＶＤビデオコンテンツＣ１の再生を中断させないようにする必要がある。この場合は、再生が開始する前にあらかじめエンハンスドＤＶＤビデオディスクＤ２からＥＮＡＶコンテンツＣ２１を読み出し、プリロード部２０９ｂに記憶しておく。これにより、ＤＶＤビデオコンテンツＣ１をエンハンスドＤＶＤビデオディスクＤ２から読み出すと同時に、ＥＮＡＶコンテンツＣ２１をプリロード部２０９ｂから読み出すことにより、ディスク部３００に負担をかけずにすむ。よって、ＤＶＤビデオコンテンツＣ１の再生を中断させずに、ＤＶＤビデオコンテンツＣ１とＥＮＡＶコンテンツを同時に再生することが可能となる。
【００６４】
以上のように、外部サーバ（サーバ部５００）からダウンロードしたＥＮＡＶコンテンツＣ２２も、エンハンスドＤＶＤビデオディスクＤ２に記録されているＥＮＡＶコンテンツＣ２１と同様に、プリロード・ダウンロード・バッファ部２０９に記憶させることにより、ＤＶＤビデオコンテンツＣ１とＥＮＡＶコンテンツＣ２２と同時に読み出し再生することが可能になる。
【００６５】
また、プリロード・ダウンロード・バッファ部２０９の記憶容量には、限界がある。つまり、プリロード・ダウンロード・バッファ部２０９に記憶できるＥＮＡＶコンテンツＣ２１、Ｃ２２のデータサイズには限りがある。このため、バッファ・マネージャ２０４の制御により(バッファ・コントロール)、必要性の低いＥＮＡＶコンテンツＣ２１、Ｃ２２を消去したり、必要性の高いＥＮＡＶコンテンツＣ２１、Ｃ２２を保存したりすることが可能である。前述の保存のための制御や、前述の消去のための制御は、プリロード・ダウンロード・バッファ部２０９が自動的に行うことも可能である。
【００６６】
バッファ・マネージャ２０４はＥＮＡＶドキュメントの指示により、プリロード・ダウンロード・バッファ部２０９に対して、以下のような指示を“バッファ・コントロール”として送ることが可能である。
【００６７】
・特定ファイルまたはファイルの一部のサーバからの読み込み（ダウンロード）
・特定ファイルまたはファイルの一部のディスクからの読み込み（プリロード）
・バッファからの特定ファイルまたはファイルの一部の消去
図３のＥＮＡＶエンジンの構成要素は、表現を変えると、次のように纏めることができる。すなわち、ＥＮＡＶエンジンは、以下から構成されている。
【００６８】
・ＸＨＴＭＬ＋ＳＭＩＬ／ＣＳＳパーサ２１０
ＸＨＴＭＬ＋ＳＭＩＬ／ＣＳＳパーサ２１０は、ＥＮＡＶドキュメントの内容を構文解析する。
【００６９】
・ＥＣＭＡＳｃｒｉｐｔインタープリタ２０５、ＳＭＩＬタイミング・エンジン２０６、ＸＨＴＭＬ／ＣＳＳレイアウト・マネージャ２０７
ＥＣＭＡＳｃｒｉｐｔインタープリタ２０５、ＳＭＩＬタイミング・エンジン２０６、ＸＨＴＭＬ／ＣＳＳレイアウト・マネージャ２０７は、解析されたモジュールを解釈する。
【００７０】
・ＥＮＡＶインターフェース・ハンドラ２０２
ＥＮＡＶインターフェース・ハンドラ２０２は、ＥＣＭＡＳｃｒｉｐｔインタープリタ２０５やＳＭＩＬタイミング・エンジン２０６からの制御信号と、ＤＶＤビデオ再生制御部１０２からの制御信号をハンドルする。
【００７１】
・エレメント・デコーダ２０８
エレメント・デコーダ２０８は、ＥＮＡＶコンテンツＣ２１、Ｃ２２に含まれる音声、静止画、テキスト・フォント、動画等のデータに対応した映像・音声データを生成する。
【００７２】
・ＡＶレンダラ２０３
ＡＶレンダラ２０３は、ＥＮＡＶインターフェース・ハンドラ２０２におけるＥＮＡＶコマンドの実行結果に基づいて、エレメント・デコーダ２０８で生成された映像・音声データをＤＶＤビデオ再生エンジン１００で再生された映像・音声データに合成して出力する。あるいはＡＶレンダラ２０３はＥＮＡＶインターフェース・ハンドラ２０２におけるＥＮＡＶコマンドの実行結果に基づいてエレメント・デコーダ２０８で生成された映像・音声データおよびＤＶＤビデオ再生エンジン１００で再生された映像・音声データの一方を選択して出力する。
【００７３】
・ユーザ・イベント・コントローラ２０１
ユーザ・イベント・コントローラ２０１は、ユーザ操作（ユーザオペレーション）に対応したユーザイベントを生成する。
【００７４】
・プリロード・ダウンロード・バッファ部２０９
プリロード・ダウンロード・バッファ部２０９は、ディスク部３００またはインターネット接続部２１１を介してサーバ部５００より取得したＥＮＡＶコンテンツＣ２２を一時記憶する。
【００７５】
・バッファ・マネージャ２０４
バッファ・マネージャ２０４は、ＥＮＡＶインターフェース・ハンドラ２０２の指示（ＥＮＡＶドキュメントの指示）により、プリロード・ダウンロード・バッファ部２０９にＥＮＡＶコンテンツのデータ読み込んだり、プリロード・ダウンロード・バッファ部２０９から消去したりする。
【００７６】
ここで、ＥＮＡＶインターフェース・ハンドラ２０２は、ユーザ・イベント・コントローラ２０１により生成されたユーザ・イベントに対応した処理を実行するように構成されている。そして、ＡＶレンダラ２０３が、ユーザ・イベントに対応した処理の実行結果に基づいて、エレメント・デコーダ２０８で生成された映像・音声データをＤＶＤビデオ再生エンジン１００で再生された映像・音声データに合成して出力するように構成されている。あるいはＡＶレンダラ２０３はＥＮＡＶインターフェース・ハンドラ２０２におけるＥＮＡＶコマンドの実行結果に基づいてエレメント・デコーダ２０８で生成された映像・音声データおよびＤＶＤビデオ再生エンジン１００で再生された映像・音声データの一方を選択して出力映像・音声データおよび映像・音声データの一方を選択して出力するように構成されている。
【００７７】
図４は、プリロード・ダウンロード・バッファ部２０９の一例を示す概略図である。
【００７８】
例えば、プリロード・ダウンロード・バッファ部２０９は、静止画バッファ２０９１、アニメーション・動画バッファ２０９２、オーディオ・コメンタリ・バッファ２０９３、オーディオ・バッファ２０９４、効果音バッファ２０９５、フォント・バッファ２０９６、ＥＮＡＶドキュメント・バッファ２０９７を備えている。
【００７９】
静止画バッファ２０９１は、ＥＮＡＶコンテンツＣ２１、Ｃ２２に含まれる静止画データを記憶する。アニメーション・動画バッファ２０９２は、ＥＮＡＶコンテンツＣ２１、Ｃ２２に含まれるアニメーション・動画データを記憶する。オーディオ・コメンタリ・バッファ２０９３は、オーディオ・コメンタリ・データを記憶する。オーディオ・バッファ２０９４は、オーディオ・データを記憶する。効果音バッファ２０９５は、効果音データを記憶する。フォント・バッファ２０９６は、フォント・データを記憶する。ＥＮＡＶドキュメント・バッファ２０９７、ＥＮＡＶドキュメントを記憶する。
【００８０】
つまり、プリロード・ダウンロード・バッファ部２０９は、ＥＮＡＶコンテンツに含まれるデータの種類に応じて、このデータを所定のバッファにバッファリングする。
【００８１】
エレメント・デコーダ２０８は、静止画デコーダ２０８１、アニメーション・動画デコーダ２０８２、音声デコーダ２０８３、テキスト・フォント・デコーダ２０８４を備えている。静止画デコーダ２０８１は、静止画バッファ２０９１に記憶された静止画データをデコードする。アニメーション・動画デコーダ２０８２は、アニメーション・動画バッファ２０９２に記憶されたアニメーション・動画データをデコードする。音声デコーダ２０８３は、オーディオ・コメンタリ・バッファ２０９３に記憶されたオーディオ・コメンタリ・データ、オーディオ・バッファ２０９４に記憶されたオーディオ・データ、効果音バッファ２０９５に記憶された効果音データをデコードする。テキスト・フォント・デコーダ２０８４は、フォント・バッファ２０９６に記憶されたテキスト・フォントデータをデコードする。
【００８２】
ＡＶレンダラ２０３は、各デコーダによりデコードされた静止画データ、アニメーション・動画データ、音声データ、テキスト・フォント・データを映像、音声として出力する。
【００８３】
ここで、オーディオ・コメンタリ・データについて説明する。オーディオ・コメンタリ・データとは、ＤＶＤビデオコンテンツＣ１の全体または一部に対して同期させる音声データを指す。例えば、ＤＶＤビデオディスクＤ２に記録されている音声の置き換えや、ＤＶＤビデオディスクＤ２に記録されている音声へのミックスなどの用途に用いられる。音声の置き換えとは、例えば、ＤＶＤビデオディスクＤ２に記録されている英語音声を日本語音声に置き換えることである。音声へのミックスとは、例えば、ＤＶＤビデオディスクＤ２の映画タイトルの映画の音声に対して監督の解説を付け加えることである。
【００８４】
効果音データとは、クリック音や警告音等の音声データを指す。オーディオ・データとは、オーディオ・コメンタリ・データや効果音以外の音声データ、つまりミュージック・クリップやバッグ・グランド・ミュージック等の音声データを指す。
【００８５】
例えば、ＤＶＤビデオディスクＤ２に記録されてＤＶＤタイトルの再生に同期して、オーディオ・コメンタリ・データを再生している最中でも、さらに警告音やクリック音等の効果音は必要である。即ち、オーディオ・コメンタリ・データと効果音は、それぞれ独立に再生し、ミックスして出力される。オーディオ・クリップのようなオーディオ・データと効果音に対しても同じようなことが当てはまる。ただし、オーディオ・コメンタリ・データとミュージック・クリップのようなオーディオ・データは必ずしも同時に出力する必要がない。
【００８６】
また、プリロード・ダウンロード・バッファ部２０９内の静止画バッファ２０９１、アニメーション・動画バッファ２０９２、オーディオ・バッファ２０９４、効果音バッファ２０９５、フォント・バッファ２０９６、ＥＮＡＶドキュメント・バッファ２０９７は、全て同じ特徴・機能をもつ。つまり、バッファ内のデータは、ＥＮＡＶコンテンツの再生が要求される前にエンハンスドＤＶＤビデオディスクＤ２またはサーバ部５００からロードされたデータである。ＥＮＡＶコンテンツの再生が終わり、今後このＥＮＡＶコンテンツを再生する必要がない場合は、このＥＮＡＶコンテンツを消去してもよい。言い換えれば、これらのバッファには、ＤＶＤビデオの再生が開始される前、またはＥＮＡＶコンテンツの再生が開始される前に、必要なＥＮＡＶコンテンツがロードされる。しかも、これらのバッファにロードされたＥＮＡＶコンテンツは、ＤＶＤの再生中であっても必要のなくなったＥＮＡＶコンテンツは消去することができ、これに伴い新しいＥＮＡＶコンテンツをアップデートすることができる。
【００８７】
図４に示すように、オーディオ・コメンタリ・バッファ２０９３は、オーディオ・バッファＡとオーディオ・バッファＢを備えている。また、オーディオ・コメンタリ・バッファ２０９３に入力されたデータは、オーディオ・バッファＡまたはオーディオ・バッファＢのいずれかに送られる。また、オーディオ・バッファＡまたはオーディオ・バッファＢから出力されるデータが、オーディオ・コメンタリ・バッファ２０９３から出力される。これは、バッファ・マネージャ２０４からのバッファ・コントロールにより、オーディオ・バッファＡまたはオーディオ・バッファＢに対するデータの入力、オーディオ・バッファＡまたはオーディオ・バッファＢからのデータの出力が切り換えられる。別の例として、オーディオ・コメンタリ・バッファ２０９３をオーディオ・バッファＡとオーディオ・バッファＢで構成する替わりに、リングバッファで構成するようにしてもよい。この一つのリングバッファにより、二つのオーディオ・バッファＡとオーディオ・バッファＢの機能をサポートすることができる。詳細は後で説明する。
【００８８】
図５〜図９を参照して、ＥＮＡＶコンテンツＣ２２の再生による効果について説明する。つまり、ＥＮＡＶコンテンツＣ２２を外部サーバ（サーバ部５００）からダウンロードしながら、または一旦ダウンロードして、ＤＶＤビデオコンテンツＣ１に対して同期してＥＮＡＶコンテンツＣ２２を再生するケースについて説明する。
【００８９】
先ず、図５を参照して説明する。図５は、ＤＶＤビデオコンテンツＣ１のみの再生を示す図である。例えば、あるユーザがＤＶＤビデオディスク（エンハンスドＤＶＤディスクＤ２）を再生したが、そのＤＶＤビデオディスクには英語の音声または、英語の字幕しか含まれていないとする。日本語しか分からないユーザである場合、そのＤＶＤビデオディスクを鑑賞することが難しい。
【００９０】
そこで、再生装置は、図６〜図９に示すような再生を実現する。つまり、再生装置は、外部サーバ（サーバ部５００）にアクセスする。ここで言う外部サーバは、そのＤＶＤビデオディスクのコンテンツに対応した日本語字幕の画像(動画または静止画)のコンテンツ、または日本語の音声のコンテンツが用意されいてる外部サーバである。このとき、その外部サーバのアクセス方法としては、ＤＶＤビデオディスクのデータから外部サーバを特定する方法や、ユーザがその外部サーバを指定する方法が考えられる。このように、再生装置は外部サーバにアクセスすることにより、日本語の字幕のコンテンツや日本語の音声のコンテンツを入手することができる。
【００９１】
例えば、前述の日本語のためのコンテンツ（ＥＮＡＶコンテンツＣ２２）を外部サーバ（サーバ部５００）から、インターネット接続部２１１を介してダウンロードし、プリロード・ダウンロード・バッファ部２０９内に記憶する。すべてのコンテンツのダウンロードが終了した後、ＤＶＤビデオコンテンツＣ１とともに再生が開始される。この場合、ダウンロードに時間がかかるため、コンテンツの再生開始までそれなりの待ち時間が生じる。またすべてのデータをプリロード・ダウンロード・バッファ部２０９に記憶しようとすると、記憶容量の大きいバッファが必要となる。記憶容量の大きいバッファを用意してすべてのＥＮＡＶコンテンツＣ２２のデータをプリロード・ダウンロード・バッファ部２０９に記憶してしまえば、外部サーバへの接続状況に関らず、途切れることなくコンテンツの再生が可能となる。
【００９２】
また、前述の日本語のためのコンテンツ（ＥＮＡＶコンテンツＣ２２）を外部サーバよりインターネット接続部２１１を介して、プリロード・ダウンロード・バッファ部２０９にダウンロードして記憶しながら、ダウンロードが完了したデータから順にＤＶＤビデオコンテンツＣ１とともに再生する。この場合、ほとんど待ち時間なしに、コンテンツの再生を開始することができる。更に、再生が終了し、必要のなくなったコンテンツのデータは、プリロード・ダウンロード・バッファ部２０９から消去される。これにより、プリロード・ダウンロード・バッファ部２０９に要求される記憶容量も節約することができる。ただし、途切れないコンテンツの連続再生のために、外部サーバへの接続を確保する必要がある。
【００９３】
具体的に図６を参照して説明する。図６には、外部サーバよりダウンロードした日本語字幕を表示するためのＥＮＡＶコンテンツＣ２２をＤＶＤビデオコンテンツＣ１とともに表示した例を示す。合成して表示させるためには、図６に示すように、ＤＶＤビデオコンテンツＣ１の表示領域を通常よりも縮小させて、ＥＮＡＶコンテンツＣ２２(静止画、動画)を表示させるための領域を確保する。また、ＥＮＡＶコンテンツＣ２２が背景を反映させることのできる透過型の画像コンテンツの場合、ＤＶＤビデオコンテンツＣ１を縮小させることなく、ＥＮＡＶコンテンツＣ２２をＤＶＤビデオコンテンツＣ１に貼り合わせることができる。他にも、ＥＮＡＶコンテンツＣ２２がテキストとフォント・データから構成される場合は、テキスト・フォントのエレメント・デコーダにてラスタライズされたデータをＤＶＤビデオコンテンツＣ１に貼り合わせて表示することが可能である。ＥＮＡＶコンテンツＣ２２をダウンロードできない場合、代替の画像、例えば既に読み込むことができた画像データや、再生装置に予め蓄えられている画像データやフォント・データを用いて表示することが可能である。
【００９４】
図６に示す映像音声出力を実現するために、まず、日本語字幕のための静止画データやアニメーション・動画データで構成されたＥＮＡＶコンテンツは、インターネット接続部２１１を介して、プリロード・ダウンロード・バッファ部２０９内の静止画バッファ２０９１またはアニメーション・動画バッファ２０９２にダウンロードされる。ＥＮＡＶドキュメントにより指定されたすべてのコンテンツのダウンロードが終了した後、ＤＶＤビデオコンテンツとともに、ダウンロードされたＥＮＡＶコンテンツの再生が開始される、つまり静止画データ、アニメーション・動画データがエレメント・デコーダ２０８に出力されデコードされる。このとき、ダウンロード・プリロード・バッファ部２０９の容量が、目的のＥＮＡＶコンテンツに対して十分大きいときは、再生前のタイミングでダウンロードが完了する。ところが、ダウンロード・プリロード・バッファ部２０９の容量が、目的のＥＮＡＶコンテンツに対して十分でないときは、ＤＶＤビデオコンテンツとＥＮＡＶコンテンツの再生中に、ＥＮＡＶコンテンツのアップデート作業が必要となる。つまり、再生が終了して不要なＥＮＡＶコンテンツを消去し、新たに必要となるＥＮＡＶコンテンツをダウンロードしなければならない。
【００９５】
続いて、図７を参照して説明する。図７には、外部サーバ（サーバ部５００）よりダウンロードした日本語音声のためのＥＮＡＶコンテンツＣ２２をＤＶＤビデオコンテンツＣ１とともに再生した例を示す。ＤＶＤビデオコンテンツＣ１の音声データの一部、もしくはすべてを再生せずに、再生しない音声の代わりに、ＥＮＡＶコンテンツＣ２２の日本語音声を再生している。
【００９６】
続いて、図８を参照して説明する。図８には、外部サーバよりダウンロードした音声解説（オーディオ・コメンタリ）のためのＥＮＡＶコンテンツＣ２２をＤＶＤビデオコンテンツＣ１とともに再生した例を示す。ＤＶＤビデオコンテンツＣ１の音声データに対し、ＥＮＡＶコンテンツＣ２２のオーディオ・コメンタリ・データをミックスして再生している。このときの、二つの音声をミックスするときのミックス比はＥＮＡＶドキュメントによって指定することが可能である。
【００９７】
続いて、図９を参照して説明する。図９には、再生するＥＮＡＶコンテンツＣ２２の途中で表示するフォントが変化する例を示す。この例では、ページが変わるにしたがって、表示に用いるフォントも、フォントＡ→フォントＢ→フォントＣというように変化している。このとき、フォントＡを表示するためのフォントデータをフォントＡが表示される前に、フォントＢを表示するためのフォントデータをフォントＢが表示される前に、フォントＣを表示するためのフォントデータをフォントＣが表示される前に、プリロード・ダウンロード・バッファ部２０９で読み込む必要がある。もし、プリロード・ダウンロード・バッファ部２０９の容量が十分大きくない場合は、フォントＢをプリロード・ダウンロード・バッファ部２０９に読み込む前に、ロード済みのフォントＡのデータをプリロード・ダウンロード・バッファ部２０９より消去し、フォントＣをプリロード・ダウンロード・バッファ部２０９に読み込む前に、ロード済みのフォントＢのデータをプリロード・ダウンロード・バッファ部２０９より消去する。これにより、プリロード・ダウンロード・バッファ部２０９の容量不足を補うことが可能である。
【００９８】
また、もしフォントデータをそのフォントを表示する前に、インターネットの接続状況等のために、プリロード・ダウンロード・バッファ部２０９に読み込むことができない場合、代替のフォント、例えば、すでに読み込むことができたフォントデータや、再生装置にあらかじめ備えられているフォントデータを用いて表示を行う。更に、所望のフォントデータをプリロード・ダウンロード・バッファ部２０９から読み込むことが出来次第、所望のフォントデータを用いる。
【００９９】
次に、図７に示すＤＶＤビデオコンテンツの音声の置き換えや、図８に示すオーディオ・コメンタリの付加のための手順を説明する。
【０１００】
ＤＶＤビデオコンテンツの置き換えのための音声データやオーディオ・コメンタリ・データ（以下、総称してオーディオ・コメンタリ・データ、またはＥＮＡＶオーディオ・データと呼ぶ）はＤＶＤビデオコンテンツ全体と同期している。すべてのオーディオ・コメンタリ・データをプリロード・ダウンロード・バッファ部２０９に読み込むためには、大きな容量のバッファが必要となるとともに、ダウンロードを行なうときの時間も長くなる。そこで、図４に示すように、二つのバッファ、オーディオ・バッファＡとオーディオ・バッファＢ（或いはリングバッファ）から構成されるオーディオ・コメンタリ・バッファを用いる。これにより、ＤＶＤビデオコンテンツを再生しながら、オーディオ・コメンタリ・データをダウンロードし、再生を行うことが可能となる。
【０１０１】
図１０は、二つのバッファで構成されるオーディオ・コメンタリ・バッファの動きを示す図である。
【０１０２】
サーバ部５００から提供されるオーディオ・コメンタリ・データは、オーディオ・バッファＡまたはオーディオ・バッファＢに十分収まる大きさに分割されている。ＥＮＡＶドキュメントの指示にて、最初の分割されたオーディオ・コメンタリ・データ（分割ＥＮＡＶコンテンツ）は、まずオーディオ・バッファＡにダウンロードされる。つまり、入力のスイッチの切り換えにより、最初の分割されたオーディオ・コメンタリ・データ（分割ＥＮＡＶコンテンツ）は、オーディオ・バッファＡにダウンロードされる（状態１）。
【０１０３】
最初の分割されたオーディオ・コメンタリ・データがオーディオ・バッファＡへダウンロードされた後、ＤＶＤビデオコンテンツとオーディオ・コメンタリ・データの再生が開始される。最初のオーディオ・コメンタリ・データはオーディオ・バッファＡに格納されているため、出力のスイッチが、オーディオ・バッファＡ側に切り替えられ、オーディオ・バッファＡに格納されているオーディオ・コメンタリ・データがエレメント・デコーダ２０８内の音声デコーダ２０８３に送られ、再生が開始される。これと同時に、入力のスイッチがオーディオバッファＢ側に切り替えられ、二番目の分割されたオーディオ・コメンタリ・データ（分割ＥＮＡＶコンテンツ）がオーディオ・バッファＢにダウンロードされる（状態２）。
【０１０４】
二番目の分割されたオーディオ・コメンタリ・データがオーディオ・バッファＢへダウンロードされ、最初の分割されたオーディオ・コメンタリ・データの再生が終了した後、オーディオ・バッファＢより二番目の分割されたオーディオ・コメンタリ・データが音声デコーダ２０８に送られ再生される。このとき、オーディオ・バッファＡに記録されているオーディオ・コメンタリ・データは消去され、オーディオ・バッファＡには新たに三番目の分割されたオーディオ・コメンタリ・データがダウンロードされる。つまり、入力のスイッチがオーディオ・バッファＡ側に切り替えられ、出力のスイッチがオーディオ・バッファＢ側に切り替えられる（状態１）。
【０１０５】
以上、状態１と状態２を繰り返すことにより、少ない容量のオーディオ・コメンタリ・バッファ２０９３を用いて、ＤＶＤビデオコンテンツに同期してオーディオ・コメンタリ・データをサーバ部よりダウンロードしながら再生することが可能である。
【０１０６】
次に、図１１を参照して、オーディオ・コメンタリ・バッファ２０９３のオーディオ・バッファＡ、オーディオ・バッファＢに対する分割ＥＮＡＶコンテンツのダウンロードのタイミング、及びダウンロードされた分割ＥＮＡＶコンテンツの再生のタイミングについて説明する。ダウンロードされたＥＮＡＶコンテンツは、ＤＶＤビデオコンテンツの再生に同期して再生される。
【０１０７】
再生区間iにおいてサーバ部５００からオーディオ・コメンタリ・バッファ２０９にＥＮＡＶコンテンツをダウンロードするときの平均ダウンロード速度をＶdi(i=0〜6)と定義する。また、再生区間iにおいてオーディオ・コメンタリ・バッファ２０９よりエレメント・デコーダ２０８の音声デコーダ２０８３にＥＮＡＶコンテンツを読み出すときの平均読み出し速度をＶoi(i=1〜6)と定義する。ただし、ＤＶＤビデオの再生を開始する前にダウンロードを行う平均ダウンロード速度は、Ｖd0である。
【０１０８】
まず、ＤＶＤの再生が要求されると、再生装置は、サーバ部５００よりオーディオ・バッファＡに分割ＥＮＡＶコンテンツをダウンロードする(平均ダウンロード速度Ｖd0)。このとき、分割ＥＮＡＶコンテンツのデータ量によってはオーディオ・バッファＡの容量がいっぱいにならないこともある（準備区間）。
【０１０９】
オーディオ・バッファＡの容量が一杯になるまで(もしくはある一定の量まで)、つまり分割ＥＮＡＶコンテンツのダウンロードが完了すると、ダウンロードした分割ＥＮＡＶコンテンツはエレメント・デコーダ２０８の音声デコーダ２０８３に読み出される(平均読み出し速度Ｖo1)。これと同時にＤＶＤビデオの再生が開始され、エレメント・デコーダ２０８の音声デコーダ２０８３でデコードされた分割ＥＮＡＶコンテンツとＤＶＤビデオコンテンツの同期再生が開始する。このとき、オーディオ・バッファＢは、サーバ部５００より分割ＥＮＡＶコンテンツのダウンロードを行う(平均ダウンロード速度Ｖd1)。つまり、このとき、オーディオ・バッファＡに記録された分割ＥＮＡＶコンテンツが再生されていることになる（再生区間１）
オーディオ・バッファＡに記録されている分割ＥＮＡＶコンテンツの再生がすべて終了すると、読み出されて必要のない分割ＥＮＡＶコンテンツはオーディオ・バッファＡよりすべて消去される。オーディオ・バッファＡは再びサーバ部５００より分割ＥＮＡＶコンテンツをダウンロードする(平均ダウンロード速度Ｖd2)。また、オーディオ・バッファＢはダウンロードされた分割ＥＮＡＶコンテンツをエレメント・デコーダ２０８の音声デコーダ２０８３に送る。(平均読み出し速度Ｖo2) つまり、このとき、オーディオ・バッファＢに記録された分割ＥＮＡＶコンテンツが再生されていることになる（再生区間２）。
【０１１０】
以上のように、一つのバッファ（オーディオ・バッファＡまたはオーディオ・バッファＢ）を分割ＥＮＡＶコンテンツのダウンロードのために使用し、もう一つのバッファ（オーディオ・バッファＡまたはオーディオ・バッファＢ）を分割ＥＮＡＶコンテンツの再生のために使用する。オーディオ・バッファＡとオーディオ・バッファＢの使い分けは、バッファ・マネージャ２０４により制御される。
【０１１１】
ただし、ＤＶＤビデオコンテンツとＥＮＡＶコンテンツの再生を絶え間なく行うためには、すべての再生区間iにおいて、以下の条件を満たすことが必要不可欠でる。
【０１１２】
Ｖdi ≧ Ｖoi (i≧1)
もし、これが満たされない場合には、その再生区間において、分割ＥＮＡＶコンテンツのダウンロードが完了するまで、ＤＶＤビデオコンテンツの再生を一時中断させる。もしくは、条件を満たせなかった次の再生区間もしくは再生区間の一部は、ＥＮＡＶコンテンツが再生できない。つまり音が出ないことになる。
【０１１３】
ここで、ＤＶＤビデオコンテンツと同期してオーディオ・コメンタリ・データを再生している際に、ユーザにより、早送り、巻き戻し、スキップ、又は一時停止が行なわれた後、再び再生を行なう場合、再生の再開に対応してオーディオ・コメンタリ・データも再生しなければならない。少なくとも、早送り、巻き戻し、スキップを行った場合はそのジャンプした箇所から、一時停止を行った場合は一時停止した箇所から、再びＤＶＤビデオコンテンツに同期させオーディオ・コメンタリ・データ再生を再生しなければならない。つまり、オーディオ・コメンタリ・データの任意の箇所から再生を行う必要がある。
【０１１４】
図１２には、ＤＶＤビデオコンテンツと同期させるために、情報を付加したＥＮＡＶコンテンツのデータ構造の例を示す。
【０１１５】
ＥＮＡＶコンテンツは、音声、アニメーション・動画、静止画、フォントなどの複数のデータのうち少なくとも一つを含む。ＥＮＡＶコンテンツは、図１２に示すように、一つ以上の分割ＥＮＡＶコンテンツを含む。言い換えると、ＥＮＡＶコンテンツは、複数のデータに分割して提供することが可能である。例えば、プリロード・ダウンロード・バッファ２０９の記憶容量よりも、あるＥＮＡＶコンテンツのデータサイズが十分大きくても、図１２に示すデータ構造を持つことにより、ＥＮＡＶコンテンツを分割して提供することができる。
【０１１６】
例えば、前述のようにＤＶＤビデオコンテンツに対して同期して再生されるオーディオ・コメンタリ・データは分割され、オーディオ・バッファＡまたはオーディオ・バッファＢに入るサイズで提供される。このように、ＥＮＡＶコンテンツは分割して提供されるので、プリロード・ダウンロード・バッファ２０９の記憶容量を小さくすることができ、しかも再生開始までに要する時間を短くすることができる。
【０１１７】
更に、分割ＥＮＡＶコンテンツは、音声、アニメーション・動画、静止画、フォントなどを構成するＥＮＡＶデータと、このＥＮＡＶデータの属性情報を表すＥＮＡＶヘッダを含む。
【０１１８】
ＥＮＡＶヘッダは、ＥＮＡＶデータ情報、タイトル番号、絶対時間、チャプタ番号、相対時間、再生時間、データ・サイズ、分割番号、分割総数、インデックス数、インデックス時間、インデックス位置などを含む。
【０１１９】
ＥＮＡＶデータ情報は、ＥＮＡＶデータの属性を示す。タイトル番号は、ＥＮＡＶデータの先頭が同期するＤＶＤビデオコンテンツのタイトルに割り当てられたタイトル番号を示す。絶対時間は、ＥＮＡＶデータの先頭が同期するＤＶＤビデオコンテンツのタイトルの先頭からの時間を示す。ＤＶＤビデオコンテンツに含まれるタイトルは、時間情報が割り当てられた所定単位の再生情報を含む。分割ＥＮＡＶコンテンツのＥＮＡＶヘッダに含まれるタイトル番号及び絶対時間に基づき、ＤＶＤビデオコンテンツのタイトルに含まれる所定単位の再生情報の再生に同期させて、所定のＥＮＡＶデータを再生することが可能となる。
【０１２０】
チャプタ番号は、ＥＮＡＶデータの先頭が同期するＤＶＤビデオコンテンツのチャプタに割り当てられたチャプタ番号を示す。相対時間は、ＥＮＡＶデータの先頭が同期するＤＶＤビデオコンテンツのチャプタの先頭からの時間を示す。ＤＶＤビデオコンテンツに含まれるチャプタは、時間情報が割り当てられた所定単位の再生情報を含む。分割ＥＮＡＶコンテンツのＥＮＡＶヘッダに含まれるチャプタ番号及相対時間に基づき、ＤＶＤビデオコンテンツのチャプタに含まれる所定単位の再生情報の再生に同期させて、所定のＥＮＡＶデータを再生することが可能となる。
【０１２１】
再生時間は、ＥＮＡＶデータが再生される時間を示す。データ・サイズは、ＥＮＡＶデータ(もしくはこのＥＮＡＶデータと対応するＥＮＡＶヘッダ)のデータ・サイズを示す。また、このケースではＥＮＡＶデータは一定のビットレートでエンコードされており、上記したデータ・サイズは秒単位又はフレーム単位のＥＮＡＶデータのサイズを示す。
【０１２２】
分割総数は、分割ＥＮＡＶコンテンツの総数を示す。分割番号は、何番目の分割ＥＮＡＶコンテンツかを示す。分割されていないＥＮＡＶデータの場合、分割総数＝１、分割番号＝１が記録される。インデックス時間は、ＥＮＡＶデータの先頭以外の位置にアクセスするために、分割ＥＮＡＶコンテンツの先頭からの相対時間を示す。インデックス位置（ｎ）は、インデックス時間（ｎ）に対応するデータの位置（分割ＥＮＡＶコンテンツの先頭からの相対位置、またはＥＮＡＶデータの先頭からの相対位置で表すことが可能）を示す。インデックス時間及びインデックス位置は、複数記録することが可能である。インデックス数は、分割ＥＮＡＶコンテンツに記録されているインデックスの総数を示す。
【０１２３】
例えば、分割ＥＮＡＶコンテンツが１０秒単位のデータである場合、分割ＥＮＡＶコンテンツへのアクセスは先頭に限られるため、１０秒単位でのアクセスしかできない。しかし、インデックスとして、分割ＥＮＡＶコンテンツの先頭から１秒、２秒、３秒、、、、、、８秒、９秒と９つのインデックス時間とインデックス位置を定義する（インデックス数＝９）。これにより、ＥＮＡＶコンテンツ内のアクセスが可能となる。上記の例では、ＥＮＡＶコンテンツ内の１秒単位でのアクセスが可能となる。アクセスの精度を上げる必要がある場合は更にインデックスを追加すればよい。
【０１２４】
分割ＥＮＡＶコンテンツのＥＮＡＶヘッダに含まれるインデックス時間及びインデックス情報に基づき、ＤＶＤビデオコンテンツの所定の再生情報の再生に同期させて、所定のＥＮＡＶデータを再生することが可能となる。
【０１２５】
また、分割ＥＮＡＶコンテンツを一つのファイルとして構成することにより、前述のＥＮＡＶヘッダ内の情報の一部をファイル名として記録することも可能である。例えば、分割ＥＮＡＶコンテンツのファイル名を、AC_00001.AC3、AC_00002.AC3、AC_00003.AC3、、、、、と定義すれば、分割番号をＥＮＡＶヘッダに記録する必要はない。また、絶対時間を秒で表し、AC_00000.MPG、AC_00010.MPG、AC_00020.MPG、、、、、のようにファイル名として定義することも可能である。
【０１２６】
以上のように、ＥＮＡＶコンテンツのデータを分割し、付加情報を記録することにより、早送り、巻き戻しといった特殊再生時においても、再生の再開に伴い必要なＥＮＡＶコンテンツを検索し、ＤＶＤビデオコンテンツに対して同期して再生することが可能になる。
【０１２７】
図１３〜図１５は、ＥＮＡＶコンテンツをＤＶＤビデオコンテンツに同期して再生させるときの例を示す。
【０１２８】
図１３は、オーディオ・コメンタリ・バッファ２０９３を用いて、分割ＥＮＡＶコンテンツをダウンロードしながら再生する処理を説明する図である。例えば、ＥＮＡＶコンテンツは、次に示すように９個の分割ＥＮＡＶコンテンツに分割されているものとする。
【０１２９】
・ＤＶＤビデオコンテンツのチャプタ１に同期する三つの分割ＥＮＡＶコンテンツ（分割ＥＮＡＶコンテンツ１〜３）
・ＤＶＤビデオコンテンツのチャプタ２に同期する三つの分割ＥＮＡＶコンテンツ（分割ＥＮＡＶコンテンツ４〜６）
・ＤＶＤビデオコンテンツのチャプタ３に同期する三つの分割ＥＮＡＶコンテンツ（分割ＥＮＡＶコンテンツ７〜９）
再生開始を指示された再生装置は、まず分割ＥＮＡＶコンテンツ１からダウンロードを行う。即ち、通信回線を介して外部のサーバ部５００からＥＮＡＶコンテンツを順次取得し、ＥＮＡＶコンテンツの種類に応じて所定のバッファにバッファリングする。ＥＮＡＶコンテンツの一部、即ち分割ＥＮＡＶコンテンツ１のダウンロードが終了した後、ＤＶＤビデオコンテンツの再生を開始する。このとき、分割ＥＮＡＶコンテンツ１の再生を行う一方で、分割ＥＮＡＶコンテンツ２のダウンロードを行う。次に分割ＥＮＡＶコンテンツ２の再生を行うときに、分割ＥＮＡＶコンテンツ３のダウンロードを行う。以上を繰り返すことにより、ＥＮＡＶコンテンツとＤＶＤビデオコンテンツの同期再生を行うことができる。
【０１３０】
図１４は、ＤＶＤビデオコンテンツのチャプタ１とＥＮＡＶコンテンツとを同期して再生している際に、チャプタ２にスキップしたときの再生を説明するための図である。この例においても、図１３における例と同じように、１つのチャプタに対応するＥＮＡＶコンテンツは、三つの分割ＥＮＡＶコンテンツに分割されている。
【０１３１】
再生開始を指示された再生装置は、まず分割ＥＮＡＶコンテンツ１のダウンロードを行い、ダウンロードが完了した後、ＤＶＤビデオコンテンツの再生を開始する。このとき、図１３と同様に、分割ＥＮＡＶコンテンツ１の再生を行いながら、分割ＥＮＡＶコンテンツ２をダウンロードし、分割ＥＮＡＶコンテンツ２の再生を行いながら、分割ＥＮＡＶコンテンツ３のダウンロードを行う。
【０１３２】
例えば、チャプタ１（分割ＥＮＡＶコンテンツ３）を再生している際に、ユーザがスキップボタンを押し、次のチャプタであるチャプタ２を再生するように要求した場合、まず再生装置は、オーディオ・コメンタリ・バッファ２０９３内にチャプタ２のＥＮＡＶコンテンツのデータ（分割ＥＮＡＶコンテンツ４）が存在するか否かを確認する。この例においては、スキップが指示されたとき、分割ＥＮＡＶコンテンツ４のダウンロードが完了した状態であったため、すぐにＤＶＤビデオコンテンツのチャプタ２の再生と、分割ＥＮＡＶコンテンツ４の再生が可能となる。このとき、ダウンロードは、引き続いて分割ＥＮＡＶコンテンツ４のダウンロードを行う。
【０１３３】
図１５は、ＤＶＤビデオコンテンツのチャプタ１とＥＮＡＶコンテンツを同期して再生している際に、先のチャプタ６にスキップしたときの再生を説明するための図である。この例においても、図１３における例と同じように、１つのチャプタに対応するＥＮＡＶコンテンツは、以下のように三つの分割ＥＮＡＶコンテンツに分割されている。
【０１３４】
・ＤＶＤビデオコンテンツのチャプタ１に同期する三つの分割ＥＮＡＶコンテンツ（分割ＥＮＡＶコンテンツ１〜３）
・ＤＶＤビデオコンテンツのチャプタ６に同期する三つの分割ＥＮＡＶコンテンツ（分割ＥＮＡＶコンテンツｋ〜（ｋ＋２））
・ＤＶＤビデオコンテンツのチャプタ３に同期する三つの分割ＥＮＡＶコンテンツ（分割ＥＮＡＶコンテンツ（ｋ＋３）〜（ｋ＋５））
再生開始を指示された再生装置は、まず分割ＥＮＡＶコンテンツ１のダウンロードを行い、ダウンロードが完了した後、ＤＶＤビデオコンテンツの再生を開始する。このとき、図１３と同様に、分割ＥＮＡＶコンテンツ１の再生を行いながら、分割ＥＮＡＶコンテンツ２をダウンロードし、分割ＥＮＡＶコンテンツ２の再生を行いながら、分割ＥＮＡＶコンテンツ３のダウンロードを行う。
【０１３５】
例えば、チャプタ１（分割ＥＮＡＶコンテンツ３）を再生している際に、ユーザがスキップボタンを押し、先のチャプタであるチャプタ６を再生するように要求した場合、再生装置は、オーディオ・コメンタリ・バッファ２０９３内にチャプタ６のＥＮＡＶコンテンツのデータ（分割ＥＮＡＶコンテンツｋ）が存在するか否かを確認する。この例においては、スキップが指示されたとき、チャプタ２に同期するはずの分割ＥＮＡＶコンテンツ４のダウンロードを行っている最中であり、チャプタ６の再生に必要なＥＮＡＶコンテンツのデータのダウンロードはまだ行っていなかった。そこで、分割ＥＮＡＶコンテンツ４のダウンロードを中断し、スキップ先であるチャプタ６の再生に必要な分割ＥＮＡＶコンテンツｋのダウンロードを行う。このとき、ＤＶＤビデオコンテンツは、チャプタ６の再生を分割ＥＮＡＶコンテンツｋのダウンロードが完了するまで一時停止する。分割ＥＮＡＶコンテンツｋのダウンロードが完了した後、ＤＶＤビデオコンテンツのチャプタ６の再生と、分割ＥＮＡＶコンテンツｋの再生を行うとともに、続きとなる分割ＥＮＡＶコンテンツ（ｋ＋１）のダウンロードを行う。
【０１３６】
図１６及び図１７を参照して、ＤＶＤビデオコンテンツの任意の箇所から再生を開始するときに、必要な分割ＥＮＡＶコンテンツを検索して再生する処理を説明する。
【０１３７】
例えば、ＤＶＤビデオコンテンツをタイトルの初めから再生する場合、ＤＶＤビデオコンテンツの先頭からの再生と同時にＥＮＡＶコンテンツが先頭から再生される。これにより、ＤＶＤビデオコンテンツとＥＮＡＶコンテンツを同期して再生することができる。一方、ＤＶＤビデオコンテンツを任意の箇所から再生する場合がある。例えばタイムサーチのような任意の指定された箇所から再生する場合がある。或いは、スキップした後の再生のように任意の指定されたチャプタから再生する場合がある。図１２に示すように、ＥＮＡＶコンテンツを分割し、それぞれの分割ＥＮＡＶコンテンツに対してＤＶＤビデオコンテンツに同期するための情報を持たす必要がある。
【０１３８】
図１６は、タイトル、タイトルの先頭からの時間情報を用いて、再生対象の分割ＥＮＡＶコンテンツを検索する例を示すフローチャートである。
【０１３９】
再生装置は、ＤＶＤビデオコンテンツの再生箇所に対応する分割ＥＮＡＶコンテンツのデータが、プリロード・ダウンロード・バッファ部２０９内にあるか否かを検索する（ＳＴ１０２）。ここでは、再生箇所は、タイトル番号(target_title)と、タイトル開始位置からの時間(target_time)の指定により示されるものとする（ＳＴ１０１）。再生装置は、まずプリロード・ダウンロード・バッファ部２０９内に target_title と同じタイトル番号をＥＮＡＶヘッダとしてもつ分割ＥＮＡＶコンテンツのデータを検索する（ＳＴ１０３）。
【０１４０】
次に、検索した分割ＥＮＡＶコンテンツのデータの中から、以下の条件を満たす絶対時間と再生時間をＥＮＡＶヘッダとしてもつ分割ＥＮＡＶコンテンツを検索する（ＳＴ１０４、ＳＴ１０５）。
【０１４１】
絶対時間(absolute_time) ≦ target_time ＜ 絶対時間(absolute_time)＋再生時間(playback_time)
目的の分割ＥＮＡＶコンテンツのデータが存在しない場合（ＳＴ１０３、ＮＯ）（ＳＴ１０４、ＮＯ）（ＳＴ１０５、ＮＯ）、プリロード・ダウンロード・バッファ部２０９内には指定されたＤＶＤビデオコンテンツに同期して再生するための分割ＥＮＡＶコンテンツのデータが存在しないことになる（ＳＴ１０８）。この場合、サーバ部５００から上記した条件を満たす分割ＥＮＡＶコンテンツをダウンロードする必要がある（ＳＴ１０９）。このとき、ＤＶＤビデオコンテンツは分割ＥＮＡＶコンテンツのダウンロードが完了するまで再生を停止しておく（ＳＴ１０９）。
【０１４２】
プリロード・ダウンロード・バッファ部２０９内に、指定されたＤＶＤビデオコンテンツに同期して再生するための分割ＥＮＡＶコンテンツが存在する場合（ＳＴ１０６）、またはサーバ部５００から指定された分割ＥＮＡＶコンテンツのダウンロードが完了した場合（ＳＴ１１０、ＹＥＳ）、ＤＶＤビデオコンテンツに同期して、対応する分割ＥＮＡＶコンテンツの再生を行う（ＳＴ１０７）。
【０１４３】
絶対時間(absolute_time) ＝ target_time であるとき、対応する分割ＥＮＡＶコンテンツの再生と、指定されたＤＶＤビデオコンテンツの箇所を同時に再生することにより、ＤＶＤビデオコンテンツとＥＮＡＶコンテンツの同期再生が実現できる。
【０１４４】
ここで、以下の条件を満たすとき、target_time-absolute_time だけの時間差が生じる。
【０１４５】
絶対時間(absolute_time) ＜ target_time ＜ 絶対時間(absolute_time)＋再生時間(playback_time)
このとき、対応する分割ＥＮＡＶコンテンツのデータの途中の位置(target_time)からの再生を行う。つまり、対応する分割ＥＮＡＶコンテンツにインデックスがある場合、以下を満たすインデックスｋを検索し、インデックス位置ｋから再生を行う。
【０１４６】
target_time ＝絶対時間(absolute_time)＋インデックス時間ｋ
もし、途中位置からの再生ができない場合、分割ＥＮＡＶコンテンツをまず再生させ、target_time-absolute_time 遅らせてＤＶＤビデオコンテンツを再生する。これにより、ＤＶＤビデオコンテンツとＥＮＡＶコンテンツの同期再生が実現できる。これ以外にも、検索した分割ＥＮＡＶコンテンツの次の分割ＥＮＡＶコンテンツデータ、つまり分割番号が１だけ大きいＥＮＡＶヘッダをもつＥＮＡＶデータを、ＤＶＤビデオコンテンツが再生してから、absolute_time＋playback_time−target_time だけ遅らせて再生することにより、同期再生が実現できる。
【０１４７】
図１７は、タイトル、タイトルの先頭からの時間情報を用いて分割ＥＮＡＶコンテンツのデータを検索する流れを示すフローチャートである。
【０１４８】
再生装置は、ＤＶＤビデオコンテンツの再生箇所に対応する分割ＥＮＡＶコンテンツのデータが、プリロード・ダウンロード・バッファ部２０９内にあるか否かを検索する（ＳＴ２０２）。ここでは、再生箇所は、タイトル番号(target_title)と、チャプタ番号(target_chapter)と、チャプタ開始位置からの時間(target_ch_time)の指定により示されるものとする（ＳＴ２０１）。再生装置は、まずプリロード・ダウンロード・バッファ部２０９内に target_title と同じタイトル番号をＥＮＡＶヘッダとしてもつ分割ＥＮＡＶコンテンツを検索する（ＳＴ２０３）。
【０１４９】
次に、検索した分割ＥＮＡＶコンテンツの中から、target_chapter と同じチャプタ番号をＥＮＡＶヘッダとしてもつ分割ＥＮＡＶコンテンツを検索する（ＳＴ２０４）。更に、検索した分割ＥＮＡＶコンテンツの中から、以下の条件を満たす絶対時間と再生時間をＥＮＡＶヘッダとしてもつ分割ＥＮＡＶコンテンツを検索する（ＳＴ２０５、ＳＴ２０６）。
【０１５０】
相対時間(relative_time) ≦ target_ch_time ＜ 相対時間(relative_time)＋再生時間(playback_time)
目的の分割ＥＮＡＶコンテンツが存在しない場合（ＳＴ２０３、ＮＯ）（ＳＴ２０４、ＮＯ）（ＳＴ２０５、ＮＯ）（ＳＴ２０６、ＮＯ）、プリロード・ダウンロード・バッファ部２０９内には指定されたＤＶＤビデオコンテンツに同期して再生するための分割ＥＮＡＶコンテンツのデータが存在しないことになる（ＳＴ２０９）。この場合、サーバ部５００から目的の分割ＥＮＡＶコンテンツをダウンロードする必要がある（ＳＴ２１０）。このとき、ＤＶＤビデオコンテンツは分割ＥＮＡＶコンテンツのダウンロードが完了するまで再生を停止しておく（ＳＴ２１０）。
【０１５１】
プリロード・ダウンロード・バッファ部２０９内に、指定されたＤＶＤビデオコンテンツに同期して再生するための分割ＥＮＡＶコンテンツが存在する場合（ＳＴ２０７）、またはサーバ部５００から指定された分割ＥＮＡＶコンテンツのダウンロードが完了した場合（ＳＴ２１１、ＹＥＳ）、ＤＶＤビデオコンテンツに同期して、対応する分割ＥＮＡＶコンテンツの再生を行う（ＳＴ２０８）。
【０１５２】
相対時間(relative_time) ＝ target_ch_time であるとき、対応する分割ＥＮＡＶコンテンツの再生と、指定されたＤＶＤビデオコンテンツの箇所を同時に再生することにより、ＤＶＤビデオコンテンツとＥＮＡＶコンテンツの同期再生が実現できる。
【０１５３】
ここで、以下の条件を満たすとき、target_ch_time-absolute_time だけの時間差が生じる。
【０１５４】
相対時間(relative_time) ＜ target_ch_time ＜ 相対時間(relative_time)＋再生時間(playback_time)
このとき、対応する分割ＥＮＡＶコンテンツのデータの途中の位置(target_ch_time)からの再生を行う。つまり、対応する分割ＥＮＡＶコンテンツにインデックスがある場合、以下を満たすインデックスｋを検索し、インデックス位置ｋから再生を行う。
【０１５５】
target_time ＝相対時間(relative_time)＋インデックス時間ｋ
もし、途中位置からの再生ができない場合、分割ＥＮＡＶコンテンツをまず再生させ、target_ch_time-relative_time 遅らせてＤＶＤビデオコンテンツを再生する。これにより、ＤＶＤビデオコンテンツとＥＮＡＶコンテンツの同期再生が実現できる。これ以外にも、検索した分割ＥＮＡＶコンテンツの次の分割ＥＮＡＶコンテンツ、つまり分割番号が１だけ大きいＥＮＡＶヘッダをもつＥＮＡＶデータを、ＤＶＤビデオコンテンツが再生してから、relative_time＋playback_time−target_ch_time だけ遅らせて再生することにより、同期再生が実現できる。
【０１５６】
図１８は、オーディオ・コメンタリ・バッファ２０９３とオーディオ・バッファ２０９４を共有化した例を示す図である。
【０１５７】
例えば、ＤＶＤタイトルに対して、オーディオ・コメンタリ・データを同期再生している最中でも、警告音やクリック音等の効果音は必要である。よって、オーディオ・コメンタリ・データと効果音はそれぞれ独立に再生しミックスして出力する。ミュージック・クリップのようなオーディオ・データと効果音に対しても同じようなことが当てはまる。ただし、オーディオ・コメンタリ・データとミュージック・クリップのようなオーディオ・データは必ずしも同時に出力する必要がない。つまり、オーディオ・コメンタリ・バッファ２０９３とオーディオ・バッファ２０９４が共存する必要は必ずしもない。
【０１５８】
そこで、図１８に示すようにオーディオ・コメンタリ・バッファ２０９３とオーディオ・バッファ２０９４は共有化した、共有バッファ（オーディオ・コメンタリ・バッファ／オーディオ・バッファ）２０９８を採用する。即ち、オーディオ・コメンタリ・バッファ２０９３とオーディオ・バッファ２０９４の替わりに、共有バッファ２０９８を採用する。共有バッファ２０９８は、図１８に示すように、オーディオ・バッファＡ及びオーディオ・バッファＢを備えている。
【０１５９】
以下、共有バッファ２０９８の動作について説明する。共有バッファ２０９８がオーディオ・コメンタリ・バッファとして機能するときは、オーディオ・バッファＡとオーディオ・バッファＢは二つのバッファとして機能する。一方、共有バッファ２０９８がオーディオ・バッファとして機能するときは、オーディオ・バッファＡとオーディオ・バッファＢは一つの大きなバッファとして機能する。これにより、オーディオ・コメンタリ・バッファ２０９３と、オーディオ・バッファ２０９４をそれぞれ再生装置に用意する必要がなく、再生装置内のバッファを効率よく用いることが可能となる。
【０１６０】
共有バッファ２０９８が、オーディオ・コメンタリ・バッファとして機能するときは、図１０で説明したように、まず、入力のスイッチがオーディオ・バッファＡ（入力端子Ａ）と接続し、出力のスイッチがオーディオ・バッファＢ（出力端子Ｂ）と接続する。これにより、ＥＮＡＶコンテンツはオーディオ・バッファＡにダウンロードされる（状態１）。
【０１６１】
次に、入力のスイッチがオーディオ・バッファＢ（入力端子Ｂ）と接続し、出力のスイッチがオーディオ・バッファＡ（出力端子Ａ）と接続する。これにより、ＥＮＡＶコンテンツはオーディオ・バッファＢにダウンロードされ、既にオーディオ・バッファＡにダウンロードされているＥＮＡＶコンテンツは出力される（状態２）。
【０１６２】
再び、入力のスイッチがオーディオ・バッファＡ（入力端子Ａ）と接続し、出力のスイッチがオーディオ・バッファＢ（出力端子Ｂ）と接続する。これにより、ＥＮＡＶコンテンツは再びオーディオ・バッファＡにダウンロードされ、既にオーディオ・バッファＢにダウンロードされているＥＮＡＶコンテンツは出力される（状態１）。
【０１６３】
以上、状態１と状態２を繰り返すことにより、少ない容量の共有バッファ２０９８を用いて、ＤＶＤビデオコンテンツに同期してオーディオ・コメンタリ・データをサーバ部よりダウンロードしながら再生することが可能である。
【０１６４】
共有バッファ２０９８が、オーディオ・バッファとして機能するときは、入力のスイッチがオーディオ・バッファＡ及びオーディオ・バッファＢを共有可能な入力端子Ｃと接続し、出力のスイッチもオーディオ・バッファＡ及びオーディオ・バッファＢを共有可能な出力端子Ｃと接続する。これにより、オーディオ・バッファＡとオーディオ・バッファＢを分け隔てなく、ＥＮＡＶコンテンツのプリロード・ダウンロードや、そのデータの読み出しを行うことが可能となる。
【０１６５】
図１９は、最初に共有バッファ２０９８がオーディオ・コメンタリ・バッファとして機能し、次にオーディオ・バッファとして機能する例を示す図である。
【０１６６】
再生区間iにおいてサーバ部５００から共有バッファ２０９８にＥＮＡＶコンテンツをダウンロードするときの平均ダウンロード速度をＶdi(i=0〜4)と定義する。また、再生区間iにおいて共有バッファ２０９８からエレメント・デコーダ２０８の音声デコーダ２０８３にＥＮＡＶコンテンツを読み出すときの平均読み出し速度をＶoi(i=1〜4)と定義する。ただし、ＤＶＤビデオの再生を開始する前にダウンロードを行う平均ダウンロード速度は Ｖd0である。更に、ミュージック・クリップのためのＥＮＡＶコンテンツをダウンロードを行うときの平均ダウンロード速度をＶｄとする。
【０１６７】
まず、ＤＶＤの再生が要求されると、再生装置は、サーバ部５００から共有バッファ２０９８のオーディオ・バッファＡに分割ＥＮＡＶコンテンツをダウンロードする(平均ダウンロード速度Ｖd0)。このとき、分割ＥＮＡＶコンテンツのデータ量によってはオーディオ・バッファＡの容量がいっぱいにならないこともある（準備区間：入力スイッチ−Ａ、出力スイッチ−Ｂ）。
【０１６８】
これと同時に、効果音バッファ２０９５に要求された効果音のためのＥＮＡＶコンテンツのプリロード・ダウンロードを行う。これにより、オーディオ・コメンタリ再生中においても、ミュージック・クリップ再生中においても、効果音の再生が可能となる。
【０１６９】
オーディオ・バッファＡの容量が一杯になるまで(もしくはある一定の量まで)、つまり分割ＥＮＡＶコンテンツのダウンロードが完了すると、ダウンロードした分割ＥＮＡＶコンテンツはエレメント・デコーダ２０８の音声デコーダ２０８３に読み出される(平均読み出し速度Ｖo1)。これと同時にＤＶＤビデオの再生が開始され、エレメント・デコーダ２０８の音声デコーダ２０８３でデコードされた分割ＥＮＡＶコンテンツとＤＶＤビデオコンテンツの同期再生が開始する。このとき、オーディオ・バッファＢは、サーバ部５００から分割ＥＮＡＶコンテンツのダウンロードを行う(平均ダウンロード速度Ｖd1)。つまり、このとき、オーディオ・バッファＡに記録された分割ＥＮＡＶコンテンツが再生されていることになる（再生区間１：入力スイッチ−Ｂ、出力スイッチ−Ａ）。
【０１７０】
オーディオ・バッファＡに記録されている分割ＥＮＡＶコンテンツの再生がすべて終了すると、読み出されて必要のない分割ＥＮＡＶコンテンツはオーディオ・バッファＡよりすべて消去され、オーディオ・バッファＡは再びサーバ部５００から分割ＥＮＡＶコンテンツをダウンロードする(平均ダウンロード速度Ｖd2)。また、オーディオ・バッファＢはダウンロードされた分割ＥＮＡＶコンテンツをエレメント・デコーダ２０８の音声デコーダ２０８３に送る(平均読み出し速度Ｖo2)。つまり、このとき、オーディオ・バッファＢに記録された分割ＥＮＡＶコンテンツが再生されていることになる（再生区間２：入力スイッチ−Ｂ、出力スイッチ−Ａ）。
【０１７１】
以上を繰り返し、再生区間４が終了した時点で、ミュージック・クリップの再生が指示されたとする。このとき、オーディオ・バッファＡとオーディオ・バッファＢの内容を消去する。さらに、入力スイッチを入力端子Ｃに、出力スイッチを出力端子Ｃに切り替える。次に、ミュージック・クリップのためのＥＮＡＶコンテンツをオーディオ・バッファＡとオーディオ・バッファＢにダウンロードする（それぞれの平均ダウンロード速度はＶd/２となる）。ダウンロードが完了次第、ミュージック・クリップの再生を開始する。
【０１７２】
以上のように、共有バッファ２０９８を、オーディオ・コメンタリ・バッファ又はオーディオ・バッファに切り替えることにより、必要とされるバッファの容量を節約することが可能となる。ここで、オーディオ・コメンタリ・バッファとオーディオ・バッファの切替はバッファ・マネージャ２０４によるバッファ・コントロールにて制御される。
【０１７３】
上記説明では、オーディオバッファＡ及びオーディオバッファＢの二つのバッファ（ダブルバッファ）から構成されるオーディオ・コメンタリ・バッファ２０９３、及び共有バッファ（オーディオ・コメンタリ・バッファ／オーディオ・バッファ）２０９８について説明したが、この発明はこれに限定されるものではない。例えば、オーディオバッファＡ及びオーディオバッファＢの替わりに、リングバッファを用いることによっても実現可能である。図２０は、リングバッファにより構成されたオーディオ・コメンタリ・バッファ２０９３の一例を示す図である。
【０１７４】
リングバッファは、記憶領域の初めと終わりが隣り合うように構成されており、バッファの容量を考慮せずに次々とデータを記憶することができる。リングバッファに対してデータが次々と記録されると、このリングバッファに書き込まれたデータのうち最も古いデータは新しいデータによって上書きされることになる。例えば、リングバッファに対して、ＥＮＡＶコンテンツを分割して得られるデータＡ、データＢ、データＣ、及びデータＤを順に記録するケースについて説明する。図２０に示すように、リングバッファに対して、データＡ、データＢ、及びデータＣが順に記録されるとする。この時点で、リングバッファの残容量がデータＤのサイズより大きい場合は、そのままリングバッファに対してデータＤを記録することができる。しかし、リングバッファの残容量がデータＤのサイズより小さい場合は、最も古いデータであるデータＡの全て、もしくはデータＤの記録に必要な分だけデータＡを消去し、図２１に示すようにデータＣと連続するようにデータＤを記録する。もし、リングバッファからデータＡを消去しても、リングバッファの残容量が不足してデータＤを記録できない場合は、さらにリングバッファからデータＢの全て、もしくはデータＤの記録に必要な分だけデータＢも消去する。このようにしてデータを記録することにより、サーバより分割して取得されたＥＮＡＶコンテンツをリングバッファ上で連続的に扱うことができる。
【０１７５】
以上のように、リングバッファにより構成されたオーディオ・コメンタリ・バッファ２０９３を利用することにより、ダブルバッファにより構成されたオーディオ・コメンタリ・バッファ２０９３を利用するよりも、制御を単純化することが可能となる。また、分割されたＥＮＡＶコンテンツのそれぞれのサイズが大きく異なるような場合でも、余分な記録領域を消費せずにすむ（効率良く記憶領域を利用することができる）。
【０１７６】
ただし、リングバッファにおいても、ダブルバッファと同様に、以下の条件を満たす必要がある。
【０１７７】
平均読み出し速度  ≦平均ダウンロード速度
なお、本願発明は、上記実施形態に限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で種々に変形することが可能である。また、各実施形態は可能な限り適宜組み合わせて実施してもよく、その場合組み合わせた効果が得られる。更に、上記実施形態には種々の段階の発明が含まれており、開示される複数の構成要件における適当な組み合わせにより種々の発明が抽出され得る。例えば、実施形態に示される全構成要件からいくつかの構成要件が削除されても、発明が解決しようとする課題の欄で述べた課題が解決でき、発明の効果の欄で述べられている効果が得られる場合には、この構成要件が削除された構成が発明として抽出され得る。
【図面の簡単な説明】
【０１７８】
【図１】ＤＶＤビデオディスクのデータ構造の一例を示す図である。
【図２】エンハンスドＤＶＤビデオディスクのデータ構造の一例を示す図である。
【図３】ＤＶＤ再生装置（情報再生装置）の一例を示すブロック図である。
【図４】図３に示すＤＶＤ再生装置に適用されているプリロード・ダウンロード・バッファ部の概略構成を示す図である。
【図５】ＤＶＤビデオコンテンツのみの再生の一例を示す図である。
【図６】ＤＶＤビデオコンテンツ及びＥＮＡＶコンテンツ（動画、静止画、テキスト）の再生の一例を示す図である。
【図７】ＤＶＤビデオコンテンツ及びＥＮＡＶコンテンツ（音声）の再生の一例を示す図である。
【図８】ＤＶＤビデオコンテンツ及びＥＮＡＶコンテンツ（音声解説）の再生の一例を示す図である。
【図９】ＤＶＤビデオコンテンツ及びＥＮＡＶコンテンツ（フォント）の再生の一例を示す図である。
【図１０】オーディオ・コメンタリ・バッファの概略動作を説明する図である。
【図１１】オーディオ・コメンタリ・バッファに対する分割ＥＮＡＶコンテンツのダウンロードのタイミング、及びダウンロードされた分割ＥＮＡＶコンテンツの再生のタイミングを詳細に説明するための図である。
【図１２】ＥＮＡＶコンテンツのデータ構造の一例を示す図である。
【図１３】分割ＥＮＡＶコンテンツをダウンロードしながら再生する処理を説明するための図である。
【図１４】分割ＥＮＡＶコンテンツをダウンロードしながら再生しているときに、次のチャプタへのスキップが発生したときの処理を説明するための図である。
【図１５】分割ＥＮＡＶコンテンツをダウンロードしながら再生しているときに、任意のチャプタへのスキップが発生したときの処理を説明するための図である。
【図１６】ＤＶＤビデオコンテンツを任意の箇所から再生するときに、必要な分割ＥＮＡＶコンテンツを絶対時間に基づき検索する処理を説明するフローチャートである。
【図１７】ＤＶＤビデオコンテンツを任意の箇所から再生するときに、必要な分割ＥＮＡＶコンテンツを相対時間に基づき検索する処理を説明するフローチャートである。
【図１８】オーディオ・コメンタリ・バッファとオーディオ・バッファの機能を共有化した共有バッファの概略構成を示す図である。
【図１９】共有バッファの機能の切り替わりを説明するための図である。
【図２０】リングバッファで構成されたオーディオ・コメンタリ・バッファ（又は供給バッファ）の一例を示す図である。
【図２１】リングバッファで構成されたオーディオ・コメンタリ・バッファ（又は供給バッファ）の動作を説明するための図である。
【符号の説明】
【０１７９】
１…リードインエリア、２…ボリューム／ファイル構造情報エリア、３…ＤＶＤビデオエリア、４…他の記録エリア、５…リードアウトエリア、Ｃ１…ＤＶＤビデオコンテンツ、Ｃ２１…ＥＮＡＶコンテンツ（ディスクに格納）、Ｃ２２…ＥＮＡＶコンテンツ（サーバに格納）、Ｄ１…ＤＶＤビデオディスク、Ｄ２…エンハンスドＤＶＤビデオディスク、１００…ＤＶＤビデオ再生エンジン、１０１…ＤＶＤビデオデコーダ、１０２…ＤＶＤビデオ再生制御部、２００…ＥＮＡＶエンジン、２０１…ユーザ・イベント・コントローラ、２０２…ＥＮＡＶインターフェース・ハンドラ、２０３…ＡＶレンダラ、２０４…バッファ・マネージャ、２０５…ＥＣＭＡＳｃｒｉｐｔインタープリタ、２０６…ＳＭＩＬタイミング・エンジン、２０７…ＸＨＴＭＬ／ＣＳＳレイアウト・マネージャ、２０８…エレメント・デコーダ、２０９…プリロード・ダウンロード・バッファ部、２１０…ＸＨＴＭＬ＋ＳＭＩＬ／ＣＳＳパーサ、２１１…インターネット接続部、３００…ディスク部、４００…ユーザ・インターフェース部、５００…サーバ部
【図１】
2004206863.tif 000003
【図２】
2004206863.tif 000004
【図３】
2004206863.tif 000005
【図４】
2004206863.tif 000006
【図５】
2004206863.tif 000007
【図６】
2004206863.tif 000008
【図７】
2004206863.tif 000009
【図８】
2004206863.tif 000010
【図９】
2004206863.tif 000011
【図１０】
2004206863.tif 000012
【図１１】
2004206863.tif 000013
【図１２】
2004206863.tif 000014
【図１３】
2004206863.tif 000015
【図１４】
2004206863.tif 000016
【図１５】
2004206863.tif 000017
【図１６】
2004206863.tif 000018
【図１７】
2004206863.tif 000019
【図１８】
2004206863.tif 000020
【図１９】
2004206863.tif 000021
【図２０】
2004206863.tif 000022
【図２１】
2004206863.tif 000023