DVD テキスト文字列の操作

DVD ディスク、特にカラオケ ディスクには、ビデオまたはオーディオ コンテンツを補足するテキスト情報のデータベースが含まれている場合がある。カラオケ ディスク上のそのようなテキストとしては、曲名、アーティスト名、レコード レーベルなどがある。このテキストは、複数の言語で存在することが可能である。このような文字列はオプションであり、ディスク上に必ず含めなければならないわけではない。文字列が含まれる場合は、DVD ボリュームの論理的な階層を厳密に反映するように構成される。各文字列の前には、その文字列がディスク構造のどの部分に属するかを識別したり、文字列の内容の手がかりとなるような数字が付加される。文字列の型の一部が DVD_TextStringType 列挙に定義されている。

テキスト文字列には、基本的な形式として構造識別子と内容文字列の 2 つがある。0x01 ~ 0x20 の値を持つ形式が構造識別子である。これは空の文字列であり、数値コードはその後に続く内容文字列が属する論理構造を識別するために使われる。この構造は、DVD ディスクの内容 (ボリューム、タイトル、チャプターなど) の論理構造とかなり厳密に対応している。もう一方の形式は、ユーザー インターフェイスで視聴者に表示される情報を保持する内容文字列を識別する。内容文字列の使用方法は厳密には定義されていないため、DVD 作成者はさまざまな方法でそれを使える。

これまで、DVD テキスト文字列はほとんどカラオケ ディスク専用に使われてきた。これらのディスクは、ほとんどの場合、0x01 と 0x02 の構造識別子と 0x30 の内容文字列を使っている。しかし、時がたつにつれて、より多くの種類の DVD-Video ディスクにテキスト文字列が含まれるようになると考えるのが妥当である。これらの文字列は、より複雑に構成され、ディスク内容の詳細な記述を提供するようになるであろう。

DVD テキスト文字列については、DVD フォーラムの Web サイトを参照すること。

DVD サンプル アプリケーションの CDvdCore::GetDvdText メソッドに、DVD テキスト文字列を列挙して表示する基本的な手順が示されている。