(57)【要約】【課題】符号化自由度が高い映像符号化方式を用いる場合には、特殊再生や、マルチアングルなどの再生時に、適切に復号可能か否かストリームを解析するしかなかった。【解決手段】それ以降の符号化順を持つピクチャが復号できることを保証できるピクチャを規定し、このピクチャの位置を管理することで、適切に再生制御を行うことが可能となる。【選択図】図３３
2006073127.tif 000002
【特許請求の範囲】
【請求項１】
ストリーム途中からの復号処理が可能か否かを示す復号開始点情報を持たない画像符合化方式によって符合化された映像情報を含むストリームを記録した情報記録媒体であって、前記ストリーム内に前記復号開始点情報を格納させ、前記ストリームが前記復号開始点情報を含むことを示す情報を記録した管理情報を持つことを特徴とする情報記録媒体。
【請求項２】
ストリーム途中からの復号処理が可能か否かを示す復号開始点情報を持たない画像符合化方式によって符合化された映像情報を含むストリームを記録した情報記録媒体であって、前記ストリームが前記復号開始点情報を前記ストリーム内の１つもしくは複数のピクチャを束ねた論理単位の符合化属性を示すヘッダ情報直後のユーザーデータ領域に記述されることを特徴とする情報記録媒体。
【請求項３】
前記ストリームの管理情報に、前記復号開始点情報が多重化されている位置を示す情報が記録されていることを特徴とする請求項２に記載の情報記録媒体。
【請求項４】
前記復号開始点情報からの復号処理が可能か否かを示す情報が前記管理情報に格納されていることを特徴とする請求項３に記載の情報記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は適切なランダムアクセス性を確保したパッケージメディアに関するものである。
【背景技術】
【０００２】
従来の技術である、ＤＶＤ−Ｖｉｄｅｏディスク（以下単にＤＶＤと呼ぶ）について説明する。
【０００３】
図１は、ＤＶＤの構造を示した図である。図１の下段に示すように、ＤＶＤディスク上にはリードインからリードアウトまでの間に論理アドレス空間が設けられ、論理アドレス空間の先頭からファイルシステムのボリューム情報が記録され、続いて映像音声などのアプリケーションデータが記録されている。
【０００４】
ファイルシステムとは、ＩＳＯ９６６０やＵＤＦ（Universal Disc Format）のことであり、ディスク上のデータをディレクトリまたはファイルと呼ばれる単位で表現する仕組みである。日常使っているＰＣ（パーソナルコンピュータ）の場合でも、ＦＡＴまたはＮＴＦＳと呼ばれるファイルシステムを通すことにより、ディレクトリやファイルという構造でハードディスクに記録されたデータがコンピュータ上で表現され、ユーザビリティを高めている。
【０００５】
ＤＶＤの場合、ＵＤＦおよびＩＳＯ９６６０両方を使用しており（両方を合わせて「ＵＤＦブリッジ」と呼ぶ事がある）、ＵＤＦまたはＩＳＯ９６６０どちらのファイルシステムドライバによってもデータの読み出しができるようになっている。勿論、書き換え型のＤＶＤディスクであるＤＶＤ−ＲＡＭ／Ｒ／ＲＷでは、これらファイルシステムを介し、物理的にデータの読み、書き、削除が可能である。
【０００６】
ＤＶＤ上に記録されたデータは、ＵＤＦブリッジを通して、図１左上に示すようなディレクトリまたはファイルとして見ることができる。ルートディレクトリ（図中「ＲＯＯＴ」）の直下に「ＶＩＤＥＯ＿ＴＳ」と呼ばれるディレクトリが置かれ、ここにＤＶＤのアプリケーションデータが記録されている。アプリケーションデータは、複数のファイルとして記録され、主なファイルとして以下のものがある。
【０００７】
ＶＩＤＥＯ＿ＴＳ．ＩＦＯ    ディスク再生制御情報ファイル
ＶＴＳ＿０１＿０．ＩＦＯ    ビデオタイトルセット＃１再生制御情報ファイル
ＶＴＳ＿０１＿０．ＶＯＢ    ビデオタイトルセット＃１ストリームファイル
．．．．．
拡張子として２つの種類が規定されており、「ＩＦＯ」は再生制御情報が記録されたファイルであって、「ＶＯＢ」はＡＶデータであるＭＰＥＧストリームが記録されたファイルである。再生制御情報とは、ＤＶＤで採用されたインタラクティビティ（ユーザの操作に応じて再生を動的に変化させる技術）を実現するための情報や、メタデータのようなタイトルやＡＶストリームに付属する情報などのことである。また、ＤＶＤでは一般的に再生制御情報のことをナビゲーション情報と呼ぶことがある。
【０００８】
再生制御情報ファイルは、ディスク全体を管理する「ＶＩＤＥＯ＿ＴＳ．ＩＦＯ」と、個々のビデオタイトルセット（ＤＶＤでは複数のタイトル、言い換えれば異なる映画や異なるバージョンの映画を１枚のディスクに記録することが可能である。）毎の再生制御情報である「ＶＴＳ＿０１＿０．ＩＦＯ」がある。ここで、ファイル名ボディにある「０１」はビデオタイトルセットの番号を示しており、例えば、ビデオタイトルセット＃２の場合は、「ＶＴＳ＿０２＿０．ＩＦＯ」となる。
【０００９】
図１の右上部は、ＤＶＤのアプリケーション層でのＤＶＤナビゲーション空間であり、前述した再生制御情報が展開された論理構造空間である。「ＶＩＤＥＯ＿ＴＳ．ＩＦＯ」内の情報は、ＶＭＧＩ（Video Manager Information）として、「ＶＴＳ＿０１＿０．ＩＦＯ」または、他のビデオタイトルセット毎に存在する再生制御情報はＶＴＳＩ（Video Title Set Information）としてＤＶＤナビゲーション空間に展開される。
【００１０】
ＶＴＳＩの中にはＰＧＣ（Program Chain）と呼ばれる再生シーケンスの情報であるＰＧＣＩ（Program Chain Information）が記述されている。ＰＧＣＩは、Ｃｅｌｌの集合とコマンドと呼ばれる一種のプログラミング情報によって構成されている。Ｃｅｌｌ自身はＶＯＢ（Video Objectの略であり、ＭＰＥＧストリームを指す）の一部区間または全部区間の集合であり、Ｃｅｌｌの再生は、当該ＶＯＢのＣｅｌｌによって指定された区間を再生することを意味している。
【００１１】
コマンドは、ＤＶＤの仮想マシンによって処理されるものであり、ブラウザ上で実行されるＪａｖａ（登録商標）スクリプトなどに近いものである。しかしながらＪａｖａ（登録商標）スクリプトが論理演算の他にウィンドウやブラウザの制御（例えば、新しいブラウザのウィンドを開くなど）を行うのに対して、ＤＶＤのコマンドは、論理演算の他にＡＶタイトルの再生制御、例えば、再生するチャプタの指定などを実行するだけのものである点で異なっている。
【００１２】
Ｃｅｌｌはディスク上に記録されているＶＯＢの開始および終了アドレス（ディスク上での論理記録アドレス）をその内部情報として有しており、プレーヤは、Ｃｅｌｌに記述されたＶＯＢの開始および終了アドレス情報を使ってデータの読み出し、再生を実行する。
【００１３】
図２はＡＶストリーム中に埋め込まれているナビゲーション情報を説明する概略図である。ＤＶＤの特長であるインタラクティビティは前述した「ＶＩＤＥＯ＿ＴＳ．ＩＦＯ」や「ＶＴＳ＿０１＿０．ＩＦＯ」などに記録されているナビゲーション情報だけによって実現されているのではなく、幾つかの重要な情報はナビゲーション  パック（ナビパックまたは、ＮＶ＿ＰＣＫと称する）と呼ばれる専用キャリアを使いＶＯＢ内に映像、音声データと一緒に多重化されている。
【００１４】
ここでは簡単なインタラクティビティの例としてメニューを説明する。メニュー画面上には、幾つかのボタンが現れ、夫々のボタンには当該ボタンが選択実行された時の処理が定義されている。また、メニュー上では一つのボタンが選択されており（ハイライトによって選択ボタン上に半透明色がオーバーレイされており該ボタンが選択状態であることをユーザーに示す）、ユーザは、リモコンの上下左右キーを使って、選択状態のボタンを上下左右の何れかのボタンに移動させることが出来る。リモコンの上下左右キーを使って、選択実行したいボタンまでハイライトを移動させ、決定する（決定キーを押す）ことによって対応するコマンドのプログラムが実行される。一般的には対応するタイトルやチャプタの再生がコマンドによって実行されている。
【００１５】
図２の左上部はＮＶ＿ＰＣＫ内に格納される制御情報の概要を示している。
【００１６】
ＮＶ＿ＰＣＫ内には、ハイライトカラー情報と個々のボタン情報などが含まれている。ハイライトカラー情報には、カラーパレット情報が記述され、オーバーレイ表示されるハイライトの半透明色が指定される。ボタン情報には、個々のボタンの位置情報である矩形領域情報と、当該ボタンから他のボタンへの移動情報（ユーザの上下左右キー操作夫々に対応する移動先ボタンの指定）と、ボタンコマンド情報（当該ボタンが決定された時に実行されるコマンド）が記述されている。
【００１７】
メニュー上のハイライトは、図２の中央右上部に示すように、オーバーレイ画像として作られる。オーバーレイ画像は、ボタン情報の矩形領域情報にカラーパレット情報の色をつけた物である。このオーバーレイ画像は図２の右部に示す背景画像と合成されて画面上に表示される。
【００１８】
上述のようにして、ＤＶＤではメニューを実現している。また、何故、ナビゲーションデータの一部をＮＶ＿ＰＣＫを使ってストリーム中に埋め込んでいるのは、ストリームと同期して動的にメニュー情報を更新したり（例えば、映画再生の途中５分〜１０分の間にだけメニューが表示されるなど）、同期タイミングが問題となりやすいアプリケーションの場合でも、問題なく実現できるようにしたためである。また、もう一つの大きな理由は、ＮＶ＿ＰＣＫには特殊再生を支援するための情報を格納し、ＤＶＤ再生時の早送り、巻き戻しなどの非通常再生時にも円滑にＡＶデータをデコードし再生させる等、ユーザーの操作性を向上させるためである。
【００１９】
図３は、ＤＶＤのストリームであるＶＯＢのイメージである。図に示すように、映像、音声、字幕などのデータ（Ａ段）は、ＭＰＥＧシステム規格（ISO/IEC13818-1）に基づいて、パケットおよびパック化し（Ｂ段）、夫々を多重化して１本のＭＰＥＧプログラムストリームにしている（Ｃ段）。また、前述した通りインタラクティブを実現するためのボタンコマンドを含んだＮＶ＿ＰＣＫも一緒に多重化をされている。
【００２０】
ＭＰＥＧシステムの多重化の特徴は、多重化する個々のデータは、そのデコード順に基づくビット列になっているが、多重化されるデータ間、即ち、映像、音声、字幕の間は必ずしも再生順に基づいてビット列が形成されている訳ではない。これは多重化したＭＰＥＧシステムストリームのデコーダモデル（一般にSystem Target Decoder、またはＳＴＤと呼ばれる（図３のＤ段））が多重化を解いた後に個々のエレメンタリーストリームに対応するデコーダバッファを持ち、デコードタイミングまでに一時的にデータを蓄積している事に由来している。例えばＤＶＤ−Ｖｉｄｅｏで規定されるデコーダバッファは、個々のエレメンタリーストリーム毎にサイズが異なり、映像に対しては、２３２ＫＢ、音声に対しては４ＫＢ、字幕に対しては５２ＫＢを夫々有している。
【００２１】
即ち、映像データと並んで多重化されている字幕データが必ずしも同一タイミングでデコードもしくは再生されているわけでは無い。
【００２２】
一方、次世代ＤＶＤ規格としてＢＤ（Blu-ray Disc）がある。
【００２３】
ＤＶＤでは、標準画質（Standard Definition画質）の映像に対する、パッケージ配信（DVD-Video規格）やアナログ放送の記録（DVD Video Recording規格）を目的としＭＰＥＧ−２を基本技術としてきたが、ＢＤでは、高精度画質（High Definition画質）の映画素材をそのまま記録する（Blu-ray Disc Read-Only-Memory規格、以下BD-ROMもしくはBD）ことができ、新しい符合化方式（ＭＰＥＧ−４  ＡＶＣやＶＣ−９など）を用いて低ビットレートながら高画質な映像を提供することも可能である。
【００２４】
しかしながら、新しい符合化方式は、ＭＰＥＧ−２と比べて演算量と要求メモリ量が大きく、また自由度が高い符号化方式であるため、エンコーダ／デコーダの実装が困難であるネガティブファクターも兼ね備えている。
【００２５】
したがって、ストリームの途中に飛び込み再生開始する場合や、特殊再生、ＤＶＤで実現されているマルチアングルなどの機能を実現するには、新しい符合化方式の符号化を一部制限することで実装のインパクトを減らし、かつ、管理情報に符号化情報を抽出するなどし、デコードを支援する必要がある。
【００２６】
特殊再生支援情報（タイムマップ）に関しては、特許文献１に公開されている。
【特許文献１】特開平１１−９６７３０号公報
【発明の開示】
【発明が解決しようとする課題】
【００２７】
現在のＤＶＤやＢＤでは、ＭＰＥＧ−２の符号化方式を基本技術としているため、映像圧縮方式としてＭＰＥＧ−４  ＡＶＣやＶＣ−９を用いる場合に復号を支援する適切な情報を備えていない課題がある。
【００２８】
本発明は、上記課題を解決することを目的としている。
【課題を解決するための手段】
【００２９】
上記課題を解決するため、請求項１にかかる発明は、ストリーム途中からの復号処理が可能か否かを示す復号開始点情報を持たない画像符合化方式によって符合化された映像情報を含むストリームを記録した情報記録媒体であって、前記ストリーム内に前記復号開始点情報を格納させ、前記ストリームが前記復号開始点情報を含むことを示す情報を記録した管理情報を持つことを特徴とする情報記録媒体としている。
【００３０】
請求項２にかかる発明は、ストリーム途中からの復号処理が可能か否かを示す復号開始点情報を持たない画像符合化方式によって符合化された映像情報を含むストリームを記録した情報記録媒体であって、前記ストリームが前記復号開始点情報を前記ストリーム内の１つもしくは複数のピクチャを束ねた論理単位の符合化属性を示すヘッダ情報直後のユーザーデータ領域に記述されることを特徴とする情報記録媒体としている。
【００３１】
請求項３にかかる発明は、請求項２に記載の情報記録媒体であって、前記ストリームの管理情報に、前記復号開始点情報が多重化されている位置を示す情報が記録されていることを特徴とする情報記録媒体としている。
【００３２】
請求項４にかかる発明は、請求項３に記載の情報記録媒体であって、前記復号開始点情報からの復号処理が可能か否かを示す情報が前記管理情報に格納されていることを特徴とする情報記録媒体としている。
【発明の効果】
【００３３】
上記解決手段を講じることによって、ストレスのない再生機能を提供することが可能となり、ユーザ操作のレスポンス向上が期待できる。
【００３４】
また、符号化条件を制限することで、機器実装が簡易になる効果もある。
【発明を実施するための最良の形態】
【００３５】
（実施例１）
まず最初に本発明の第１の実施の形態について説明する。
（ディスク上の論理データ構造）
図４は、ＢＤ−ＲＯＭの構成、特にディスク媒体であるＢＤディスク（１０４）と、ディスクに記録されているデータ（１０１、１０２、１０３）の構成を示す図である。ＢＤディスク（１０４）に記録されるデータは、ＡＶデータ（１０３）と、ＡＶデータに関する管理情報およびＡＶ再生シーケンスなどのＢＤ管理情報（１０２）と、インタラクティブを実現するＢＤ再生プログラム（１０１）である。本実施の形態では、説明の都合上、映画のＡＶコンテンツを再生するためのＡＶアプリケーションを主眼においてのＢＤディスクの説明を行うが、他の用途として用いても勿論同様である。
【００３６】
図５は、上述したＢＤディスクに記録されている論理データのディレクトリ・ファイル構成を示した図である。ＢＤディスクは、他の光ディスク、例えばＤＶＤやＣＤなどと同様にその内周から外周に向けてらせん状に記録領域を持ち、内周のリード・インと外周のリード・アウトの間に論理データを記録できる論理アドレス空間を有している。また、リード・インの内側にはＢＣＡ（Burst Cutting Area）と呼ばれるドライブでしか読み出せない特別な領域がある。この領域はアプリケーションから読み出せないため、例えば著作権保護技術などに利用されることがある。
【００３７】
論理アドレス空間には、ファイルシステム情報（ボリューム）を先頭に映像データなどのアプリケーションデータが記録されている。ファイルシステムとは従来技術で説明した通り、ＵＤＦやＩＳＯ９６６０などのことであり、通常のＰＣと同じように記録されている論理データをディレクトリ、ファイル構造を使って読み出しする事が可能になっている。
【００３８】
本実施例の場合、ＢＤディスク上のディレクトリ、ファイル構造は、ルートディレクトリ（ＲＯＯＴ）直下にＢＤＶＩＤＥＯディレクトリが置かれている。このディレクトリはＢＤで扱うＡＶコンテンツや管理情報などのデータ（図４で説明した１０１、１０２、１０３）が格納されているディレクトリである。
【００３９】
ＢＤＶＩＤＥＯディレクトリの下には、次の７種類のファイルが記録されている。
【００４０】
ＢＤ．ＩＮＦＯ（ファイル名固定）
「ＢＤ管理情報」の一つであり、ＢＤディスク全体に関する情報を記録したファイルである。ＢＤプレーヤは最初にこのファイルを読み出す。
【００４１】
ＢＤ．ＰＲＯＧ（ファイル名固定）
「ＢＤ再生プログラム」の一つであり、ＢＤディスク全体に関わる再生制御情報を記録したファイルである。
【００４２】
ＸＸＸ．ＰＬ（「ＸＸＸ」は可変、拡張子「ＰＬ」は固定）
「ＢＤ管理情報」の一つであり、シナリオ（再生シーケンス）であるプレイリスト情報を記録したファイルである。プレイリスト毎に１つのファイルを持っている。
【００４３】
ＸＸＸ．ＰＲＯＧ（「ＸＸＸ」は可変、拡張子「ＰＬ」は固定）
「ＢＤ再生プログラム」の一つであり、前述したプレイリスト毎の再生制御情報を記録したファイルである。プレイリストとの対応はファイルボディ名（「ＸＸＸ」が一致する）によって識別される。
【００４４】
ＹＹＹ．ＶＯＢ（「ＹＹＹ」は可変、拡張子「ＶＯＢ」は固定）
「ＡＶデータ」の一つであり、ＶＯＢ（従来例で説明したＶＯＢと同じ）を記録したファイルである。ＶＯＢ毎に１つのファイルを持っている。
【００４５】
ＹＹＹ．ＶＯＢＩ（「ＹＹＹ」は可変、拡張子「ＶＯＢＩ」は固定）
「ＢＤ管理情報」の一つであり、ＡＶデータであるＶＯＢに関わるストリーム管理情報を記録したファイルである。ＶＯＢとの対応はファイルボディ名（「ＹＹＹ」が一致する）によって識別される。
【００４６】
ＺＺＺ．ＰＮＧ（「ＺＺＺ」は可変、拡張子「ＰＮＧ」は固定）
「ＡＶデータ」の一つであり、字幕およびメニューを構成するためのイメージデータＰＮＧ（Ｗ３Ｃによって標準化された画像フォーマットであり「ピング」と読む）を記録したファイルである。１つのＰＮＧイメージ毎に１つのファイルを持つ。
（プレーヤの構成）
次に、前述したＢＤディスクを再生するプレーヤの構成について図６および図７を用いて説明する。
【００４７】
図６は、プレーヤの大まかな機能構成を示すブロック図である。
【００４８】
ＢＤディスク（２０１）上のデータは、光ピックアップ（２０２）を通して読み出される。読み出されたデータは夫々のデータの種類に応じて専用のメモリに転送される。ＢＤ再生プログラム（「ＢＤ．ＰＲＯＧ」または「ＸＸＸ．ＰＲＯＧ」ファイルの中身）はプログラム記録メモリ（２０３）に、ＢＤ管理情報（「ＢＤ．ＩＮＦＯ」、「ＸＸＸ．ＰＬ」または「ＹＹＹ．ＶＯＢＩ」）は管理情報記録メモリ（２０４）に、ＡＶデータ（「ＹＹＹ．ＶＯＢ」または「ＺＺＺ．ＰＮＧ」）はＡＶ記録メモリ（２０５）に夫々転送される。
【００４９】
プログラム記録メモリ（２０３）に記録されたＢＤ再生プログラムはプログラム処理部（２０６）によって、管理情報記録メモリ（２０４）に記録されたＢＤ管理情報は管理情報処理部（２０７）によって、また、ＡＶ記録メモリ（２０５）に記録されたＡＶデータはプレゼンテーション処理部（２０８）によって夫々処理される。
【００５０】
プログラム処理部（２０６）は、管理情報処理部（２０７）より再生するプレイリストの情報やプログラムの実行タイミングなどのイベント情報を受け取りプログラムの処理を行う。また、プログラムでは再生するプレイリストを動的に変える事が可能であり、この場合は管理情報処理部（２０７）に対してプレイリストの再生命令を送ることで実現する。プログラム処理部（２０６）は、ユーザからのイベント、即ちリモコンキーからのリクエストを受け、ユーザイベントに対応するプログラムがある場合は、それを実行する。
【００５１】
管理情報処理部（２０７）は、プログラム処理部（２０６）の指示を受け、対応するプレイリストおよびプレイリストに対応したＶＯＢの管理情報を解析し、プレゼンテーション処理部（２０８）に対象となるＡＶデータの再生を指示する。また、管理情報処理部（２０７）は、プレゼンテーション処理部（２０８）より基準時刻情報を受け取り、時刻情報に基づいてプレゼンテーション処理部（２０８）にＡＶデータ再生の停止指示を行い、また、プログラム処理部（２０６）に対してプログラム実行タイミングを示すイベントを生成する。
【００５２】
プレゼンテーション処理部（２０８）は、映像、音声、字幕／イメージ（静止画）の夫々に対応するデコーダを持ち、管理情報処理部（２０７）からの指示に従い、ＡＶデータのデコードおよび出力を行う。映像データ、字幕／イメージの場合は、デコード後に夫々の専用プレーン、ビデオプレーン（２１０）およびイメージプレーン（２０９）に描画され、合成処理部（２１１）によって映像の合成処理が行われＴＶなどの表示デバイスへ出力される。
【００５３】
このように図６に示すように、ＢＤプレーヤは図４で示したＢＤディスクに記録されているデータ構成に基づいた機器構成をとっている。
【００５４】
図７は前述したプレーヤ構成を詳細化したブロック図である。図７では、ＡＶ記録メモリ（２０５）はイメージメモリ（３０８）とトラックバッファ（３０９）に、プログラム処理部（２０６）はプログラムプロセッサ（３０２）とＵＯＰマネージャ（３０３）に、管理情報処理部（２０７）はシナリオプロセッサ（３０５）とプレゼンテーションコントローラ（３０６）に、プレゼンテーション処理部（２０８）はクロック（３０７）、デマルチプレクサ（３１０）、イメージプロセッサ（３１１）、ビデオプロセッサ（３１２）とサウンドプロセッサ（３１３）に夫々対応／展開している。
【００５５】
ＢＤディスク（２０１）から読み出されたＶＯＢデータ（ＭＰＥＧストリーム）はトラックバッファ（３０９）に、イメージデータ（ＰＮＧ）はイメージメモリ（３０８）に夫々記録される。デマルチプレクサ（３１０）がクロック（３０７）の時刻に基づき、トラックバッファ（３０９）に記録されたＶＯＢデータを抜き出し、映像データをビデオプロセッサ（３１２）に音声データをサウンドプロセッサ（３１３）に夫々送り込む。ビデオプロセッサ（３１２）およびサウンドプロセッサ（３１３）は夫々ＭＰＥＧシステム規格で定める通りに、デコーダバッファとデコーダから夫々構成されている。即ち、デマルチプレクサ（３１０）から送りこまれる映像、音声夫々のデータは、夫々のデコーダバッファに一時的に記録され、クロック（３０７）に従い個々のデコーダでデコード処理される。
【００５６】
イメージメモリ（３０８）に記録されたＰＮＧは、次の２つの処理方法がある。
【００５７】
イメージデータが字幕用の場合は、プレゼンテーションコントローラ（３０６）によってデコードタイミングが指示される。クロック（３０７）からの時刻情報をシナリオプロセッサ（３０５）が一旦受け、適切な字幕表示が行えるように、字幕表示時刻（開始および終了）になればプレゼンテーションコントローラ（３０６）に対して字幕の表示、非表示の指示を出す。プレゼンテーションコントローラ（３０６）からデコード／表示の指示を受けたイメージプロセッサ（３１１）は対応するＰＮＧデータをイメージメモリ（３０８）から抜き出し、デコードし、イメージプレーン（３１４）に描画する。
【００５８】
次に、イメージデータがメニュー用の場合は、プログラムプロセッサ（３０２）によってデコードタイミングが指示される。プログラムプロセッサ（３０２）が何時イメージのデコードを指示するかは、プログラムプロセッサ（３０２）が処理しているＢＤプログラムに因るものであって一概には決まらない。
【００５９】
イメージデータおよび映像データは、図６で説明したように夫々デコード後にイメージプレーン（３１４）、ビデオプレーン（３１５）に出力され、合成処理部（３１６）によって合成後出力される。
【００６０】
ＢＤディスク（２０１）から読み出された管理情報（シナリオ、ＡＶ管理情報）は、管理情報記録メモリ（３０４）に格納されるが、シナリオ情報（「ＢＤ．ＩＮＦＯ」および「ＸＸＸ．ＰＬ」）はシナリオプロセッサ（３０５）へ読み込み処理される。また、ＡＶ管理情報（「ＹＹＹ．ＶＯＢＩ」）はプレゼンテーションコントローラ（３０６）によって読み出され処理される。
【００６１】
シナリオプロセッサ（３０５）は、プレイリストの情報を解析し、プレイリストによって参照されているＶＯＢとその再生位置をプレゼンテーションコントローラ（３０６）に指示し、プレゼンテーションコントローラ（３０６）は対象となるＶＯＢの管理情報（「ＹＹＹ．ＶＯＢＩ」）を解析して、対象となるＶＯＢを読み出すようにドライブコントローラ（３１７）に指示を出す。
【００６２】
ドライブコントローラ（３１７）はプレゼンテーションコントローラ（３０６）の指示に従い、光ピックアップを移動させ、対象となるＡＶデータの読み出しを行う。読み出されたＡＶデータは、前述したようにイメージメモリ（３０８）またはトラックバッファ（３０９）に読み出される。
【００６３】
また、シナリオプロセッサ（３０５）は、クロック（３０７）の時刻を監視し、管理情報で設定されているタイミングでイベントをプログラムプロセッサ（３０２）に投げる。
【００６４】
プログラム記録メモリ（３０１）に記録されたＢＤプログラム（「ＢＤ．ＰＲＯＧ」または「ＸＸＸ．ＰＲＯＧ」）は、プログラムプロセッサ３０２によって実行処理される。プログラムプロセッサ（３０２）がＢＤプログラムを処理するのは、シナリオプロセッサ（３０５）からイベントが送られてきた場合か、ＵＯＰマネージャ（３０３）からイベントが送られてきた場合である。ＵＯＰマネージャ（３０３）は、ユーザからリモコンキーによってリクエストが送られてきた場合に、プログラムプロセッサ（３０２）に対するイベントを生成する。
（アプリケーション空間）
図８は、ＢＤのアプリケーション空間を示す図である。
【００６５】
ＢＤのアプリケーション空間では、プレイリスト（ＰｌａｙＬｉｓｔ）が一つの再生単位になっている。プレイリストはセル（Ｃｅｌｌ）の連結で、連結の順序により決定される再生シーケンスである静的なシナリオと、プログラムによって記述される動的なシナリオを有している。プログラムによる動的なシナリオが無い限り、プレイリストは個々のセルを順に再生するだけであり、また、全てのセルの再生を終了した時点でプレイリストの再生は終了する。一方で、プログラムは、プレイリストを超えての再生記述や、ユーザ選択またはプレーヤの状態によって再生する対象を動的に変えることが可能である。典型的な例としてはメニューがあげられる。ＢＤの場合、メニューとはユーザの選択によって再生するシナリオと定義でき、プログラムによってプレイリストを動的に選択することである。
【００６６】
ここで言うプログラムとは、時間イベントまたはユーザイベントによって実行されるイベントハンドラの事である。
【００６７】
時間イベントは、プレイリスト中に埋め込まれた時刻情報に基づいて生成されるイベントである。図７で説明したシナリオプロセッサ（３０５）からプログラムプロセッサ（３０２）に送られるイベントがこれに相当する。時間イベントが発行されると、プログラムプロセッサ（３０２）はＩＤによって対応付けられるイベントハンドラを実行処理する。前述した通り、実行されるプログラムが他のプレイリストの再生を指示することが可能であり、この場合には、現在再生されているプレイリストの再生は中止され、指定されたプレイリストの再生へと遷移する。
【００６８】
ユーザイベントは、ユーザのリモコンキー操作によって生成されるイベントである。ユーザイベントは大きく２つのタイプに分けられる。一つ目は、カーソルキー（「上」「下」「左」「右」キー）または「決定」キーの操作によって生成されるメニュー選択のイベントである。メニュー選択のイベントに対応するイベントハンドラはプレイリスト内の限られた期間でのみ有効であり（プレイリストの情報として、個々のイベントハンドラの有効期間が設定されている）、リモコンの「上」「下」「左」「右」キーまたは「決定」キーが押された時に有効なイベントハンドラを検索して、有効なイベントハンドラがある場合は当該イベントハンドラが実行処理される。他の場合は、メニュー選択のイベントは無視されることになる。
【００６９】
二つ目のユーザイベントは、「メニュー」キーの操作によって生成されるメニュー呼び出しのイベントである。メニュー呼び出しのイベントが生成されると、グローバルイベントハンドラが呼ばれる。グローバルイベントハンドラはプレイリストに依存せず、常に有効なイベントハンドラである。この機能を使うことにより、ＤＶＤのメニューコール（タイトル再生中に音声、字幕メニューなどを呼び出し、音声または字幕を変更後に中断した地点からのタイトル再生を実行する機能等）を実装することができる。
【００７０】
プレイリストで静的シナリオを構成する単位であるセル（Ｃｅｌｌ）はＶＯＢ（ＭＰＥＧストリーム）の全部または一部の再生区間を参照したものである。セルはＶＯＢ内の再生区間を開始、終了時刻の情報として持っている。個々のＶＯＢと一対になっているＶＯＢ管理情報（ＶＯＢＩ）は、その内部にデータの再生時刻に対応した記録アドレスのテーブル情報であるタイムマップ（Time MapまたはＴＭ）を有しており、このタイムマップによって前述したＶＯＢの再生、終了時刻をＶＯＢ内（即ち対象となるファイル「ＹＹＹ．ＶＯＢ」内）での読み出し開始アドレスおよび終了アドレスを導き出すことが可能である。なおタイムマップの詳細は後述する。
（ＶＯＢの詳細）
図９は、本実施例で使用するＭＰＥＧストリーム（ＶＯＢ）の構成図である。
【００７１】
図９に示すように、ＶＯＢは複数のＶＯＢＵ（Video Object Unit）によって構成されている。ＶＯＢＵは、ＭＰＥＧビデオストリームで言うＧＯＰ（Group Of Pictures）を基準として、音声データも含んだ多重化ストリームとしての一再生単位である。ＶＯＢＵは１．０秒以下のビデオ再生時間を持ち、通常は０．５秒程度の再生時間を持っている。
【００７２】
ＶＯＢＵ先頭のＴＳパケット（MPEG-2 Transport Stream Packet）は、シーケンスヘッダとそれに続くＧＯＰヘッダとＩピクチャ（Intra-coded）を格納しており、このIピクチャからの復号が開始可能なようになっている。また、このＶＯＢＵ先頭のIピクチャの先頭を含むＴＳパケットのアドレス（開始アドレス）と、この開始アドレスからＩピクチャの最後を含むＴＳパケットまでのアドレス（終了アドレス）と、このＩピクチャの再生開始時刻（PTS）をタイムマップで管理している。したがって、タイムマップのエントリーはＶＯＢＵ先頭のＴＳパケットごとに与えられている。
【００７３】
ＶＯＢＵは、その内部にビデオパケット（Ｖ＿ＰＫＴ）とオーディオパケット（Ａ＿ＰＫＴ）を有している。各パケットは１８８バイトであり、図９に図示してはいないが、各ＴＳパケットの直前には、そのＴＳパケットの相対的なデコーダ供給開始時刻であるＡＴＳ（Arrival Time Stamp）が付与されている。
【００７４】
ＡＴＳを各ＴＳパケットごとに付与するのは、このＴＳストリームのシステムレートが固定レートでなく、可変レートであるためである。一般的にシステムレートを固定にする場合にはＮＵＬＬパケットと呼ばれるダミーのＴＳパケットを挿入することになるが、限られた記録容量の中に高画質で記録するためには、可変レートが適しており、ＢＤではＡＴＳ付きのＴＳストリームとして記録している。
【００７５】
図１０は、ＴＳパケットの構成を示した図である。
【００７６】
図１０に示すように、ＴＳパケットは、ＴＳパケットヘッダと、適用フィールドと、ペイロード部から構成される。ＴＳパケットヘッダにはＰＩＤ（Packet Identifier）が格納され、これにより、ＴＳパケットがどのような情報を格納しているのか識別される。適用フィールドにはＰＣＲ（Program Clock Reference）が格納される。ＰＣＲはストリームをデコードする機器の基準クロック（System Time Clock、STCと呼ぶ）の参照値である。機器は典型的にはＰＣＲのタイミングでシステムストリームをデマルチプレクスし、ビデオストリーム等の各種ストリームを再構築する。ペイロードにはＰＥＳパケットが格納される。
【００７７】
ＰＥＳパケットヘッダには、ＤＴＳ（Decoding Time Stamp）とＰＴＳ（Presentation Time Stamp）が格納される。ＤＴＳは当該ＰＥＳパケットに格納されるピクチャ／オーディオフレームのデコードタイミングを示し、ＰＴＳは映像音声出力等のプレゼンテーションタイミングを示す。ビデオデータおよびオーディオデータといったエレメンタリデータは、ＰＥＳパケットペイロード（PES Packet Payload）と呼ばれるパケット（PES Packet）のデータ格納領域に先頭から順次入れられていく。ＰＥＳパケットヘッダには、ペイロードに格納してあるデータがどのストリームなのかを識別するためのＩＤ（stream_id）も記録されている。
【００７８】
ＴＳストリームの詳細についてはISO/IEC13818-1で規定されており、ＢＤで特徴的なのはＡＴＳを各ＴＳパケットごとに付与したことである。
（ＶＯＢのインターリーブ記録）
次に図１１および図１２を用いてＶＯＢファイルのインターリーブ記録について説明する。
【００７９】
図１１上段は、前述したプレーヤ構成図の一部である。図の通り、ＢＤディスク上のデータは、光ピックアップを通してＶＯＢ即ちＭＰＥＧストリームであればトラックバッファへ入力され、ＰＮＧ即ちイメージデータであればイメージメモリへと入力される。
【００８０】
トラックバッファはＦＩＦＯであり、入力されたＶＯＢのデータは入力された順にデマルチプレクサへと送られる。この時、前述したＡＴＳに従って個々のＴＳパケットはトラックバッファから引き抜かれデマルチプレクサを介してビデオプロセッサまたはサウンドプロセッサへとデータが送り届けられる。一方で、イメージデータの場合は、どのイメージを描画するかはプレゼンテーションコントローラによって指示される。また、描画に使ったイメージデータは、字幕用イメージデータの場合は同時にイメージメモリから削除されるが、メニュー用のイメージデータの場合は、そのメニュー描画中はイメージメモリ内にそのまま残される。これはメニューの描画はユーザ操作に依存しており、ユーザーの操作に追従してメニューの一部分を再表示もしくは異なるイメージに置き換えることがあり、その際に再表示される部分のイメージデータをデコードし易くするためである。
【００８１】
図１１下段は、ＢＤディスク上でのＶＯＢファイルおよびＰＮＧファイルのインターリーブ記録を示す図である。一般的にＲＯＭ、例えばＣＤ−ＲＯＭやＤＶＤ−ＲＯＭの場合、一連の連続再生単位となるＡＶデータは連続記録されている。これは、連続記録されている限り、ドライブは順次データを読み出し、デコーダに送り届けるだけで良いが、連続データが分断されてディスク上に離散配置されている場合は、個々の連続区間の間でシーク操作が入ることになり、この間データの読み出しが止まることになり、データの供給が止まる可能性があるからである。ＢＤの場合も同様に、ＶＯＢファイルは連続領域に記録することができる方が望ましいが、例えば字幕データのようにＶＯＢに記録されている映像データと同期して再生されるデータがあり、ＶＯＢファイルと同様に字幕データも何らかの方法によってＢＤディスクから読み出す事が必要になる。
【００８２】
字幕データの読み出し方法の一手段として、ＶＯＢの再生開始前に一まとめで字幕用のイメージデータ（ＰＮＧファイル）を読み出してしまう方法がある。しかしながら、この場合には大量のメモリが必要となり、非現実的である。
【００８３】
そこで、ＶＯＢファイルを幾つかのブロックに分けて、イメージデータとインターリーブ記録する方式を使用している。図１１下段はそのインターリーブ記録を説明した図である。
【００８４】
ＶＯＢファイルとイメージデータを適切にインターリーブ配置することで、前述したような大量の一時記録メモリ無しに、必要なタイミングでイメージデータをイメージメモリに格納することが可能になる。しかしながらイメージデータを読み出している際には、ＶＯＢデータの読み込みは当然のことながら停止することになる。
【００８５】
図１２は、この問題を解決するトラックバッファを使ったＶＯＢデータ連続供給モデルを説明する図である。
【００８６】
既に説明したように、ＶＯＢのデータは、一旦トラックバッファに蓄積される。トラックバッファへのデータ入力レート（Ｖａ）とトラックバッファからのデータ出力レート（Ｖｂ）の間に差（Ｖａ＞Ｖｂ）を設けると、ＢＤディスクからデータを読み出し続けている限り、トラックバッファのデータ蓄積量は増加をしていくことになる。
【００８７】
図１２の上段に記すようにＶＯＢの一連続記録領域が論理アドレスの”ａ１”から”ａ２”まで続くとする。”ａ２”から”ａ３”の間は、イメージデータが記録されていて、ＶＯＢデータの読み出しが行えない区間であるとする。
【００８８】
図１２の下段は、トラックバッファの内部を示す図である。横軸が時間、縦軸がトラックバッファ内部に蓄積されているデータ量を示している。時刻”ｔ１”がＶＯＢの一連続記録領域の開始点である”ａ１”の読み出しを開始した時刻を示している。この時刻以降、トラックバッファにはレートＶａ−Ｖｂでデータが蓄積されていくことになる。このレートは言うまでもなくトラックバッファの入出力レートの差である。時刻”ｔ２”は一連続記録領域の終了点である”ａ２”のデータを読み込む時刻である。即ち時刻”ｔ１”から”ｔ２”の間レートＶａ−Ｖｂでトラックバッファ内はデータ量が増加していき、時刻”ｔ２”でのデータ蓄積量はＢ（ｔ２）は下式によって求めることができる。
【００８９】
Ｂ（ｔ２）  ＝  （Ｖａ−Ｖｂ）×（ｔ２−ｔ１）        （式１）
この後、ＢＤディスク上のアドレス”ａ３”まではイメージデータが続くため、トラックバッファへの入力は０となり、出力レートである”−Ｖｂ”でトラックバッファ内のデータ量は減少していくことになる。これは読み出し位置”ａ３”まで、時刻でいう”ｔ３”までになる。
【００９０】
ここで大事なことは、時刻”ｔ３”より前にトラックバッファに蓄積されているデータ量が０になると、デコーダへ供給するＶＯＢのデータが無くなってしまい、ＶＯＢの再生がストップしてしまう可能性がある。しかしながら、時刻”ｔ３”でトラックバッファにデータが残っている場合には、ＶＯＢの再生がストップすることなく連続できることを意味している。
【００９１】
この条件は下式によって示すことができる。
【００９２】
Ｂ（ｔ２）  ≧  −Ｖｂ×（ｔ３−ｔ２）                （式２）
即ち、式２を満たすようにイメージデータ（非ＶＯＢデータ）の配置を決めればよい事になる。
（ナビゲーションデータ構造）
図１３から図１９を用いて、ＢＤのナビゲーションデータ（ＢＤ管理情報）構造について説明をする。
【００９３】
図１３は、ＶＯＢ管理情報ファイル（”ＹＹＹ．ＶＯＢＩ”）の内部構造を示した図である。
【００９４】
ＶＯＢ管理情報は、当該ＶＯＢのストリーム属性情報（Ａｔｔｒｉｂｕｔｅ）とタイムマップ（ＴＭＡＰ）を有している。ストリーム属性は、ビデオ属性（Ｖｉｄｅｏ）、オーディオ属性（Ａｕｄｉｏ＃０〜Ａｕｄｉｏ＃ｍ）個々に持つ構成となっている。特にオーディオストリームの場合は、ＶＯＢが複数本のオーディオストリームを同時に持つことができることから、オーディオストリーム数（Ｎｕｍｂｅｒ）によって、データフィールドの有無を示している。
【００９５】
下記はビデオ属性（Ｖｉｄｅｏ）の持つフィールドと夫々が持ち得る値である。
【００９６】
圧縮方式（Ｃｏｄｉｎｇ）：
ＭＰＥＧ１
ＭＰＥＧ２
ＭＰＥＧ４
ＭＰＥＧ４−ＡＶＣ（Advanced Video Coding）
解像度（Ｒｅｓｏｌｕｔｉｏｎ）：
１９２０ｘ１０８０
１４４０ｘ１０８０
１２８０ｘ７２０
７２０ｘ４８０
７２０ｘ５６５
アスペクト比（Ａｓｐｅｃｔ）
４：３
１６：９
フレームレート（Ｆｒａｍｅｒａｔｅ）
６０
５９．９４（６０／１．００１）
５０
３０
２９．９７（３０／１．００１）
２５
２４
２３．９７６（２４／１．００１）
下記はオーディオ属性（Ａｕｄｉｏ）の持つフィールドと夫々が持ち得る値である。
【００９７】
圧縮方式（Ｃｏｄｉｎｇ）：
ＡＣ３
ＭＰＥＧ１
ＭＰＥＧ２
ＬＰＣＭ
チャンネル数（Ｃｈ）：
１〜８
言語属性（Ｌａｎｇｕａｇｅ）：
タイムマップ（ＴＭＡＰ）はＶＯＢＵ毎の情報を持つテーブルであって、当該ＶＯＢが有するＶＯＢＵ数（Ｎｕｍｂｅｒ）と各ＶＯＢＵ情報（ＶＯＢＵ＃１〜ＶＯＢＵ＃ｎ）を持つ。個々のＶＯＢＵ情報は、ＶＯＢＵ先頭ＴＳパケット（Ｉピクチャ開始）のアドレスＩ＿ｓｔａｒｔと、そのＩピクチャの終了アドレスまでのオフセットアドレス（I_end）、およびそのＩピクチャの再生開始時刻（PTS）から構成される。
【００９８】
図１４はＶＯＢＵ情報の詳細を説明する図である。
【００９９】
広く知られているように、ＭＰＥＧビデオストリームは高画質記録するために可変ビットレート圧縮されることがあり、その再生時間とデータサイズ間に単純な相関はない。逆に、音声の圧縮規格であるＡＣ３は固定ビットレートでの圧縮を行っているため、時間とアドレスとの関係は１次式によって求めることができる。しかしながらＭＰＥＧビデオデータの場合は、個々のフレームは固定の表示時間、例えばＮＴＳＣの場合は１フレームは１／２９．９７秒の表示時間を持つが、個々のフレームの圧縮後のデータサイズは絵の特性や圧縮に使ったピクチャタイプ、いわゆるＩ／Ｐ／Ｂピクチャによってデータサイズは大きく変わってくる。従って、ＭＰＥＧビデオの場合は、時間とアドレスの関係は一次式の形で表現することは不可能である。
【０１００】
当然の事として、ＭＰＥＧビデオデータを多重化しているＭＰＥＧシステムストリーム、即ちＶＯＢも時間とデータサイズとを一次式の形で表現することは不可能である。このため、ＶＯＢ内での時間とアドレスとの関係を結びつけるのがタイムマップ（ＴＭＡＰ）である。
【０１０１】
このようにして、ある時刻情報が与えられた場合、先ずは当該時刻がどのＶＯＢＵに属するのかを検索（ＶＯＢＵ毎のＰＴＳを追っていく）して、当該時刻の直前のＰＴＳをＴＭＡＰに持つＶＯＢＵに飛びこみ（I_startで指定されたアドレス）、ＶＯＢＵ先頭のＩピクチャから復号を開始し、当該時刻のピクチャから表示を開始する。
【０１０２】
次に図１５を使って、プレイリスト情報（”ＸＸＸ．ＰＬ”）の内部構造を説明する。
【０１０３】
プレイリスト情報は、セルリスト（ＣｅｌｌＬｉｓｔ）とイベントリスト（ＥｖｅｎｔＬｉｓｔ）から構成されている。
【０１０４】
セルリスト（ＣｅｌｌＬｉｓｔ）は、プレイリスト内の再生セルシーケンスであり、本リストの記述順でセルが再生される事になる。セルリスト（ＣｅｌｌＬｉｓｔ）の中身は、セルの数（Ｎｕｍｂｅｒ）と各セル情報（Ｃｅｌｌ＃１〜Ｃｅｌｌ＃ｎ）である。
【０１０５】
セル情報（Ｃｅｌｌ＃）は、ＶＯＢファイル名（ＶＯＢＮａｍｅ）、当該ＶＯＢ内での開始時刻（Ｉｎ）および終了時刻（Ｏｕｔ）と、字幕テーブル（ＳｕｂｔｉｔｌｅＴａｂｌｅ）を持っている。開始時刻（Ｉｎ）および終了時刻（Ｏｕｔ）は、夫々当該ＶＯＢ内でのフレーム番号で表現され、前述したタイムマップ（ＴＭＡＰ）を使うことによって再生に必要なＶＯＢデータのアドレスを得る事ができる。
【０１０６】
字幕テーブル（ＳｕｂｔｉｔｌｅＴａｂｌｅ）は、当該ＶＯＢと同期再生される字幕情報を持つテーブルである。字幕は音声同様に複数の言語を持つことができ、字幕テーブル（ＳｕｂｔｉｔｌｅＴａｂｌｅ）最初の情報も言語数（Ｎｕｍｂｅｒ）とそれに続く個々の言語ごとのテーブル（Ｌａｎｇｕａｇｅ＃１〜Ｌａｎｇｕａｇｅ＃ｋ）から構成されている。
【０１０７】
各言語のテーブル（Ｌａｎｇｕａｇｅ＃）は、言語情報（Ｌａｎｇ）と、個々に表示される字幕の字幕情報数（Ｎｕｍｂｅｒ）と、個々に表示される字幕の字幕情報（Ｓｐｅｅｃｈ＃１〜Ｓｐｅｅｃｈ＃ｊ）から構成され、字幕情報（Ｓｐｅｅｃｈ＃）は対応するイメージデータファイル名（Ｎａｍｅ）、字幕表示開始時刻（Ｉｎ）および字幕表示終了時刻（Ｏｕｔ）と、字幕の表示位置（Ｐｏｓｉｔｉｏｎ）から構成されている。
【０１０８】
イベントリスト（ＥｖｅｎｔＬｉｓｔ）は、当該プレイリスト内で発生するイベントを定義したテーブルである。イベントリストは、イベント数（Ｎｕｍｂｅｒ）に続いて個々のイベント（Ｅｖｅｎｔ＃１〜Ｅｖｅｎｔ＃ｍ）から構成され、個々のイベント（Ｅｖｅｎｔ＃）は、イベントの種類（Ｔｙｐｅ）、イベントのＩＤ（ＩＤ）、イベント発生時刻（Ｔｉｍｅ）と有効期間（Ｄｕｒａｔｉｏｎ）から構成されている。
【０１０９】
図１６は、個々のプレイリスト毎のイベントハンドラ（時間イベントと、メニュー選択用のユーザイベント）を持つイベントハンドラテーブル（”ＸＸＸ．ＰＲＯＧ”）である。
【０１１０】
イベントハンドラテーブルは、定義されているイベントハンドラ／プログラム数（Ｎｕｍｂｅｒ）と個々のイベントハンドラ／プログラム（Ｐｒｏｇｒａｍ＃１〜Ｐｒｏｇｒａｍ＃ｎ）を有している。各イベントハンドラ／プログラム（Ｐｒｏｇｒａｍ＃）内の記述は、イベントハンドラ開始の定義（＜ｅｖｅｎｔ＿ｈａｎｄｌｅｒ＞タグ）と前述したイベントのＩＤと対になるイベントハンドラのＩＤ（ＩＤ）を持ち、その後に当該プログラムもＦｕｎｃｔｉｏｎに続く括弧”｛”と”｝”の間に記述する。前述の”ＸＸＸ．ＰＬ”のイベントリスト（ＥｖｅｎｔＬｉｓｔ）に格納されたイベント（Ｅｖｅｎｔ＃１〜Ｅｖｅｎｔ＃ｍ）は”ＸＸＸ．ＰＲＯＧ”のイベントハンドラのＩＤ（ＩＤ）を用いて特定される。
【０１１１】
次に図１７を用いてＢＤディスク全体に関する情報（”ＢＤ．ＩＮＦＯ”）の内部構造を説明する。
【０１１２】
ＢＤディスク全体情報は、タイトルリスト（ＴｉｔｌｅＬｉｓｔ）とグローバルイベント用のイベントテーブル（ＥｖｅｎｔＬｉｓｔ）から構成されている。
【０１１３】
タイトルリスト（ＴｉｔｌｅＬｉｓｔ）は、ディスク内のタイトル数（Ｎｕｍｂｅｒ）と、これに続く各タイトル情報（Ｔｉｔｌｅ＃１〜Ｔｉｔｌｅ＃ｎ）から構成されている。個々のタイトル情報（Ｔｉｔｌｅ＃）は、タイトルに含まれるプレイリストのテーブル（ＰＬＴａｂｌｅ）とタイトル内のチャプタリスト（ＣｈａｐｔｅｒＬｉｓｔ）を含んでいる。プレイリストのテーブル（ＰＬＴａｂｌｅ）はタイトル内のプレイリストの数（Ｎｕｍｂｅｒ）と、プレイリスト名（Ｎａｍｅ）即ちプレイリストのファイル名を有している。
【０１１４】
チャプタリスト（ＣｈａｐｔｅｒＬｉｓｔ）は、当該タイトルに含まれるチャプタ数（Ｎｕｍｂｅｒ）と個々のチャプタ情報（Ｃｈａｐｔｅｒ＃１〜Ｃｈａｐｔｅｒ＃ｎ）から構成され、個々のチャプタ情報（Ｃｈａｐｔｅｒ＃）は当該チャプタが含むセルのテーブル（ＣｅｌｌＴａｂｌｅ）を持ち、セルのテーブル（ＣｅｌｌＴａｂｌｅ）はセル数（Ｎｕｍｂｅｒ）と個々のセルのエントリ情報（ＣｅｌｌＥｎｔｒｙ＃１〜ＣｅｌｌＥｎｔｒｙ＃ｋ）から構成されている。セルのエントリ情報（ＣｅｌｌＥｎｔｒｙ＃）は当該セルを含むプレイリスト名と、プレイリスト内でのセル番号によって記述されている。
【０１１５】
イベントリスト（ＥｖｅｎｔＬｉｓｔ）は、グローバルイベントの数（Ｎｕｍｂｅｒ）と個々のグローバルイベントの情報を持っている。ここで注意すべきは、最初に定義されるグローバルイベントは、ファーストイベント（ＦｉｒｓｔＥｖｅｎｔ）と呼ばれ、ＢＤディスクがプレーヤに挿入された時、最初に呼ばれるイベントである。グローバルイベント用イベント情報はイベントタイプ（Ｔｙｐｅ）とイベントのＩＤ（ＩＤ）だけを持っている。
【０１１６】
図１８は、グローバルイベントハンドラのプログラムのテーブル（”ＢＤ．ＰＲＯＧ”）である。
【０１１７】
本テーブルは、図１６で説明したイベントハンドラテーブルと同一内容である。
（イベント発生のメカニズム）
図１９から図２１を使ってイベント発生のメカニズムについて説明する。
【０１１８】
図１９はタイムイベントの例である。
【０１１９】
前述したとおり、タイムイベントはプレイリスト情報（”ＸＸＸ．ＰＬ”）のイベントリスト（ＥｖｅｎｔＬｉｓｔ）で定義される。タイムイベントとして定義されているイベント、即ちイベントタイプ（Ｔｙｐｅ）が”ＴｉｍｅＥｖｅｎｔ”の場合、イベント生成時刻（”ｔ１”）になった時点で、ＩＤ”Ｅｘ１”を持つタイムイベントがシナリオプロセッサからプログラムプロセッサに対してあげられる。プログラムプロセッサは、イベントＩＤ”Ｅｘ１”を持つイベントハンドラを探し、対象のイベントハンドラを実行処理する。例えば、本実施例の場合では、２つのボタンイメージの描画を行うなどを行うことができる。
【０１２０】
図２０はメニュー操作を行うユーザーイベントの例である。
【０１２１】
前述したとおり、メニュー操作を行うユーザイベントもプレイリスト情報（”ＸＸＸ．ＰＬ”）のイベントリスト（ＥｖｅｎｔＬｉｓｔ）で定義される。ユーザイベントとして定義されるイベント、即ちイベントタイプ（Ｔｙｐｅ）が”ＵｓｅｒＥｖｅｎｔ”の場合、イベント生成時刻（”ｔ１”）になった時点で、当該ユーザイベントがレディとなる。この時、イベント自身は未だ生成されてはいない。当該イベントは、有効期間情報（Ｄｕｒａｔｉｏｎ）で記される期間レディ状態にある。
【０１２２】
図２０に描くように、ユーザがリモコンキーの「上」「下」「左」「右」キーまたは「決定」キーを押した場合、先ずＵＯＰイベントがＵＯＰマネージャによって生成されプログラムプロセッサに上げられる。プログラムプロセッサは、シナリオプロセッサに対してＵＯＰイベントを流し、シナリオプロセッサはＵＯＰイベントを受け取った時刻に有効なユーザイベントが存在するかを検索し、対象となるユーザイベントがあった場合は、ユーザイベントを生成し、プログラムプロセッサに持ち上げる。プログラムプロセッサでは、イベントＩＤ”Ｅｖ１”を持つイベントハンドラを探し、対象のイベントハンドラを実行処理する。例えば、本実施例の場合では、プレイリスト＃２の再生を開始する。
【０１２３】
生成されるユーザイベントには、どのリモコンキーがユーザによって押されたかの情報は含まれていない。選択されたリモコンキーの情報は、ＵＯＰイベントによってプログラムプロセッサに伝えられ、仮想プレーヤが持つレジスタＳＰＲＭ（８）に記録保持される。イベントハンドラのプログラムは、このレジスタの値を調べ分岐処理を実行することが可能である。
【０１２４】
図２１はグローバルイベントの例である。
【０１２５】
前述したとおり、グローバルイベントはＢＤディスク全体に関する情報（”ＢＤ．ＩＮＦＯ”）のイベントリスト（ＥｖｅｎｔＬｉｓｔ）で定義される。グローバルイベントとして定義されるイベント、即ちイベントタイプ（Ｔｙｐｅ）が”ＧｌｏｂａｌＥｖｅｎｔ”の場合、ユーザのリモコンキー操作があった場合にのみイベントが生成される。
【０１２６】
ユーザが”メニュー”を押した場合、先ずＵＯＰイベントがＵＯＰマネージャによって生成されプログラムプロセッサに上げられる。プログラムプロセッサは、シナリオプロセッサに対してＵＯＰイベントを流し、シナリオプロセッサは、該当するグローバルイベントを生成し、プログラムプロセッサに送る。プログラムプロセッサでは、イベントＩＤ”ｍｅｎｕ”を持つイベントハンドラを探し、対象のイベントハンドラを実行処理する。例えば、本実施例の場合ではプレイリスト＃３の再生を開始している。
【０１２７】
本実施例では、単に”メニュー”キーと呼んでいるが、ＤＶＤのように複数のメニューキーがあってもよい。各メニューキーに対応するＩＤを夫々定義することで対応することが可能である。
（仮想プレーヤマシン）
図２２を用いてプログラムプロセッサの機能構成を説明する。
【０１２８】
プログラムプロセッサは、内部に仮想プレーヤマシンを持つ処理モジュールである。仮想プレーヤマシンはＢＤとして定義された機能モデルであって、各ＢＤプレーヤの実装には依存しないものである。即ち、どのＢＤプレーヤにおいても同様の機能を実行するできることを保証している。
【０１２９】
仮想プレーヤマシンは大きく２つの機能を持っている。プログラミング関数とプレーヤ変数（レジスタ）である。プログラミング関数は、Ｊａｖａ（登録商標）Ｓｃｒｉｐｔをベースとして、以下に記す２つの機能をＢＤ固有関数として定義している。
【０１３０】
リンク関数：現在の再生を停止し、指定するプレイリスト、セル、時刻からの再生を開始する
Ｌｉｎｋ（ＰＬ＃，Ｃｅｌｌ＃，ｔｉｍｅ）
ＰＬ＃  ：  プレイリスト名
Ｃｅｌｌ＃  ：  セル番号
ｔｉｍｅ  ：  セル内での再生開始時刻
ＰＮＧ描画関数：指定ＰＮＧデータをイメージプレーンに描画する
Ｄｒａｗ（Ｆｉｌｅ，Ｘ，Ｙ）
Ｆｉｌｅ  ：  ＰＮＧファイル名
Ｘ  ：  Ｘ座標位置
Ｙ  ：  Ｙ座標位置
イメージプレーンクリア関数：イメージプレーンの指定領域をクリアする
Ｃｌｅａｒ（Ｘ，Ｙ，Ｗ，Ｈ）
Ｘ  ：  Ｘ座標位置
Ｙ  ：  Ｙ座標位置
Ｗ  ：  Ｘ方向幅
Ｈ  ：  Ｙ方向幅
プレーヤ変数は、プレーヤの状態を示すシステムパラメータ（ＳＰＲＭ）と一般用途として使用可能なゼネラルパラメータ（ＧＰＲＭ）とがある。
【０１３１】
図２３はシステムパラメータ（ＳＰＲＭ）の一覧である。
【０１３２】
ＳＰＲＭ（０）      ：  言語コード
ＳＰＲＭ（１）      ：  音声ストリーム番号
ＳＰＲＭ（２）      ：  字幕ストリーム番号
ＳＰＲＭ（３）      ：  アングル番号
ＳＰＲＭ（４）      ：  タイトル番号
ＳＰＲＭ（５）      ：  チャプタ番号
ＳＰＲＭ（６）      ：  プログラム番号
ＳＰＲＭ（７）      ：  セル番号
ＳＰＲＭ（８）      ：  選択キー情報
ＳＰＲＭ（９）      ：  ナビゲーションタイマー
ＳＰＲＭ（１０）    ：  再生時刻情報
ＳＰＲＭ（１１）    ：  カラオケ用ミキシングモード
ＳＰＲＭ（１２）    ：  パレンタル用国情報
ＳＰＲＭ（１３）    ：  パレンタルレベル
ＳＰＲＭ（１４）    ：  プレーヤ設定値（ビデオ）
ＳＰＲＭ（１５）    ：  プレーヤ設定値（オーディオ）
ＳＰＲＭ（１６）    ：  音声ストリーム用言語コード
ＳＰＲＭ（１７）    ：  音声ストリーム用言語コード（拡張）
ＳＰＲＭ（１８）    ：  字幕ストリーム用言語コード
ＳＰＲＭ（１９）    ：  字幕ストリーム用言語コード（拡張）
ＳＰＲＭ（２０）    ：  プレーヤリージョンコード
ＳＰＲＭ（２１）    ：  予備
ＳＰＲＭ（２２）    ：  予備
ＳＰＲＭ（２３）    ：  再生状態
ＳＰＲＭ（２４）    ：  予備
ＳＰＲＭ（２５）    ：  予備
ＳＰＲＭ（２６）    ：  予備
ＳＰＲＭ（２７）    ：  予備
ＳＰＲＭ（２８）    ：  予備
ＳＰＲＭ（２９）    ：  予備
ＳＰＲＭ（３０）    ：  予備
ＳＰＲＭ（３１）    ：  予備
なお、本実施例では、仮想プレーヤのプログラミング関数をＪａｖａ（登録商標）Ｓｃｒｉｐｔベースとしたが、Ｊａｖａ（登録商標）Ｓｃｒｉｐｔではなく、ＵＮＩＸ（登録商標）  ＯＳなどで使われているＢ−Ｓｈｅｌｌや、Ｐｅｒｌ  Ｓｃｒｉｐｔなど他のプログラミング関数であっても構わなく、言い換えれば、本発明はＪａｖａ（登録商標）Ｓｃｒｉｐｔに限定されるものでは無い。
（プログラムの例）
図２４および図２５は、イベントハンドラでのプログラムの例である。
【０１３３】
図２４は、２つの選択ボタンを持ったメニューの例である。
【０１３４】
セル（ＰｌａｙＬｉｓｔ＃１．Ｃｅｌｌ＃１）先頭でタイムイベントを使って図２４左側のプログラムが実行される。ここでは、最初にゼネラルパラメータの一つＧＰＲＭ（０）に”１”がセットされている。ＧＰＲＭ（０）は、当該プログラムの中で、選択されているボタンを識別するのに使っている。最初の状態では、左側に配置するボタン１が選択されている事を初期値として持たされている。
【０１３５】
次に、ＰＮＧの描画を描画関数であるＤｒａｗを使ってボタン１、ボタン２夫々について行っている。ボタン１は、座標（１０、２００）を起点（左端）としてＰＮＧイメージ”１ｂｌａｃｋ．ｐｎｇ”を描画している。ボタン２は、座標（３３０，２００）を起点（左端）としてＰＮＧイメージ”２ｗｈｉｔｅ．ｐｎｇ”を描画している。
【０１３６】
また、本セル最後ではタイムイベントを使って図２４右側のプログラムが実行される。ここでは、Ｌｉｎｋ関数を使って当該セルの先頭から再度再生するように指定している。
【０１３７】
図２５は、メニュー選択のユーザイベントのイベントハンドラの例である。
【０１３８】
「左」キー、「右」キー、「決定」キー何れかのリモコンキーが押された場合夫々に対応するプログラムがイベントハンドラに書かれている。ユーザがリモコンキーを押した場合、図２０で説明したとおり、ユーザイベントが生成され、図２５のイベントハンドラが起動されることになる。本イベントハンドラでは、選択ボタンを識別しているＧＰＲＭ（０）の値と、選択されたリモコンキーを識別するＳＰＲＭ（８）を使って分岐処理を行っている。
【０１３９】
条件１）ボタン１が選択されている、かつ、選択キーが「右」キーの場合
ＧＰＲＭ（０）を２に再設定して、選択状態にあるボタンを右ボタン２に変更する。
【０１４０】
ボタン１、ボタン２のイメージを夫々書き換える。
【０１４１】
条件２）選択キーが「決定（ＯＫ）」の場合で、ボタン１が選択されている場合
プレイリスト＃２の再生を開始する
条件３）選択キーが「決定（ＯＫ）」の場合で、ボタン２が選択されている場合
プレイリスト＃３の再生を開始する
上記のようにして実行処理が行われる。
（プレーヤ処理フロー）
次に図２６から図２９を用いてプレーヤでの処理フローを説明する。
【０１４２】
図２６は、ＡＶ再生までの基本処理フローである。
【０１４３】
ＢＤディスクを挿入すると（Ｓ１０１）、ＢＤプレーヤはＢＤ．ＩＮＦＯファイルの読み込みと解析（Ｓ１０２）、ＢＤ．ＰＲＯＧの読み込み（Ｓ１０３）を実行する。ＢＤ．ＩＮＦＯおよびＢＤ．ＰＲＯＧは共に管理情報記録メモリに一旦格納され、シナリオプロセッサによって解析される。
【０１４４】
続いて、シナリオプロセッサは、ＢＤ．ＩＮＦＯファイル内のファーストイベント（ＦｉｒｓｔＥｖｅｎｔ）情報に従い、最初のイベントを生成する（Ｓ１０４）。生成されたファーストイベントは、プログラムプロセッサで受け取られ、当該イベントに対応するイベントハンドラを実行処理する（Ｓ１０５）。
【０１４５】
ファーストイベントに対応するイベントハンドラには、最初に再生するべきプレイリスト情報が記録されていることが期待される。仮に、プレイリスト再生が指示されていない場合には、プレーヤは何も再生することなく、ユーザイベントを受け付けるのを待ち続けるだけになる。（Ｓ２０１）。ＢＤプレーヤはユーザからのリモコン操作を受け付けると、ＵＯＰマネージャはプログラムマネージャに対してＵＯＰイベントを立ち上げる（Ｓ２０２）。
【０１４６】
プログラムマネージャは、ＵＯＰイベントがメニューキーかを判別し（Ｓ２０３）、メニューキーの場合は、シナリオプロセッサにＵＯＰイベントを流し、シナリオプロセッサがユーザイベントを生成する（Ｓ２０４）。プログラムプロセッサは生成されたユーザイベントに対応するイベントハンドラを実行処理する（Ｓ２０５）。
【０１４７】
図２７は、ＰＬ再生開始からＶＯＢ再生開始までの処理フローである。
【０１４８】
前述したように、ファーストイベントハンドラまたはグローバルイベントハンドラによってプレイリスト再生が開始される（Ｓ３０１）。シナリオプロセッサは、再生対象のプレイリスト再生に必要な情報として、プレイリスト情報”ＸＸＸ．ＰＬ”の読み込みと解析（Ｓ３０２）、プレイリストに対応するプログラム情報”ＸＸＸ．ＰＲＯＧ”の読み込みを行う（Ｓ３０３）。続いてシナリオプロセッサは、プレイリストに登録されているセル情報に基づいてセルの再生を指示する（Ｓ３０４）。セル再生は、シナリオプロセッサからプレゼンテーションコントローラに対して要求が出さる事を意味し、プレゼンテーションコントローラはＡＶ再生を開始する（Ｓ３０５）。
【０１４９】
ＡＶ再生の開始（Ｓ４０１）を開始すると、プレゼンテーションコントローラは再生するセルに対応するＶＯＢの情報ファイル（ＸＸＸ．ＶＯＢＩ）を読み込みおよび解析をする（Ｓ４０２）。プレゼンテーションコントローラは、タイムマップを使って再生開始するＶＯＢＵとそのアドレスを特定し、ドライブコントローラに読み出しアドレスを指示し、ドライブコントローラは対象となるＶＯＢデータを読み出し（Ｓ４０３）、ＶＯＢデータがデコーダに送られ再生が開始される（Ｓ４０４）。
【０１５０】
ＶＯＢ再生は、当該ＶＯＢの再生区間が終了するまで続けられ（Ｓ４０５）、終了すると次のセル再生Ｓ３０４へ移行する。次にセルが無い場合は、再生が停止する（Ｓ４０６）。
【０１５１】
図２８は、ＡＶ再生開始後からのイベント処理フローである。
【０１５２】
ＢＤプレーヤはイベントドリブン型のプレーヤモデルである。プレイリストの再生を開始すると、タイムイベント系、ユーザイベント系、字幕表示系のイベント処理プロセスが夫々起動され、平行してイベント処理を実行するようになる。
【０１５３】
Ｓ５００系の処理は、タイムイベント系の処理フローである。
【０１５４】
プレイリスト再生開始後（Ｓ５０１）、プレイリスト再生が終了しているかを確認するステップ（Ｓ５０２）を経て、シナリオプロセッサは、タイムイベント発生時刻になったかを確認する（Ｓ５０３）。タイムイベント発生時刻になっている場合には、シナリオプロセッサはタイムイベントを生成し（Ｓ５０４）、プログラムプロセッサがタイムイベントを受け取りイベントハンドラを実行処理する（Ｓ５０５）。
【０１５５】
ステップＳ５０３でタイムイベント発生時刻になっていない場合、または、ステップＳ５０４でイベントハンドラ実行処理後は再度ステップＳ５０２へ戻り、上述した処理を繰り返す。また、ステップＳ５０２でプレイリスト再生が終了したことが確認されると、タイムイベント系の処理は強制的に終了する。
【０１５６】
Ｓ６００系の処理は、ユーザイベント系の処理フローである。
【０１５７】
プレイリスト再生開始後（Ｓ６０１）、プレイリスト再生終了確認ステップ（Ｓ６０２）を経て、ＵＯＰ受付確認ステップの処理に移る（Ｓ６０３）。ＵＯＰの受付があった場合、ＵＯＰマネージャはＵＯＰイベントを生成し（Ｓ６０４）、ＵＯＰイベントを受け取ったプログラムプロセッサはＵＯＰイベントがメニューコールであるかを確認し（Ｓ６０５）、メニューコールであった場合は、プログラムプロセッサはシナリオプロセッサにイベントを生成させ（Ｓ６０７）、プログラムプロセッサはイベントハンドラを実行処理する（Ｓ６０８）。
【０１５８】
ステップＳ６０５でＵＯＰイベントがメニューコールで無いと判断された場合、ＵＯＰイベントはカーソルキーまたは「決定」キーによるイベントである事を示している。この場合、現在時刻がユーザイベント有効期間内であるかをシナリオプロセッサが判断し（Ｓ６０６）、有効期間内である場合には、シナリオプロセッサがユーザイベントを生成し（Ｓ６０７）、プログラムプロセッサが対象のイベントハンドラを実行処理する（Ｓ６０８）。
【０１５９】
ステップＳ６０３でＵＯＰ受付が無い場合、ステップＳ６０６で現在時刻がユーザイベント有効期間に無い場合、または、ステップＳ６０８でイベントハンドラ実行処理後は再度ステップＳ６０２へ戻り、上述した処理を繰り返す。また、ステップＳ６０２でプレイリスト再生が終了したことが確認されると、ユーザイベント系の処理は強制的に終了する。
【０１６０】
図２９は字幕処理のフローである。
【０１６１】
プレイリスト再生開始後（Ｓ７０１）、プレイリスト再生終了確認ステップ（Ｓ７０２）を経て、字幕描画開始時刻確認ステップに移る（Ｓ７０３）。字幕描画開始時刻の場合、シナリオプロセッサはプレゼンテーションコントローラに字幕描画を指示し、プレゼンテーションコントローラはイメージプロセッサに字幕描画を指示する（Ｓ７０４）。ステップＳ７０３で字幕描画開始時刻で無いと判断された場合、字幕表示終了時刻であるかを確認する（Ｓ７０５）。字幕表示終了時刻であると判断された場合は、プレゼンテーションコントローラがイメージプロセッサに字幕消去指示を行い、描画されている字幕をイメージプレーンから消去する（Ｓ７０６）。
【０１６２】
字幕描画ステップＳ７０４終了後、字幕消去ステップＳ７０６終了後、または、字幕表示終了時刻確認ステップＳ７０５で当該時刻でないことが判断された場合、ステップＳ７０２に戻り、上述した処理を繰り返す。また、ステップＳ７０２でプレイリスト再生が終了したことが確認されると、字幕表示系の処理は強制的に終了する。
（ＶＣ−９への適用）
上記においては、ＭＰＥＧ−２を用いる場合を基本に説明をしてきたが、ＶＣ−９を映像符号化方式として適用する場合には、符号化方式の制限の違いから、ＭＰＥＧ−２では不要だった配慮が必要となってくる。ＶＣ−９は、ＳＭＰＴＥ（The Society of Motion Picture and Television Engineers）で策定中であり、ＭＰＥＧ−２ビデオ方式、ＭＰＥＧ−４ビジュアル方式をベースとし、符号化ツール等の拡張を行っている。
【０１６３】
上記文献では、３つのプロファイル（シンプル、メイン、アドバンスド）が規定されている。アドバンスドプロファイルでは、ＭＰＥＧ−２ビデオでも規定されているＧＯＰ（Group Of Pictures）構造を有し、ＧＯＰヘッダ部にＢＲＯＫＥＮ＿ＬＩＮＫフラグとＣＬＯＳＥＤ＿ＧＯＰフラグを有している。ここで、ＢＲＯＫＥＮ＿ＬＩＮＫフラグとは、そのＧＯＰに含まれるＢピクチャが直前のＧＯＰに含まれるピクチャを参照して符号化していながら、編集等の処理によってその直前のＧＯＰが存在しないときに「１」となるフラグである。またＣＬＯＳＥＤ＿ＧＯＰフラグは、そのＧＯＰ内のピクチャが他のＧＯＰのピクチャを参照していないときに「１」となるフラグである。すなわち、ＣＬＯＳＥＤ＿ＧＯＰフラグが「１」であれば、そのＧＯＰから再生を開始しても、全てのピクチャを完全に再生することができる。
【０１６４】
一方、シンプルプロファイル、メインプロファイルではＧＯＰ構造が規定されておらず、またＢＲＯＫＥＮ＿ＬＩＮＫフラグとＣＬＯＳＥＤ＿ＧＯＰフラグも規定されていない。
【０１６５】
図３０を用いて、ピクチャ間の参照関係を説明する。図３０（ａ）は、Ｃｌｏｓｅｄ  ＧＯＰでない場合のピクチャ参照関係であり、図３０（ｂ）は、Ｃｌｏｓｅｄ  ＧＯＰである場合のピクチャ参照関係を示している。
【０１６６】
ＭＰＥＧ−２との対比で分かりやすいように自己復号可能なＩピクチャ、他ピクチャ１枚を参照して復号可能なＰピクチャ、他ピクチャ２枚を参照して復号可能なＢピクチャとして表している。（ａ）ではＧＯＰのピクチャが直前のＧＯＰのピクチャを参照している。
【０１６７】
したがって、ストリーム中の符号化順でＩ２ピクチャ（Ｃｌｏｓｅｄ  ＧＯＰでないＧＯＰの先頭）に飛び込んで再生を開始した場合、符号化順序がＩ２ピクチャ以降のピクチャであっても、その復号ができずに映像が表示されない問題が起こる。図の例ではＢ０、Ｂ１ピクチャは参照ピクチャを失っているため、正しく復号処理ができない。
【０１６８】
図３０（ｂ）に示すように、それ以降の符号化順のピクチャが必ず復号できる保証をするように、Ｃｌｏｓｅｄ  ＧＯＰ構造にて符号化することで、ＧＯＰに飛び込んで再生を開始した場合でも、それ以降に符号化されているピクチャは全て復号でき、表示が可能である。
【０１６９】
言い換えれば、Ｃｌｏｓｅｄ  ＧＯＰは、他のＧＯＰのピクチャを参照しないため、ストリームの途中に飛び込み再生を開始するときなどの復号開始ポイントとなりうる。
【０１７０】
図３１にＤＶＤ−Ｖｉｄｅｏで使われているマルチアングル時にＣｌｏｓｅｄ  ＧＯＰを使うこと、およびそれを管理しておくことの有用性を説明する。マルチアングルとは、映画などのある再生地点からある再生地点まで（同一の時間帯）で表示する映像を変える技術である。例えば、違うカメラから撮影した映像をこのようにマルチアングルにしておくことで、ユーザは好きな視点（カメラ）を選択することが可能となる。
【０１７１】
図に示すように、ストリーム＃Ａとストリーム＃Ｂがマルチアングルを構成している２本のストリームで、それぞれのタイムマップが管理情報に格納されている。
【０１７２】
タイムマップには、タイムマップのＰＴＳを持つピクチャがＣｌｏｓｅｄ  ＧＯＰ先頭であることを示す情報（図中ではＩＤＲフィールドの値が１に相当する）が管理されており、ユーザがマルチアングルのストリームを切り替える際に、アングル切り替えを行っても映像が破綻しないかが再生機器は判断できる。
【０１７３】
時刻ｔ１よりも前の時間にストリーム＃Ｂを再生していた場合、アングル切り替えを行うユーザ操作を行ったとしても、ストリーム＃Ａの時刻ｔ１のピクチャ（図中Ｉピクチャ）はＩＤＲフィールドの値が０で、Ｃｌｏｓｅｄ  ＧＯＰの先頭ではないことを示している。したがって、ユーザ操作通りにアングル切り替えを行った場合、Ｉピクチャ以降を正しく復号できる保証がないため、再生機器はそのままストリーム＃Ｂを復号しても良い。
【０１７４】
また同様に、時刻ｔ２の時点で、ストリーム＃Ａからストリーム＃Ｂへアングル切り替えすることは、ストリーム＃Ｂの時刻ｔ２でのピクチャがＣｌｏｓｅｄ  ＧＯＰ先頭であることから、この切り替え操作は適切に映像の途切れなく対応できることが予めストリーム＃Ｂを解析する前からタイムマップによって判断できる。
【０１７５】
このように、再生機器は、タイムマップにＣｌｏｓｅｄ  ＧＯＰであることを示す情報を持つことで、マルチアングル間のアングル切り替え時に、映像復号において破綻しないかを前もって判断できる。勿論、Ｃｌｏｓｅｄ  ＧＯＰの多重化位置を示す情報は、タイムマップに限らず、上述のＢＤの管理情報内に記述されていれば同様の効果が得られるのは明らかである。
【０１７６】
図３２には、ＢＤのプレイリストの再生開始点について、Ｃｌｏｓｅｄ  ＧＯＰを使うことの効果を説明する図である。
【０１７７】
Ｃｌｏｓｅｄ  ＧＯＰの場合、それ以降の符号化順を持つピクチャは全て順次復号可能であるため、プレイリストの再生開始点や、セルの再生開始点などは、Ｃｌｏｓｅｄ  ＧＯＰを指していることが望ましい。
【０１７８】
仮に、Ｉピクチャを指し示すＰＴＳ時刻情報がｔ１のエントリーが、セルの再生開始点に設定されていた場合、Ｉピクチャ（アドレス＝ｘ１）から順次再生を行ったとしても、Ｉピクチャ以降のピクチャを復号できる保証がないため、プレイリストの再生中に映像が乱れることになる。従って、プレイリストやセルも再生開始点はＣｌｏｓｅｄ  ＧＯＰを指し示すことが望ましいことが分かる。
【０１７９】
尚、上記タイムマップから指されるアドバンスドプロファイルのＩピクチャは、複合が常に可能なように１つのＰＥＳパケットペイロードの中で、シーケンスヘッダ（プロファイル情報やフレームレート情報を含む）とＥｎｔｒｙ−Ｐｏｉｎｔヘッダ（ＢＲＯＫＥＮ＿ＬＩＮＥやＣＬＯＳＥＤ＿ＧＯＰ情報を含む）に続いて符合化されているピクチャである。
【０１８０】
このように、Ｃｌｏｓｅｄ  ＧＯＰをストリーム途中からの再生開始点に設定する、もしくは、Ｃｌｏｓｅｄ  ＧＯＰである場合に飛び込み再生を許可するなど、Ｃｌｏｓｅｄ  ＧＯＰで符合化し、それを管理することの有用性はＢＤ−ＲＯＭのような映画コンテンツを対象とするような精度の高い再生が求められる場合には極めて大きい。
【０１８１】
以下、ＶＣ−９のシンプル／メインプロファイルでのＣｌｏｓｅｄ  ＧＯＰ構造の導入について説明する。
【０１８２】
ＶＣ−９のシンプル／メインプロファイルを用いて符合化する場合には、ＢＲＯＫＥＮ＿ＬＩＮＫ、ＣＬＯＳＥＤ＿ＧＯＰといったＥｎｔｒｙ−Ｐｏｉｎｔヘッダとしてアドバンスドプロファイルのみで定義されている情報を、そのまま若しくはその一部をストリーム中に適用することが考えられる。
【０１８３】
例えば、シンプル／メインプロファイルのＶＣ−９をＭＰＥＧ−２  ＴＳで多重化する場合には、上記情報は、ＰＥＳパケットペイロードの先頭に配置されるシーケンスヘッダの直後に続けて記述しても良いし、そのシーケンスヘッダの直後にユーザーデータ領域を確保し、そのユーザーデータの中に記述しても良いし、ＰＥＳパケットヘッダのプライベートデータ領域やリザーブ領域の中に記述しても良いし、直前のＰＭＴのｄｅｓｃｒｉｐｔｏｒの中に記述しても良いし、ＴＳパケットヘッダのアダプテーションフィールドにあるｒａｎｄｏｍ＿ａｃｃｅｓｓ＿ｉｎｄｉｃａｔｏｒ＝１ｂの場合にＣｌｏｓｅｄ  ＧＯＰであると定義しても良い。
【０１８４】
図３３にシーケンスヘッダの直後にユーザーデータ領域を確保し、そのユーザーデータの中にＥｎｔｒｙ−Ｐｏｉｎｔヘッダ情報を記述する例を示す。
【０１８５】
このように、ユーザーデータにＥｎｔｒｙ−Ｐｏｉｎｔヘッダもしくはその情報の一部を挿入することで、シンプル／メインプロファイルの規定を変更することなく、ＢＲＯＫＥＮ＿ＬＩＮＫやＣＬＯＳＥＤ＿ＧＯＰといった情報をシーケンスヘッダ後でかつ、ピクチャデータの前に挿入することが可能となる。これはＭＰＥＧ−２ビデオと同じ符合化順序である。
【０１８６】
上記、ＶＣ−９のユーザーデータには、その挿入位置によっていくつかのレイヤーに分かれるが、その何れのレイヤーを使っても良い。シーケンスレベルユーザーデータでも良いし、Ｅｎｔｒｙ−Ｐｏｉｎｔレベルユーザーデータでも良いし、フレームレベルユーザーデータでも良い。
【０１８７】
また、プロファイルに依らず、上記に示すような所定のタイミングでＥｎｔｒｙ−Ｐｏｉｎｔヘッダの情報がストリーム中に格納されていることを示す情報を管理情報に格納させても良い。尚、この際、図３１のようにタイムマップに格納するようにしても良い。
【０１８８】
また、シンプル／メインプロファイルのように、本来、ストリーム内にアドバンスドプロファイルのＥｎｔｒｙ−Ｐｏｉｎｔヘッダに格納するような情報を格納できない場合であっても、ストリームとは別に管理情報（例えばタイムマップ）にてストリーム途中からの再生が可能であることを示すことで、再生装置の再生制御を支援することが可能である。
【０１８９】
また、シンプル／メインプロファイルであっても、図３３のように、シーケンスヘッダ直後にＢＲＯＫＥＮ＿ＬＩＮＫやＣＬＯＳＥＤ＿ＧＯＰといった情報をユーザーデータに格納して始まるＩピクチャをストリームとは別の管理情報（例えばタイムマップ）にて管理するようにし、再生装置の再生制御を支援することが可能である。
【０１９０】
尚、上記説明では、ＶＣ−９を用いて説明したが、本発明はこれに限らず、他の映像符号化方式にとっても全く同様に適用可能である。
【０１９１】
本発明は、特定の実施形態について説明されてきたが、当業者にとっては他の多くの変形例、修正、他の利用が明らかである。それゆえ、本発明は、ここでの特定の開示に限定されず、添付の請求の範囲によってのみ限定され得る。
【産業上の利用可能性】
【０１９２】
本発明にかかる情報記録媒体は、記録したコンテンツに対し、確実に復号開始可能なポイントを管理することで、マルチアングルやプレイリストの再生において、途切れない映像再生を行う再生装置を提供することが可能となる。
【図面の簡単な説明】
【０１９３】
【図１】ＤＶＤの構成図
【図２】ハイライトの構成図
【図３】ＤＶＤでの多重化の例を示す図
【図４】ＨＤ−ＤＶＤのデータ階層図
【図５】ＨＤ−ＤＶＤ上の論理空間の構成図
【図６】ＨＤ−ＤＶＤプレーヤの概要ブロック図
【図７】ＨＤ−ＤＶＤプレーヤの構成ブロック図
【図８】ＨＤ−ＤＶＤのアプリケーション空間の説明図
【図９】ＭＰＥＧストリーム（ＶＯＢ）の構成図
【図１０】パックの構成図
【図１１】ＡＶストリームとプレーヤ構成の関係を説明する図
【図１２】トラックバッファへのＡＶデータ連続供給モデル図
【図１３】ＶＯＢ情報ファイル構成図
【図１４】タイムマップの説明図
【図１５】プレイリストファイルの構成図
【図１６】プレイリストに対応するプログラムファイルの構成図
【図１７】ＢＤディスク全体管理情報ファイルの構成図
【図１８】グローバルイベントハンドラを記録するファイルの構成図
【図１９】タイムイベントの例を説明する図
【図２０】ユーザイベントの例を説明する図
【図２１】グローバルイベントハンドラの例を説明する図
【図２２】仮想マシンの構成図
【図２３】プレーヤ変数テーブルの図
【図２４】イベントハンドラ（タイムイベント）の例を示す図
【図２５】イベントハンドラ（ユーザイベント）の例を示す図
【図２６】プレーヤの基本処理のフローチャート
【図２７】プレイリスト再生処理のフローチャート
【図２８】イベント処理のフローチャート
【図２９】字幕処理のフローチャート
【図３０】ピクチャの参照関係を説明する図
【図３１】マルチアングルでのアングル切り替えを説明する図
【図３２】プレイリスト／セルの再生開始点を説明する図
【図３３】Ｅｎｔｒｙ−Ｐｏｉｎｔヘッダの格納例を説明する図
【符号の説明】
【０１９４】
２０１    ＢＤディスク
２０２    光ピックアップ
２０３    プログラム記録メモリ
２０４    管理情報記録メモリ
２０５    ＡＶ記録メモリ
２０６    プログラム処理部
２０７    管理情報処理部
２０８    プレゼンテーション処理部
２０９    イメージプレーン
２１０    ビデオプレーン
２１１    合成処理部
３０１    プログラム記録メモリ
３０２    プログラムプロセッサ
３０３    ＵＯＰマネージャ
３０４    管理情報記録メモリ
３０５    シナリオプロセッサ
３０６    プレゼンテーションコントローラ
３０７    クロック
３０８    イメージメモリ
３０９    トラックバッファ
３１０    デマルチプレクサ
３１１    イメージプロセッサ
３１２    ビデオプロセッサ
３１３    サウンドプロセッサ
３１４    イメージプレーン
３１５    ビデオプレーン
３１６    合成処理部
３１７    ドライブコントローラ
３２０７    動画ダウンコンバータ
３２１５    字幕ダウンコンバータ
３２２３    静止画ダウンコンバータ
３２２８    音声ダウンコンバータ
Ｓ１０１    ディスク挿入ステップ
Ｓ１０２    ＢＤ．ＩＮＦＯ読み込みステップ
Ｓ１０３    ＢＤ．ＰＲＯＧ読み込みステップ
Ｓ１０４    ファーストイベント生成ステップ
Ｓ１０５    イベントハンドラ実行ステップ
Ｓ２０１    ＵＯＰ受付ステップ
Ｓ２０２    ＵＯＰイベント生成ステップ
Ｓ２０３    メニューコール判定ステップ
Ｓ２０４    イベント生成ステップ
Ｓ２０５    イベントハンドラ実行ステップ
Ｓ３０１    プレイリスト再生開始ステップ
Ｓ３０２    プレイリスト情報（ＸＸＸ．ＰＬ）読み込みステップ
Ｓ３０３    プレイリストプログラム（ＸＸＸ．ＰＲＯＧ）読み込みステップ
Ｓ３０４    セル再生開始ステップ
Ｓ３０５    ＡＶ再生開始ステップ
Ｓ４０１    ＡＶ再生開始ステップ
Ｓ４０２    ＶＯＢ情報（ＹＹＹ．ＶＯＢＩ）読み込みステップ
Ｓ４０３    ＶＯＢ（ＹＹＹ．ＶＯＢ）読み込みステップ
Ｓ４０４    ＶＯＢ再生開始ステップ
Ｓ４０５    ＶＯＢ再生終了ステップ
Ｓ４０６    次セル存在判定ステップ
Ｓ５０１    プレイリスト再生開始ステップ
Ｓ５０２    プレイリスト再生終了判定ステップ
Ｓ５０３    タイムイベント時刻判定ステップ
Ｓ５０４    イベント生成ステップ
Ｓ５０５    イベントハンドラ実行ステップ
Ｓ６０１    プレイリスト再生開始ステップ
Ｓ６０２    プレイリスト再生終了判定ステップ
Ｓ６０３    ＵＯＰ受付判定ステップ
Ｓ６０４    ＵＯＰイベント生成ステップ
Ｓ６０５    メニューコール判定ステップ
Ｓ６０６    ユーザーイベント有効期間判定ステップ
Ｓ６０７    イベント生成ステップ
Ｓ６０８    イベントハンドラ実行ステップ
Ｓ７０１    プレイリスト再生開始ステップ
Ｓ７０２    プレイリスト再生終了判定ステップ
Ｓ７０３    字幕描画開始判定ステップ
Ｓ７０４    字幕描画ステップ
Ｓ７０５    字幕表示終了判定ステップ
Ｓ７０６    字幕消去ステップ
【図１】
2006073127.tif 000003
【図２】
2006073127.tif 000004
【図３】
2006073127.tif 000005
【図４】
2006073127.tif 000006
【図５】
2006073127.tif 000007
【図６】
2006073127.tif 000008
【図７】
2006073127.tif 000009
【図８】
2006073127.tif 000010
【図９】
2006073127.tif 000011
【図１０】
2006073127.tif 000012
【図１１】
2006073127.tif 000013
【図１２】
2006073127.tif 000014
【図１３】
2006073127.tif 000015
【図１４】
2006073127.tif 000016
【図１５】
2006073127.tif 000017
【図１６】
2006073127.tif 000018
【図１７】
2006073127.tif 000019
【図１８】
2006073127.tif 000020
【図１９】
2006073127.tif 000021
【図２０】
2006073127.tif 000022
【図２１】
2006073127.tif 000023
【図２２】
2006073127.tif 000024
【図２３】
2006073127.tif 000025
【図２４】
2006073127.tif 000026
【図２５】
2006073127.tif 000027
【図２６】
2006073127.tif 000028
【図２７】
2006073127.tif 000029
【図２８】
2006073127.tif 000030
【図２９】
2006073127.tif 000031
【図３０】
2006073127.tif 000032
【図３１】
2006073127.tif 000033
【図３２】
2006073127.tif 000034
【図３３】
2006073127.tif 000035