(57)【要約】【課題】リージョンコードに基づく高度な再生制御を可能にする情報記憶媒体を提供すること。【解決手段】情報記憶媒体は、コンテンツの再生を制御する再生制御情報を格納した第１の領域と、再生装置に保持されたリージョンコードに基づく再生制御を有効にするか無効にするかを示すリージョンフラグを格納した第２の領域とを備える。【選択図】      図２３
2008171510.tif 000002
【特許請求の範囲】
【請求項１】
コンテンツの再生を制御する再生制御情報を格納した第１の領域と、
再生装置に保持されたリージョンコードに基づく再生制御を有効にするか無効にするかを示すリージョンフラグを格納した第２の領域と、
を備えたことを特徴とする情報記憶媒体。
【請求項２】
前記リージョンコードと前記リージョンコードの取得に対応して最初に読み込まれる初期再生制御情報の格納位置を示す位置情報とを対応付けたリージョンファイルを格納した第３の領域を備えたことを特徴とする請求項１に記載の情報記憶媒体。
【請求項３】
前記再生制御情報に含まれるスクリプトは、前記リージョンコードと前記リージョンコードの取得に対応して有効となるプロパティとを対応付けたリージョンプロパティを含むことを特徴とする請求項１に記載の情報記憶媒体。
【請求項４】
前記再生制御情報に含まれるＸＭＬは、前記リージョンコードと前記リージョンコードの取得に対応して再生を制御するための要素を含むことを特徴とする請求項１に記載の情報記憶媒体。
【請求項５】
前記再生制御情報に含まれるＸＭＬは、前記リージョンコードと前記リージョンコードの取得に対応して再生を制御するための属性を含むことを特徴とする請求項１に記載の情報記憶媒体。
【請求項６】
リージョンコードを記憶する記憶手段と、
コンテンツの再生を制御する再生制御情報を格納した第１の領域と、前記リージョンコードに基づく再生制御を有効にするか無効にするかを示すリージョンフラグを格納した第２の領域とを備えた情報記憶媒体からデータを読み取る読取手段と、
前記リージョンコードに基づく再生制御を有効にするリージョンフラグの読取に対応して、前記記憶手段に記憶された前記リージョンコードに基づき情報を再生する再生手段と、
を備えたことを特徴とする情報再生装置。
【請求項７】
前記情報記憶媒体は、前記リージョンコードと前記リージョンコードの取得に対応して最初に読み込まれる初期再生制御情報の格納位置を示す位置情報とを対応付けたリージョンファイルを格納した第３の領域を備え、
前記再生手段は、前記リージョンファイルに基づき情報を再生することを特徴とする請求項６に記載の情報再生装置。
【請求項８】
前記再生制御情報に含まれるスクリプトは、前記リージョンコードと前記リージョンコードの取得に対応して有効となるプロパティとを対応付けたリージョンプロパティを含み、
前記再生手段は、前記リージョンプロパティに基づき情報を再生することを特徴とする請求項６に記載の情報再生装置。
【請求項９】
前記再生制御情報に含まれるＸＭＬは、前記リージョンコードと前記リージョンコードの取得に対応して再生を制御するための要素を含み、
前記再生手段は、前記要素に基づき情報を再生することを特徴とする請求項６に記載の情報再生装置。
【請求項１０】
前記再生制御情報に含まれるＸＭＬは、前記リージョンコードと前記リージョンコードの取得に対応して再生を制御するための属性を含み、
前記再生手段は、前記属性に基づき情報を再生することを特徴とする請求項６に記載の情報再生装置。
【請求項１１】
コンテンツの再生を制御する再生制御情報を格納した第１の領域と、リージョンコードに基づく再生制御を有効にするか無効にするかを示すリージョンフラグを格納した第２の領域とを備えた情報記憶媒体からデータを読み取り、
前記リージョンコードに基づく再生制御を有効にするリージョンフラグの読取に対応して、情報再生装置に記憶されている前記リージョンコードに基づき情報を再生する、
ことを特徴とする情報再生方法。
【請求項１２】
前記情報記憶媒体は、前記リージョンコードと前記リージョンコードの取得に対応して最初に読み込まれる初期再生制御情報の格納位置を示す位置情報とを対応付けたリージョンファイルを格納した第３の領域を備え、
前記リージョンファイルに基づき情報を再生することを特徴とする請求項１１に記載の情報再生方法。
【請求項１３】
前記再生制御情報に含まれるスクリプトは、前記リージョンコードと前記リージョンコードの取得に対応して有効となるプロパティとを対応付けたリージョンプロパティを含み、
前記リージョンプロパティに基づき情報を再生することを特徴とする請求項１１に記載の情報再生方法。
【請求項１４】
前記再生制御情報に含まれるＸＭＬは、前記リージョンコードと前記リージョンコードの取得に対応して再生を制御するための要素を含み、
前記要素に基づき情報を再生することを特徴とする請求項１１に記載の情報再生方法。
【請求項１５】
前記再生制御情報に含まれるＸＭＬは、前記リージョンコードと前記リージョンコードの取得に対応して再生を制御するための属性を含み、
前記属性に基づき情報を再生することを特徴とする請求項１１に記載の情報再生方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、光ディスク等の情報記憶媒体、このような情報記憶媒体を再生する情報再生装置、このような情報記憶媒体を再生する情報再生方法に関する。
【背景技術】
【０００２】
DVD（Digital versatile Disk）規格では、再生可能地域を限定するために、リージョンコードを規定していた（特許文献１参照）。DVD規格では、コンテンツとプレーヤが各々固有のリージョンコードを保持し、両者のコードが一致しないと再生することができない仕組みをとっている。例えば、アメリカで購入したDVD（リージョンコード：Ｃ１）を日本で購入したプレーヤ（リージョンコード：Ｃ２）では再生できないといったことを実現することができる。また、プレーヤが持つリージョンコードは１つだけであるが、コンテンツは２つ以上のリージョンコードを持つことができ、コンテンツに保持された複数のリージョンコードのうちの１つのリージョンコードがプレーヤに保持された１つのリージョンコードと一致すれば再生が可能となる。つまり、コンテンツ側が全リージョンコード（DVD規格では８パターンに定められている）を持つことにより、リージョンコードの垣根なしに再生することができる。
【特許文献１】特開平１１−１１０９１４
【発明の開示】
【発明が解決しようとする課題】
【０００３】
これまでのリージョンコードに基づく再生制御は、再生する／再生しないという単純なものに過ぎなかった。
【０００４】
本発明の目的は、上記課題を解決するためになされたものであり、リージョンコードに基づく高度な再生制御を可能にする情報記憶媒体、情報再生装置、及び情報再生方法を提供することにある。
【課題を解決するための手段】
【０００５】
この発明の情報記憶媒体、情報再生装置、及び情報再生方法は、以下のように構成されている。
【０００６】
（１）この発明の情報記憶媒体は、コンテンツの再生を制御する再生制御情報を格納した第１の領域と、再生装置に保持されたリージョンコードに基づく再生制御を有効にするか無効にするかを示すリージョンフラグを格納した第２の領域とを備えている。
【０００７】
（２）この発明の情報再生装置は、リージョンコードを記憶する記憶手段と、コンテンツの再生を制御する再生制御情報を格納した第１の領域と、前記リージョンコードに基づく再生制御を有効にするか無効にするかを示すリージョンフラグを格納した第２の領域とを備えた情報記憶媒体からデータを読み取る読取手段と、前記リージョンコードに基づく再生制御を有効にするリージョンフラグの読取に対応して、前記記憶手段に記憶された前記リージョンコードに基づき情報を再生する再生手段とを備えている。
【０００８】
（３）この発明の情報再生方法は、コンテンツの再生を制御する再生制御情報を格納した第１の領域と、リージョンコードに基づく再生制御を有効にするか無効にするかを示すリージョンフラグを格納した第２の領域とを備えた情報記憶媒体からデータを読み取り、前記リージョンコードに基づく再生制御を有効にするリージョンフラグの読取に対応して、情報再生装置に記憶されている前記リージョンコードに基づき情報を再生する。
【発明の効果】
【０００９】
本発明によれば、リージョンコードに基づく高度な再生制御を可能にする情報記憶媒体、情報再生装置、及び情報再生方法を提供できる。
【発明を実施するための最良の形態】
【００１０】
以下、図面を参照し、本発明の実施形態について説明する。
【００１１】
最初に、本実施形態の要点についてまとめる。
【００１２】
DVDで再生可能地域を限定するために利用されていたリージョンコードを、HD DVDに拡張して導入することにより、地域毎に適した（あるいはコンテンツ制作者・権利者・政府などの意図に沿った）再生制御を実現させる。
【００１３】
（ポイント１）
情報記憶媒体中のDISCID.DATと呼ばれる設定ファイルのリザーブ領域にリージョンコードによる再生制御（リージョン制御）を有効にするか無効にするかを示すフラグを導入する。
【００１４】
（ポイント２）
情報再生装置としてのプレーヤに保持されたリージョンコードに応じて最初に読み込まれるプレイリスト（再生制御ファイルの１つ）を分岐させるためのファイル（リージョンファイル）を導入する。
【００１５】
（ポイント３）
再生制御情報に含まれるスクリプト（再生制御ファイルの１つ）のHD DVD用のAPI（プログラミングで使用可能なプロパティやファンクションの集合）にプレーヤのリージョンコードを示すプロパティを導入する。
【００１６】
これにより、リージョン制御サポートプレーヤであればそのプロパティを使って再生制御ができるし、リージョン制御非サポートプレーヤではundefinedという値が入るだけなので支障はない。
【００１７】
（ポイント４）
再生制御情報に含まれるXML（Extensible Markup Language）ファイル（プレイリスト・マニフェスト・マークアップ）に、特定のリージョンコードを持つプレーヤでしか読み込むことのできない要素を導入する。
【００１８】
これにより、リージョン制御サポートプレーヤはその要素を読み込むことができ、リージョン制御非サポートプレーヤではその要素は無視される。
【００１９】
（ポイント５）
プレイリスト・マニフェスト・マークアップの各要素にリージョンコード属性を導入し、特定のリージョンコードを持つプレーヤでは当該要素を読み込むことができないようにする。
【００２０】
ここで再生制御情報について簡単に補足する。再生制御情報は、プレイリスト、マニフェスト、マークアップ、スクリプトなどを含む。プレイリストは再生全体を支配するような再生制御情報で、ある時刻からある時刻までアプリケーションを貼り付けるといったことができる。マニフェストは、そのアプリケーションで使用するデータの一覧表のようなものである。マークアップは、素材をボタンなどの形式にして画面上に配置するためのもの。スクリプトは、早送り関数やタイトルジャンプ関数のような様々なＡＰＩを持っていて、それらを使って処理を行うための再生制御情報である。例えば、タイマーを使って30秒目でポーズをかけることが可能となる。
【００２１】
以上により、情報記憶媒体側（コンテンツ側）でリージョンコードによる再生を自由に制御することができる。DVD規格では、プレーヤのリージョンコードとコンテンツのリージョンが一致する場合に限りコンテンツの再生を許可し、一致しない場合にはコンテンツの再生を許可しないというものであった。これに対して本実施形態は、プレーヤのリージョンコードに応じた高度な再生制御を可能にするというものである。これは単純にリージョンコードの一致／不一致に対応して、コンテンツの再生を許可する／再生を許可しないというものではなく、リージョンコードｎのプレーヤで再生する場合にはボタンの背景画像Ｘを表示し、リージョンコードｍのプレーヤで再生する場合にはボタンの背景画像Ｙを表示するというものである。
【００２２】
図１は、HD DVDの概要を示す図である。
【００２３】
HD DVDとは、DVDの次世代規格であり、映像や音声の高品質化、インタラクティブ性の向上、ネットワークサポートなどを特徴とする。サポートする映像や音声のコーデック（圧縮形式）も豊富になり、API（規格で規定されたプロパティやファンクションの集合）も充実しているため、コンテンツ制作者は、より魅力的で多様なコンテンツを実現することが可能となっている。こういった利点から、現行のDVDからHD DVDへの移行が急速に進んでいる。
【００２４】
図２は、スタンダードコンテンツとアドバンスドコンテンツの判別の一例を示す図である。
【００２５】
HD DVD規格では、スタンダードコンテンツやアドバンスドコンテンツと呼ばれる二種類のコンテンツを規定している。スタンダードコンテンツは現行のDVD規格の拡張版という位置付けであり、データ構成等は現行のものに近く、従来のDVD制作を行っていたスタジオ等には受け入れられやすいと考えられる。ただし、映像や音声の高品質化や使用可能なナビコマンド（タイトルジャンプやメニュなどで使用される命令群）の拡張といった特徴を持つ。一方、アドバンスドコンテンツは現行DVDとは全く異なったコンテンツとなっている。アドバンスドコンテンツでは、スタンダードコンテンツでも見られるような映像や音声の高品質化に加えて、まるでインターネット上のホームページのように、再生制御情報をXML（Extensible Markup Language）やECMA（European Computer Manufacturer Association）スクリプトといったプログラミング言語で表現する仕組みになっている。また、従来ではコンテンツ再生に必要なデータは全てディスクから読み込まなければいけなかったが、HD DVDのアドバンスドコンテンツでは、ディスクに加えて、パーシステントストレージ（一時保存用のメモリ）から読み込んだり、ネットワークからデータをダウンロードして再生に利用することが可能となっている。
【００２６】
このようにHD DVDには２種類のコンテンツが規定されており、それぞれデータ構造等も異なる。本実施形態では、この２種類のコンテンツのうち、アドバンスドコンテンツを対象として説明する。
【００２７】
HD DVDではスタンダードコンテンツ及びアドバンスドコンテンツという二種類のコンテンツが規定されているため、HD DVDプレーヤではコンテンツ再生時に、スタート処理として、対象コンテンツがどちらのコンテンツなのかを判別する手順がとられる。ディスクを挿入するとまず、DISCID.DATというアドバンスドコンテンツのID等が記述されたファイルが存在するかの確認が行われる。存在すれば、対象コンテンツはアドバンスドコンテンツであると識別される。DISCID.DATが存在しなければ、続いて、VMG_IDというスタンダードコンテンツのID情報が有効かどうかの確認が行われ、有効であればスタンダードコンテンツ、そうでなければ得体の知れないコンテンツ（HD DVDのアドバンスドコンテンツでもスタンダードコンテンツでもないもの）として判別される。本発明はHD DVDのアドバンスドコンテンツを対象とするので、以降は、挿入されたディスクがアドバンスドコンテンツであると判別されたものとして説明する。
【００２８】
図３は、HD DVDアドバンスドコンテンツのデータ構成の一例を示す図である。
【００２９】
・プレイリスト：XML言語で記述された再生制御ファイル。
【００３０】
・DISCID.DAT：ディスクのIDやプロバイダIDなどが記述された設定ファイル。
【００３１】
・プライマリービデオセット：再生に使用される映像や音声といったデータを含むプライマリーオーディオビデオから成る。プライマリーオーディオビデオは、メインビデオ（主映像）、メインオーディオ（主音声）、サブビデオ（副映像）、サブオーディオ（副音声）、サブピクチャー（字幕）などから構成される。
【００３２】
・セカンダリービデオセット：プライマリービデオセットの置き換えを目的とした映像や音声といったデータから成る。セカンダリービデオセットには、サブスティテュートオーディオビデオ（メインビデオとメインオーディオを置き換える）、サブスティテュートオーディオ（メインオーディオを置き換える）、セカンダリーオーディオビデオ（サブビデオとサブオーディオを置き換える）という３タイプがある。
【００３３】
・アドバンスドアプリケーション：メニュボタンを画面上に配置したり、トリックプレイを行ったりするためのアプリケーション用のデータ。マニフェスト（アプリケーションでどのデータを使用するかなどを規定するXMLファイル）、マークアップ（ボタン配置やタイミング処理などを規定するXMLファイル）、スクリプト（ECMAスクリプトで記述された再生制御ファイル）、画像ファイル、イフェクトオーディオ（効果音用音声ファイル）、フォント（画面上にメッセージを表示させる時などに使用するオープンタイプフォント）などから構成される。
【００３４】
・アドバンスドサブタイトル：映像ストリームに合わせこんだ字幕（サブピクチャー）とは別に、XMLによってアプリケーションのように記述可能な字幕。アドバンスドアプリケーション用のマークアップを字幕用に特化させたアドバンスドサブタイトルのマークアップが用いられる。
【００３５】
図４は、HD DVDアドバンスドコンテンツのディレクトリおよびファイル構成の一例を示す図である。
【００３６】
まず、アドバンスドコンテンツのルートディレクトリは三つの領域に分けられる。１つめは、プライマリービデオセットを格納するHVDVD_TSディレクトリ領域。２つめは、プレイリストやDISCID.DAT、アドバンスドアプリケーション、アドバンスドサブタイトル、セカンダリービデオセットといったデータを格納するADV_OBJディレクトリ領域。そして３つめは、その他のユーザ定義領域。図４の例のように、ADV_OBJディレクトリ下には、さらにアドバンスドコンテンツ用のディレクトリを掘ることが可能である。DISCID.DATはADV_OBJディレクトリ直下に置かなければならない。また、プレイリストをディスクから読み込む必要があるコンテンツの場合（詳細は後述）は、プレイリストファイルが最低１つADV_OBJ直下に存在しなければならない。
【００３７】
なお、後述するリージョンファイルは、HD DVDアドバンスドコンテンツに含まれており、例えばADV_OBJディレクトリに存在する。或いは、リージョンファイルは、HVDVD_TS内に存在しても良いし、また或いはリージョンファイルは、ADV_OBJ内に存在しても良いし、また或いはリージョンファイルは、ユーザ定義領域内に存在しても良い。
【００３８】
図５は、アドバンスドコンテンツ再生のスタートアップ処理の一例を示す図である。つまり、図５は、コンテンツがアドバンスドコンテンツと判別された後のスタートアップ処理の一例を示す図である。
【００３９】
S1：DISCID.DATファイルを読み込む。処理後、B1へ。
【００４０】
B1：ディスプレイが定義されているかで分岐処理を行う。定義されていればB2の分岐処理へ。定義されていなければB4の分岐処理へ移る。
【００４１】
B2：DISCID.DATファイルに規定されてあるSEARCH_FLG（初期プレイリストをパーシステントストレージから探索するかどうかを示すフラグ。DISCID.DATのデータ構造の詳細は後述）が1であるかで分岐処理を行う。1ならばS3の処理、0ならばS2の処理へ移る。
【００４２】
S2：全てのパーシステントストレージ内の特定のディレクトリ下にあるプレイリストファイル（VPLST$$$.XPL）を探索する。処理後、S3へ。
【００４３】
S3：ディスク内のADV_OBJディレクトリ直下にあるプレイリストファイル（VPLST$$$.XPL）を探索する。処理後、B3へ。
【００４４】
B3：VPLST$$$.XPLが１つ以上見つかったかどうかで分岐処理を行う。１つ以上見つかった場合S4へ、見つからなかった場合はB4へ。
【００４５】
S4：VPLST$$$.XPLの中で番号の一番大きなものを初期プレイリストとして再生を開始する。
【００４６】
B4：DISCID.DATファイルに規定されてあるSEARCH_FLG（初期プレイリストをパーシステントストレージから探索するかどうかを示すフラグ。DISCID.DATのデータ構造の詳細は後述）が1であるかで分岐処理を行う。1ならばS6の処理、0ならばS5の処理へ移る。
【００４７】
S5：全てのパーシステントストレージ内の特定のディレクトリ下にあるプレイリストファイル（APLST$$$.XPL）を探索する。処理後、S6へ。
【００４８】
S6：ディスク内のADV_OBJディレクトリ直下にあるプレイリストファイル（APLST$$$.XPL）を探索する。処理後、B5へ。
【００４９】
B5：APLST$$$.XPLが１つ以上見つかったかどうかで分岐処理を行う。１つ以上見つかった場合S7へ、見つからなかった場合はS8へ。
【００５０】
S7：APLST$$$.XPLの中で番号の一番大きなものを初期プレイリストとして再生を開始する。
【００５１】
S8：スタートアップ処理失敗。振る舞いはプレーヤ依存。
【００５２】
図６は、HD DVDアドバンスドコンテンツプレーヤの概要を示す図である。
【００５３】
図６に示すように、プレーヤは、プレーヤ設定や再生に関する設定を保持する部位（記憶部）１、ナビゲーションマネージャ２、データアクセスマネージャ３、データキャッシュ４、プレゼンテーションエンジン５、AVレンダラ６を備えている。ナビゲーションマネージャ２は、リージョンコードに基づき再生を制御する（詳細は後述する）。データアクセスマネージャ３は、パーシステントストレージ７、ディスク（情報記憶媒体）８、ネットワーク９へのアクセスを管理する。
【００５４】
アドバンスドコンテンツではディスクからのデータ読み込みに加え、パーシステントストレージ（一時保存用のメモリ）からのデータ読み込みやネットワークからデータをダウンロードするといったことが可能となっている。これらのデータソースにあるHD DVDのフォーマットに従ったデータは、データアクセスマネージャ３と呼ばれるデータのアクセスを制御する部位を介して、ナビゲーションマネージャ２、データキャッシュ４、プレゼンテーションエンジン５に振り分けられる。ナビゲーションマネージャ２は再生制御を司る部位である。XMLやECMAスクリプトで記述された再生制御ファイル等（プレイリスト、マニフェスト、マークアップ、スクリプトなど）はデータアクセスマネージャ３からこのナビゲーションマネージャ２に送られ（直接ではなくデータキャッシュ４に一旦ロードされてからという場合もある）、中身が解釈される。解釈された再生制御情報に基づいた命令はプレゼンテーションエンジン５に出力され再生制御に利用される。また、リモコンのボタン操作などといったユーザオペレーションを受けて、それを再生制御命令に加工してプレゼンテーションエンジン５に出力するのもナビゲーションマネージャ２の役割である。データキャッシュ４は再生に使用されるデータを仮置きしておくためのメモリである。プレゼンテーションエンジン５は再生制御命令や再生で使用されるデータ（プライマリービデオセット、セカンダリービデオセットなど）から、実際にどういった映像や音声の出力を行うかを決定し、映像や音声のデータを再生に利用できる情報に変換する部位である。もともとディスク等に格納されている再生用データは、映像や音声などが多重化（マルチプレックス）されたものとなっているため、そのままでは再生に利用できない。そこでまずプレゼンテーションエンジン５では、再生に必要な映像・音声等のデータを選別し、マルチプレックスされたデータを元に戻す処理（デマックスなどと呼ぶ）を行う。前記処理で作成されたデータは、様々なコーデック（圧縮方式）で符号化されているので、これをデコード（復号）する。こうしてできたデータとナビゲーションマネージャ２からの再生制御命令をもとに、プレゼンテーションエンジン５は、映像の重ね合わせ処理や音声のミキシング処理を行う部位であるAVレンダラ６に再生用データ等を順次出力していく。そして、AVレンダラ６からの信号にしたがってテレビモニタやスピーカからそれぞれ映像や音声が流れる仕組みになっている。
【００５５】
図７は、DISCID.DATのデータ構造の一例を示す図である。
【００５６】
DISCID.DATはコンテンツのIDやプレイリストをどこから読み込むかなどを設定するための設定ファイルである。
【００５７】
・CONFIG_ID：設定ファイルのIDである。ISO8859-1の文字コードで”HDDVD-V_CONF”と記述される。12バイトである。
【００５８】
・DISC_ID：バイナリ表現で記述されたディスクのIDである。ネットワークを使用しない場合は”1b”で埋める。16バイトである。
【００５９】
・PROVIDER_ID：バイナリ表現で記述されたプロバイダのIDである。パーシステントストレージ内のプロバイダIDディレクトリを使用しない場合は”1b”で埋める。16バイトである。
【００６０】
・CONTENT_ID：バイナリ表現で記述されたコンテンツのIDである。パーシステントストレージ内のプロバイダIDディレクトリを使用しない場合は”1b”で埋める。16バイトである。
【００６１】
・SEARCH_FLG：スタートアップ処理の初期プレイリスト探索の際にパーシステントストレージ内を探索するかどうかを示すフラグである。探索しないなら”0b”、探索するなら”1b”を記述する。1バイトである。
【００６２】
・reserved：リザーブド領域として67バイト残してある。
【００６３】
図８〜図１５は、プレイリストの一例を示す図である。
【００６４】
プレイリストは、初期時のシステム設定に関する情報や再生に使用されるオブジェクト間の同期合わせ情報などを記述するための再生制御ファイルである。プレイリストはXML言語によって記述され、プライマリービデオセット、セカンダリービデオセット、アドバンスドアプリケーション、アドバンスドサブタイトルなどをどのタイミングで再生させるかといった再生制御情報を格納する（図８）。
【００６５】
図９は、プレイリストの概要を示す図である。図９の１行目に記述された<?xml … ?>という文はXML宣言と呼ばれる記述である。この宣言は、「このドキュメントはXML言語で記述されている」ということを示している。XMLでは、各要素をツリー状に保持する仕組みになっている。プレイリストのルート要素（ツリーの根っこの要素）はプレイリスト要素である。プレイリスト要素は<Playlist …>と</Playlist>で囲まれた部分として記述される。本実施形態では、プレイリスト要素の子要素として、<Configuration>（構造情報）、<MediaAttributeList>（メディア属性情報）、<TitleSet>（タイトル情報）が記述されている。構造情報には、システムの設定に関する情報が記載され、メディア属性情報には再生に使用されるビデオやオーディオのコーデック（圧縮方式）に関する情報などが記載される。そしてタイトル情報には、どのタイミングでどのビデオを流すかなどといったオブジェクトマッピング情報などが記載される。
【００６６】
図１０は、タイトル情報のデータ構造の一例を示す図である。タイトル情報は、<TitleSet>要素の子要素として１つ以上の<Title>要素を記述することによって構成される。また、<TitleSet>要素の子要素としては、<Title>要素以外にプレイリストアプリケーションエレメント情報を記述することもできる（詳細は後述）。<Title>要素の中にはそれぞれのタイトルに関する情報（タイトルエレメント情報と呼ぶことにする）が記載される。タイトルエレメント情報には、オブジェクトマッピングインフォメーション（タイトルの再生におけるオブジェクトの割り当て情報）、リソースインフォメーション（タイトルで使用する画像などのリソース情報）、プレイバックシーケンスインフォメーション（チャプターと呼ばれる単位でタイトルを分割するための情報）、トラックナビゲーションインフォメーション（ビデオやオーディオのトラック割り当てを行うための情報）、スケジュールコントロールインフォメーション（あるタイミングで一時停止をかけたりイベントを発生させたりするための情報）などが含まれる（図１１）。
【００６７】
タイトルエレメント情報の一種であるオブジェクトマッピングインフォメーションには、ビデオやオーディオ、アドバンスドアプリケーション、アドバンスドサブタイトルといったオブジェクトの再生開始／終了時間に関する情報やそれらの再生に使用するファイルの情報などが記述される（図１２）。
【００６８】
オブジェクトマッピングインフォメーションとして記述可能な要素には、<PrimaryAudioVideoClip>要素（プライマリーオーディオビデオの再生開始／終了時間や当該オブジェクトがファイルとして格納されている場所を示すURIといった情報などを記載する）、<SubstituteAudioVideoClip>要素（サブスティテュートオーディオビデオの再生開始／終了時間や当該オブジェクトがファイルとして格納されている場所を示すURIといった情報などを記載する）、<SubstituteAudioClip>要素（サブスティテュートオーディオの再生開始／終了時間や当該オブジェクトがファイルとして格納されている場所を示すURIといった情報などを記載する）、<SecondaryAudioVideoClip>要素（セカンダリーオーディオビデオの再生開始／終了時間や当該オブジェクトがファイルとして格納されている場所を示すURIといった情報などを記載する）、<AdvancedSubtitleSegment>要素（アドバンスドサブタイトルの表示開始／終了時間やアドバンスドサブタイトルのマニフェストファイルを指すURIといった情報などを記載する）、<ApplicationSegment>要素（アドバンスドアプリケーションの実行開始／終了時間やアドバンスドアプリケーションのマニフェストファイルを指すURIといった情報などを記載する）などがある（図１２、図１３、図１４）。
【００６９】
タイトルエレメント情報のオブジェクトマッピングインフォメーションとして記述されるアドバンスドアプリケーションをタイトルアプリケーションと呼ぶ。タイトルアプリケーションは、当該タイトルの再生中のみ有効となる（厳密には、当該タイトルの再生中で、<ApplicationSegment>要素で規定した再生開始／終了時間の間のみ）。これに対し、当該プレイリストの再生中ずっと有効なアドバンスドアプリケーションをプレイリストアプリケーションと呼ぶ。プレイリストアプリケーションに関する情報は、<TitleSet>要素の子要素として<PlaylistApplication>要素の形で記述することができる（図１５）。
【００７０】
図１６は、マニフェストの一例を示す図である。
【００７１】
プレイリストの<ApplicationSegment>要素では、当該アプリケーションで使用するマニフェストファイルを指定する。マニフェストはアドバンスドアプリケーションの初期化情報である。プレーヤはマニフェストに記述された情報に従ってアドバンスドアプリケーションを起動させる。マニフェストには、最初に実行されるマークアップに関する情報、アプリケーション開始処理で実行されるスクリプト（複数可）に関する情報などがXML言語で記述される。
【００７２】
マニフェストのルート要素は<Application>要素である。<Application>要素の子要素には、領域エレメント<Region>、スクリプトエレメント<Script>、マークアップエレメント<Markup>、リソースエレメント<Resource>を記述することができる。<Script>および<Resource>は複数記述することができ、<Region>は１つ必須、<Markup>は０または１つでなければならない。
【００７３】
<Region>要素では、アプリケーションのカンバス上における領域を規定する。<Script>要素では、アプリケーションで使用するスクリプトファイル（詳細は後述）を指定する。<Markup>要素では、アプリケーションで使用するマークアップファイルを指定する。<Resource>要素では、アプリケーションで使用する全てのリソース（画像データやフォントデータ等に加えて上記スクリプトファイルやマークアップファイルも含む）を指定する。
【００７４】
図１７は、マークアップの一例を示す図である。
【００７５】
マークアップは、XML言語で記述される再生制御ファイルである。画面上にボタンを配置したりメッセージを表示させたりする場合には、マークアップが利用される。１つのアドバンスドアプリケーションに対して複数のマークアップを同時に再生させることはできない。
【００７６】
マークアップのルート要素は<root>であり、その子供にはタイミング情報、スタイリング情報、コンテント情報などが記述される（図１７）。コンテント情報とはアプリケーションで使用するボタンやオブジェクトに関する情報であり、<button>要素、<object>要素、<input>要素などである。タイミング情報とはボタン押下時の振る舞いなどに関する情報であり、<animate>要素、<event>要素、<set>要素などである。スタイリング情報とはボタンの配置やフォントの表示サイズを指定する際などに使用される情報であり、<style>要素の各種属性（style:fontSize、style:backgroundColorなど）を設定することによってそれを実現させることができる。
【００７７】
図１８、図１９は、スクリプトの一例を示す図である。
【００７８】
スクリプトは、ECMAスクリプトで記述される再生制御ファイルである。HD DVDでは、ECMAスクリプト規格で規定されたプロパティ（名前で参照できる値：例Player.countryCodeプロパティにはプレーヤの国コードが入る）やファンクション（処理：例Player.playlist.pause()ファンクションがコールされると再生が一時停止される）に加えて、HD DVD特有のプロパティやファンクションを使用することができる。使用できるプロパティやファンクションの集合をAPIと呼ぶ。
【００７９】
図１８に示すように、HD DVD特有のAPIは次の１２種類である。
【００８０】
・Application API
アプリケーションで使用可能なオブジェクトなどを規定
・System API
HD DVDシステムで使用可能なストリングアレイやタイマーなどを規定
・File IO API
パーシステントストレージへの入出力関数などを規定
・Diagnostics API
主にプレーヤ開発時のデバッグで使用するためのオブジェクトなどを規定
・Controller API
リモコンのキーやマウスカーソルなどに関することを規定
・Drawing API
画面上に図形を描画する際に使用する関数などを規定
・Network API
インターネット上から再生データをダウンロードするための関数などを規定
・Data Cache API
データキャッシュ（一時保存用メモリ）のサイズを取得するためのプロパティなどを規定
・Player API
早送りやタイトルジャンプ、ビデオのサイズ変換などの再生制御関数などを規定
・Persistent Storage API
パーシステントストレージに関する情報を取得するためのプロパティなどを規定
・XML API
マークアップなどのXML言語で記述された情報を操作するための関数などを規定
・Animated Property API
マークアップで記述された要素や属性を取得／設定するための関数などを規定
これらのAPIを使うことにより、再生しているビデオの１コマを静止画としてパーシステントストレージに保存する、画面上に絵を描く、マークアップで表示させたメッセージの文を変更するといった様々なことを実現させることができる。スクリプトの一例を図１９に示す。この例では、captureEventというイベントが発行されると（イベントの発行は、プレイリストで記述したり、ボタン押下時に発行されるようにマークアップで設定したりすることができる）、再生に一時停止がかかる。そしてその時に表示されているビデオの映像が静止画として取り込まれ、ファイルキャッシュ（一時保存用メモリ）に保存される。その後、その静止画像のサイズが1/2に変更され、画面上（のマークアップでCaptureDisplayWindowと定義されたエリア）に表示される。
【００８１】
図２０は、リージョン制御の概要を示す図である。
【００８２】
リージョン制御とは、各プレーヤが保有するリージョンコード（地域コード）に応じて再生をコントロールすることを意味する。本実施形態では、現行のDVD規格で採用されているリージョン制御を拡張してHD DVD規格に導入する。現行のDVD規格ではリージョンコードは１〜８の八通りとなっているので、本発明でも１〜８の八通りということで解説することにする。もちろんその種類が増えたとしても、本発明を適用することができる。
【００８３】
現行DVDにおけるリージョン制御とは、単にあるプレーヤでは再生可能、あるプレーヤでは再生不可能、というような２分岐しかできなかった。本発明によって、図２０に示すように、リージョン１のプレーヤではリージョン１用の再生、リージョン２のプレーヤではリージョン２用の再生、リージョン３のプレーヤでは再生できない、というような高度な再生制御を行うことができる。また、単にコンテンツ単位での分岐だけでなく、アプリケーション単位、スクリプト単位、ファンクション単位というように、様々なレベルでの制御とを実現することができる。
【００８４】
図２１は、規格外のコンテンツに対するHD DVDプレーヤの振る舞いの一例を示す図である。以降の説明では、規格外のコンテンツに対するHD DVDプレーヤの振る舞いの一例として次のような実装を仮定する。
【００８５】
・XMLファイル（プレイリスト・マニフェスト・マークアップ）に関して、不明な要素があった場合、当該要素を読み込まない（子孫要素があった場合、それらの要素も読み込まない）。
【００８６】
・XMLファイル（プレイリスト・マニフェスト・マークアップ）に関して、不明な属性があった場合、当該属性を読み込まない（当該属性を設定している要素自体は読み込まれる）
・スクリプトファイルに関して、不明なプロパティが参照された場合、ECMAスクリプト規格で定められたundefinedという値が返る。
【００８７】
・スクリプトファイルに関して、不明なファンクションがコールされた場合、エクセプション（例外エラー）があがる。
【００８８】
・コンテンツを構成する全てのファイルに関して、HD DVD規格でreservedと規定されている領域の値は再生に一切影響を与えない。
【００８９】
図２２は、HD DVDアドバンスドコンテンツプレーヤによるリージョンコードの保持を説明するための図である。
【００９０】
リージョンコードによる再生制御を実現するために、プレーヤはリージョンコードを保持する。図６に示す記憶部（プレーヤの設定や再生に関する設定を保持する部位）１には、プレーヤの国コードやメニュ言語の設定、再生されているオーディオのトラック番号などといった様々な値が保持されている。本実施形態では、それらに加えて、リージョンコードが保持される。
【００９１】
プレーヤはリージョンコードを１つだけ保持する。前述の通り、リージョンコードの値は現行のDVD規格に即すと1〜8の整数値のいずれかとなり、リージョン制御をサポートしていないプレーヤはリージョンコードの値を保持しない（リージョン制御をサポートしていないので、それを参照することもない）。以降の実施形態では、リージョンコードの値を1〜8として説明するが、その範囲を変更してもよい。
【００９２】
また、プレーヤがリージョンコードをどのように保持するかは再生に影響を与えないし、本発明にも影響を与えない。
【００９３】
図２３は、DISCID.DATにリージョンフラグを導入する例を示す図である。
【００９４】
図７で示した設定ファイルのDISCID.DATにリージョンフラグ（リージョン制御を有効にするか無効にするかを示すフラグ）を導入する（図２３）。DISCID.DATには67バイトのreserved領域が設けられているので、そこにリージョンフラグを導入する。リージョンフラグが1であればリージョン制御有効、リージョンフラグが0であればリージョン制御無効とする。当該リージョンフラグを再生のスタートアップ処理で読み込まれるDISCID.DATに導入することによって、リージョン制御を有効にするか無効にするかという分岐の影響を再生全体に及ぼすことができる。
【００９５】
当該リージョンフラグは後述のいくつかの実施形態と組み合わせることにより効果を発揮するので、リージョンフラグについてはそれらの実施形態の説明と合わせて後述する。
【００９６】
図２４は、リージョンコードによって初期プレイリストを分岐させる情報を導入する例を示す図である。
【００９７】
プレーヤのリージョンコードに応じて初期プレイリスト（最初に読み込まれるプレイリスト）を分岐させるために、プレーヤのリージョンコードとそれぞれに対応する初期プレイリストのURI（ファイルの置き場）を示した一覧情報を入れたファイル（リージョンファイルと呼ぶ）を導入する（図２４）。
【００９８】
リージョンファイルのファイル名は、一例として、RGN$$$.XRG($$$:000〜999)とする。アドバンスドコンテンツ再生のスタートアップ処理は、図５で示したフローチャートのようになっているが、リージョンファイルを導入することにより、プレーヤのリージョンコードに応じたプレイリストを選択することができる。リージョンファイルの記述の仕方は図２４で示した例の通りでなくても、プレーヤのリージョンコードとそれに対応した初期プレイリストの一覧情報を保持していれば良い。リージョンファイルはディスクまたはパーシステントストレージに置くことができる。図４のディレクトリ／ファイル構成例で示したように、アドバンスドコンテンツは様々なディレクトリおよびファイルから構成される。リージョンファイルの置き場所はどこでも良い（効果は同じ）が、以降はリージョンファイルがディスク上に置かれる場合、ADV_OBJディレクトリ直下に置かれることとして説明を進める。
【００９９】
また、リージョンファイルは他のファイルと同様、インターネットからパーシステントストレージにダウンロードすることによって更新することができる。その場合、複数のリージョンファイルが存在することになるが、どのリージョンファイルを利用するかなどの詳細は「リージョンコードによる初期プレイリストの分岐フローチャート」において解説する。
【０１００】
図２５〜図２７は、リージョンコードによる初期プレイリストの分岐フローチャートを示す図である。つまり、図２５〜図２７は、リージョンフラグおよびリージョンファイルを用いたリージョンコードによる初期プレイリストの分岐フローチャートを示す図である。
【０１０１】
・B1 : 再生させるコンテンツがアドバンスドコンテンツかそうでないかを図２のフローチャートによって判別する。アドバンスドコンテンツであればS1へ、そうでなければスタンダードコンテンツまたはその他のコンテンツであるものとして処理が行われる（本実施形態はアドバンスドコンテンツを対象とする）。
【０１０２】
・S1 : DISCID.DATを読み込む。B2へ。
【０１０３】
・B2 : プレーヤがリージョン制御をサポートしていればB3へ。サポートしていなければ通常再生における初期プレイリスト分岐処理（図２７のB5）へ。
【０１０４】
・B3 : DISCID.DATのリージョンフラグが1であればリージョンコードによる初期プレイリスト分岐処理（図２６のS2）へ。リージョンフラグが0であれば通常再生における初期プレイリストの分岐処理（図２７のB5）へ。
【０１０５】
・S2 : 全てのパーシステントストレージ内の特定のディレクトリ下にあるリージョンファイルRGN$$$.XRGを探索し、S3へ。
【０１０６】
・S3 : ディスク内のADV_OBJ直下にあるリージョンファイルRGN$$$.XRGを探索し、B4へ。
【０１０７】
・B4 : リージョンファイルRGN$$$.XRGが１つ以上見つかったらS4へ、１つも見つからなかったら通常再生における初期プレイリスト分岐処理（図２７のB5）へ。
【０１０８】
・S4 : RGN$$$.XRGの中で$$$の番号が一番大きいリージョンファイルを読み込む。S5へ。
【０１０９】
・S5 : プレーヤのリージョンコードを取得し、S6へ。
【０１１０】
・S6 : 読み込んだリージョンファイルの記述に従って初期プレイリストを選択し、再生を開始する。
【０１１１】
・B5 : ディスプレイが定義されていればB6へ、定義されていなければB8へ。
【０１１２】
・B6 : DISCID.DATのサーチフラグSEARCH_FLGが0であればS7へ、1であればS8へ。
【０１１３】
・S7 : 全てのパーシステントストレージ内の特定のディレクトリ下にあるプレイリストVPLST$$$.XPLを探索し、S8へ。
【０１１４】
・S8 : ディスク内のADV_OBJ直下にあるプレイリストVPLST$$$.XPLを探索し、B7へ。
【０１１５】
・B7 : VPLST$$$.XPLが１つ以上見つかったらS9へ。１つも見つからなかったらB8へ。
【０１１６】
・S9 : VPLST$$$.XPLの中で$$$の番号が一番大きいものを初期プレイリストとして再生を開始。
【０１１７】
・B8 : DISCID.DATのサーチフラグSEARCH_FLGが0であればS10へ、1であればS11へ。
【０１１８】
・S10 : 全てのパーシステントストレージ内の特定のディレクトリ下にあるプレイリストAPLST$$$.XPLを探索し、S11へ。
【０１１９】
・S11 : ディスク内のADV_OBJ直下にあるプレイリストAPLST$$$.XPLを探索し、B9へ。
【０１２０】
・B9 : APLST$$$.XPLが１つ以上見つかったらS12へ。１つも見つからなかったらS13へ。
【０１２１】
・S12 : APLST$$$.XPLの中で$$$の番号が一番大きいものを初期プレイリストとして再生を開始。
【０１２２】
・S13 : 失敗。振る舞いはプレーヤ依存。
【０１２３】
このような処理を行うことにより、リージョン制御をサポートしていないプレーヤは通常再生、リージョン制御をサポートしているプレーヤでリージョンフラグ0のコンテンツを再生させた場合も通常再生、リージョン制御をサポートしているプレーヤでリージョンフラグ1のコンテンツを再生させた場合はプレーヤのリージョンコードに応じた再生を行うことができる。本実施形態のメリットは、リージョンフラグおよびリージョンファイルを導入するだけで、コンテンツの中身の部分に手を一切加えなくても（これまでに説明したデータ構造のままでも）、リージョンコードによる再生制御を実現することができる点である。また、再生開始処理の時点でリージョンコードによる分岐を行うことができるので、リージョンコード導入による効果を再生全体に与えることができるという利点もある。加えて、本実施形態はリージョン制御をサポートしていないプレーヤとの互換性もとれる。
【０１２４】
図２８は、XMLファイルのデータ構造にリージョンブロック情報を導入した例を示す図である。
【０１２５】
図９〜図１７で示したXMLファイル（プレイリスト・マニフェスト・マークアップ）のデータ構造にリージョンブロック情報<RegionBlock><region>を導入する。<RegionBlock>要素はXMLファイル上のどのフェーズにも記述することができる。<Playlist>要素と同列でも良いし、<TitleSet>要素と同列でも良いし、<Title>要素と同列でも良いし、<PrimaryAudioVideoClip>要素と同列でも良いし、他の全ての要素と同列で良い。ただし、XMLの書式を壊すような記述は当然許されない（例：<Playlist <RegionBlock/>/>など）。
【０１２６】
<RegionBlock>の子要素には<region>要素を記述することができ、<region>要素は<RegionBlock>の子要素としてしか記述できない。１つの<RegionBlock>の子要素として、<region>要素を１個以上８個以下で複数記述することができる。
【０１２７】
<region>要素は”code”属性を持つことができる。”code”属性の値は、1〜8の整数値をスペースで区切って複数指定することができる（例：code=”1 2 5 8”）。
【０１２８】
１つの<RegionBlock>内の<region>要素の子要素たちは同じ要素でなければならない。
【０１２９】
リージョン制御をサポートしていないプレーヤは<RegionBlock>要素（およびその子要素たち）を読み込むことはできない。
【０１３０】
リージョン制御をサポートしたプレーヤでDISCID.DATのリージョンフラグが0のコンテンツを再生させた場合は、<RegionBlock>要素（およびその子要素たち）を読み込むことはできない。
【０１３１】
リージョン制御をサポートしたプレーヤでDISCID.DATのリージョンフラグが1のコンテンツを再生させた場合は、<RegionBlock>要素（およびその子要素たち）を読み込むでき、<region>要素の”code”属性値とプレーヤのリージョンコードを比較し、一致しているものの子要素を読み込む。ただし、<RegionBlock>要素および<region>要素は、<region>要素の子要素を読み込むかどうかを分岐させるためだけに使用され、分岐処理後は再生に影響を与えない。
【０１３２】
<RegionBlock>内の<region>要素の子要素たちが<RegionBlock>の１つ前の要素と同じ場合は、<RegionBlock>の１つ前の要素を読み込まずに、読み込みが許可された<region>要素の子要素を読み込む。
【０１３３】
<RegionBlock>内の<region>要素の子要素たちが<RegionBlock>の１つ前の要素と異なる場合、<RegionBlock>の１つ前の要素を読み込み、かつ、読み込みが許可された<region>要素の子要素を読み込む。
【０１３４】
１つの<RegionBlock>内の<region>要素の子が全て空だった場合、<RegionBlock>の１つ前の要素を読み込まない。
【０１３５】
<RegionBlock>要素および<region>要素自体は読み込まれない（ツリーに追加はされない）ので、XMLデータの読み込み後は、リージョン制御をサポートしているプレーヤも非サポートのプレーヤも同じルーチンで再生を進めることができる。
【０１３６】
読み込み処理後は、図９〜図１７で示したXMLファイルのルール（例えばプレイリストは１つの<Playlist>要素がルート要素でなければならない、など）に従った記述になっていなければならない。
【０１３７】
図２９は、リージョンブロック情報を含んだXMLデータの読み込みフローチャートを示す図である。つまり、図２９は、<RegionBlock>の１つ前の要素を読み込み、ツリーに追加した後、<RegionBlock>の読み込み処理に入った時のフローチャートを示す図である。
【０１３８】
・B1 : プレーヤがリージョン制御をサポートしていればB2へ。サポートしていなければ、<RegionBlock>をスキップして次の読み込み処理へ。
【０１３９】
・B2 : DISCID.DATのリージョンフラグが1ならばB3へ。0ならば、<RegionBlock>をスキップして次の読み込み処理へ。
【０１４０】
・B3 : <region>の子要素が空でなければB4へ。全て空であればS1へ。
【０１４１】
・S1 : <RegionBlock>の１つ前の要素をツリーから削除して、<RegionBlock>の次の読み込み処理へ。
【０１４２】
・B4 : <RegionBlock>の１つ前の要素と<region>の子要素が同じであればS2へ。異なっていればS3へ。
【０１４３】
・S2 : <RegionBlock>の１つ前の要素をツリーから削除してS3へ。
【０１４４】
・S3 : <region>の”code”属性値とプレーヤのリージョンコードを比較し、一致するものがある<region>の子要素をツリーに追加して、<RegionBlock>の次の読み込み処理へ。
【０１４５】
図３０は、リージョンブロック情報を導入した例と読み込み処理の例を示す図である。つまり、図３０は、リージョンブロックを導入したプレイリストの一部抜粋例と、プレーヤがリージョン制御をサポートしていて、かつ、リージョンフラグが１で、かつ、プレーヤのリージョンコードが”5”だった場合の読み込み結果の例を示す図である。
【０１４６】
４行目から１５行目がリージョンブロックになっている。<region>の子要素が<Title>で<RegionBlock>の１つ前の要素も<Title>と一致しているので、<RegionBlock>の１つ前の<Title>は削除される。そしてプレーヤのリージョンコードは”5”であるから、<region code=”5 6 7 8”>と</region>で囲まれた子要素の<Title>が読み込まれる。
【０１４７】
また、１８行目〜２９行目もリージョンブロックとなっており、<region>の子要素<ApplicationSegment>が<RegionBlock>の１つ前の要素<PrimaryAudioVideoClip>と一致していないので、<PrimaryAudioVideoClip>が読み込まれ、加えて<region code=”3 5”>と</region>に囲まれた子要素の<ApplicationSegment>が読み込まれる。以上より、読み込み処理後の結果は図３０の右の図のようになる。これはリージョンブロックに依存しない形式になっているので、今後の再生処理は、リージョン制御をサポートしていないプレーヤと同じルーチンで進めることができる。
【０１４８】
図３１は、スクリプトのAPIにリージョンプロパティを導入した例を示す図である。
【０１４９】
図１８に示したAPI群に、リージョン制御を実現するためのリージョンプロパティregionを導入する。つまり、図３１は、Player APIのPlayerオブジェクトのメンバプロパティとしてregionを追加した例を示す図である。
【０１５０】
リージョンプロパティには、プレーヤのリージョンコードがreadonly unsigned int型（1〜8）で入る。コンテンツ側からこの値を書き換えることはできず、リージョン制御をサポートしていないプレーヤやDISCID.DATのリージョンフラグが0の場合には、リージョンプロパティにはundefined値が入る。
【０１５１】
リージョンプロパティの内容から判断し、本例ではPlayerオブジェクトのメンバとしてリージョンプロパティを導入したが、これは他のオブジェクトのメンバとして追加しても機能は変わらず、リージョン制御に使用することができる。
【０１５２】
図３２、図３３は、リージョンプロパティを用いた再生制御の例を示す図である。
【０１５３】
図３２は、図１９で挙げたビデオのキャプチャ（ビデオの１コマを静止画として取り込む）部分にリージョンプロパティを用いた分岐を導入している。switch文により、リージョンプロパティの値が2または5の場合だけ（つまりプレーヤのリージョンコードが2または5の場合だけ）キャプチャが実行され、リージョンプロパティがそれ以外の値の場合はキャプチャは行われないように制御されている。プレーヤがリージョン制御をサポートしていない場合やリージョンフラグが0の場合、リージョンプロパティにはundefinedが入るので、switch文のdefaultに該当し、この場合もキャプチャは行われない。
【０１５４】
図３３は、タイトルジャンプにリージョン制御を導入した例である。if文により、リージョンプロパティの値が1の場合はTitle2（という名前のタイトル）にジャンプし、2〜4の場合はTitle2の２番目のチャプタ、5〜7の場合はTitle3、8の場合はTitle3の２番目のチャプタにそれぞれジャンプするように制御されている。また、それ以外の場合（リージョン制御非サポートプレーヤやリージョンフラグ0の場合も含む）には再生が停止するような仕組みになっている。これにより、再生の分岐を行うことができる。例えばこのようなスクリプトを最初に再生されるタイトル（映像などのない再生分岐のためのタイトル）のアプリケーションに入れておけば、プレーヤのリージョンコードに応じて再生されるコンテンツを分けることなどができる。
【０１５５】
以上のように、リージョンプロパティは、タイトルレベルでの分岐やビデオキャプチャという機能レベルでの分岐など、様々な用途に利用することができる。
【０１５６】
図３４〜図４４は、XMLファイル（プレイリスト・マニフェスト・マークアップ）にプレーヤのリージョンコードに応じて読込可／不可となる要素（リージョン制御要素）を導入した例を示す図である。
【０１５７】
図９〜図１７で示したHD DVDの再生制御用XMLファイル（プレイリスト・マニフェスト・マークアップ）に、プレーヤのリージョンコードに応じて読み込まれたり読み込まれなかったりといった制御が可能な要素（リージョン制御要素）を導入する（図３４）。プレイリストには<Title>や<ApplicationSegment>など、マニフェストには<Script>や<Resource>など、マークアップには<button>や<set>などといった要素を記述することができる。リージョン制御要素は、これらに対して、要素名の頭にRegionを追加することによって記述する。例えば、<Title>に対して<RegionTitle>、<button>に対して<Regionbutton>といった具合である。各要素の役割や設定可能な属性、記述可能な子要素などは、全て元の要素（<RegionTitle>であれば<Title>）に従う。
【０１５８】
ただし、リージョン制御要素には、元の要素に加えて、regionCodeという属性を設定することができる。regionCode属性には1〜8の整数値をスペース区切りで複数設定することができる（例：”3 7 8”）。図３５は、リージョン制御要素の読み込みフローチャートを示す図である。
【０１５９】
リージョン制御をサポートしていないプレーヤの場合は、regionCode属性値に関わらず、当該要素を読み込まない。
【０１６０】
リージョン制御をサポートしているプレーヤでリージョンフラグが0の場合も、regionCode属性値に関わらず、当該要素を読み込まない。
【０１６１】
リージョン制御をサポートしているプレーヤでリージョンフラグが1の場合は、regionCode属性値とプレーヤのリージョンコードを比較して、一致するものがあれば当該要素を読み込み、一致するものがなければ当該要素を読み込まない（例：regionCode=”1 2 3 4”の場合、プレーヤのリージョンコードが1または2または3または4であれば当該要素を読み込み、5または6または7または8の場合は当該要素を読み込まない）。
【０１６２】
リージョン制御要素が読み込まれた場合は、元の要素の１つとして扱われるので、コンテンツ制作者は要素数の制限などに注意が必要である。例えば、プレイリストの<TitleSet>要素は１つでなければならないので、<TitleSet>の記述に加えて<RegionTitleSet  regionCode="3">を記述したら、リージョンフラグ1でリージョンコードが3だった場合にタイトルセット要素が２つになってしまい違反になってしまうため、こういった記述をしてはいけない。但し、本実施形態はこの禁止規則に必ずしも限定されるものではなく、あくまでもこの禁止規則は運用上の一手法である。また、プレイリストの<Title>要素のtitleNumber属性は1から順番に割り振られなければならないので、<Title titleNumber="1">の記述に加えて<RegionTitle titleNumber="1" regionCode="4">を記述したら、リージョンコード4のプレーヤでリージョンフラグ１の場合にはtitleNumber=”1”が重複してしまい違反になってしまうため、こういった記述をしてはいけない。但し、本実施形態はこの禁止規則に必ずしも限定されるものではなく、あくまでもこの禁止規則は運用上の一手法である。
【０１６３】
図３６、図３７は、プレイリストにリージョンアプリケーションセグメント要素を導入した例を示す図である。
【０１６４】
図３６は、リージョンアプリケーションセグメント要素（<RegionApplicationSegment>）の例を示す図である。<RegionApplicationSegment>は<ApplicationSegment>要素と同じ属性や子要素を記述することができ、加えてregionCode属性を設定することができる。リージョンアプリケーションセグメント要素により、プレーヤが特定のリージョンコードを持つ時に、起動するアドバンスドアプリケーションを追加することができる。
【０１６５】
図３７は、リージョンアプリケーションセグメント要素を用いた再生制御の例を示す図である。app1というIDの<ApplicationSegment>要素とapp2というIDの<RegionApplicationSegment>要素が同じ時間帯に設定されている。リージョン制御非サポートプレーヤであったり、リージョンフラグが0であったり、プレーヤのリージョンコードが1または2または3または4の場合には、app1のアプリケーションのみが実行されるが、リージョンフラグが1でプレーヤのリージョンコードが5または6または7または8の場合には、app1に加えてapp2のアプリケーションも実行される。アプリケーションの中身にはリージョン制御の仕組みを導入していなくても、本例のようにアプリケーションの呼び出しレベルでの制御を行うことができるので、例えば、app1には無い特別なメニュボタンをapp2の方で用意し、リージョンコード5, 6, 7, 8限定でそのボタンが使えるようにするといったことも可能である。また、app2のアプリケーションにapp1のアプリケーションの実行を中止させるような仕組みを入れておけば、アプリケーションの置き換えも可能である。
【０１６６】
図３８、図３９は、プレイリストにリージョンプレイリストアプリケーション要素を導入した例を示す図である。
【０１６７】
図３８は、リージョンプレイリストアプリケーション要素（<RegionPlaylistApplication>）の例を示す図である。<RegionPlaylistApplication>も<RegionApplicationSegment>と同様、リージョンコード限定でアプリケーションを追加したり置き換えたりすることに利用できる。
【０１６８】
図３９は、リージョンプレイリストアプリケーション要素を用いた再生制御の例を示す図である。この例では、Papp1というIDの<PlaylistApplication>要素に加えてPapp2およびPapp3というIDの２つの<RegionPlaylistApplication>が記述されている。リージョン制御非サポートプレーヤであったり、リージョンフラグが0であったり、プレーヤのリージョンコードが1または2の場合には、Papp1のプレイリストアプリケーションのみが実行される。リージョンフラグが1でプレーヤのリージョンコードが5, 6, 7, 8の場合は、Papp1に加えてPapp2のプレイリストアプリケーションも実行される。リージョンフラグが1でプレーヤのリージョンコードが3, 4の場合は、Papp1に加えてPapp3のプレイリストアプリケーションも実行される。リージョンプレイリストアプリケーションを利用することにより、プレイリストアプリケーションの中身にリージョン制御の仕組みを導入していなくても、プレイリストアプリケーションの呼び出しレベルでの再生制御を行うことができる。
【０１６９】
図４０、図４１は、マニフェストにリージョンスクリプト要素を導入した例を示す図である。図４０は、リージョンスクリプト要素（<RegionScript>）の例を示す図である。<RegionScript>はマニフェストの<Script>要素のリージョン制御要素であり、リージョンコード限定で、アプリケーションで実行するスクリプトを追加することなどに利用できる。
【０１７０】
図４１は、リージョンスクリプト要素を用いた再生制御の例を示す図である。この例では、script1.jsというファイルを参照した<Script>に加えて、script2.js, script3.jsを参照した<RegionScript>が記述されている。リージョン制御非サポートプレーヤであったり、リージョンフラグが0であったり、プレーヤのリージョンコードが1, 2, 3, 4の場合は、script1.jsのみが実行される。リージョンフラグが1でプレーヤのリージョンコードが5, 6, 7の場合は、script1.jsに加えてscript2.jsのスクリプトも実行される。リージョンフラグが1でプレーヤのリージョンコードが8の場合は、script1.js, script2.js, script3.jsが実行される。リージョンスクリプト要素を利用することにより、スクリプトの中身にリージョン制御の仕組みを導入していなくても、スクリプトの呼び出しレベルでの再生制御を行うことができる。
【０１７１】
図４２〜図４４は、マークアップにリージョンボタン要素・リージョンキュー要素を導入した例を示す図である。
【０１７２】
図４２は、リージョンボタン要素（<Regionbutton>）の例を示す図である。<Regionbutton>はマークアップの<button>要素のリージョン制御要素であり、リージョンコード限定で、画面上に配置されるメニュボタンを追加することなどに利用できる。
【０１７３】
図４３は、リージョンキュー要素（<Regioncue>）の例を示す図である。<Regioncue.はマークアップの<cue>要素のリージョン制御要素であり、リージョンコード限定で、メニュボタンが押下された時の処理を追加することなどに利用できる。
【０１７４】
図４４は、リージョンボタン要素およびリージョンキュー要素を用いた再生制御の例を示す図である。この例では、button1というIDの<button>に加えて、button2というIDの<Regionbutton>が記述されている。また、ボタン押下時の処理などを記述する欄には、<cue>に加えて<Regioncue>が２つ記述されている。リージョン制御非サポートプレーヤであったり、リージョンフラグが0であったり、プレーヤのリージョンコードが1, 3, 4, 5, 6, 7, 8の場合は、button1のボタンのみが画面上に配置され、button1を押下すると<cue>の開始条件が満たされ、event1というイベントが発行される。リージョンフラグが1でプレーヤのリージョンコードが2の場合は、button1に加えてbutton2のボタンも画面上に配置され、button1を押下すると<cue>および２番目の<Regioncue>の開始条件が満たされるのでevent1の発行と背景色の赤色設定が行われる。Button2を押下すると１番目の<Regioncue>の開始条件が満たされるので、event2のイベントが発行される。このようにリージョンボタンおよびリージョンキューを用いることによって、特定のリージョンコードのプレーヤでのみ、メニュボタンを追加したりボタン押下時の振る舞いを追加したりすることができる。また、ボタン押下時に発行されるイベントを追加するなどによって、スクリプトの中身にリージョン制御の仕組みを導入していなくても、そのイベントをハンドリングする関数を分けておくことでリージョンによるスクリプトの再生制御を間接的に行うこともできる。
【０１７５】
図４５〜図４９は、XMLファイル（プレイリスト・マニフェスト・マークアップ）の各要素にリージョンコード属性を導入した例を示す図である。
【０１７６】
図４５に示すように、HD DVDの再生制御用XMLファイル（プレイリスト・マニフェスト・マークアップ）の各要素にリージョンコード属性（regionCode）を導入する。regionCodeには1〜8の整数値をスペース区切りで複数設定することができる。リージョンコード属性は、特定のリージョンコードのプレーヤで再生させた場合に、リージョンコード属性を設定した要素を読み込まないという制限をかけるためなどに利用できる。リージョンコード属性が設定された要素の読み込みフローチャートを図４６に示す。
【０１７７】
リージョン制御をサポートしていないプレーヤの場合は、リージョンコード属性は無視される。
【０１７８】
リージョン制御をサポートしていてもリージョンフラグが0の場合はリージョンコード属性は無視される。
【０１７９】
リージョンコードをサポートしていて、かつ、リージョンフラグが1の場合のみ、リージョンコード属性値とプレーヤのリージョンコードを比較し、一致するものがあればリージョンコード属性を設定している要素を読み込まず、一致するものがなければリージョンコード属性を設定している要素を読み込む。
【０１８０】
ただし、コンテンツ制作者は、リージョンコードによって当該要素が読み込まれないことも考慮しなければならない。例えば、プレイリストの<Title>要素のtitleNumber属性は1から順番に割り振られなければならない。ここで、<Title titleNumber=”1”>, <Title titleNumber=”2” regionCode=”1”>, <Title titleNumber=”3”>などと記述すると、リージョンコードが1のプレーヤで再生させた場合にtitleNumberが2のタイトルがなくなってしまうので、このような記述をしてはいけない。但し、本実施形態はこの禁止規則に必ずしも限定されるものではなく、あくまでもこの禁止規則は運用上の一手法である。
【０１８１】
図４７は、プレイリストのセカンダリーオーディオビデオクリップ要素にリージョンコード属性を導入した例を示す図である。つまり、図４７は、プレイリストのセカンダリーオーディオビデオクリップ要素（<SecondaryAudioVideoClip>）にリージョンコード属性を導入し、再生制御に利用した例を示す図である。
【０１８２】
この例では、プライマリーオーディオビデオクリップ（<PrimaryAudioVideoClip>）のメインビデオ・メインオーディオに加えて、<SecondaryAudioVideoClip>のサブビデオ・サブオーディオが同時に再生される記述になっている。しかし、<SecondaryAudioVideoClip>にはregionCode=”1 2”が設定されているので、リージョンフラグが1でプレーヤのリージョンコードが1, 2の場合は、<SecondaryAudioVideoClip>が読み込まれず、サブビデオ・サブオーディオが再生されない。このようにセカンダリーオーディオビデオクリップ要素にリージョンコード属性を導入することにより、サブビデオやサブオーディオの再生に制限をかけることができる。
【０１８３】
図４８は、マニフェストのマークアップ要素にリージョンコード属性を導入した例を示す図である。つまり、図４８に示すように、マニフェストのマークアップ要素（<Markup>）にリージョンコード属性を導入し、再生制御に利用する。
【０１８４】
この例では、script1.jsのスクリプト、markup1.xmuのマークアップがアプリケーションとして実行される。しかし<Markup>にregionCode=”5 6 7 8”が設定されているので、リージョンフラグが1でプレーヤのリージョンコードが5, 6, 7, 8の場合には、<Markup>要素が読み込まれず、マークアップは実行されない。このようにマークアップ要素にリージョンコード属性を導入することにより、例えばマークアップで設定したボタンを特定のリージョンコードのプレーヤで再生させた場合には使わせたくないといった際に制限をかけることができる。
【０１８５】
図４９は、マークアップのオブジェクト要素にリージョンコード属性を導入した例を示す図である。つまり、図４９に示すように、マークアップのオブジェクト要素（<object>）にリージョンコード属性を導入し、再生制御に利用する。
【０１８６】
この例では、画面一杯に貼り付けられたphoto01.jpgの静止画像を背景に、button1というIDのボタンが画面中央に配置される。しかし<object>にregionCode=”8”が設定されているので、リージョンフラグが1でプレーヤのリージョンコードが8の場合には、静止画像のオブジェクトが読み込まれず、photo01.jpgは表示されない。このようにオブジェクト要素にリージョンコード属性を導入することにより、特定のリージョンコードのプレーヤでは画像を表示させないといった制限をかけることができる。
【０１８７】
図５０は、リージョンファイルによる初期プレイリスト分岐機能の例を示す図である。
【０１８８】
VPLST001.XPL, VPLST002.XPL, VPLST010.XPL, VPLST123.XPL, VPLST198.XPLという5つのプレイリストがディスクやパーシステントストレージ上にあったとする。リージョン制御をサポートしているプレーヤでリージョンフラグが1の場合には、リージョンファイルが読み込まれ、その記述通りに、リージョン1, 2の場合はVPLST001.XPL、リージョン3, 4, 5の場合はVPLST002.XPLが初期プレイリストとして読み込まれる。リージョン6, 7, 8の場合には、リージョンファイルにnoneと記述してあるので、再生は行われない。一方、リージョン制御をサポートしていないプレーヤの場合や、リージョンフラグが0の場合には、プレイリストの中で番号が最大のものを初期プレイリストとして読み込むので、本実施形態ではVPLST198.XPLが読み込まれる。初期プレイリストが決まれば、あとはそのプレイリストに従った再生が開始される。
【０１８９】
図５１は、APIのリージョンプロパティによる再生制御の例を示す図である。
【０１９０】
マークアップにビデオキャプチャ用のボタンを設置する記述が書かれており、スクリプトに、プレーヤのリージョンコードが2または5の場合だけそのボタンを有効にする（ビデオキャプチャが実行される）記述が書かれている場合は、通常再生（リージョンが2, 5以外の場合やリージョン制御非サポートプレーヤの場合など）では、キャプチャボタンを押下しても何も起こらず、リージョンコードが2, 5のプレーヤで再生させた場合には、キャプチャボタンを押下すると一時停止がかかりパーシステントストレージにワンシーンが静止画として保存される。
【０１９１】
図５２〜図５５は、XMLファイル（プレイリスト・マニフェスト・マークアップ）にプレーヤのリージョンコードに応じて読み込み可／不可となる要素（リージョン制御要素）を導入した例を示す図である。
【０１９２】
図５２は、プレイリストに<RegionApplicationSegment>要素を導入した場合の例を示す図である。<RegionApplicationSegment>要素にregionCode=”2”と設定されており、当該アプリケーションには、10分経過したらtt3というタイトルにジャンプする仕組みが組み込まれている。ここで、通常再生（リージョンが2以外の場合やリージョン制御非サポートプレーヤの場合など）では、再生開始からタイトル１再生→タイトル２再生→タイトル３再生と進むのに対し、リージョンコードが2のプレーヤで再生させた場合には、タイトル１の再生が10分間行われた時点でスクリプトのタイマーで設定したtt3へのタイトルジャンプが行われるので、タイトル３の再生に移行する。
【０１９３】
これは、特定のリージョンコードに対して、あるシーンを見せたくない場合などに有効である。また、逆に、ジャンプ先をスペシャルコンテンツのタイトルにすることにより、特定のリージョンコードの場合だけスペシャルコンテンツを見せるといったことも可能である。
【０１９４】
図５３は、プレイリストに<RegionApplicationSegment>要素を導入した場合の例を示す図である。<RegionApplicationSegment>要素にはregionCode=”8”と設定されている。こちらのアプリケーションでは、マークアップにbutton1というボタンを設置する記述と、button1ボタンが押下されたらcaptureEventというイベントが発行される記述が書かれている。また、スクリプトにはcaptureEventイベントをキャッチしてメインビデオのキャプチャを行う仕組みが組み込まれている。この場合、通常再生（リージョンが8以外の場合やリージョン制御非サポートプレーヤの場合など）では、普通にビデオの再生が行われ、リージョンコードが8のプレーヤで再生させた時のみキャプチャ用のボタン（マークアップのbutton1）が出現し、それを押下することによってビデオのワンシーンを静止画としてパーシステントストレージに保存することができる。
【０１９５】
このように、特定のリージョンコードの場合だけボタンなどを出現させて、特別な機能を利用可能にすることなどもできる。
【０１９６】
図５４は、マニフェストに<RegionScript>を導入した場合の例を示す図である。<RegionScript>にはregionCode=”4 6”が設定されている。当該スクリプトには、サブビデオの再生サイズを２分の１に変更する仕組みが導入されている。この時、通常再生（リージョンが4, 6以外の場合やリージョン制御非サポートプレーヤの場合など）でのサブビデオの再生サイズに対して、リージョンコードが4または6のプレーヤで再生させた場合はそのサイズが２分の１に縮小されて再生される。
【０１９７】
図５５は、マークアップに<Regionbutton>と<Regioncue>を導入した例を示す図である。通常再生（リージョンが1以外の場合やリージョン制御非サポートプレーヤの場合など）の場合、チャプター１、チャプター２にジャンプする２つのボタンが表示されるのに対し、リージョンコードが1のプレーヤで再生させると、チャプター３へのジャンプボタンも表示される。このように、再生開始させるシーンを選択するためのメニュ画面用のマークアップに<Regionbutton>や<Regioncue>を導入することによって、特定のリージョンコードを持つプレーヤで再生させた場合のみ特別なチャプター（シーン）を視聴可能にするといったことができる。
【０１９８】
図５６〜図５８は、XMLファイル（プレイリスト・マニフェスト・マークアップ）の各要素にリージョンコード属性を導入した場合の例を示す図である。
【０１９９】
図５６は、プレイリストの<SecondaryAudioVideoClip>にregionCode属性を導入した場合の例を示す図である。例えば、regionCode=”6 7”が設定されている。この時、通常再生（リージョンが6, 7以外の場合やリージョン制御非サポートプレーヤの場合など）では、メインビデオ・メインオーディオに加えてサブビデオ・サブオーディオの再生が行われるが、リージョンコードが6または7のプレーヤで再生させた場合は、<SecondaryAudioVideoClip>要素が読み込まれないので、サブビデオ・サブオーディオの再生が行われない（メインビデオ・メインオーディオのみの再生）。サブビデオ・サブオーディオの内容が特定の地域の倫理に触れる場合やコンテンツの権利関係である地域では再生させたくない場合などに、このような制限をかける手法が有効になる。
【０２００】
図５７は、マニフェストの<Markup>要素にregionCode属性を導入した場合の例を示す図である。regionCode=”6”が設定されており、当該マークアップには「注：サリーはインドの民族衣装です。」という文字列が画面上に表示される仕組みが組み込まれている。この時、通常再生（リージョンが6以外の場合やリージョン制御非サポートプレーヤの場合など）では、「注：サリーはインドの民族衣装です。」というテロップが表示されるのに対し、リージョンコードが6のプレーヤで再生させた場合はそれが表示されない。このように、地域の文化等に関する注釈記述などは、当地の人間には必要ないので、特定のリージョン限定でそれを表示させないようにすることなども可能である。
【０２０１】
図５８は、マークアップの<object>要素にregionCode=”1 2 3”を設定した例を示す図である。当該オブジェクトには、mosaic.jpgというモザイク画像を表示する記述が書かれている。この時、通常再生（リージョンが1, 2, 3以外の場合やリージョン制御非サポートプレーヤの場合など）では、映像の一部にモザイクのような画像が表示されるのに対し、リージョンコードが1, 2, 3のプレーヤで再生させた場合にはモザイク画像が表示されない。このように、特定の地域ではモザイクを外しても良い場合などにもリージョンコード属性は有効である。
【０２０２】
以上のように、リージョンコードによる再生制御機能をHD DVDに導入することにより、「再生する」「再生しない」の２分岐制御だけでなく、より高度な再生制御を行うことができる。また、本発明はリージョンコードによる再生制御をサポートしていないプレーヤとの互換性も確保されており、リージョン制御の仕組みが含まれているコンテンツをリージョン制御非サポートプレーヤで再生させても、問題なく再生させることができる（もちろんコンテンツ制作者がリージョン制御非サポートプレーヤでの再生を禁止させたいのであればそのように制作することも可能）。加えて、リージョン制御を有効にするか無効にするかを示すフラグを導入することによって、リージョン制御あり／なしの２種類のコンテンツを容易に制作することができる。
【０２０３】
なお、本願発明は、上記実施形態に限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で種々に変形することが可能である。また、各実施形態は可能な限り適宜組み合わせて実施してもよく、その場合組み合わせた効果が得られる。更に、上記実施形態には種々の段階の発明が含まれており、開示される複数の構成要件における適当な組み合わせにより種々の発明が抽出され得る。例えば、実施形態に示される全構成要件からいくつかの構成要件が削除されても、発明が解決しようとする課題の欄で述べた課題が解決でき、発明の効果の欄で述べられている効果が得られる場合には、この構成要件が削除された構成が発明として抽出され得る。
【図面の簡単な説明】
【０２０４】
【図１】図１は、HD DVDの概要を示す図である。
【図２】図２は、スタンダードコンテンツとアドバンスドコンテンツの判別の一例を示す図である。
【図３】図３は、HD DVDアドバンスドコンテンツのデータ構成の一例を示す図である。
【図４】図４は、HD DVDアドバンスドコンテンツのディレクトリおよびファイル構成の一例を示す図である。
【図５】図５は、アドバンスドコンテンツ再生のスタートアップ処理の一例を示す図である。
【図６】図６は、HD DVDアドバンスドコンテンツプレーヤの概要を示す図である。
【図７】図７は、DISCID.DATのデータ構造の一例を示す図である。
【図８】図８は、プレイリストの一例を示す図である。
【図９】図９は、プレイリストの一例を示す図である。
【図１０】図１０は、プレイリストの一例を示す図である。
【図１１】図１１は、プレイリストの一例を示す図である。
【図１２】図１２は、プレイリストの一例を示す図である。
【図１３】図１３は、プレイリストの一例を示す図である。
【図１４】図１４は、プレイリストの一例を示す図である。
【図１５】図１５は、プレイリストの一例を示す図である。
【図１６】図１６は、マニフェストの一例を示す図である。
【図１７】図１７は、マークアップの一例を示す図である。
【図１８】図１８、スクリプトの一例を示す図である。
【図１９】図１９は、スクリプトの一例を示す図である。
【図２０】図２０は、リージョン制御の概要を示す図である。
【図２１】図２１は、規格外のコンテンツに対するHD DVDプレーヤの振る舞いの一例を示す図である。
【図２２】図２２は、HD DVDアドバンスドコンテンツプレーヤによるリージョンコードの保持を説明するための図である。
【図２３】図２３は、DISCID.DATにリージョンフラグを導入する例を示す図である。
【図２４】図２４は、リージョンコードによって初期プレイリストを分岐させる情報を導入する例を示す図である。
【図２５】図２５は、リージョンコードによる初期プレイリストの分岐フローチャートを示す図である。
【図２６】図２６は、リージョンコードによる初期プレイリストの分岐フローチャートを示す図である。
【図２７】図２７は、リージョンコードによる初期プレイリストの分岐フローチャートを示す図である。
【図２８】図２８は、XMLファイルのデータ構造にリージョンブロック情報を導入した例を示す図である。
【図２９】図２９は、リージョンブロック情報を含んだXMLデータの読み込みフローチャートを示す図である。
【図３０】図３０は、リージョンブロック情報を導入した例と読み込み処理の例を示す図である。
【図３１】図３１は、スクリプトのAPIにリージョンプロパティを導入した例を示す図である。
【図３２】図３２は、リージョンプロパティを用いた再生制御の例を示す図である。
【図３３】図３３は、リージョンプロパティを用いた再生制御の例を示す図である。
【図３４】図３４は、XMLファイル（プレイリスト・マニフェスト・マークアップ）にプレーヤのリージョンコードに応じて読込可／不可となる要素（リージョン制御要素）を導入した例を示す図である。
【図３５】図３５は、リージョン制御要素の読み込みフローチャートを示す図である。
【図３６】図３６は、プレイリストにリージョンアプリケーションセグメント要素を導入した例を示す図である。
【図３７】図３７は、プレイリストにリージョンアプリケーションセグメント要素を導入した例を示す図である。
【図３８】図３８は、プレイリストにリージョンプレイリストアプリケーション要素を導入した例を示す図である。
【図３９】図３９は、プレイリストにリージョンプレイリストアプリケーション要素を導入した例を示す図である。
【図４０】図４０は、マニフェストにリージョンスクリプト要素を導入した例を示す図である。
【図４１】図４１は、マニフェストにリージョンスクリプト要素を導入した例を示す図である。
【図４２】図４２は、リージョンボタン要素（<Regionbutton>）の例を示す図である。
【図４３】図４３は、リージョンキュー要素（<Regioncue>）の例を示す図である。
【図４４】図４４は、リージョンボタン要素およびリージョンキュー要素を用いた再生制御の例を示す図である。
【図４５】図４５は、XMLファイル（プレイリスト・マニフェスト・マークアップ）の各要素にリージョンコード属性を導入した例を示す図である。
【図４６】図４６は、リージョンコード属性が設定された要素の読み込みフローチャートを示す図である。
【図４７】図４７は、プレイリストのセカンダリーオーディオビデオクリップ要素にリージョンコード属性を導入した例を示す図である。
【図４８】図４８は、マニフェストのマークアップ要素にリージョンコード属性を導入した例を示す図である。
【図４９】図４９は、マークアップのオブジェクト要素にリージョンコード属性を導入した例を示す図である。
【図５０】図５０は、リージョンファイルによる初期プレイリスト分岐機能の例を示す図である。
【図５１】図５１は、APIのリージョンプロパティによる再生制御の例を示す図である。
【図５２】図５２は、プレイリストに<RegionApplicationSegment>要素を導入した場合の例を示す図である。
【図５３】図５３は、プレイリストに<RegionApplicationSegment>要素を導入した場合の例を示す図である。
【図５４】図５４は、マニフェストに<RegionScript>を導入した場合の例を示す図である。
【図５５】図５５は、マークアップに<Regionbutton>と<Regioncue>を導入した例を示す図である。
【図５６】図５６は、プレイリストの<SecondaryAudioVideoClip>にregionCode属性を導入した場合の例を示す図である。
【図５７】図５７は、マニフェストの<Markup>要素にregionCode属性を導入した場合の例を示す図である。
【図５８】図５８は、マークアップの<object>要素にregionCode=”1 2 3”を設定した例を示す図である。
【符号の説明】
【０２０５】
１…記憶部（プレーヤ設定や再生に関する設定を保持する部位）、２…ナビゲーションマネージャ、３…データアクセスマネージャ、４…データキャッシュ、５…プレゼンテーションエンジン、６…AVレンダラ
【図１】
2008171510.tif 000003
【図２】
2008171510.tif 000004
【図３】
2008171510.tif 000005
【図４】
2008171510.tif 000006
【図５】
2008171510.tif 000007
【図６】
2008171510.tif 000008
【図７】
2008171510.tif 000009
【図８】
2008171510.tif 000010
【図９】
2008171510.tif 000011
【図１０】
2008171510.tif 000012
【図１１】
2008171510.tif 000013
【図１２】
2008171510.tif 000014
【図１３】
2008171510.tif 000015
【図１４】
2008171510.tif 000016
【図１５】
2008171510.tif 000017
【図１６】
2008171510.tif 000018
【図１７】
2008171510.tif 000019
【図１８】
2008171510.tif 000020
【図１９】
2008171510.tif 000021
【図２０】
2008171510.tif 000022
【図２１】
2008171510.tif 000023
【図２２】
2008171510.tif 000024
【図２３】
2008171510.tif 000025
【図２４】
2008171510.tif 000026
【図２５】
2008171510.tif 000027
【図２６】
2008171510.tif 000028
【図２７】
2008171510.tif 000029
【図２８】
2008171510.tif 000030
【図２９】
2008171510.tif 000031
【図３０】
2008171510.tif 000032
【図３１】
2008171510.tif 000033
【図３２】
2008171510.tif 000034
【図３３】
2008171510.tif 000035
【図３４】
2008171510.tif 000036
【図３５】
2008171510.tif 000037
【図３６】
2008171510.tif 000038
【図３７】
2008171510.tif 000039
【図３８】
2008171510.tif 000040
【図３９】
2008171510.tif 000041
【図４０】
2008171510.tif 000042
【図４１】
2008171510.tif 000043
【図４２】
2008171510.tif 000044
【図４３】
2008171510.tif 000045
【図４４】
2008171510.tif 000046
【図４５】
2008171510.tif 000047
【図４６】
2008171510.tif 000048
【図４７】
2008171510.tif 000049
【図４８】
2008171510.tif 000050
【図４９】
2008171510.tif 000051
【図５０】
2008171510.tif 000052
【図５１】
2008171510.tif 000053
【図５２】
2008171510.tif 000054
【図５３】
2008171510.tif 000055
【図５４】
2008171510.tif 000056
【図５５】
2008171510.tif 000057
【図５６】
2008171510.tif 000058
【図５７】
2008171510.tif 000059
【図５８】
2008171510.tif 000060