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