DVD の基礎
消費者にとって魅力的な DVD の機能 (シームレスな分岐、複数の言語、ペアレンタル コントロール、カラオケのサポート、複数のアングル) は、開発者の作業を多少複雑にするものである。DVD プレーヤはオーディオ ストリーム、ビデオ ストリーム、サブピクチャ ストリームを再生するだけではなく、現在のディスクで利用できる操作オプションを把握し、たくさんの種類のユーザー コマンドを適切に処理できなければならない。DVD ナビゲータでは、ユーザーはそういった複雑さをほとんど意識せずに、完全な機能を備えた DVD アプリケーションを作成できる。DVD の仕様を参照する必要なしに DVD ナビゲータの API を効果的に使えるが、基本的な DVD の操作の概念は知っておく必要がある。以下に、必要な背景知識を述べる。DVD の知識に関する詳細については、サードパーティの書籍または Web サイトを参照すること。
- 操作制御のデータ
- オーディオ、ビデオ、サブピクチャのデータ
- タイトルとチャプター
- メニュー
- ペアレンタル管理レベル
- ドメイン
- ユーザーの動作制御
操作制御のデータ
DVD-Video ディスク上のオーディオおよびビデオのデータは、さまざまな操作制御のデータによって一定間隔でインターリーブされる。このデータによって、ディスク上の特定の位置に移動するなどの動作をプレーヤに指示したり、または単に情報のみのマーカーとして用いて、その位置以降の内容がそれ以前より高いペアレンタル レベルを持つことや、チャプターのスキップ動作が無効であることをプレーヤに知らせたりできる。プレーヤがこの情報をアプリケーションに中継すると、アプリケーションはその情報に基づいた動作を行う。この操作マーカーは、DVD でビデオ CD よりも優れた対話操作性をユーザーに提供する機能の一部である。DVD プレーヤのアプリケーションは、ディスクで発生するイベント同様、ユーザー側で発生するイベントも処理しなければならない。
オーディオ、ビデオ、サブピクチャのデータ
DVD-Video ディスクには、ビデオ、オーディオ、サブピクチャという 3 種類の主要なデータ ストリームが含まれている。
- ビデオ ストリームには最大 9 個の "アングル" (サブストリームと見なされる) を含むことができる。DVD の作成者は、視聴者が同じシーンを異なるカメラ アングルから見ることができるように、任意の位置に複数のアングルを含めることができる。一度にアクティブにできるアングルは 1 つのみである。また、Line 21 クローズド キャプション データがあれば、それを含むこともできる。
- 最大 8 つのオーディオ ストリーム、すなわちトラックを含むことができるため、最大 8 つのマルチチャンネル サウンドトラックが使用可能であり、DVD カラオケ ディスクでマルチチャンネル オーディオを使える。
- また、メニュー ボタンや字幕に使われるビットマップ グラフィックを含むサブピクチャ ストリームを最大 32 まで含むことができる。ビデオの矩形内に表示されると似ているように見えるが、サブピクチャ データ ストリームは、ビデオ ストリーム内の クローズド キャプション データには依存していない。ディスクにサブピクチャとクローズド キャプション データが両方とも含まれている場合は、それらを同時には表示できない。
タイトルとチャプター
DVD-Video ディスクにおける主要な論理的区分が "タイトル" である。タイトルによって動画全体を表すことも、または 30 秒のビデオ クリップを表すこともできる。ディスクには最大 99 タイトルを含むことができ、ディスク作成者はタイトルを最大 999 の論理的なチャプターに分けることができる。DVD 上のムービー本編では、ほとんどの場合、動画の内容は連続して再生される一連のチャプターとしてフォーマットされている。そのようなディスクでは、チャプターの最後のマーカーに分岐命令が含まれており、それにより、プレーヤに次のチャプターを連続して再生するように指示する。これらのタイトルを、"一連のシーケンシャル PGC タイトル" という。PGC とは "プログラム チェイン" の略であり、一連のチャプターが属するグループの別名である。この用語は、DVD ナビゲータのドキュメントでは使わない。カラオケ ディスクなど他の種類のコンテンツを含むディスクにおいては、チャプターの最後のマーカーは、プレーヤにメニューを表示させたり、単にプレーヤを停止させたりするのに用いられる。
DVD アプリケーションの開発者はタイトルおよびチャプター番号を使って、ディスクの特定の位置にジャンプする。詳細なアクセスを行うには、タイトル番号とタイムコードを使う。タイムコードを使えるのはシーケンシャル PGC タイトルのみである。これは、他の種類にはタイムコード マップがないからである。
メニュー
メニューは、ユーザーが既存のプレーヤで再生される DVD 上の内容とやり取りするための基本的な手段である。ユーザーはメニューを使うことによって、表示するビデオ タイトル、再生するオーディオ サウンドトラック、表示する字幕やカメラ アングル、有効にする他の機能を選択できる。DirectShow DVD アプリケーションの開発者は、メニューを既存のプレーヤにおけるメニューとして有効にするか、または、ディスク上で作成されたメニューを置き換えたり補足したりするコンピュータ ベースの新しいインターフェイスを作成するかを選択できる。アプリケーションでは、プログラム的にメニュー ボタンを選択したりアクティブにすることによってユーザーの対話操作のシミュレートもできる。
ビデオ マネージャ メニュー
最上位のメニューはビデオ マネージャ メニュー (VMGM) であり、トップ メニューまたはタイトル メニューとも呼ばれる。メニューには通常、ボタンがあり、このボタンによってユーザーはディスク上のメイン タイトルまたはタイトルのグループに移動できる。タイトルのグループは、"タイトル セット" と呼ばれる。たとえば、ムービー本編、"監督およびキャストのインタビュー"、"次の作品" というタイトル セットを含むディスク上では、VMGM のボタンは 3 つあると考えられる。"次の作品" ボタンをクリックすると、タイトル セット内にある、各タイトル用のボタンが付いたビデオ タイトル セット メニュー (VTSM) に移動できる。
ディスクには、最大 8 つの言語によるサウンドトラックを含めることができる。また、サウンドトラックに対応する言語による VMGM を複数含むこともできる。
ディスクの最初のタイトルが自動再生タイトルとして作成されていない限り、ディスクを再生すると VMGM が最初に表示される。ディスクの最初のタイトルが自動再生タイトルとして作成されている場合、VMGM は表示されない。DVD 上のムービー本編は、そのほとんどが自動再生タイトルとして作成されている。
ビデオ タイトル セット メニューとサブメニュー
ビデオ タイトル セット メニュー、別名ルート メニュー (ルートにはない) は VMGM のサブメニューである。タイトル セットには、1 ~ 99 タイトルまで含むことができる。VTSM には、ユーザーがタイトル セット内の任意のタイトルに移動するためのボタンが用意されている。また、VTSM にユーザーがオーディオ ストリーム、カメラ アングル、サブピクチャ ストリーム、またはチャプターを使うためのオプションを選択できるようにするためのサブメニューを持たせることもできる。これらのサブメニューは、タイトル セット内のすべてのタイトルに対して常に有効になっている。ほとんどの DVD において、VTSM サブメニューは使われない。ルート メニューなどのサブメニューはすべてオプションであるため、VTSM 内のサブメニューがすべて共通のルート メニューを持っているとは限らない。
ペアレンタル管理レベル
DVD ディスクのすべてまたは一部は、1 ~ 8 のペアレンタル管理レベル (PML) でコード化できる。8 は最も強い制限 (成人のみ) で、1 は最も弱い制限 (年齢制限なし) である。この考え方は、親の承諾なしに子供が成人向けコンテンツを見ることがないようにし、大人は子供が見られないコンテンツを見ることができるというものである。アメリカおよびカナダでは、MPAA のレーティング システム (G、PG、PG-13、NC-17) にレベルを割り当てているが、他の国や地域では事情が異なる。
チャプターはペアレンタル ブロック内に論理的に存在できるため、タイトル内に同一チャプターの 2 つのバージョンを含んで、それぞれに異なる PML を異なるペアレンタル ブロックにおいて割り当てることができる。たとえば、アプリケーションが PML をサポートしていれば、ディスクにログインした子供がチャプター 3 の 1 つのバージョンを見る一方で、ディスクにログインした大人は異なるバージョンを見ることができる。
タイトルまたはチャプターに一時 PML を含むこともできる。全体として、その内容にはタイトルまたはチャプターより高いレーティングが与えられる。これは、タイトルが複数のペアレンタル レベルを持てることを意味している。一時 PML は一般的にアングル ブロックとして作成されるため、ムービーの特定のシーンに子供用、大人用の 2 つのバージョンを含むことができる。
ペアレンタル レベルを適用するのは、プレーヤ アプリケーションの役割である。
ドメイン
"ドメイン" の概念は DVD の操作にとって非常に重要であるが、ドメインはタイトル、メニュー、アングル ブロックと同じ方式でディスク上に物理的にマークされているわけではなく、DVD の作成者には制御できない。DVD ドメインは、5 つの可能な値を持つ状態変数の一種と考えることができる。DVD プレーヤは、現在ディスクから読み取り中のコンテンツの種類を把握するために、この状態変数を監視する。DVD プレーヤはドメインを使うことによって、DVD ドライブに意味のないコマンドを発行しないようにできる。たとえば、"SelectButton" コマンドに意味があるのはメニューが表示されている場合のみであり、"FastForward" コマンドはプレーヤが現在停止しているか、または静止画であるメニューを表示中である場合は意味がない。次の表に、ドメインの一覧を示し、アプリケーション側から見た意味を示す。
ドメイン | DVD ナビゲータが読み取り中のコンテンツ。 |
First Play | ディスクの最初のセクション (FBI 警告など)。 |
Video Manager Menu | ディスク全体またはディスクの面のメイン メニュー。メニュー関連のメソッドはすべて有効。 |
Video Title Set Menu | タイトルまたはタイトルのグループのメニュー、あるいはサブメニュー (サブピクチャ、言語、オーディオ、またはアングル)。メニュー関連のメソッドはすべて有効。 |
タイトル | タイトル内のビデオ コンテンツ。メニュー関連のメソッドは有効ではない。 |
停止 | なし。ヘッドがディスクから離れている。ここから、Play を呼び出せる。 |
ユーザーの動作制御
ユーザーの動作制御 (UOP) はディスク上のマーカーであり、DVD の作成者はこのマーカーを任意の位置に挿入して、ユーザーの操作オプションを制限できる。ほとんどのディスクは、標準の UOP 制限に準拠している。たとえば、ほとんどのディスクは First Play ドメインにおいて高速な早送りやメニューの表示をユーザーに行わせないようにしている。基本的には、コマンドが現在のドメイン内で通常は有効になる場合でも、すべてのディスクにおいて任意の UOP コマンドを任意の位置に挿入できる。たとえば、特定のタイトルで高速の早送りができないようにしたり、ユーザーがタイトル ドメインに入った後は特定のメニューが表示されないようにしたりできる。DVD ナビゲータは、ディスクからのそういったコマンドにすべて準拠しており、アプリケーションがディスクの UOP 制御をオーバーライドしないようにしている。