(57)【特許請求の範囲】
【請求項１】
オーサリングされたＤＶＤビデオプログラムをコンパイルする方法において、
複数の抽象化された第１と第２のコンポーネントに関連した複数のプログラムチェーン（ＰＧＣ）からスケルトンプログラムチェーン（ＰＧＣ）レイアウトを生成する生成ステップと、
複数の抽象化されたコンポーネントから選択された第１と第２のコンポーネントの組合せの間の抽象化された接続を解析することによってＤＶＤをオーサリングするオーサリングステップとによって特徴づけられ、
第１の抽象化されたコンポーネントは、メニューボタンと映画チャプタを含み、
第２の抽象化されたコンポーネントは、相互接続されたＰＧＣを含み、
複数のＰＧＣに関連した指示とＤＶＤビデオスペースとドメイン構造の中のＰＧＣの構成は抽象化されているＤＶＤビデオプログラムをコンパイルする方法。
【請求項２】
前記メニューボタンは、１以上のオーサリングされたメニューに関連し、前記生成ステップは、
１以上のオーサリングされたメニューを定量化するステップと、
１以上の各メニューに関連したメニューボタンを定量化するステップと
各オーサリングされたメニューに対して整数倍のＰＧＣからスケルトンＰＧＣレイアウトを形成するステップを含み、
複数の各ＰＧＣは、各オーサリングされたメニューの中の各メニューボタンに対する少なくとも１つの指示を含んでいる請求項１記載の方法。
【請求項３】
前記オーサリングステップは、
１以上のオーサリングされたメニューとメニューボタンに対するオーサリングされたソースおよび行先指示を含んでいる接続情報を受信する受信ステップと、
ＤＶＤビデオプログラムを生成するために、接続情報を抽象化されたＰＧＣに対応して抽象化された指示に併合する併合ステップを含んでいる請求項２記載の方法。
【請求項４】
前記の接続情報を受信する受信ステップは、ソースおよびターゲット情報のためのボタンとチャプタの少なくとも１つを問合わせるステップを含んでいる請求項３記載の方法。
【請求項５】
前記併合ステップは、指示を対応するソースおよびターゲット情報と置換する置換ステップを含んでいる請求項４記載の方法。
【請求項６】
前記の接続情報を受信する受信ステップは、さらに
ボタンを参照するソースインデックスを有する接続オブジェクトを問合わせるステップと、
ソースインデックスに基づいたターゲットインデックスに対する接続オブジェクトを問合わせるステップを含み、ソースおよびターゲット情報のためのボタンとチャプタの少なくとも１つを問合わせるステップは、ソースおよびターゲットインデックスに基づいて行われる請求項４または５記載の方法。
【請求項７】
前記指示は、前記併合ステップが予め定められた値を対応する接続情報と置換するまで予め定められた値を含んでいる請求項３乃至６のいずれか１項記載の方法。
【請求項８】
前記予め定められた値はゼロ値である請求項７記載の方法。
【請求項９】
前記接続情報を対応する接続された素子識別子と置換するステップをさらに含んでいる請求項３乃至８のいずれか１項記載の方法。
【請求項１０】
整数倍は、１以上の各スケルトンＰＧＣレイアウトに対して独立して定義され、各ＰＧＣは、少なくとも１以上のオーサリングされたメニューの１つに関連したビデオマネージャドメインを含んでいる請求項２乃至９のいずれか１項記載の方法。
【請求項１１】
前記整数は、１以上のオーサリングされたメニューに対して独立して定義され、整数は少なくとも１つのオーサリングされたメニューに対して１である請求項２乃至１０のいずれか１項記載の方法。
【請求項１２】
前記生成ステップは、その中にインデックスを有するスケルトンＰＧＣレイアウトデータ構造を形成するステップと、
素子識別子を獲得するために、インデックスに関連した接続を解析するステップと、
スケルトンＰＧＣレイアウトデータ構造の中のインデックスを素子識別子と置換するステップとを含んでいる請求項１記載の方法。
【請求項１３】
前記インデックスは予め定められた値で形成される請求項１２記載の方法。
【請求項１４】
前記予め定められた値はゼロ値である請求項１３記載の方法。
【請求項１５】
前記各インデックスを関連した素子識別子と置換するステップは、予め定められた値を関連した素子識別子と置換するステップを含んでいる請求項１３または１４記載の方法。
【請求項１６】
前記インデックスに対する接続を解析するステップは、そのソースとしてボタンを参照する接続オブジェクトを決定するステップと、
ボタンのターゲットインデックスを識別するための接続オブジェクトに関連したポインタを獲得するステップと、
ソースインデックスとターゲットインデックスに対応するソース識別子とターゲット識別子を決定するステップとを含んでいる請求項１２乃至１５のいずれか１項記載の方法。
【請求項１７】
前記インデックスを置換するステップは、前記２つのインデックスを対応するソース識別子およびターゲット識別子と置換するステップを含んでいる請求項１６記載の方法。
【請求項１８】
前記スケルトンＰＧＣレイアウトは、少なくとも１つの映画ルータＰＧＣと、
メニューボタンに関連したオーサリングされたメニューに対応する複数のメニューＰＧＣと、
複数の終了コマンドルータＰＧＣと、
１以上の映画表示ＰＧＣと、
複数の遠隔キールータＰＧＣとを含んでいる予め定められたコマンド構造を有するＰＧＣを含んでおり、各コマンドルータＰＧＣはオーサリングされた映画に対応しており、各映画表示ＰＧＣはオーサリングされた映画に対応しており、各遠隔キールータＰＧＣはオーサリングされたメニューキー応答に対応している請求項１記載の方法。
【請求項１９】
各メニューＰＧＣは、対応するユーザメニューボタンが押されるときにメニューを表示するためのメニュー表示ＰＧＣとオーサリングされたアクションを開始するためのボタンルータＰＧＣとを含んでいる請求項１８記載の方法。
【請求項２０】
前記スケルトンＰＧＣレイアウトは、ビデオマネージャをさらに含んでおり、ビデオマネージャは少なくとも１つの映画ルータＰＧＣと複数のメニューＰＧＣと複数の終了コマンドルータＰＧＣとを含んでいる請求項１８または１９記載の方法。
【請求項２１】
プレゼンテーションＰＧＣは、オーサリングされた各映画に対して形成され、各プレゼンテーションＰＧＣは、映画表示ＰＧＣと、対応した映画におけるオーサリングされたチャプタの総数に対応した多数の遠隔キールータＰＧＣとを含んでいる請求項１８乃至２０のいずれか１項記載の方法。
【請求項２２】
前記複数の各遠隔キールータＰＧＣは、対応した映画における関連したチャプタ地点に対応している請求項１８乃至２１のいずれか１項記載の方法。
【請求項２３】
ＤＶＤビデオプログラムオーサリングのためのシステムにおいて、
複数の抽象化された第１と第２のコンポーネントに関連した複数のプログラムチェーン（ＰＧＣ）からスケルトンプログラムチェーン（ＰＧＣ）レイアウトを生成する生成手段と、
複数の抽象化されたコンポーネントから選択された第１と第２のコンポーネントの組合せの間の抽象化された接続を解析することによってＤＶＤをオーサリングするオーサリング手段とによって特徴づけられ、
第１の抽象化されたコンポーネントは、メニューボタンと映画チャプタを含み、
第２の抽象化されたコンポーネントは、相互接続されたＰＧＣを含み、
複数のＰＧＣに関連した指示とＤＶＤビデオスペースとドメイン構造の中のＰＧＣの構成は抽象化されているオーサリングシステム。
【請求項２４】
前記メニューボタンは、１以上のオーサリングされたメニューに関連し、スケルトンＰＧＣレイアウトを生成する前記生成手段は、
１以上のオーサリングされたメニューを定量化する手段と、
１以上の各メニューに関連したメニューボタンを定量化する手段と
各オーサリングされたメニューに対して整数倍のＰＧＣからスケルトンＰＧＣレイアウトを形成する手段のための手段であり、
複数の各ＰＧＣは、各オーサリングされたメニューの中の各メニューボタンに対する少なくとも１つの指示を含んでいる請求項２３記載のシステム。
【請求項２５】
前記オーサリング手段は、
１以上のオーサリングされたメニューとメニューボタンに対するオーサリングされたソースおよび行先指示を含んでいる接続情報を受信する受信手段と、
ＤＶＤビデオプログラムを生成するために、接続情報をＰＧＣに対応して指示に併合する併合手段のための手段である請求項２４記載のシステム。
【請求項２６】
前記スケルトンＰＧＣレイアウトは、最初はその中にインデックスを有し、スケルトンＰＧＣレイアウトデータ構造の中のインデックスは、素子識別子と関連している請求項２３記載のシステム。
【請求項２７】
前記スケルトンＰＧＣレイアウトは、少なくとも１つの映画ルータＰＧＣと、
メニューボタンに関連したオーサリングされたメニューに対応する複数のメニューＰＧＣと、
複数の終了コマンドルータＰＧＣと、
１以上の映画表示ＰＧＣと、
複数の遠隔キールータＰＧＣとを含んでいる予め定められたコマンド構造を有するＰＧＣを含んでおり、各コマンドルータＰＧＣはオーサリングされた映画に対応しており、各映画表示ＰＧＣはオーサリングされた映画に対応しており、各遠隔キールータＰＧＣはオーサリングされたメニューキー応答に対応している請求項２３記載のシステム。
【請求項２８】
前記各メニューＰＧＣは、対応するユーザメニューボタンが押されるときにメニューを表示するためのメニュー表示ＰＧＣとオーサリングされたアクションを開始するためのボタンルータＰＧＣとを含んでいる請求項２７記載のシステム。
【請求項２９】
前記スケルトンＰＧＣレイアウトは、ビデオマネージャをさらに含んでおり、そのビデオマネージャは少なくとも１つの映画ルータＰＧＣと複数のメニューＰＧＣと複数の終了コマンドルータＰＧＣとを含んでいる請求項２７または２８記載のシステム。
【請求項３０】
プレゼンテーションＰＧＣは、オーサリングされた各映画に対して形成され、各プレゼンテーションＰＧＣは、映画表示ＰＧＣと、対応した映画におけるオーサリングされたチャプタの総数に対応した多数の遠隔キールータＰＧＣとを含んでいる請求項２７乃至２９のいずれか１項記載のシステム。
【請求項３１】
オーサリングされたビデオプログラムで符号化された記憶媒体において、
オーサリングされたビデオプログラムは、
複数のプログラムコードセグメントからスケルトンコマンドセグメントレイアウトを生成する生成ステップと、
スケルトンデータ構造の中のスケルトンコマンドセグメントレイアウトを具体化する具体化ステップと、
複数のプログラムコードセグメントのコンポーネントの組合せの間の抽象化された接続を解析することによってビデオプログラムをオーサリングするオーサリングステップと、
記憶媒体をオーサリングされたビデオプログラムで符号化する符号化ステップとを含んでいるプロセスによって生成され、
プログラムコードセグメントに関連した指示は抽象化され、コンポーネントは、オーサリングされたビデオプログラムのメニュープログラムコードセグメントとオーサリングされたビデオプログラムの表示プログラムコードセグメントとオーサリングされたビデオプログラムの終了プログラムコードセグメントの各々に対応するコマンドセグメントを含んでいる記録媒体。
【請求項３２】
前記コンポーネントは相互接続されたコマンドセグメントを含んでいる請求項３１記載の記憶媒体。
【請求項３３】
ビデオプログラムスペースとドメイン構造の中の前記コマンドセグメントの構成は抽象化される請求項３２記載の記憶媒体。
【請求項３４】
前記メニューボタンは、１以上のオーサリングされたメニューに関連し、前記生成ステップは、
１以上のオーサリングされたメニューを定量化するステップと、
１以上の各メニューに関連したメニューボタンを定量化するステップと
各オーサリングされたメニューに対して整数倍のコマンドセグメントからスケルトンコマンドセグメントレイアウトを形成するステップを含み、
複数の各コマンドセグメントは、各オーサリングされたメニューの中の各メニューボタンに対する少なくとも１つの指示を含んでいる請求項３２または３３記載の記憶媒体。
【請求項３５】
前記オーサリングステップは、
１以上のオーサリングされたメニューとメニューボタンに対するオーサリングされたソースおよび行先指示を含んでいる接続情報を受信する受信ステップと、
ビデオプログラムを生成するために、接続情報を対応する抽象化されたコマンドセグメント中における抽象化された指示に併合する併合ステップを含んでいる請求項３４記載の記憶媒体。
【請求項３６】
前記の接続情報を受信する受信ステップは、ソースおよびターゲット情報のためのボタンとチャプタの少なくとも１つを問合わせるステップを含んでいる請求項３５記載の記憶媒体。
【請求項３７】
前記併合ステップは、指示を対応するソースおよびターゲット情報と置換する置換ステップを含んでいる請求項３６記載の記憶媒体。
【請求項３８】
前記の接続情報を受信する受信ステップは、さらに
ボタンを参照するソースインデックスを有する接続オブジェクトを問合わせるステップと、
ソースインデックスに基づいたターゲットインデックスに対する接続オブジェクトを問合わせるステップとを含み、ソースおよびターゲット情報のためのボタンとチャプタの少なくとも１つを問合わせるステップは、ソースおよびターゲットインデックスに基づいて行われる請求項３６または３７記載の記憶媒体。
【請求項３９】
前記指示は、前記併合ステップが予め定められた値を対応する接続情報と置換するまで予め定められた値を含んでいる請求項３７または３８記載の記憶媒体。
【請求項４０】
前記予め定められた値はゼロ値である請求項３９記載の記憶媒体。
【請求項４１】
前記接続情報を対応する接続された素子識別子と置換するステップをさらに含んでいる請求項３７乃至４０のいずれか１項記載の記憶媒体。
【請求項４２】
整数倍は、１以上の各スケルトンコマンドセグメントレイアウトに対して独立して定義され、各コマンドセグメントは、１以上のオーサリングされたメニューの少なくとも１つに関連したビデオマネージャドメインを含んでいる請求項３４乃至４１のいずれか１項記載の記憶媒体。
【請求項４３】
前記整数は、１以上の各オーサリングされたメニューに対して独立して定義され、整数は少なくとも１つのオーサリングされたメニューに対して１である請求項３４乃至４２のいずれか１項記載の記憶媒体。
【請求項４４】
前記生成ステップは、インデックスを有するスケルトンコマンドセグメントレイアウトデータ構造を形成するステップと、
素子識別子を獲得するために、インデックスに関連した接続を解析するステップと、
スケルトンコマンドセグメントレイアウトデータ構造の中のインデックスを素子識別子と置換するステップとを含んでいる請求項３３記載の記憶媒体。
【請求項４５】
前記インデックスは予め定められた値で形成される請求項４４記載の記憶媒体。
【請求項４６】
前記予め定められた値はゼロ値である請求項４５記載の記憶媒体。
【請求項４７】
前記各インデックスを関連した素子識別子と置換するステップは、予め定められた値を対応した素子識別子と置換するステップを含んでいる請求項４５または４６記載の記憶媒体。
【請求項４８】
前記インデックスに対する接続を解析するステップは、ボタンをソースとして参照する接続オブジェクトを決定するステップと、
ボタンのターゲットインデックスを識別するための接続オブジェクトに関連したポインタを獲得するステップと、
ソースインデックスとターゲットインデックスに対応するソース識別子とターゲット識別子を決定するステップとを含んでいる請求項４４乃至４７のいずれか１項記載の記憶媒体。
【請求項４９】
前記インデックスを置換するステップは、前記２つのインデックスを対応するソース識別子およびターゲット識別子と置換するステップを含んでいる請求項４８記載の記憶媒体。
【請求項５０】
前記スケルトンデータ構造は、少なくとも１つの映画ルータコマンドセグメントと、
メニューボタンに関連したオーサリングされたメニューに対応する複数のメニューコマンドセグメントと、
複数の終了コマンドルータコマンドセグメントと、
１以上の映画表示コマンドセグメントと、
複数の遠隔キールータコマンドセグメントとを含んでいる予め定められたコマンド構造を有するコマンドセグメントを含んでおり、
各コマンドルータコマンドセグメントはオーサリングされた映画に対応しており、各映画表示コマンドセグメントはオーサリングされた映画に対応しており、各遠隔キールータコマンドセグメントはオーサリングされたメニューキー応答に対応している請求項３３記載の記憶媒体。
【請求項５１】
各メニューコマンドセグメントは、対応するユーザメニューボタンが押されるときにメニューを表示するためのメニュー表示コマンドセグメントとオーサリングされたアクションを開始するためのボタンルータコマンドセグメントとを含んでいる請求項５０記載の記憶媒体。
【請求項５２】
前記スケルトンデータ構造はさらに、ビデオマネージャを含んでおり、そのビデオマネージャは少なくとも１つの映画ルータコマンドセグメントと複数のメニューコマンドセグメントと複数の終了コマンドルータコマンドセグメントとを含んでいる請求項５０または５１記載の記憶媒体。
【請求項５３】
プレゼンテーションコマンドセグメントは、オーサリングされた各映画に対して形成され、各プレゼンテーションコマンドセグメントは、映画表示コマンドセグメントと、対応した映画におけるオーサリングされたチャプタの総数に対応した多数の遠隔キールータコマンドセグメントとを含んでいる請求項４４乃至５２のいずれか１項記載の記憶媒体。
【請求項５４】
前記複数の各遠隔キールータコマンドセグメントは、対応した映画における関連したチャプタ地点に対応している請求項４４乃至５３のいずれか１項記載の記憶媒体。
【請求項５５】
前記オーサリングされたビデオプログラムは、ＤＶＤビデオプログラムとしてコンパイルされる請求項３２乃至５４のいずれか１項記載の記憶媒体。
【請求項５６】
ビデオプログラムで符号化された記憶媒体において、
ビデオプログラムは、
データ構造を生成する生成手段と、
複数のコマンドセグメントのコンポーネントの組合せの間の抽象化された接続を解析することによってビデオプログラムをオーサリングするオーサリング手段とを含んでいるシステムによってオーサリングされ、データ構造は複数のコマンドセグメントのスケルトンコマンドセグメントレイアウトを維持している記憶媒体。
【請求項５７】
前記コンポーネントは、複数のコマンドセグメントに関連した複数の抽象化された第１と第２のコンポーネントを含んでいる請求項５６記載の記憶媒体。
【請求項５８】
前記第１の抽象化されたコンポーネントは、メニューボタンと映画チャプタとを含み、前記第２の抽象化されたコンポーネントは、相互接続されたコマンドセグメントを含んでいる請求項５７記載の記憶媒体。
【請求項５９】
複数のコマンドセグメントに関連した指示とビデオプログラムビデオスペースのなかのコマンドセグメントの構成とドメイン構造とは抽象化され、
第１の抽象化されたコンポーネントは、メニューボタンと映画チャプタを含み、
第２の抽象化されたコンポーネントは、相互接続されたコマンドセグメントを含み、
複数のコマンドセグメントに関連した指示とビデオスペースの中のコマンドセグメントの構成とビデオプログラムのドメイン構造とは抽象化される請求項５８記載の記憶媒体。
【請求項６０】
前記メニューボタンは、１以上のオーサリングされたメニューに関連し、スケルトンコマンドセグメントレイアウトを生成する前記生成手段は、
１以上のオーサリングされたメニューを定量化する手段と、
１以上の各メニューに関連したメニューボタンを定量化する手段と
各オーサリングされたメニューに対して整数倍のコマンドセグメントからスケルトンコマンドセグメントレイアウトを形成する手段のための手段であり、
複数の各コマンドセグメントは、各オーサリングされたメニューの中の各メニューボタンに対する少なくとも１つの指示を含んでいる請求項５９記載の記憶媒体。
【請求項６１】
前記オーサリング手段は、
１以上のオーサリングされたメニューとメニューボタンに対するオーサリングされたソースおよび行先指示を含んでいる接続情報を受信する受信手段と、
ビデオプログラムを生成するために、接続情報を対応するコマンドセグメント中の指示に併合する併合手段のためである請求項６０記載の記憶媒体。
【請求項６２】
前記スケルトンコマンドセグメントレイアウトは、最初はインデックスを有し、スケルトンコマンドセグメントレイアウトデータ構造の中のインデックスは、素子識別子と関連している請求項６０記載の記憶媒体。
【請求項６３】
前記スケルトンコマンドセグメントレイアウトは、少なくとも１つの映画ルータコマンドセグメントと、
メニューボタンに関連したオーサリングされたメニューに対応する複数のメニューコマンドセグメントと、
複数の終了コマンドルータコマンドセグメントと、
１以上の映画表示コマンドセグメントと、
複数の遠隔キールータコマンドセグメントとを含んでいる予め定められたコマンド構造を有するコマンドセグメントを含んでおり、各コマンドルータコマンドセグメントはオーサリングされた映画に対応しており、各映画表示コマンドセグメントはオーサリングされた映画に対応しており、各遠隔キールータコマンドセグメントはオーサリングされたメニューキー応答に対応している請求項６０記載の記憶媒体。
【請求項６４】
前記各メニューコマンドセグメントは、対応するユーザメニューボタンが押されるときにメニューを表示するためのメニュー表示コマンドセグメントとオーサリングされたアクションを開始するためのボタンルータコマンドセグメントとを含んでいる請求項６３記載の記憶媒体。
【請求項６５】
ビデオマネージャをさらに含んでおり、そのビデオマネージャは少なくとも１つの映画ルータコマンドセグメントと複数のメニューコマンドセグメントと複数の終了コマンドルータコマンドセグメントとを含んでいる請求項６３または６４記載の記憶媒体。
【請求項６６】
プレゼンテーションコマンドセグメントは、オーサリングされた各映画に対して形成され、各プレゼンテーションコマンドセグメントは、映画表示コマンドセグメントと、対応した映画におけるオーサリングされたチャプタの総数に対応した多数の遠隔キールータコマンドセグメントとを含んでいる請求項６３乃至６５のいずれか１項記載の記憶媒体。
【請求項６７】
前記ビデオプログラムはＤＶＤビデオプログラムとしてオーサリングされる請求項５７乃至６６のいずれか１項記載の記憶媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、一般に大容量データの記憶および検索に関し、とくにデジタル・バーサタイル・ディスクをオーサリングするための装置および方法に関する。
【０００２】
【従来の技術】
大量のマルチメディアおよびその他の情報を記憶するだけでなく、顧客によるもっと緊密な対話式のデータ検索のために新しい大容量記憶手段が設けられる。たとえば、このような記憶手段の１つは、以下において“ＤＶＤ仕様”と呼んでいる“DVD Specification for Read-Only Disc,Physical,File Format and Video Specifications”(DVD Consortium 1997) によって開示されている。別の例は、さらに別のＤＶＤ関連技術（たとえば、ＤＶＤ−オーディオ、ＤＶＤ−ＲＡＭ等）ならびに非ＤＶＤ技術を含んでいる。
【発明が解決しようとする課題】
ＤＶＤ仕様の物理的およびファイルシステム部分は、読出し専用デジタル・バーサタイル・ディスク（“ＤＶＤ  ＲＯＭ”）媒体に記憶されるデータの物理的符号化および編成を規定する。ＤＶＤ仕様のビデオ部分は、メディアリーダ／デコーダ（ＤＶＤプレーヤ）中への挿入時の適切な読出し、復号化および再生を確実にするために予め記録されたＤＶＤ−ビデオディスクが適合しなければならないデータセット（ＤＶＤ−ビデオデータセット）を規定する。とくに、ビデオ部分は、“制御データ”およびオーディオ／ビデオ“プレゼンテーションデータ”がどのようにして符号化され、データセット内に整列されるかを特定する。制御データは、ディスクがＤＶＤプレーヤで再生されたときにオーディオ／ビデオデータのプレゼンテーションがどのように進行するかを決定し、ＤＶＤプレーヤが行うことができる機能およびユーザ動作の種類を管理する下位の状態情報、データ構造および命令セットから構成されている。
【０００３】
さらにＤＶＤ仕様は、この明細書において以下同じ言葉により繰返される参考文献として完全に含まれている。
【０００４】
現在実用化されているＤＶＤ映画タイトルの符号化およびオーサリングのプロセスには多数の別々の異なったステップが含まれ、これらステップも同様に別個の異なった専門技術が必要である。映画制作後、生（ｒａｗ）フィルムおよび／またはビデオフィート数が編集され、サウンドトラックが編集およびミッキシングされ、映画フィルムまたはビデオマスターが生成される。このマスターは、それに続いてビデオおよびオーディオ流としてデジタル化および符号化され、データファイルして記憶される。ＤＶＤ仕様によると、ビデオ流を符号化するために動画エクスポートグループ（“ＭＰＥＧ−１またはＭＰＥＧ−２”）フォーマットが使用されて、オーディオ流を符号化するために多数の特定されたフォーマットの任意の１以上のもの（たとえば、ＭＰＥＧ−１またはＭＰＥＧ−２オーディオ、ドルビーＡＣ−３、ＰＣＭ）が使用される。グラフィックデータ（すなわち、メニューおよびその他のプレゼンテーションデータを生成するための静止または動いているイメージ）もまた生成され、通常のグラフィックファイル中に記憶される。最後に、オーサリングガイドラインは、符号化されたオーディオおよびビテオ流ファイルならびにグラフィックファイルがオーサリングフェイズ中にまとめられる。
【０００５】
オーサリング中、ＤＶＤオーサーは、このガイドラインおよびファイル情報を使用してＤＶＤ映画タイトルを構成する。オーサリングされた映画タイトルは、結果的に生成された映画タイトルのユーザが見聞きするもの、ならびにこの映画のタイトルがＤＶＤプレーヤによって再生されたときにユーザが指示することのできる対話の種類を決定する。オーサーは、ビデオ、オーディオおよび（オーサーにより制作されることの多い）サブタイトルを編成し、映画をセグメント（“チャプタ”）に分割し、メニューを生成し、下位レベル命令を特定する。下位レベル命令はパラメータを設定し、固定またはオプションのジャンプ地点とそれらの行先を規定し、ユーザのメニュー選択および別のＤＶＤプレーヤ制御装置の使用（すなわち、代表的に遠隔制御装置の使用）の少なくとも一方に基づいて静止画像、映画チャプタおよび関連したオーディオトラックの再生が進行する配列およびオプションを決定する。
【０００６】
オーサーの組織的決定、サブタイトル、チャプタおよびメニュー決定、ならびに下位レベル命令は一度オーサリングされると、制御データ中にコンパイルされ、符号化されたビデオ、オーディオおよびサブタイトル流ならびにグラフィックデータファイルはプレゼンテーションデータに多重化され、ＤＶＤ−ビデオデータセットを一緒に構成する。最後に、このＤＶＤ−ビデオデータは、“一度しか書込めないＤＶＤ−Ｒ”ディスクにプログラムを書込む（ｂｕｒｎ）ために使用可能な、あるいは後で複製するために使用できる“マスター”ディスクを生成するためにＤＶＤ−ＲＯＭ製造工場に送られるテープに記憶されることのできる“ディスクイメージレイアウト”ファイルに変換される。
【０００７】
通常のＤＶＤオーサリングシステムは、特定用途向けＤＶＤオーサリングプログラムを実行するコンピュータシステムを含んでいる。一例として、広く使用されている通常のＤＶＤオーサリングシステムはシナリストII(Scenarist-II)である。
【０００８】
シナリストIIは、本質的にＤＶＤ仕様の試行されているほぼ直接的な実施形態である。このシナリストIIを使用して、オーサーはデータ流を編成し、ＤＶＤ仕様に基づいてメニューおよびＤＶＤ構造を構成する。上位レベル構造（すなわち、９９までの“ＶＴＳ”および“ＶＴＳＭ”、１つの“ＶＭＧ”および１つの“ＶＭＧＭ”）は、構造タイプを選択し、その後映画またはメニュー参照を含む１以上の下位レベル命令セグメント（“プログラムチェーン”または“ＰＧＣ”）をその構造中に定着させる（ｐｏｐｕｌａｔｅ）ことによって構成される。このプロセス中、オーサーはまた、多数の提供されたリストおよびその他のデータならびにパラメータ表示を使用して、種々のＤＶＤオプションおよび要求されたパラメータの中からだけでなく利用可能なデータフォーマットの中からも選択する。換言すると、全ての構造およびＰＧＣパラメータ、機能ならびに参照は、オーサーによってオーサリング中に継続して完全に特定されなければならない。
【０００９】
残念ながら、ＤＶＤ仕様は、その具体化を試みる通常のプログラムがそうであるように非常に複雑である。利用可能なオプションは、シナリストIIのようなプログラム内のオプションおよびパラメータの種々のリスティングがそうであるように拡張可能である。構造とＰＧＣとの可能性のある組合せもまた拡張可能であり、結局のところ多数のこのような組合せから、機能しうるＤＶＤ映画タイトルは得られない。
【００１０】
ＰＧＣ（すなわち、ＤＶＤ仕様およびしたがってシナリストIIのようなプログラムの基礎的でよくある構成）は直観的には分からないものなので、そのために事態はさらに困難になる。多数のＰＧＣ（動作およびいわゆるダミーＰＧＣの両者を含む）は、最も基本的な制御機能をＤＶＤ顧客に提供するために特定の組合せで使用されなければならないことが多い。ＤＶＤ仕様によって与えられる制限はまた、そのプロセス中ずっと考慮されなければならない。したがって、プランニングおよび、またはプログラミング時のエラーは、かなり多数の構造が形成される後まで、未検出のままなのはもっともである。さらに、全（ｓｈｅｅｒ）数の構造、ＰＧＣ、命令、オプションおよび関与するパラメータが与えられている場合には、エラーを識別し、その位置をつき止め、補正することは困難であり、時間がかかる。
【００１１】
その結果、広範囲の下位レベル制御と都合のよいコンパイルに対するオーサリング対応が行われるが、通常のオーサリングシステムには、ＤＶＤ仕様およびオーサリングシステムの両者自身に関する広い専門技術が必要である。さらに、このような専門技術を採用しても、オーサリングは非常に時間がかかり、したがって一般に非常に費用がかかる。さらに、別のファクタの解決方法をとっても、必要とされる時間および専門技術は、おそらく、映画制作プロセス中の方向的な目標としての予備的な映画タイトルのオーサリングでさえも妨げる。
【００１２】
通常のオーサリングシステムの別の欠点は、実験および必要な修正を除いた全てが時間および費用を考えてしばしば妥協されることである。したがって、多数のＤＶＤ映画タストルはＤＶＤ顧客に提供される再生制御、ナビゲーションフレキシビリティおよび対話方式は、最小限のものとなる（広範囲のオーサリング時間を支援する限られた予算のために）。
【００１３】
したがって、ＤＶＤ仕様の構造および下位レベル命令セットから外れた方法でＤＶＤオーサリングを使用できるようにし、それによってオーサリングプロセスの時間と費用および複雑さを減少するオーサリングシステムおよび方法が必要とされている。
【００１４】
さらに、オーサリングが直観的に行われることが可能であり、その一方でＤＶＤ仕様と矛盾しない、または提供される特徴と対するフレキシビリティおよびアクセスを最大限にする装置および方法が必要とされている。
【課題を解決するための手段】
本発明は、本質的にＤＶＤ仕様の構造および下位レベル命令セットの考慮からオーサーを解放するオーサリングシステムおよび方法に基づいたデータ処理システムを提供する。とくに、このオーサリングシステムは、ＤＶＤ構造の生成およびＰＧＣのプログラミングに関連した順序付けられたタスクをなくし、それらの代りに対話的で、直観的でグラフィックスなオーサリング環境を使用する。
【００１５】
本発明はさらに、制御事象に応答してフレキシブルなプログラムフローを提供する。ＤＶＤ仕様にしたがって可能な多数の対話式コントロール、メニューボタン行先およびその他の機能は、多数のインスタンスで迅速かつ直観的な対話方式により修正可能な選択に基づいてオーサーによって特定されることができる。したがって、本発明は、ＤＶＤ顧客命令およびその他ＤＶＤプレーヤ生成事象に対する文脈感知可能な応答特性により未経験のオーサーであってもＤＶＤ映画タイトルのオーサリングを容易にする。
【００１６】
したがって、本発明の好ましい実施形態は、オーサーが上述のタスクを行う一体型インターフェースを有するオーサリングエンジンと、オーサリング情報の記憶および呼びもどしを行うデータ管理エンジンと、オーサリングされた映画タイトルを編集する前に進行的におよび、または比較により観察するシミュレータと、コンパイラと、マルチプレクサと、オーサリングされた映画タイトルをコンパイルおよび多重化後に見るエミュレータとを含んでいる。
【００１７】
オーサーをＤＶＤ仕様から解放するこれらの構成要素の能力内にはいくつかの抽象が含まれており、それらが上述の能力を容易にする。インターフェースは、簡単で直観的であり非常にフレキシブルな方法でそれぞれ行われる映画（すなわち、ビデオ、オーディオ、サブタイトル、チャプタ地点および他の要素を含むデータ流）のアレンジ、メニューレイアウト（すなわち、メニュー、メニューボタン、および音付きまたは音なしの静止または動イメージ）の生成ならびにこれらの整列とレイアウトの中の接続の特定のような“ユーザ抽象”を提供することが好ましい。別の抽象は、ネットワークまたは接続切替え抽象と、接続切替え抽象が構成される多数の制御およびルータＰＧＣ抽象を含んでいる。
【００１８】
インターフェースによって入力されたオーサリング命令は、データ管理エンジンによりコンポーネント部分に分解されて記憶されることが好ましい。要約オーサリング情報だけを使用して呼出されたコンパイラは、オーサリングされた映画の構成要素の数に対応したＰＧＣ抽象から構成されたスケルトン型のＰＧＣレイアウト構造を構成することが好ましい。その後、コンパイラは、オーサーにより選択されたデフォルトのソース・ターゲット接続にしたがってレイアウト構造を完成させる。
【００１９】
さらに、好ましい実施形態によると、結果的に得られたＤＶＤ映画タイトルの再生中に、ソースＰＧＣ抽象は、ＤＶＤプレーヤおよび顧客命令の少なくとも一方に応答して呼出される。ソースＰＧＣ抽象は、ターゲット情報を決めて、必要なルータＰＧＣ抽象を通ってターゲットＰＧＣ抽象に制御を転送する。ターゲットはターゲット情報に基づいて映画チャプタを再生し、メニューを表示し、あるいは１以上のＤＶＤパラメータの設定および、または修正を行う。
【００２０】
【発明の実施の形態】
本発明のこれらおよびその他の目的、利点は図面と以下の説明から明白になるであろう。
明瞭にする目的で、ここで説明する実施形態は主にＤＶＤ仕様にしたがった記憶装置、特に映画ＤＶＤ  ＲＯＭＳ（“映画タイトル”）のオーサリングに特定されている。しかしながら、本発明は広範囲のプログラムおよびデータ記憶装置と、種々の媒体を使用した検索に関し、そのサブセットだけをここで特別に明示することが理解されよう。オーサリングされることのできるＤＶＤ  ＲＯＭＳのタイプはさらに映画タイトルに限定されない。その他の例としては音楽ビデオ、ドキュメンタリ、教育ビデオ、社内研修、医学応用、オーディオとビデオおよび／またはその他のプレゼンテーションデータを使用するその他の連続再生または対話式情報を含んでいるが、それらに限定されない、
図１で示されているように、本発明によるオーサリングシステム100 の好ましい実施形態は、入力装置110 、プロセッサ115 、メモリ120 、記憶装置125 、ＭＰＥＧエンコーダ／デコーダ130 、ビデオＩ／Ｏ装置135 、オーディオＩ／Ｏ装置140 を含む電気的に接続されたハードウェア構成素子を具備している。オーサリングシステム100 はさらにオペレ−ティングシステム150 、オーサリングエンジン160 、データ管理エンジン165 、コンパイラ170 、シミュレータ175 、エミュレータ180 、マルチプレクサ185 を含んだソフトウェア構成素子を具備する。
【００２１】
オーサリングシステム構成素子の幾つかの変形が本発明の意図された技術的範囲内で考えられることが当業者に明白になるであろう。例えば、ＤＶＤビデオプログラムをコンパイルする方法プロセッサおよびコンピュータ特性の変形と進行中の技術的発展では、ＭＰＥＧエンコーダ／デコーダ130 のようなハードウェア構成素子はソフトウェアに埋設されるか、ハードウェアとソフトウェアの組合わせで構成されることができる。同様に、マルチプレクサ185 のようなソフトウェア構成素子はハードウェアに埋設されるかハードウェアとソフトウェアの組合わせでもよい。さらに、その他のコンピュータ装置への接続がネットワークＩ／Ｏ145 として示されているが、有線、無線、モデムおよび／またはその他のコンピュータ装置への接続（構内通信網、広域網、インターネットを含むがそれに限定されない）が利用されてもよい。さらに別の例では、分散された処理、多数のサイトの観察、情報転送、コラボレーション、遠隔情報検索およびマージング、および関連する能力がそれぞれ考慮されている。種々のオペレーティングシステムとデータ処理システムもまた使用されることができるが。ＩＢＭ（International Business Machines の商標名）コンパチブルコンピュータで動作するWindows 95（商標名）またはWindows NT（商標名）（マイクロソフト社の商標名）のような少なくとも一般的なマルチタスクオペレーティングシステムが好ましく、ここでの説明で推測される。入力装置110 は、コマンドおよび／またはデータを入力するための任意の数の装置および／または装置のタイプを含むことができ、これはキーボード、マウスおよび／またはスピーチ認識装置を含むがそれに限定されない（キーボードとマウスの使用を以下の説明を通じて例示する）。
【００２２】
図２のブロック図は図１の好ましいオーサリングシステムのオーサリングプログラム201 をさらに機能的に詳細に説明している。示されているように、オーサリングプログラム201 はオーサリングエンジン160 （インターフェイス 160ａを含む）、データ管理エンジン165 、コンパイラ170 、シミュレータ175 、エミュレータ180 、マルチプレクサ185 、出力ＤＶＤデータ記憶装置290 、レイアウトフォーマッタ187 、ユーザ抽象化装置285 、ＰＧＣ抽象化装置287 を具備している。
【００２３】
ＤＶＤプレーヤにより支持される特徴の検査によって、ＤＶＤ映画タイトルのオーサーに有効な基本的なプレゼンテーションデータタイプとカスタマ制御装置が一般化され、抽象されたユーザデータタイプと制御装置として再構成されることが発見されている。さらに、ＤＶＤ仕様の複雑性にもかかわらず、多数のそのプログラミングも一般化され、その後、さらに抽象された回路網または接続スイッチング上部構造内で動作する抽象されたＤＶＤプログラムチェーン（“ＰＧＣ”）として再構成されることができる。このようなユーザ抽象化装置285 とＰＧＣ抽象化装置287 は、（図示されている）オーサリングエンジン160 、データ管理エンジン165 、コンパイラ170 に一体化されるとき、オーサリングプログラム201 を使用するオーサーがＤＶＤ仕様205 の考える必要性を実効的に不要にする。これらの抽象化は、最も実際的な目的に対して、さらにその他のファクターの中から結果的なＤＶＤ−ＲＯＭのオーサリングフレキシブル性、ＰＧＣ効率または対話式応答を過度に限定せずにこのような考察から除去する。さらに、これらの抽象化は、改良を行い種々の他のＤＶＤおよび非ＤＶＤアプリケーションで再使用するため、更なる変形に容易に適合可能である再使用可能なコンポーネントのフレームワークを与える。
【００２４】
オーサリングプログラム201 は好ましくは、信頼性、更新能力、オブジェクト指向プログラミングのその他の既知の一般的な利点のために、Ｃ++、オブジェクト指向言語で実行される。しかしながら、コンピュータの当業者はこのような利点にかかわらず、種々のオブジェクト指向および非オブジェクト指向タイプのその他の環境および／またはプログラミング言語が利用されていることを認識するであろう。
【００２５】
動作において、オーサーはオーサリングエンジン160 のインターフェイス部 160ａを通じてオーサリングプログラム201 を付勢し制御するオーサリング情報および命令を入力する。オーサリングエンジン160 は、インターフェイス部 160ａを対応して調節し、さらにオーサリングプログラムモジュールを呼出し、入力されたオーサリング情報をデータ管理エンジン165 へ送り、データ管理エンジン165 からオーサリングされた情報を検索し、プレゼンテーションデータ記憶装置203 からプレゼンテーションデータを送信および／または検索することによって、入力された情報およびコマンドを対話的に受信する。データ管理エンジン165 は、オーサリングエンジン160 からオーサリングされた情報を受信して記憶し、および／または記憶装置（および／または遠隔ソース）から検索された情報をオーサリングエンジン160 へ送信することによって、オーサリングエンジン160 に応答する。シミュレータ175 は、オーサリングされたデータをデータ管理エンジン165 から検索し、マルチプレクサから多重化されたプレゼンテーションデータを検索し、インターフェイス部 160ａと共同してオーサリングされたＤＶＤ−ＲＯＭをシミュレートすることによってオーサリングエンジン160 に応答する。
【００２６】
コンパイラ170 はデータ管理エンジン165 からオーサリングされた情報を検索し、情報を編集し、編集された情報（“情報ファイル”）を出力ＤＶＤデータ記憶装置290 へ記憶することによってオーサリングエンジン160 に応答する。エミュレータ180 は、編集されたデータを出力ＤＶＤデータ記憶装置290 から検索し、出力ＤＶＤデータ記憶装置290 から多重化されたデータを検索し、インターフェイス 160ａと共同してオーサリングされたＤＶＤ−ＲＯＭをエミュレートすることによってオーサリングエンジン160 に応答する。マルチプレクサ185 は、コンパイラ170 からＤＶＤパラメータ情報を受信し、プレゼンテーションデータ記憶装置203 からプレゼンテーションデータを検索し、検索された情報およびデータをＤＶＤ仕様205 にしたがって組合わせることによってオーサリングエンジン160 に応答する。マルチプレクサ185 は組合わせられた情報およびデータ（“ＤＶＤデータ流”または“ｖｏｂファイル”）を出力ＤＶＤデータ記憶装置290 中に記憶する。レイアウトフォーマッタ187 は出力ＤＶＤデータ記憶装置290 からｖｏｂファイルと情報ファイルを検索し、これらのファイルを１つの“ディスクイメージ”ファイルに組合わせ、これはディスクイメージファイル記憶装置207 に記憶される。ディスクイメージファイルは回路網Ｉ／Ｏ145 （図１）により付加的な装置へ送信され、さらに調査され、処理され、および／または１以上のＤＶＤ−ＲＯＭ207 を書込みする。
【００２７】
図２を参照にして、図３乃至１０において、本発明によるインターフェイスがＤＶＤ仕様のＤＶＤプログラミング仕様207 （図２）から基本的に除去された映画タイトルをオーサーがアセンブルする（集合する）ことを可能にする態様を示している。好ましいインターフェイス 160ａはWindows 95（商標名）またはWindows NT（商標名）（マイクロソフト社の商標名）オペレーティングシステムで動作するアプリケーションとして例示されている。
【００２８】
図３のスクリーンの画面は好ましいオーサリングウィンドウ300 を示しており、これは、オーサーがビデオセグメント（“ビデオクリップ”）とオーディオセグメント（“オーディオクリップ”）とサブタイトル（以後集合的に“パフォーマンスデータ”と呼ぶ）を含んだオーディオ可視材料の整列を選択するために使用できる。
【００２９】
オーサリングウィンドウ300 は可動で可変で置換可能なグルーピング、または“ビュー”と、プレゼンテーションデータパネル301 、パフォーマンスアセンブリパネル302 、アセンブルされた構成素子パネル307 、ログパネル308 、プレビュービデオパネル309 とを含んだ“パネル”とに分割される。アセンブリパネル302 はさらにビデオアセンブリ部320 、オーディオアセンブリ部330 、サブタイトルアセンブリ部340 （ここでは集合的にパフォーマンスビュー303 と呼ぶ）、パフォーマンスツール部360 にさらに分割される。オーサリングウィンドウ300 はまたオーサリングツールバー 399ａとメニューバー 399ｂとを含んでいる。明瞭にするために、以下の説明は、１つの連続的な映画（即ちそれぞれ映画の開始で始まり映画の完結で終了するコンポーネントビデオ、オーディオおよびサブタイトルデータ流を有する映画）がオーサリングされることを想定している。
【００３０】
プレゼンテーションデータパネル301 は、オーサーが選択し、現在のオーサリングセッション中、または再度初期化された先のオーサリングセッションを継続するとき、映画およびメニューのアセンブルに使用するために負荷される各プレゼンテーションデータファイルの表示リストを提供している。ファイルリストはファイル名311 、ファイル期間313 、ファイルタイプ315 パラメータを含んでいる。ファイル名311 はファイルの名称をリストする。ファイル期間313 はビデオデータファイルおよびオーディオデータファイルのようなファイルの再生期間をリストする。ファイルタイプ315 はファイルフォーマットを交互にリストし、これは通常ファイル名の拡張、または“ビデオ”データまたは“オーディオ”データのような認識されたデータタイプにより示される。以下さらに説明するように、プレゼンテーションデータファイルリストはオーサリングセッション期間に対話的に使用されることができる。
【００３１】
パフォーマンスアセンブリパネル302 のパフォーマンスアセンブリビュー303 はオーサーによって、負荷されたビデオおよび／またはオーディオデータをグラフィック的および対話的に組立て、それによってサブタイトルを負荷およびアセンブルしまたはチャプタ点を付加するために使用される。これらの目的では、パフォーマンスビュー303 はビデオアセンブリ部320 と、オーディオアセンブリ部330 と、サブタイトルアセンブリ部340 と、チャプタアセンブリ部350 とをそれぞれ含んでいる。ビデオアセンブリ部320 はオーサーにより使用され、記憶されたビデオデータファイル（“ビデオクリップ”）を参照するグラフィックオブジェクトをアセンブルするために使用される。説明するように、これらのファイルは最初に選択されると、プレゼンテーションデータパネル301 にリストされる。ビデオフレームサムネール 323ａ、 323ｂは以下ここでさらに詳細に説明するようにチャプタ点を示している。
【００３２】
パフォーマンスアセンブリパネル302 のアーディオアセンブリ部330 はオーサーによって、記憶されたオーディオデータファイル（“オーディオクリップ”）を参照するグラフィックオブジェクトを受信するために使用される。ビデオクリップのようにオーディオクリップは使用するために一度選択されると、リストされ、整列の目的でプレゼンテーションデータパネル301 から選択される。オーディオトラック 331ａ乃至 331ｃにより例示されている８つ（代わりの言語）までのオーディオデータ流またはオーディオ“トラック”がＤＶＤ仕様205 （図２）にしたがって利用可能である。オーサー整列オーディオクリップを表すオーディオバー 332ａと 332ｂは表示されたオーディオデータの再生時間を示す長さを有する。セパレータ333 は、ビデオアセンブリ部320 のビデオフレームサムネール 323ａ、 323ｂのようにチャプタ点のさらに別のインジケータである。オーディオトラック 332ａ乃至 332ｃはさらにオーディオ符号化インジケータ 334ａ、オーディオフォーマットインジケータ 334ｂ、トラック番号インジケータ335 、選択された言語インジケータ336 を含んでおり、これらはそれぞれオーディオデータファイル符号化および再生フォーマットと、選択可能なオーディオトラック番号336 と変更可能な言語レベル335 とを示している。言語ラベル335 はオーサーの選択により設定されることができるか、または予測されるように、それぞれのオーディオトラックの録音されたダイアローグで発話される言語の認識によって自動的に設定されることができる。
【００３３】
サブタイトルアセンブリ部340 はトラック 341ａと 341ｂにより例示されているように３２（代わりの言語）までのフレームベースのサブタイトルシーケンスのエントリ、検索および／または編集を行う、例示的なサブタイトルフレーム 342ａと 342ｂはテキストサブタイトル内容を示している。サブタイトルはサブタイトルフレームを付勢することにより（例えばメニュー選択またはダブルクリックによる）呼び出される一般的なテキストエディタ（図示せず）を使用して、および、または例えばプレゼンテーションデータパネル301 を使用して事前に存在するサブタイトルファイルを検索することによって一般的な方法で入力される。オーディオアセンブリ部330 のように、サブタイトル部340 は選択可能なトラック番号と変更可能な言語ラベルインジケータとを含んでいる。
【００３４】
パフォーマンスアセンブリビュー303 はチャプタアセンブリ部350 も含んでおり、これはオーサーによってチャプタ点をグラフィック的および対話的にアセンブルするために使用される。チャプタアセンブリ部350 はウォールクロック351 と、参照オフセットクロック352 と、オーサーアセンブルチャプタインジケータ 353ａ乃至 353ｃと、チャプタ時間インジケータ 354ａ乃至 354ｃと、参照時間インジケータ 355ａ乃至 355ｃとを含んでいる。ウォールクロック351 はアセンブリパネル302 のチャプタ部350 上のカーソル位置に対応してビデオクリップ内に時間を示す。オフセットクロック352 は、（それからビデオデータファイルが作成される）マスターテープの参照タイムコードにしたがって現在示されたビデオクリップの開始時間を示している。チャプタインジケータ 353ａ乃至 353ｃはオーサリング動作期間中に整列されたときのチャプタ点（即ちＤＶＤ−ＲＯＭ顧客が進めることができる点）を示している。チャプタ時間インジケータ 354ａ乃至 354ｃと基準時間インジケータ 355ａ乃至 355ｃは映画の開始とクリップの開始からの対応する選択されたチャプタ点の経過時間をそれぞれ表示する。基準時間は映画およびテレビ会社（“ＳＭＰＴＥ”）のタイムコードを使用して典型的に記録される（したがって選択的に検索され表示されることができる）。
【００３５】
前述したように、パフォーマンスアセンブリパネル302 およびその他のパネルと、オーサリングウィンドウ300 のビューは置換可能である。タブ 302ａは最初または“開いた”オーサリングタスクを選択的に切替え、それによって例えば、メニューレイアウト作成のため多数の映画のアセンブルされたプレゼンテーションデータおよび／その他のオーサリングタスクを変更するための１つの別の制御構造を提供する。その他の制御構造は、オーサーの選択可能な整列において、および／またはオーサーにより対話的に、パネルと転送ポートエネーブル制御装置（ 362ａ乃至 362ｃと 363ａ乃至 363ｃ）を選択的に結合解除し、さらに図示されたデフォルト整列を再結合するためのメニューオプション（図示せず）を含んでいる。パネルは、ここでの説明を考慮して当業者により理解されるようにその他のウィンドウ能力の中から再度サイズを変更されまたは再度整列されることができる。
【００３６】
パフォーマンスアセンブリパネル302 のアセンブリツール部360 は選択可能なズーム制御装置 361ａ乃至 361ｃと、停止 362ａ、プレイ 362ｂ、およびフレーム前進 362ｃを含んでいるプレビュー転送ボタンと、プレビュー転送開始時間セレクタ 363ａおよび停止時間セレクタ 363ｂと、選択されたクリップインジケータ 364ａおよびトータルクリップインジケータ 364ｂとを具備している。
【００３７】
ズーム制御装置 361ａ乃至 361ｃはパフォーマンスアセンブリパネル302 のパフォーマンスアセンブリビュー303 内の選択された区域の観察可能なデータ範囲を増加し、このような観察のためパフォーマンスアセンブリビュー302 の一部を選択し、観察可能なデータ範囲を減少するためにそれぞれ使用される。転送制御装置 362ａ乃至 362ｃは、ビデオクリップ、オーディオクリップおよび／またはサブタイトルデータをプレビュービデオパネル309 を使用してプレビューするとき、または（例示のサブネイル 323ａと 323ｂのような）プレビューサムネイルとしてビデオクリップの代表的なビデオフレームを選択するときビデオ再生制御を行う。当業者に理解されているように、転送制御装置 362ａはビデオ、オーディオおよび／またはサブタイトル再生を停止し、転送制御装置 362ｂは再生を開始／継続し、転送制御装置 362ｃはフレーム毎に（“ステップ”）観察を行うためのものである。開始および終了時間セレクタ 363ａと 363ｃはそれぞれビデオ、オーディオおよび／またはサブタイトル再生位置の選択および監視と、再生停止時間の設定および監視に使用される。
【００３８】
アセンブルされた構成素子パネル306 は、映画ボリューム361 、映画362 、メニュー363 を含むがそれらに限定されない現在の映画タイトルのオーサリングされた内容の対話的で選択可能なリストを提供する。
【００３９】
ログパネル308 は、ＤＶＤディスクフォーマット仕様205 （図２）にしたがって、プレゼンテーションデータと、ディスクファイルフォーマットのコンパイルおよびレイアウトの復号化／符号化に関する選択可能なプログレス報告およびその他の情報を提供する。これらの報告は自動的に作成され、タブ381 と383 により例示されるログタブを使用してアクセスされることができる。
【００４０】
プレビュービデオパネル303 はアセンブリパネルチャプタ部350 と、ビデオアセンブリ部320 と、オーディオアセンブリ部330 と、サブタイトル部340 と、および／またはアセンブリパネル302 のチャプタ部350 とにわたってカーソル位置に対応したビデオフレームを選択的に表示する。さらに、プレビュービデオパネルは、転送制御装置 362ａ乃至 362ｃ、開始および停止時間セレクタ 363ａおよび 363ｂを使用して、または選択またはドラグアンドドロップ能力を用いてパネルを直接呼出すことにより、ビデオデータのプレビューに使用される。（当業者に理解されるように、図１のＭＰＥＧエンコーダ／デコーダ130 を使用した一般的な方法による再生で必要とされるように、符号化されたビデオおよびオーディオファイルは復号化されバッファされる。）
以下のツールバーチャートはツールバー399 のそれぞれの構成素子をリストする。ここでの説明を考慮して、ツールバー構成素子は実質上変化でき、ユーザ限定された拡張可能で置換可能な構成素子を含むことができることが当業者により理解されるであろう。示されている構成素子はデフォルトとして設けられている。
【００４１】
ラベル    参照                  説明
401     新しいボリューム      デフォルト値を負荷し、新しい映画タイト
ルのインターフェイスを調節
403     新しいメニュー        デフォルト値を負荷し、新しいメニューレ
イアウトのインターフェイスを調節
405     新しい映画            デフォルト値を負荷し、新しい映画をオーサリング
するためにインターフェイスを調節
407     接続                  最初に設定した接続のデフォルト値にした
がって既存の接続インターフェイスへ切換
え、またはインターフェイスを調節
413     遮断、コピー、貼付け  接続についてここで説明したものを除く
-415                          一般的な機能を提供
421     コンパイル開始        コンパイラ動作の開始
423     コンパイラ停止        コンパイラ動作の遮断
425     ＤＶＤレイアウト      ＤＶＤディスクレイアウト動作の呼出し
427     テープの書込み        多重化されたデータ流をテープに出力
429     シミュレータ          シミュレータの呼出し
図５は、例により図３、４を参照して、本発明にしたがったインターフェイスによって、ＤＶＤプログラミング仕様207 （図２）により課された構造、コマンドまたは順序付けされたタスクを考慮せずに、オーサーがパフォーマンスデータとオブジェクトをアセンブルすることを可能にする態様を示したフローチャートである。他の動作の中で選択、開放、ドラッグアンドドロップと、クリック、ダブルクリック、クリックアンドドラッグおよびグラフィックインターフェイスに関するその他のユーザ動作はよく知られており、ここではさらに説明しない。
【００４２】
示されているように、ステップ505 で、オーサーは新しいボリューム401 （図４）を選択することによって新しいプロジェクト（“ボリューム”）を開始する。ステップ510 で、オーサーは新しい映画405 を選択することにより新しい映画を開始する。ステップ515 で、オーサーは映画とメニューによるボリュームで潜在的に使用するためにビデオとオーディオファイルをプレゼンテーションデータパネル301 （図３）に付加する。ステップ520 で、オーサーはパネル304 をプレビューするためにプレゼンテーションデータパネル301 のアイコンをドラッグするか、または所望ならば転送制御装置 362ａ乃至 362ｃと、プレビュータイマー393 および／またはその他の再生に関する制御装置を呼出すことによりプレビューパネル304 のビデオファイルをプレビューすることができる。ステップ525 では、オーサーはプレゼンテーションデータパネル301 のアイコンをダブルクリックするかまたはプレゼンテーションデータパネル301 からアイコンをパフォーマンスビュー303 のビデオアセンブリ部320 へドラッグすることによって現在開かれた映画へ選択されたビデオクリップを付加する。ステップ530 で、オーサーはサムネイルタイマー 325ａのポインタをドラッグすることによって、および／または転送制御装置 362ａ乃至 362ｂを使用することによって参照ビューイングの第１のフレーム以外のビデオフレームファイルを選択することができる。
【００４３】
ステップ535 で、オーサーはプレゼンテーションデータパネル301 のアイコンを選択し、停止362 、再生 362ｂを含む制御装置を使用し、開始時間および終了時間セレクタ 363ａと 363ｂを使用し、および／またはその他の再生に関連する制御装置を使用することによってオーディオファイルをプレビューすることができる。ステップ540 で、オーサーはプレゼンテーションデータパネル301 のアイコンをダブルクリックすることにより選択されたオーディオクリップを、現在開かれた映画の次に有効なトラックへ付加する。（代わりにオーサーは、プレゼンテーションデータパネル301 からアイコンをパフォーマンスビュー303 のオーディオアセンブリ部330 の選択されたトラックへドラッグすることによって、選択されたオーディオクリップを特定のオーディオトラックへ付加できる。）ステップ545 で、オーサーは選択された言語インジケータ335 を選択し、リストされた構成素子を選択することによって言語ラベルを選択する。
【００４４】
ステップ550 で、オーサーはビデオクリップの再生中にビデオフレームを表示するためにサブタイトルフレームを開き、サブタイトル情報を入力する。ステップ555 で、オーサーはサブタイトルトラックに対応する言語ラベルを選択する。ステップ560 で、オーサーがより多数のパフォーマンスデータの付加を選択するならば、オーサーはステップ520 へ戻る。
【００４５】
ステップ565 で、オーサーがチャプタ点として有効なビデオフレームを観察するためにパフォーマンスビュー303 のチャプタアセンブリ部350 内のカーソルを移動する。ステップ570 で、オーサーがチャプタ点を選択し、ステップ575 でオーサーがさらに多くのチャプタ点の付加を選択するならば、オーサーはステップ565 を継続する。
【００４６】
ステップ580 で、選択されたトラック番号により参照されるビデオクリップとオーディオクリップの再生をプレビューするためプレイボタン 362ｂを選択する前に、オーサーがオーディオトラック番号を選択し、サブタイトルトラック番号および／または再生開始および／または終了時間を選択的に使用する。
【００４７】
（図２、３も参照して）図６、７のフローチャートは本発明にしたがってオーサーの動作に対する好ましいオーサープログラム201 による応答を示している。示されているように、ステップ602 で、オーサーが先のオーサリングセッションでアセンブルされた映画を選択したならば、ステップ604 でデータ管理エンジン165 （図２）は関連するパラメータを負荷し、ステップ606 で、そのパラメータをオーサリングエンジン160 へ送信する。そうでなければ新しい映画のデフォルトパラメータがステップ608 で負荷される。
【００４８】
ステップ609 で、オーサリングエンジン160 は映画のパラメータを示すためアセンブルされた構成素子パネル307 （図３）とその他の影響されたインターフェイス 160ａの構成素子とを更新する。ステップ612 で、オーサーがプレゼンテーションデータファイルを選択したならば、ステップ614 でデータ管理エンジン165 はそれぞれのプレゼンテーションデータファイルパラメータをオーサリングエンジン160 へ負荷し送信し、これはステップ616 でプレゼンテーションデータパネル301 を更新する。ステップ622 でオーサーは選択されたビデオクリップの１つをアセンブルし、オーサリングエンジン160 はしたがってビデオアセンブリ部320 を更新し、ステップ624 のチャプタアセンブリ部350 とオフセットクロック352 はステップ626 でアセンブルされた構成素子パネル307 を更新し、ステップ628 で記憶するためにビデオクリップパラメータをデータ管理エンジン165 へ送信する。同様に、オーサーがステップ632 で選択されたオーディオクリップのうちの１つをアセンブルするならば、オーサリングエンジン160 はステップ634 でオーディオアセンブリ部320 の選択されたトラックを更新し、ステップ636 でアセンブルされた構成素子パネル307 を更新し、ステップ638 でオーディオクリップパラメータをデータ管理エンジン165 へ送信する。ステップ642 で、オーサーがサブタイトルデータをアセンブルしたならば、オーサリングエンジン165 はステップ644 でサブタイトルアセンブリ部340 を更新し、ステップ646 でアセンブルされた構成素子307 を更新し、ステップ628 でサブタイトルデータとパラメータをデータ管理エンジン160 へ送信する。
【００４９】
ステップ652 で、オーサーがチャプタアセンブリ部360 内でインターフェイス 160ａポインタ（例えばマウスポインタ）を移動したならば、ステップ654 でオーサリングエンジン160 はウォールクロック351 を更新し、ビデオクリップ内でマウスポインタ位置に対応するＩフレーム（即ち他のフレームを参照せずに完全に説明されているビデオフレーム）を発見し、プレビュービデオパネル309 にＩフレームを表示する。ステップ672 で、オーサーがチャプタ点をアセンブルしたならば、オーサリングエンジン160 はステップ674 でビデオアセンブリ部340 とチャプタアセンブリ部350 を更新し、ステップ676 でアセンブルされた構成素子パネル307 を更新し、ステップ678 で対応するチャプタパラメータをデータ管理エンジン165 へ送信する。
【００５０】
図８はオーサーがメニューをレイアウトすることを可能にするため、パフォーマンスデータアセンブリパネルをパネルで置換している図３の好ましいオーサリングウィンドウ300 を示しているスクリーンの画面である。特に、メニューレイアウトパネル701 とメニューツールパネル702 が選択され、寸法を定められ、図３のパフォーマンスビュー303 を置換するように位置付けられる。グラフィックおよびテキストイメージを含んでいる例示的なメニューレイアウトが例示の目的でメニューレイアウトパネル701 で示されている。メニューレイアウトパネル701 はメニューツールパネル702 の選択を使用してメニュー構成素子を検索、付加、位置付け、変更するためにオーサーによりビジュアルで対話的に使用される。
【００５１】
ＤＶＤ仕様にしたがって、ＤＶＤ顧客に与えられることが可能なメニュー構成素子は、バックグラウンドイメージ（“バックグラウンド”）、オーバーレイイメージ（サブピクチャー）、２５までのボタンを含むことができる。現在の例では、オーサーが選択したバックグラウンド710 は多色設計であり、オーサーが選択したサブピクチャー711 はテキスト情報、Dolby Demo１、Dolby Demo２、Play Both Demos 、Main Menu を含んでいる。ボタンフレーム 721ａ乃至 721ｄを含んだ４つのオーサー生成したボタン 720ａ乃至 720ｄも示されている。各ボタン番号 722ａ乃至 722ｄは識別の目的（即ちオーサリング期間中およびコンパイルで使用する目的）でそれぞれのボタンの生成に応答してオーサリングプログラム201 （図２）により付加されている。
【００５２】
メニューツールパネル702 は選択可能なメニュー構成素子パラメータを実行し、オーサリングセッション中にメニューレイアウトパネル701 内の構成素子のディスプレイ特性を選択可能に変更するための制御装置を具備している。例えば色選択ボックス732 、734 、736 、738 は、ボタンが選択されないとき（“ノーマル”）と、顧客がボタンを指定したとき（“選択”）と、ボタンが呼出されたとき（“アクション”）をそれぞれ（顧客観察シナリオで）表示するためにオーサーがボタンアウトライン色を選択することを可能にする。オーサーが不透明スライダ733 、735 、737 をそれぞれ使用してこれらのケースのボタンの不透明度を選択することもできる。同様に、オーサーはレイアウト特性タブ739 の１つを選択し、それぞれのツール設定パネル（図示せず）で現れるツールセットを使用することによってボタン形状およびその他の特性を選択できる。オーサーは例えば先のボタン形状、色、テキスチャ、先のオーサリングセッションで使用された不透明および／またはノーマル、選択および付勢色の組み合わせを、さらに変更するため開始点で使用するかさらに変更しない。その他のパラメータの組合わせも使用される。セーフ区域トグル 755ａはオーサーがメニューレイアウトパネル701 のセーフ区域インジケータ 755ｂを選択的に表示することを可能にする（顧客のテレビジョンで表示されることを確証された区域の境界を定める）。ディスプレイ制御装置751 、752 は指示された特性の変更を行い、これは先の説明の範囲内でさらに説明せずに当業者により理解されるであろう。
【００５３】
レイアウト特性タブ749 はボタン順序付けツール（図示せず）にアクセスを行う。他のオーサリングパラメータのように、顧客が遠隔制御装置で指令ボタンを押したときに現在表示されているメニューでトラバースされるボタンの既存の順序付けをオーサーが選択的に使用することができる。代わりの順序付けも表示された遠隔制御装置を使用するか開始点から矢印を最終点までドラッグする方法を含む複数の方法によって設定されることができるが、これらの方法に限定されない。このような特徴およびそれらの動作特性は、前述したように、さらに説明せずに当業者により理解されるであろう。
【００５４】
図９はメニューのレイアウトに必要とされる動作がパフォーマンスデータをアセンブルするために必要とされる動作と整合している態様を示したフローチャートである。オーサリングは動作の特定の順序付けを必要とせずにビジュアルおよび対話的に実現される。それ故、パフォーマンスデータアセンブリのように、動作の特定の順序が例示のみの目的で与えられる。
【００５５】
示されているように、ステップ805 で、オーサーはメニューレイアウトに含ませるためのバックグラウンドおよびサブピクチャファイルを選択する。選択されたファイルはプレゼンテーションデータパネル301 （図８）に現れる。ステップ810 で、ファイルリストでダブルクリックし、ファイルをメニューレイアウトパネル701 へドラッグし、または類似の方法を使用することによって、オーサーはバックグラウンドおよびサブピクチャを現在のメニューへ付加する。ステップ815 で、オーサーはボタンフレームを形成するサブピクチャテキスト周辺にドロー（即ちボックスをドラッグ）し、それによってメニューレイアウトパネル701 に直接ボタンの位置付けを示す。ステップ820 で、さらに多くのボタンフレームが付加されたままであるならば、オーサーはステップ815 へ戻る。
【００５６】
ステップ825 で、オーサーはボタンを選択し、形態、サイズ、不透明度、その他のパラメータを予め設定された組合わせおよび／または色選択ボックス732 、734 、736 、738 、不透明スライダ733 、735 、737 および／またはその他のツールを使用して選択する。ステップ830 で、オーサーは既に説明した方法でメニュー間ボタン順序付けを設定する。ステップ840 で、さらに多くのメニューが作成されて保持されているならば、オーサーはステップ840 で付加メニューボタン413 を選択し、ステップ805 へ戻る。新しい構成素子がアセンブルされた構成素子パネル307 中に表れ、制御データ（即ち付加された構成素子とレイアウト特性に関係する）がパフォーマンスデータアセンブリのようにデータ管理エンジン165 （図２）に送られる。
【００５７】
図１０のスクリーンの画面は、プレゼンテーションデータ、メニューレイアウト、メニューレイアウト内のボタン、およびＤＶＤプレーヤの有効な制御機能を共に連結するための図３のインターフェイスのさらに別の選択可能な構造を示している。示されているように、接続ビュー901 は有効なターゲットパネル903 と、連結パネル905 とをさらに含んでいる。連結パネル905 は有効なソース部950 と、接続されたターゲット部960 とをさらに含んでいる。接続ビュー901 がアクティブであり、アセンブルされた構成素子パネル307 はさらに有効なターゲットパネル903 内の所望のターゲットへさらに迅速にナビゲートするための選択手段として使用されることができる。
【００５８】
動作において、オーサーは有効なターゲット部903 からのターゲットを、有効なソースビュー950 の所望のソースと同一の行にある接続されたターゲット部960 へ単にコピーする（即ちコピー動作の実行またはドラッグ）ことによりリンクまたは“有効な接続”を形成する。映画およびメニューレイアウトをアセンブルするように、オーサーはリンクを対話的に削除、または移動し、あるいはそうでなければ一般的な方法で変更することができる。例えばリンクは消去により削除されることができ、またはターゲットは連結部905 の別の行に移動またはコピーされることができる。
【００５９】
性能データを整列し、メニューレイアウトを形成するように、オーサーは消費者の観察経験に対話性を付加することにおいて容易で完全なフレキシブル性を有する。ＤＶＤ映画はオーサリングされることができ、例えばそれによってメニューの入力および出力が任意の利用できる事象により制御されることができる。図１１のシミュレータウィンドウ1000を参照して、任意のメニューボタンはさらに、チャプタ点（例えばチャプタ点953 ）、チャプタ再生の末尾またはＤＶＤ遠隔制御装置メニューボタン1020と1040（図１１）を押す等を含む任意のＤＶＤ事象に連結されることができる。特定のメニューボタンも、創造的に適切であるように、多数のインスタンスのターゲットとして使用されることができる。
【００６０】
したがって、例えば消費者インターフェイスは、迅速に容易に生成されることができ、これは消費者の動作に対して対話的に応答する（“文脈感応性”）。代替的に説明するように、インターフェイスはオーサリングされることができ、それによって特定のチャプタ再生またはメニューボタンの付勢の結論が、次のチャプタ再生、次のメニューまたはその次のメニューを決定し、ここではオーサーが選択したメニューボタンが強調されている。
【００６１】
このような簡潔性とフレキシブル性に対する理由の中で、通常のオーサリングされたＤＶＤ映画と対照的に、プログラムチェーンはオーサリングプロセス中に作成されない。同様に、オーサリング中に特定された接続は永久的（“ハードワイヤ”）ではない。さらにここで説明するように、それぞれ本発明の付加的な抽象にしたがって、むしろプログラムチェーンはコンパイルまで作成されず、有効な接続は再生まで十分に形成（変換）されない。
【００６２】
図１２のブロック図は、本発明にしたがった好ましいデータ管理エンジン165 （図１）の構造を示している。示されているように、データ管理エンジン165 は部分的にのみインターフェイス構成と、ＤＶＤ仕様の構造を示す。インターフェイス抽象（例えば、映画、メニュー、接続ベースの映画−タイトル説明）とＤＶＤ仕様の要件（例えば第１のプレイのジャンプソース）を示しながら、データ管理エンジン165 はさらにデータ記憶装置と、本発明のその他の抽象を示している分布オブジェクトのフレキシブル回路網として構成される。
【００６３】
１つのさらに別の抽象は例えば、ＤＶＤプレーヤ、消費者の制御装置と、能動的な接続切替え回路網としてのコンパイルされたオーサリング命令のモデルである。この回路網内で、動作指向オーサリング命令（“ルータ”）を表すＤＶＤプログラムチェーンはＤＶＤプレーヤ（即ち消費者）命令に応答して有効な接続の中から切替えを行い、それによってプログラム流と制御を再誘導する。制御受信プログラムチェーンはさらに局部的なタスク（例えばメニューの表示）を実行する。代りに説明するように、ルータプログラムチェーンはＤＶＤプレーヤ制御命令から有効な接続を受信プログラムチェーンに変換し、これは再度制御をルートするかまたは命令を実行する。さらに抽象は、得られた共通のプログラムチェーン構造を使用して同一または類似の方法で共通のベース機能を実行するためのプログラムチェーンのモデルを含んでいる。
【００６４】
このようなアレンジメントは現実のフレキシブル性と効率を与える。例えばデータ管理エンジン165 は切替え可能なソース−ターゲット接続に関するオーサリングのフレキシブル性を支援する。さらに、所定の一般的なコンピュータシステムのパワーでは、データ管理エンジン165 は、直接インターフェイスまたはＤＶＤプログラム仕様205 の相関なしに、インターフェイス 160ａ（図２）の対話的動作と、コンパイル170 最小のコンパイル時間（即ちミリ秒のみ）を可能にするのに十分頑丈である。データ管理エンジン165 はそれ故、インターフェイス変化と、さらに別のインターフェイス、およびコンパイラ変化とその他のＤＶＤとＤＶＤデータ記憶装置および／または検索アプリケーションを支持するその他のコンパイラに容易に適合可能である。
【００６５】
図１２とさらに図２を再度参照すると、データ管理エンジン165 はルートボリュームオブジェクト1100を具備し、これはデータ管理エンジン165 の通信と記憶を管理する。ボリュームオブジェクト1100はメッセージデータを、タイトルキージャンプソース1101、第１のプレイのジャンプソース1102、メディアデータベース1103、ＤＶＤレイアウト特性1104、映画リスト1105、メニューリスト1106、接続リスト1107（オブジェクト）を含むそのコンポーネント部分と通信するためのインターフェイスを提供する。メディアデータベース1103はさらにメディアファイルリスト1130を含み、これはオーサリングの結果としてパフォーマンスデータアレンジメントにより参照されるメディアファイルに対するポインタを記憶する。
【００６６】
さらに、各プレゼンテーションデータオブジェクト（即ち映画リスト1105とメニューリスト1106）と接続セットリストオブジェクト1107はオブジェクトツリーの形態でその他のデータ管理エンジンオブジェクトへのリンクを含んでいる。特に、映画リスト1105は映画オブジェクト、「映画−１」1150ａ乃至「映画−Ｍ」1150ｂへ連結され、ここでＭは１つのＤＶＤ−ＲＯＭ（“映画タイトル”）で記憶するためにオーサリングされた映画の総数である。各映画オブジェクトはそれぞれのトラックリストオブジェクト1151と、それぞれのチャプタリストオブジェクト1152とを含んでいる。各トラックリストオブジェクト1151はそれぞれのトラックオブジェクト、「トラック−１」1153ａ乃至「トラック−Ｔ」1153ｂとを含んでおり、Ｔはそれぞれの映画内でオーサリングされたトラックの総数である。「トラック−１」乃至「トラック−Ｔ」はさらにクリップリストを含んでおり、これはクリップオブジェクト「クリップ−１」1154ａ乃至「クリップ−ＣＬ」1154ｂ（ＣＬは所定の映画内の所定のトラックのクリップの総数）を含んでいる。最後に、各クリップオブジェクトはクリップオブジェクト1155により例示されるように、それぞれのクリップ特性オブジェクトを含んでいる。
【００６７】
メニューオブジェクトは映画オブジェクトに類似の方法で構成される。メニューリストオブジェクト1160はメニューオブジェクト「メニュー−１」1160ａ乃至「メニュー−Ｎ」を含んでおり、ここでＮは所定のＤＶＤ−ＲＯＭで記憶されるようにオーサリングされたメニューの総数である。各メニューオブジェクトはさらにそれぞれのボタンリストオブジェクト（例えばオブジェクト1161）を含んでおり、各ボタンリストオブジェクトはボタンオブジェクト（「ボタン−１」1162ａ乃至「ボタン−Ｂ」1162ｂ）を含んでおり、各ボタンオブジェクトはボタン特性オブジェクト（例えばオブジェクト1163）に連結されている。Ｂはそれぞれのメニューのボタンの総数を示している。
【００６８】
最後に、接続セットリスト1107はそれぞれの接続リスト（即ち「接続リスト−１」1170ａ乃至「接続リスト−ＣＬ」1170ｂ）を含んでおり、ＣＬは所定のＤＶＤ−ＲＯＭに記憶するようにオーサリングされた接続リストの総数である。各接続リストはさらにそれぞれの接続オブジェクト（即ち「接続−１」1171ａ乃至「接続−ＣＮ」）に連結され、ここでＣＮはフレキシブルなプログラム流および制御を容易にするためにオーサリングされた接続の総数である。各接続オブジェクト（1171ａ乃至1171ｂ）は、以下さらに説明するように、それぞれのソースとそれぞれのターゲット（ソースポインタ変数1172とターゲットポインタ変数1173により示される）との間の動作指向スイッチを表している。
【００６９】
応用可能である場合、各オブジェクトは接続依存オブジェクト（即ち図示されているように“さらにツリーの下部の”オブジェクト）へのポインタを有するインデックスされたオブジェクトリストと、合計変数を含んでいる。オブジェクトリストは、これらのオブジェクトが例えば付加されたチャプタ点またはメニューを示すように作成（“インスタンス化”）されたときに新しい依存オブジェクトを含むように更新される。依存オブジェクトはオーサリング消去にしたがってオブジェクトリストから同様に除去される。合計変数も各対応する依存オブジェクトインスタンチエーションと消去とを示すためにオーサリング期間中に更新される。アンドゥおよびリドゥ動作はオーサリング命令を使用して一般的な方法で処理され、そのオーサリング命令は各オーサリングセッション中にそれぞれのオブジェクト内にさらに一般的に記憶される。
【００７０】
この構造を使用して、データ管理エンジン165 はオーサリング中に生成された制御データをその基本的なコンポーネント部へ分解し濾波し、それによって対応するオブジェクトインデックスデータリスト中にこれを記憶する。それからこれらの基本的なコンポーネント部はオーサリングエンジン160 により検索されるか、必要なときに検索されコンパイラ170 により応用可能な形態に再構成される。
【００７１】
動作において、データ管理エンジン165 はパフォーマンスアセンブリ、メニューレイアウトまたは接続の各オーサリング変形に応答し、それを反映するオーサリングエンジン160 からメッセージを受信する。ボリューム1100はメッセージを受信し、メッセージタイプにしたがって受入れられたオブジェクトのその含まれているオブジェクトリストをポール（投票）し、メッセージを整合した受入れられたオブジェクトに送信する。メッセージがタイトルキーソースまたは（接続ビュー901 でオーサリング選択可能である）第１のプレイのソースに対する参照を含んでいるならば、ボリューム1100はメッセージをそれぞれタイトルキージャンプソース1101または第１のプレイのジャンプソース1120へ送信する。受信したとき、タイトルキージャンプソース1101または第１のプレイのジャンプソース1102は含まれたデータを記憶し、記憶されたデータを消去し、または記憶されたデータを変更する。
【００７２】
受信されたメッセージがビデオ、オーディオまたはサブタイトルファイルへの参照を含んでいるならば、ボリューム1100はメッセージをメディアデータベース1103へ送信する。メッセージがデータ要素を付加する命令を含んでいるならば、メディアデータベース1103はメディアファイルリスト1130中に（メディアファイルへのポインタを含む）データを記憶する。メッセージが記憶されたポインタを消去する命令を含んでいるならば、メディアデータベース1103はポインタを消去する。メッセージが記憶されたポインタを変更する命令を含んでいるならば（例えばファイルが新しい位置へ移動されたならば）、メディアデータベース1103はポインタを位置付け置換する。メディアデータベース1103はさらに付加および消去を示すための合計変数を更新する。
【００７３】
受信されたメッセージタイプが映画のアレンジメント、メニューレイアウトまたは接続の内容に関連するならば、ボリューム1103はそれぞれメッセージを映画リスト1105、メニューリスト1106、または接続リスト1107へ送信する。各映画リスト1105、メニューリスト1106、接続セットリスト1107はこれまで説明したオブジェクトと類似した動作をする。含まれている制御情報の受信されたメッセージにおける各解析はメッセージをそれぞれ対応する映画オブジェクト、メニューオブジェクトまたは接続リストへ送信し、必要なときにその合計変数を調節する。
【００７４】
映画メッセージは例えば映画オブジェクトツリーの下方へ進み、メッセージタイプに基づいて、トラックリスト1152、「トラック−１」1153ａにより濾波され、整合クリップを処理され、またはチャプタリスト1152により濾波され、対応するチャプタまたは（即ち図示されているように）クリップ特性オブジェクトにより処理される。メニューレイアウトデータは同様に、（図示されているように）メニューリストツリーを下方へ進み、整合メニュー特性オブジェクトにより処理され、接続データは（ソースポインタまたは目的地ポインタ変数を参照して）接続オブジェクトにより処理されるまで、接続セットリストツリーを下方へ進む。受信したとき、クリップ特性、メニューキー、エンドキー、メニュー特性または接続オブジェクトはメッセージを処理し、含まれるデータを記憶し、記憶されたデータを消去し、またはメディアデータベースオブジェクト1103と類似の方法で記憶されたデータを変更する。
【００７５】
それぞれの記憶オブジェクトはそのタイプ（即ち各オブジェクト名はオブジェクトが記憶するデータタイプを示すように示されている）にしたがって逐次的にインデックスリストにオーサリングされた変形を記憶する。したがって、例えば映画内のチャプタ点は再生中の第１のチャプタ点から映画の最終的なチャプタ点まで記憶される（しかしながら再生はオーサリング接続により決定される）。リストは、付加、挿入または消去点について拡張または収縮することにより付加、挿入、または消去されたデータに対話的に適合する。
【００７６】
その他のデータ構造が利用され、最小に取付けられたコンピュータを用いて対話的に調節されたインデックスリストと、限定されたオブジェクト定義は比較的少量のデータが各リストに記憶されたならば、オーサーの入力速度に適合するのに十分頑丈である。別の構造が使用されてもよく、例えばそれぞれ少数の限定されたデータセットを含んでいる少数のオブジェクトおよび／またはメニュー、ボタン、システムのその他の状況および／または統計情報の総数を記憶するための要約オブジェクトの付加を含んでいるが、それらに限定されない。しかしながら、このようなアレンジメントはアプリケーション特定演算特性の適当な利得により複雑性を付加することが発見されている。多次元アレイ、多キュー、ローカルおよび／または遠隔で連結されたリストを含む代わりのデータ構造は類似のトレードオフを与えるがそれらに限定されない。
【００７７】
データ管理エンジン165 はデータを記憶するための方法と基本的に反対の方法で記憶されたデータをオーサリングエンジン160 へ戻す。ボリューム1100は、記憶されたデータのリクエストを受信したとき、データタイプのリクエスト呼を解析し、対応するオブジェクトに対してその含まれたオブジェクトリストを検索し、リクエストをタイトルキージャンプソース1101と、第１のプレイジャンプソース1102と、メディアデータベース1103と、ＤＶＤレイアウト特性リスト1105と、映画リスト1106と、メニューリスト1107または接続セットリスト1107を転送する。映画リスト1105と、メニューリスト1106または接続セットリスト1107は、このようなリクエストを受信したとき、その有効なオブジェクトリストを解析し、メッセージが最後の受入れられたオブジェクトにより受信されるまで、映画オブジェクト、メニューオブジェクトまたは接続リストオブジェクトに対応するメッセージを転送する。最後の受入れられたオブジェクトはリクエストされたデータを検索し、データがボリューム1100へ到達するまでリクエストの受信と逆方向でデータを送信する。ボリューム1100はデータを受信したとき、リクエストされたデータをオーサリングエンジン160 へ送信する（エラー処理およびメッセージング機能はそうでなければ一般的な方法で処理される。）。
【００７８】
データ管理エンジン165 はさらに所定のタイプのデータ構成素子の数を合計し、または特定のオブジェクトのデータリストの内容をリビューする目的でオーサリングエンジン160 からの問合わせに応答する。前述のデータ記憶および検索のように、データ管理エンジン165 は情報をリクエストするオーサリングエンジン160 から呼を受信する。ボリューム1100はメッセージを解析し、その有効なオブジェクトリストをポールし、メッセージを対応するオブジェクトへ送信する。映画リスト1105、メニューリスト1106、接続セットリスト1107のようなツリー構造に連結するオブジェクトでは、メッセージは既に説明したようにそれぞれのオブジェクトの下方に転送され、最後の受入れられたオブジェクトが応答する。メッセージリクエストが例えば所定のタイプのデータ構成素子の総数をリクエストしたならば、最後の受入れられたデータはその合計変数をポールするか、必要ならば、対応するデータのデータリストをポールし、対応する発生回数をカウントし、合計を含む応答を返送する。応答はツリー構造を経てボリューム1100へ返送され、ボリューム1100は（合計を含む）メッセージをオーサリングエンジン160 へ送信する。比較的少数のオブジェクトであるならば、（非同期多メッセージング、特に放送メッセージのような）代替は幾つかの便宜性を付加するが、必ずしも複雑性を付加しない。
【００７９】
オーサリングエンジンインオブジェクトのように、データ管理エンジン165 で使用されるオブジェクトタイプ、オブジェクト間メッセージングプロトコルおよびデータオブジェクトは、ここでの説明の内容から、コンピュータ技術の当業者に明白になるであろう。好ましくは、マイクロソフト（商標名）からの入手可能なオブジェクトライブラリが使用される。例えば、好ましい利用可能なオブジェクトおよびデータリストはStandard Template Libraries （標準的なテンプレートライブラリ）、特にExpandable Indexed Buffered/Vectored Lists（拡張可能なインデックスバッファ／ベクトル化されたリスト）を使用する。このようなオブジェクトは拡張可能なリストのフレキシブル性との頑丈な応答と、他の要素の中で、典型的に少数のオブジェクトおよびデータセットを考慮して簡単な参照を行うためのインデックスベクトルを提供する。しかしながら前述したように、オブジェクト指向アーキテクチャおよび／または特別なデータ構造の使用は必須ではなく、多数の一般的な代替が使用されることができる。
【００８０】
説明したように、好ましいデータ管理エンジン165 のオブジェクトの特定のアレンジメントがその他のファクターの中でフレキシブル性、パフォーマンス、適合性にしたがって好ましい。それ故、任意の数の変形が本発明の技術的範囲にしたがって明白になることを留意されよう。
【００８１】
図２および１２を参照にして図１３乃至１８は本発明の好ましい実施形態にしたがったコンパイルを示している。
【００８２】
図１３で全体的に示されているように、コンパイラ170 （図２）は好ましくはオーサリングプロセスによりオーサリングエンジン160 （図２）のインターフェイス 160ａへ入力されるデータに対して動作し、３つの段でデータ管理エンジン165 により記憶される。まず、ステップ1201で、コンパイラ170 は中間スケルトン形態のＰＧＣレイアウトデータ構造を構築する。スケルトン形態のＰＧＣレイアウトデータ構造はＤＶＤプログラムコードセグメント（“プログラムチェーン”または“ＰＧＣ”）抽象と、本発明にしたがった回路網抽象にしたがって形成されることが好ましく、データ管理エンジン165 から集められた要約データだけを使用する。概略的に説明すると、各ＰＧＣ抽象は好ましくは予め定められたコマンドの組合わせからなり、所定のタイプのＰＧＣ数と、所定のタイプのコマンドの組合わせ数（例えばボタンコマンドの組合わせ）はデフォルト値（例えば典型的には１ＰＧＣ）にしたがって、または対応するオーサリングされた構成素子のタイプの数（例えば所定のメニューのメニュー数）にしたがって決定される。
【００８３】
ステップ1203では、コンパイラ170 はインデックスとしてソース−ターゲット接続をデータ管理エンジン165 内のソースおよびターゲット識別子情報へ変換する。ステップ1205では、コンパイラ170 はさらにデータ管理エンジン165 に問合わすることにより検索される識別情報をインデックスと置換する。
【００８４】
図１６は本発明にしたがった好ましいＰＧＣレイアウト構造を示している。示されているようにＰＧＣレイアウト構造は、映画タイトル中の映画の数にしたがって、（ＤＶＤ仕様にしたがった）１つの第１のプレイＰＧＣスペース1301と、１つのビデオマネージャ（“ＶＭＧＭ”）ドメイン1302と、１以上のビデオタイトルセット（“ＶＴＳ”）ドメイン（例えば1303と1304）に分割される。
【００８５】
好ましいＶＭＧＭドメインＰＧＣレイアウト構造は、１つのタイトルキーＰＧ抽象1321と、１つの映画ルータＰＧＣ抽象1322とを含んでいる。その後、ＶＭＧＭ  ＰＧＣ構造は、それぞれオーサリングされたメニュー用の２メニューＰＧＣ抽象（例えば1323ａと1323ｂ）と、オーサーが接続を特定する（各映画の）それぞれ終端コマンド用の１つのＰＧＣ抽象を含んでいる。さらに説明するように、各メニューＰＧＣ抽象対はメニューディスプレイＰＧＣ（例えば1323ａと1324ａ）とメニューボタンルータＰＧＣ（例えば1323ｂと1324ｂ）を含んでいる。
【００８６】
各ＶＴＳドメインＰＧＣレイアウト構造（例えば1303）は映画ディスプレイＰＧＣ1331とビデオタイトルセットメニュー（“ＶＴＳＭ”）区域1332とを含んでいる。ＶＴＳＭ区域はさらに、必要な異なる遠隔キーコマンドの数に基づいて、好ましいレイアウト構造であるならば、接続ビュー901 を使用して選択されたチャプタターゲット接続を実現するために、さらに１乃至４個の遠隔キールータＰＧＣ（例えば遠隔キールータＰＧＣ1332）からなる。特に、
所定のＶＴＳＭの遠隔キールータＰＧＣ数＝
対応する映画／25のチャプタ点の総数
（整数ではないならば、次に高い整数値に四捨五入する）。
【００８７】
それぞれの場合において、フレキシブル性に悪影響せずにＰＧＣ数を最小にすることが試みられている。すなわち、ＰＧＣ数は前述したように示され、ＤＶＤプログラミング仕様207 （図２）の限定に関与せずにメニュー、メニューボタン、プレゼンテーションデータに関連して完全なオーサリングされたフレキシブル性が与えられる。さらに結果的な限定の実用上の影響も最小にされる。
【００８８】
例えばＶＴＳＭ区域計算当たりの遠隔ルータＰＧＣ数は、各チャプタ点の抽象が４を超えるコマンドを必要とすることを示している。これは１２８のコマンドだけがＤＶＤプログラミング仕様207 にしたがって１つのＰＧＣチェーンで許容可能であることを示している。必須ではないが、別々のチェーン内に完全にそれぞれの抽象を位置付け、類似のチェーンを同数にすると、実効的な対称構造が与えられる。ＤＶＤプログラミング仕様207 は１つの映画当り９９までのチャプタ点を与えるので、４つのＰＧＣ抽象の最大値は接続能力に関して悪影響せずに必要とされる。しかしながら、メニューの同一パラメータと計算を考慮すると、２５のメニューボタンだけが接続能力における制限なしに１メニュー当りで利用できることが分かる。しかしながら、実際には（即ち一般的なテレビジョンセットでメニューを表示すること）この数は何等実際には悪影響を生じない。
【００８９】
ＰＧＣレイアウト構造での連続位置の使用は、特定のデータタイプに関係する特定のＰＧＣを発見しＰＧＣ接続を変換するタスクを非常に簡単にする。映画タイトルＰＧＣは常に最初の構成素子であり、映画ルータＰＧＣは常に第２の構成素子であり、ディスプレイメニューＰＧＣは単に既知の定数にメニュー数を２倍にした数を足すことによって常に位置が定められる。
【００９０】
しかしながら、ここでの説明を考慮すると、ＰＧＣ抽象がメモリ120 （図１）のインデックスされたリストとして連続的に配列された構成素子以外を与えることを当業者は認識するであろう。このような変更は、データ管理エンジン165 のように、例えばメモリ、他のメディア、および／または局部的にまたは分布して１以上のメディアに記憶された多数のリスト、キューおよび／または多次元アレイを含んでいるがそれに限定されない。１以上のオーサリングされた位置またはその他の分布された環境が使用される場合、このような方法は便利である。
【００９１】
図１４のフローチャートは図１６を参照して、コンパイラ170 が最初のスケルトン形態で好ましいＰＧＣレイアウトデータ構造を構成する態様を詳細に示している。示されているように、コンパイラ170 はそれぞれステップ1207、1208、1209で第１のプレイＰＧＣ抽象と、タイトルキーＰＧＣ抽象と、メニュールータＰＧＣ抽象をＰＧＣレイアウト構造1300（図１６）中に記憶することにより開始する。次に、ステップ1213で、コンパイラ170 はデータ管理エンジン165 にオーサリングされたメニューの総数MenueTotを問合わせ、ステップ1214でメニューポインタMenuePtrを開始する。ステップ1215で、コンパイラ170 はデータ管理エンジン165 に現在のメニュー（例えば最初は第１のメニュー）でオーサリングされたボタンの総数ButtonsTotを問合わせる。MenueTotは、コンパイラ170 が構造に付加する予め定められたメニューディスプレイとメニューディスプレイボタンルータＰＧＣ抽象（即ち“メニューＰＧＣ抽象対”）の数を特定し、ButtonsTotはコンパイラ170 が現在のメニューＰＧＣ抽象対の各ＰＧＣに付加するコマンド数を特定する。
【００９２】
ステップ1216で、コンパイラ170 は現在のオーサリングされたメニュー（例えば最初は第１のメニュー）のボタンの存在および総数に対応してメニューＰＧＣ抽象対をＶＭＧＭ  ＰＧＣ構造1302（図１６）に付加する。ステップ1217で、１以上のメニューがまだＶＭＧＭ  ＰＧＣ構造1301に付加されていないならば、コンパイラ170 はメニューカウンタをインクリメントとし、ステップ1211へ戻る。
【００９３】
この点で、コンパイラ170 は各現在のメニューのMenueTotとそれぞれのButtonsTot値以外のオーサリングされた情報を欠いている。同様に、さらにオーサリングされた詳細はスケルトン形態のＰＧＣレイアウト構造のその他のＰＧＣでも欠如している。しかしながら、本発明の好ましいＰＧＣおよび回路網抽象は単にゼロ値（“無動作命令”）を未知の接続情報（即ちソース−ターゲット識別情報）に対して抽象化されたＰＧＣのコマンドに挿入することによって、コンパイラ170 が欠如しているオーサリングされた詳細に適合することを可能にする。説明するように、コンパイラ170 は好ましくは後に編集でこれらの無動作命令を変換する。これらの抽象はさらに、メニューＰＧＣが映画および映画アレンジメントと独立して生成されることを可能にする。したがって、独立して生成／知覚されたメニューＰＧＣは広範囲のフレキシブル性を与え、好ましい接続ビュー901 のようなユーザフレンドリなインターフェイスを使用してオーサーが任意のメニューの有効なメニューボタンを任意の潜在的なターゲットへ連結することを可能にする。
【００９４】
代わりにステップ1217において、全てのオーサリングされたメニューレイアウトが対応するメニューＰＧＣ抽象対により示されるならば、コンパイラ170 はステップ1219へ進む。ステップ1219で、コンパイラ170 はデータ管理エンジン165 に映画の総数MovieTotを問合わせ、これはコンパイラ170 が終了コマンド、ＶＴＳ、ＶＴＳ内容を作成するために使用される。ステップ1221では、コンパイラ170 は現在の映画ポインタ（“MoviePtr”）と２つのカウンタ“EndTot”と“Remote”を初期化する。コンパイラ170 はオーサーが接続を特定している各映画の有効なチャプタ終了状態の数をカウントするためにEndTotを使用し、オーサーが接続を特定している有効な再生解釈状態の数をカウントするために（即ち典型的に遠隔制御装置でＤＶＤプレーヤ制御をユーザが押すことによって）Remoteを使用する。
【００９５】
ステップ1223で、コンパイラ170 はデータ管理エンジン165 に現在の映画（即ち最初に第１の映画）のチャプタの総数（ChapterTot）を問合わせ、ステップ1225で、現在のチャプタ点（ChapterPtr）を初期化する。ステップ1227で、オーサーは現在のチャプタのターゲット、チャプタ終了の条件を（即ち接続ビュー901 を使用して）特定し、ステップ1229で、コンパイラ170 はEndTotをインクリメントし、そうでなければ、コンパイラ170 はステップ1231へ進む。同様に、ステップ1231で、オーサーが現在のチャプタのターゲット、遠隔制御キー再生解釈（“遠隔キー”）条件を特定し、ステップ1233で、コンパイラはRemoteをインクリメントし、そうでなければコンパイラ170 はステップ1235へ進む。
【００９６】
オーサリングされた接続の存在はチャプタ終了および遠隔キー状態の両者で類似して決定される。好ましくはオブジェクト1101−1163（図１２）は実際のソースとターゲット識別子情報（即ちオーサリングされたソースおよびターゲットに対応して）を含んでおり、一方接続オブジェクト（例えば1171ａ）はこれらのオブジェクトにより記憶されたデータへのポインタを含んでいる。別の説明をすると、新しい潜在的なソースがオーサリングされるとき、接続オブジェクトがインスタンス化され、潜在的なソースを指向するソースポインタとゼロ値のターゲットポインタを含んでおり、オーサーが後でこのようなソースを接続したならば、対応する接続オブジェクトターゲットポインタ値はターゲットオブジェクトへのポインタにより置換される（オーサーによる次の編集は対応して接続オブジェクトを削除またはインスタンス化および／またはソースポインタまたはターゲットポインタ値を変更する）。
【００９７】
それ故、コンパイラ170 は現在選択されたチャプタ−オブジェクトを指すソースポインタの各接続オブジェクトを最初に問合わせることにより接続された終了コマンドの存在を決定する。一度発見されると、コンパイラ170 は対応するターゲットポインタをチェックする。ゼロ値のターゲットポインタは接続されていない終了コマンドを示し、一方、ゼロではない値のターゲットポインタは接続の存在を示す。遠隔キー（即ち図１２の“メニューキー”）接続は、現在のチャプタメニューキーオブジェクト中の識別子（例えば1157）を発見し、接続オブジェクトの１つで対応するソースポインタを発見し、対応するゼロではない値のターゲットポインタの存在を接続オブジェクトに問合わせることによって同様に決定される。
【００９８】
当業者は、前述の説明を考慮して、前述の構造の相当な変形が同一の関連するまたは類似の機能を与えることを認識するであろう。例えば、識別子、ラベル、完全な映画ツリー、メニューツリーおよび／または他のオブジェクトは接続ツリー（即ちオブジェクト1107−1173）内に含まれるか、その中で複製される。ソースの消去にかかわらず残留する接続オブジェクトのように、１つの接続オブジェクト（即ち全ての接続の１つのリストを有する）も使用される。その他の変化も予測される。しかしながら、現在の構造は、数ミリ秒のみのコンパイル時間を与え、メモリの使用を最小にし、さらにこれらのオブジェクト（およびそれらに含まれるデータ）を分離することによって、デバック、エミュレーション、シミュレーションおよび全体的な対称を行う点で好ましい。シミュレーションでは、例えばＤＶＤ仕様により課される限定は制御ではなく、それ故、シミュレーションは好ましく一体化されていないデータ管理エンジン165 のオブジェクト構造から直接オーサリングされていないデータをさらに効率的に使用できる。
【００９９】
図１４を参照すると、ステップ1235で、さらに多くのチャプタが現在の映画に残留するならば、コンパイラ170 はChapterPtrをインクリメントし、ステップ1227へ戻り、そうでなければ、コンパイラ170 はステップ1237へ進む。ステップ1237で、コンパイラ170 は１−４ＰＧＣ、終了コマンドルータＰＧＣ抽象をレイアウト構造1300（図１６）へ付加する。ステップ1238で、コンパイラ170 は現在の映画に対するＶＴＳドメイン（即ちＶＴＳＭを含む）を作成し、ステップ1239でＶＴＳドメインへ映画ディスプレイＰＧＣを付加し、ステップ1240で１−４ＰＧＣ、遠隔キーＰＧＣ抽象を付加する。
【０１００】
ステップ1241で、さらに多くの映画が現在の映画タイトル中に残留する（即ちMovieTotとMoviePtrとの比較により試験される）ならば、コンパイラはステップ1243でMovieTotをインクリメントし、ステップ1245でEndTotとRemoteを再度初期化し、ステップ1223へ戻る。そうでなければ、スケルトン形態のＰＧＣレイアウト構造は終了される。
【０１０１】
図１５のフローチャートは図１２を参照して、コンパイラ170 が（スケルトン形態の）ＰＧＣレイアウト構造1300の無動作命令をそれぞれソースとターゲットへのインデックス（即ちソースまたはターゲットポインタ）と置換し、さらに、インデックスを構成素子識別子と置換する態様を示している。ステップ1251で、コンパイラ170 は映画ポインタ（“MoviePtr”）を第１の映画に初期化し、チャプタポインタ（“ChapterPtr”）を第１のチャプタへ初期化し、メニューポインタ（“MenuePtr”）を第１のメニューに初期化し、ボタンポインタ（“ButtonPtr ”）を第１のボタンに初期化する。
【０１０２】
ステップ1253で、コンパイラ170 はデータ管理エンジン165 （即ち接続オブジェクト）に、次の（最初に第１の）オーサー接続ボタンへのソースポインタを問合わせる。前述したように、接続オブジェクトは対応するゼロではない値のターゲットポインタを有する対応するソースのソースポインタをチェックする。（図１４のような接続の存在ではなく）特別な接続の値がこの場合には必要とされるので、使用される問合わせはこのようなソースポインタの復帰を生じる。ステップ1255で、コンパイラ170 はデータ管理エンジン165 に対応するターゲットポインタを問合わせるため復帰したソースポインタを使用し、ステップ1257で、コンパイラ170 はデータ管理エンジン165 に、ソースおよびターゲットポインタに対応するソースおよびターゲット識別子を問合わせるために（例えばボリューム1100、メニュー−１  1160ａ、ボタン−１  1162ａへのボタンリスト1161により）復帰したインデックスを使用する。ステップ1259で、コンパイラ170 は（現在のメニューＰＧＣ抽象対の）現在のボタンコマンド無動作命令を、復帰した識別子と置換する。
【０１０３】
ステップ1261で、より多くのボタンが現在のメニューで変換されていないならば、コンパイラ170 はステップ1263でButtonPtr をインクリメントし、ステップ1253へ戻り、そうでなければ、コンパイラ170 はステップ1265へ進む。ステップ1265で、メニューは変換されていないならば、コンパイラ170 はMenuPtr をインクリメントし、ステップ1267でButtonPtr を１にリセットし、ステップ1253へ戻り、そうでなければ、コンパイラ170 はステップ1271へ進む。
【０１０４】
全てのメニューボタンの無動作命令を変換し置換すると、コンパイラ170 は次に全てのチャプタ終了コマンドと遠隔キーＰＧＣ抽象無動作命令を類似の方法で変換する。コンパイラ170 はステップ1271で、データ管理エンジン165 に（次に接続された）現在のチャプタ終了コマンドソースポインタを問合わせ、ステップ1272でデータ管理エンジン165 に対応するターゲットポインタを問合わせるため復帰されたソースポインタを使用し、ステップ1273でデータ管理エンジン165 に対応する識別子を問合わせるためポインタを使用し、ステップ1274で対応するレイアウト構造1300ＰＧＣコマンドを、復帰された識別子と置換する。同様に、コンパイラ170 はステップ1277で、データ管理エンジン165 に（次に接続された）現在の遠隔キーソースポインタを問合わせ、ステップ1278でデータ管理エンジン165 に対応する識別子を問合わせるために復帰されたポインタを使用し、ステップ1279で対応する識別子をデータ管理エンジン165 に問合わせるためにポインタを使用し、ステップ1280で対応するレイアウト構造1300ＰＧＣコマンドを復帰された識別子と置換する。
【０１０５】
ステップ1283で、さらに多くのチャプタがまだ変換されていないならば、ステップ1285でコンパイラ170 はチャプタ点をインクリメントし、ステップ1271へ戻る。代わりに、現在の映画で変換されていないチャプタがないならば、ステップ1286でコンパイラ170 はステップ1286へ進む。ステップ1286で、コンパイラ170 はデータ管理エンジン165 に（即ちボリューム1100を経て図１のメディアデータベース1103へ）現在の映画を参照する全てのオーディオおよびビデオファイル参照を問合わせる。ステップ1287で、コンパイラ170 はマルチプレクサ185 を呼出し、これは参照されたオーディオおよびビデオファイルを検索し、通常の方法で、ＤＶＤ仕様のＤＶＤディスクフォーマット仕様205 （図２）にしたがって、結果的な多重化されたデータファイルを出力する。
【０１０６】
ステップ1288で、より多くの映画がレイアウト構造1300で変換されていないならば、コンパイラ170 はステップ1289で次の映画と最初のチャプタのポインタをリセットし、ステップ1271へ戻る。そうでなければ、（類似の方法で）コンパイラ170 は第１のプレイ、タイトルキージャンプソース、メニュールータ無動作命令をそれぞれステップ1291、1293、1295で実行する。その後、ステップ1297でコンパイラ170 は記憶されたファイルとしてＰＧＣレイアウト構造を保存する。
【０１０７】
図１４と１５を考慮して、オーサリングされた構成素子値の合計（即ちMenusTotとButtonsTot等）は、既に前述したように、対応するリストオブジェクトまたは、リストオブジェクトと機能的に等しいオブジェクトで進行をベースで維持される。例えば、映画リストオブジェクト1105（図１２）は、全てのインスタンス化された映画オブジェクトの参照を含んでいるリストに加えて、１以上のオーサリングセッション中に現在の映画タイトルの映画の総数を更新するための変数を含んでいる。同様に、ボタンリストオブジェクト1161はインスタンス化されたボタンオブジェクトのリスト（例えば1162ａ乃至1162ｂ）と、メニュー−１でボタンの総数を示す変数を含んでいる。他のリストオブジェクトは同様に、オーサリング中に更新されている進行中の合計を含んでいる。１つの理由は、幾つかの早期の世代のＤＶＤプレーヤはＰＧＣを記憶するための有効なメモリスペースが限定され、これは対応して本発明がオーサリングされることを可能にする構成素子（例えばメニュー、メニューボタン、チャプタ）の数を制限するためである。これらの制限および／または現在の合計はそれ故、インターフェイス 160ａを経てオーサーに選択的に伝送される。進行中の合計も、このような合計を計算するためのコンパイル中に時間が必要とされない点で有効である。
【０１０８】
しかしながら、当業者により理解されるように、ＤＶＤプレーヤは、拡張されたＤＶＤ能力と非ＤＶＤシステムの要求する条件にしたがって、現在のＤＶＤ仕様と一致して増加しているリソースで製造されるので、合計値はコンパイル目的以外では重要にならない。このようなケースでは、合計は代わりに、コンパイル中に計算されることができる。
【０１０９】
好ましくは予め決定されたコマンドの組合わせと好ましいＰＧＣレイアウト構造とを具備する好ましくは予め決定されたＰＧＣ抽象タイプの使用は、したがってその他の利点の中で、オーサリングされたフレキシブル性が最大でコンパイルが実効的であることを提供する要因である。利用可能な接続は、コンパイル中に事実上無動作命令の置換が行われるまで、オーサリング動作中は完全にフレキシブルである。ＰＧＣ抽象の好ましい構造はさらに、スケルトンが要約オーサリングデータのみで構成されるのでコンパイル効率に付加され、オーサリングの詳細は迅速に以後付加されることができる。
【０１１０】
図１６を参照にしている図１７および１８は、本発明にしたがった好ましい回路網または“接続切替え”抽象を示している。接続切替え抽象は、映画タイトルの再生中にのみ動作的にアクティブである一方で、コンパイル170 により生成されるＰＧＣ抽象を決定する要素と、データ管理エンジン165 とインターフェイス 160ａとオーサリングエンジン160 （図２）により使用される映画、メニュー、接続映画タイトル抽象を決定する要素である。
【０１１１】
多重化されたデータ流およびＤＶＤプレーヤ構造と、データゴーマット、プロトコル、データの負荷を含んでいるがそれに限定されないＤＶＤ仕様の詳細は、当業者に知られており、それ故、本発明の理解に必要な程度だけ説明する。
【０１１２】
ＤＶＤプログラミング仕様207 （図２）は、第１のプレイスペース、ビデオマネージャ（“ＶＭＧＭ”）、および任意の９９のビデオタイトルセット（“ＶＴＳ”）を含むバーチャル構造に（対応するプレゼンテーションデータと共に）ＰＧＣが存在することを規定し、これはそれぞれビデオタイトルセットメニュースペース（“ＶＴＳＭ”）を含んでいる。しかしながら、このバーチャル構造の制限の中で、最初に初期ＶＴＳまたはＶＴＳＭのＰＧＣは、別のＶＴＳ（またはＶＴＳＭ）に記憶されたＰＧＣを直接トリガー（即ちＤＶＤジャンプコマンドを使用してジャンプ）することはできない。例えば、初期ＶＴＳのＰＧＣは“プレゼンテーションデータのチャプタを再生”でき、チャプタ再生の終結は“フォロウアップ”ＰＧＣをトリガーでき、フォロウアップＰＧＣは異なるＶＴＳに記憶されることができない。同様に、ＤＶＤ消費者メニューボタン付勢に応答することに使用される初期ＰＧＣは異なるＶＴＳに記憶される第２のＰＧＣをトリガーできない。さらに関連する限定は、パフォーマンスデータのフォーマットが所定のＶＴＳ内で一定でなければならないことである。そこで例えば１つのアスペクト比を有するビデオデータ流は、異なるアスペクト比を有する別のビデオデータ流と同一ＶＴＳに記憶されることはできない。
【０１１３】
図１７の機能図は、好ましい接続切替え抽象が、フレキシブルで頑丈な機能的上位構造を与える態様を示しており、上位構造内では、映画タイトル、ＤＶＤプレーヤ、対話的に生じる消費者制御事象が伝送され実行される。図面では、ＶＴＳ−Ａ  1303とＶＴＳ−Ａ＋１は映画タイトルのコンパイル中に作成されている任意の２つの異なるＶＴＳを例示する。図示された接続の矢印は１つのボックス（即ちＰＧＣ抽象、ＰＧＣまたはコマンドセット）から、接続ビュー901 （図９）のオーサーの使用から生じ得る別のボックスへの“パス”だけを示していることに留意すべきである。したがって図示されているよりも少数の接続がオーサリングされ、１つのボックスから別のボックスへの各パスはＤＶＤプレーヤによる１つの“ジャンプコマンド”または１つの制御転送を使用して個別に実現される。（ボックスの各対の間で個々の矢印を代わりに使用しなければ本発明を不明瞭にするので、多数の接続された矢印および共有された矢印の使用は図面を明瞭にする目的だけに使用されている）。
【０１１４】
各ＶＴＳ内で、映画ディスプレイＰＧＣ抽象のみが“制御ＰＧＣ”として動作し（即ちメニューおよび／または映画ディスプレイを制御する）。例えばＶＴＳ−Ａ1303は映画ディスプレイＰＧＣ抽象1331と、（そのＶＴＳＭドメイン1322内に）遠隔キーＰＧＣ抽象1322ａを含んでいる。映画ディスプレイＰＧＣ抽象1331は、チャプタを選択しチャプタの再生を初期化するためのコマンドセット（“事前コマンド”）とチャプタ終了の再生条件が発生したときにルーティングを初期化する終了コマンド、“セルコマンド”とを含んでいる１つのＰＧＣを具備している。自動ＤＶＤプレーヤ機能を示す遠隔メニューキー1431ａは遠隔キー状態（即ちユーザが遠隔メニューキーを押して再生を中断する）をトラップし転送する。ＶＴＳＭ−Ａ1322の遠隔メニューキールータＰＧＣ抽象1322ａは対応する遠隔メニューキーの状態（即ち消費者が再生中に遠隔メニューキーを押した場合）に対するオーサリングされたターゲットを設定し、ＶＭＧＭ1302内の対応する映画ＰＧＣ抽象またはメニューＰＧＣ抽象に制御をルート設定する。その他のＶＴＳ（例えばＶＴＳ−Ａ＋１）は同様に現在のＤＶＤ映画タイトル内の各映画のために構成される。
【０１１５】
各遠隔メニューキールータＰＧＣ抽象は、４つまでのＰＧＣを含んでおり、それによってＤＶＤ仕様の１つの映画限定当り９９までのチャプタ点を有する。第１の遠隔メニューキーＰＧＣは常にルートメニューとして割当てられ、（ＤＶＤ仕様にしたがって）任意の遠隔メニューキー状態に対して常にハードワイヤ結合（即ち変更不能）にされたターゲットである。それ故、遠隔メニューキー条件のチャプタ依存ルーティングを与えるため、ＤＶＤプレーヤシステムレジスタはまず最後にプレイされたチャプタを問合わせられなければならない。戻された最後にプレイされたチャプタ情報を使用して、プログラム実行が対応するオーサリングされた遠隔メニューキールータＰＧＣに伝送される。
【０１１６】
ＶＴＳＭ1302は、説明したメニューディスプレイＰＧＣ（例えば1322）と、（メニュー制御を行うための）メニューボタンルータＰＧＣ（例えば1323ｂ抽象対）と、残りのルータＰＧＣ抽象を具備している。特に、映画ルータＰＧＣ抽象1322はＶＴＳドメイン間の再生ブリッジとして動作し、第１のＶＴＳの遠隔キーＰＧＣ（例えばＶＴＳ1303の遠隔キーＰＧＣ1322ａ）から制御を受信し、第２のＶＴＳの映画ディスプレイＰＧＣ抽象（例えばＶＴＳ1304の映画プレイＰＧＣ1341）へ制御を転送する。対照的に、エンドルータＰＧＣ抽象（例えば1325と1326）はチャプタ終了の状態から、選択された映画の選択されたチャプタ、または選択されたメニューの選択されたメニューボタンへ制御をルート設定するためにオーサー接続されることができる。
【０１１７】
示されているように、別々のＰＧＣが各オーサー接続されたチャプタ終了状態に対して与えられる。各終了コマンドルータＰＧＣ抽象は特定の終了コマンドと対をなし（即ち応答し）、それによって所定の映画の各チャプタ終了状態は終了再生から特定の終了ルータＰＧＣ抽象へ導かれる。別々の終了コマンドＰＧＣが現在の世代のＤＶＤプレーヤの欠陥のために必要とされ、それによって最後にプレイされるチャプタはチャプタ再生の最後で信頼できる利用ができない。しかしながら、将来の世代のＤＶＤプレーヤの欠陥の補正においては、終了コマンドルートの設定は遠隔メニューキーＰＧＣ抽象と一貫した方法で（即ち１つの映画で４つまでの終了コマンドルータＰＧＣを使用して）実現されることができる。
【０１１８】
メニューディスプレイＰＧＣ抽象（例えば1323ａ）は、ターゲットとして制御を受信するとき、その後消費者がメニューナビゲーションボタンを押し続けると、メニューボタンを強調しメニューを表示することによって制御を実現する。しかしながら、消費者がメニューボタンを付勢したならば、ＤＶＤプレーヤは対応するルータＰＧＣ抽象（例えば1323ｂ）を初期化し、これは制御（即ちオーサリングされた接続にしたがって）を映画ディスプレイＰＧＣまたはメニューディスプレイＰＧＣへ導く。
【０１１９】
図面を明瞭にする目的で、第１のプレイＰＧＣ抽象1301とタイトルキーＰＧＣ抽象1321（図１６）は図１７では示されていない。それらはそれぞれ、終了コマンドルータＰＧＣとメニュールータＰＧＣのようにメニューディスプレイＰＧＣまたは映画ディスプレイＰＧＣに制御を転送するように動作する。第１のプレイＰＧＣ1301は別々のＤＶＤプレーヤ記憶位置に記憶され、タイトルキーＰＧＣ1321はＶＭＧＭ1302に記憶される。
【０１２０】
ここに記載されている説明から、当業者は非常に多数の変形が使用されてもよいことを認識するが、異なった接続切替え抽象およびＤＶＤプレーヤに関して繰り返し行われた実験から、いくつかの考慮すべき事項が明らかになっている。たとえば、コマンド実行遅延は、ＰＧＣ実行の結果として発生する必要があり、さらに大きい遅延は典型的に、ＶＴＳ（たとえば、1303および1304）とＶＭＧＭ1302との間における制御の転送の結果生じる。別の例は、映画のスタート前に発生した遅延が非常に多数のメニューであることが可能なもののためにナビゲーション中の類似の遅延よりも許容可能であることが認められることである。さらに別の例は、類似の転移に対して一致した遅延期間が類似した転移に対して一致しない遅延より許容できることである。
【０１２１】
したがって、好ましい接続切替え抽象は一般に対称的な構造を提供し、遅延は最少数のＰＧＣおよびＰＧＣコマンドを有するソース−ルータ−ターゲット実行通路によって最初に最小化される。映画表示ＰＧＣ抽象はさらに各ＶＴＳ内に同様に配置され、一方メニューＰＧＣ抽象対はＶＭＧＭ1302内に同様に配置される。（オーサーは一般に、制御が対応したＶＴＳの外部に導かれる前にＤＶＤプレーヤが映画の全てのチャプタを連続して再生するように任意の所定の映画内の最後のチャプタの終了コマンドだけを接続することに注意されたい）。さらに、映画ルータ1322は、ＶＴＳ間における転移に対してのみ使用される。これは、たとえば、映画間の再生とメニュー間の再生との間の一致しない遅延がメニュー−映画再生またはその他代りのものによって与えられる別の遅延より許容できることを反映する。（たとえば、映画および、またはメニュールート機能の別の分布および、または再分布は、主観的にあまり許容できない結果を生むことが認められている）。さらに、それによって映画ルータ1322の複雑さとＰＧＣの長さが減少する。しかしながら、これらのすでに短い遅延期間は、ＤＶＤプレーヤ技術が進歩するにしたがってさらに減少することが予想され、またこのような考慮事項の重大性が結果的に軽減されることは、当然ながら別の接続切替え抽象変形に貢献することを理解すべきである。
【０１２２】
図１８のフローチャートは、好ましい接続切替え抽象1400の動作を大まかに示している。ステップ1503において、第１の再生ＰＧＣ抽象は、映画−タイトルのＤＶＤプレーヤ中への挿入に応答して呼出される。第１の再生ＰＧＣ抽象（すなわち、この時点で、現在のＰＧＣ抽象）は、ターゲット情報（すなわち、ターゲット識別子、および必要ならばターゲットパラメータ）を決定する。ステップ1505において、ルータが必要とされた場合、ステップ1507で現在のＰＧＣ抽象がターゲット情報および制御を次のルータ抽象にルートを定められ、動作がステップ1511に戻る。ステップ1505でルータが要求されない場合には、ステップ1509で現在のＰＧＣ抽象はターゲットＰＧＣへターゲット情報を導く。
【０１２３】
ステップ1511において、ターゲットがチャプタでない（すなわち、チャプタの再生が結果的に得られるオーサリングされた事象でない）場合、ステップ1513においてターゲットはメニューを表示し（すなわち、ターゲット情報にしたがって）、ＤＶＤプレーヤは選択されるべきメニューボタンを待つ（すなわち、ステップ1513からステップ1515までは待機ループとして動作する）。ステップ151 においてメニューボタンが選択された場合、ステップ1517において現在のＰＧＣ抽象は選択されたボタンに対してオーサリングされたターゲット情報を設定し、動作がステップ1505に戻る。
【０１２４】
その代りにステップ1511においてターゲットがチャプタである場合、ターゲットはチャプタの再生を開始する。さらにステップ1525においてチャプタの再生中に顧客が遠隔メニューキーを呼出した場合、ステップ1527において現在のＰＧＣ抽象はオーサリングされたターゲット情報を設定し、動作がステップ1505に戻る。ステップ1525において遠隔メニューキーが呼出されず（すなわち、チャプタ再生がその終結まで中断されず）、チャプタ終了コマンドターゲットがオーサリングされている場合、ステップ1537において現在のＰＧＣ抽象はオーサリングされたターゲット情報を設定し動作がステップ1505に戻る。ステップ1535においてチャプタ終了コマンドターゲットがオーサリングされていない場合、ステップ1545において動作が続行する。
【０１２５】
ステップ1545においてチャプタが現在の映画中にまだ他にもある場合、ステップ1543においてＤＶＤプレーヤはチャプタ数をインクレメント（増分）し、動作がステップ1523に戻る。その代りにステップ1545において現在の映画の中に未再生のチャプタが残っていない場合、プレーヤは再生を保留し、（いくつかのモデルでは）それ自身オフに切替わる。
【０１２６】
簡明にするために、以下、例示によって図１７を参照して、好ましい接続切替え抽象1400の動作もまた説明する。たとえば、第１の再生に対してオーサリングされた接続が設定され、ＶＳＴ−Ａ1303に記憶された第１の映画の第１のチャプタの再生を開始させた場合、ＤＶＤ映画タイトルをＤＶＤプレーヤ中に挿入した時に、映画表示ＰＧＣ抽象1331が呼出される。映画表示抽象1331は第１のチャプタの再生を選択し、開始する。
【０１２７】
第１のチャプタ再生が遠隔メニューキー状態によって中断された場合には、ＤＶＤプレーヤはこの状態を自動的にトラップし（すなわち、ボックス1431a ）、ＶＴＳＭ−Ａ1322の遠隔メニューキールータ1322a のルートメニューＰＧＣを開始する。さらに、第１の映画中に存在するチャプタが２５個未満であると仮定すると、遠隔メニューキールータ1322a のルートメニューＰＧＣ（すなわち、ここでは現在のソースＰＧＣ抽象）が第１のチャプタ遠隔メニューキー状態に対するオーサー選択ターゲットを設定し、制御を映画ルータ1322またはＶＭＧＭ1302内のメニュー表示ＰＧＣ（たとえば、1323または1324）のいずれかにルートする。映画ルータ1322が制御を受取った場合、受信時に、映画ルータはさらに制御を、この場合にはＶＴＳ−Ａ＋１1304の映画表示ＰＧＣ1341であるオーサー接続映画表示ＰＧＣにルートし、この映画表示ＰＧＣ1341はＶＴＳ−Ａ＋１映画のオーサー選択チャプタの再生を設定および開始する。
【０１２８】
その代りに第１の映画の再生が中断されず、第１の映画の最後のチャプタだけがオーサー選択終了コマンドを含んでいる場合、ＤＶＤプレーヤは、最後の映画の終了まで第１の映画の後続するチャプタを連続して再生する。最後の映画の終了において、ＤＶＤプレーヤは、再生された最後のチャプタであるチャプタ、すなわちＶＴＳ−Ａ映画の最後のチャプタと一致する終了ルータ1325（ＶＴＳＭ1302における）中のＰＧＣに制御を転送するセルコマンド1431b （すなわち、終了コマンド）を実行する。（この場合、ＶＴＳ−Ａ映画の中の１つのチャプタだけが接続されたチャプタ再生の終了状態を有し、終了ルータ1325は対応したＰＧＣを１つしか含まない）。
【０１２９】
制御を終了コマンド1431から受取った時、終了ルータ1325（すなわち、この時点では、現在のソース）は、それ自身に含まれている対応したオーサー接続ターゲットを設定する。ターゲットがＶＴＳ−Ａ＋１映画であると仮定すると、終了ルータ1325はさらに制御をＶＴＳ−Ａ＋１映画表示1304のＰＧＣ1341にルート設定し、このＰＧＣ1341が終了ルータ1325によって設定されたＶＴＳ−Ａ＋１映画のチャプタにしたがって再生を設定および開始する。（制御はあるＶＴＳから別のＶＴＳにルート設定されないため、映画ルータ1322は使用されない）。
【０１３０】
その代りに終了ルータ1325の現在のソースＰＧＣ（すなわち、やはりこの例でも終了ルータ1325中の唯一のＰＧＣ）がメニューＮ1323へのオーサー選択接続を含んでいる場合、終了ルータ1325はターゲットパラメータを設定し、制御をメニューディスプレイＰＧＣ1323a にルート設定する。メニューディスプレイＰＧＣ1323a は、受取ったターゲットパラメータにしたがってメニューＮ1323のボタンを強調し、その後メニューＮ1323を表示する。それ以降、メニューディスプレイＰＧＣ1323a はＤＶＤプレーヤによって連続的に呼出され、ボタンを連続的に強調すると共に、それに相応じてメニューＮ1323を連続的に表示し、これらの各動作は割込み（すなわち、競合するＤＶＤ制御機能を顧客が選択することによる）が発生しない状態で顧客がナビゲーションボタンを連続的に押すことにより行われる。しかしながら、顧客が次に表示されたメニューボタンを活動化した場合、ＤＶＤプレーヤはメニューボタンルータＰＧＣ1323b を呼出す。メニューボタンルータＰＧＣ1323b はひとたび呼出されると、活動化されたボタンに対するオーサー選択接続に基づいてターゲットパラメータを設定し、他の場合も同様に行われる。
【０１３１】
この明細書に添付された添え文字Ａは、コンピュータがリストに取り上げた本発明による好ましいＰＧＣ抽象ソースコードを示す。簡明にするために、コンパイルはすでに完了しているものとする。換言すると、最初にスケルトン形態のＰＧＣレイアスト構造で含まれているｎｏ−ｏｐはインデックスによって置換されており、これらインデックスは上述のコンパイラおよびコンパイル方法を使用してソースおよびターゲット識別子に変えられている。
【０１３２】
添え文字Ａで示されているように、好ましいＰＧＣ抽象は多数のＤＶＤプレーヤレジスタを使用する。ＤＶＤ仕様によると、各ＤＶＤプレーヤは１６個の汎用レジスタ（“ＧＰ”）および２０個のシステムレジスタ（“ＳＰ”）を含んでいる。ＧＰは機能的に定められておらず、映画タイトル制御プログラムによる“使用に利用できる”に過ぎない。これと対照的に、ＳＰはＤＶＤプレーヤ動作および映画タイトル制御プログラムインターフェースと一致した完全に確定された目的を有する。
【０１３３】
以下のチャートにおいて、本発明による好ましいＧＰの使用および対応した命名の規定を示す。示されているように、ＰＧＣ抽象は５個のＧＰだけを排他的に使用し、残りのＧＰの最大限の個数のものが別の機能の追加に利用できる状態にされている。
レジスタ      参    照            説    明
ＧＰ10    ストリーム選択      ビット15＝オーディオ流オン／オフ選択
ビット14＝サブタイトル流オン／オフ選択
ビット13＝アングル流オン／オフ選択
ビット10-12 ＝オーディオ流数
ビット7-9 ＝アングル流数
ビット0-6 ＝サブタイトル流数
ＧＰ12    ターゲット          記憶された数＝映画数
映画数
ＧＰ13    ターゲット          記憶された数＝ボタン数
ボタン数
ＧＰ14    ターゲット          記憶された数＝チャプタ数
チャプタ数
ＧＰ15    一時レジスタ        記憶された数＝現在のＰＧＣにより
使用された値
ＳＰ7     再生された          ＤＶＤプレーヤは再生された最後の
最後のチャプタ      チャプタ数でレジスタを充たす
ＳＰ8     最後に強調された    ＤＶＤプレーヤは最後に強調された
ボタン              ボタンでレジスタを充たす
レジスタ使用チャートで示したように、ＧＰはソースＰＧＣ抽象によって主にターゲットＰＧＣ抽象を指定し（すなわち、利用可能な接続を変換し）、ターゲット動作に影響を与えるパラメータをターゲットに送るために使用される。ＧＰはさらに、ターゲットＰＧＣ抽象によって主として位置をつき止められた変数（現在実行中のＰＧＣコマンドセットに関する）を生成し、操作し、呼戻すために使用される。
【０１３４】
たとえば、チャプタの再生を開始する前のある時期に、ソースＰＧＣ抽象はＧＰ10（“ストリーム選択”）に値を記憶する。この値は以降、オーディオ、サブタイトルおよび、またはアングルストリームのいずれが映画再生のために選択されるかをターゲットＰＧＣに示す。別の例は、制御をターゲットＰＧＣ抽象にルート設定する前のある時期に、ソースＰＧＣ抽象はターゲットの指定を、映画ターゲットについてはレジスタＧＰ12（“映画数”）とＧＰ14（“チャプタ数”）とを組合わせたものに、あるいはメニューターゲットについてはＧＰ13（“ボタン数”）に記憶する。最後に、ＰＧＣ抽象はＧＰ15を使用して、一般的に現在のＧＰＣ動作内で使用される値を一時的に記憶することが好ましい。
【０１３５】
ほとんどの場合、所定のレジスタの一部分（“レジスタビット”）だけが使用され、一方それとは対照的に、レジスタチャート中のＧＰ10の使用において認められるように、所定のレジスタが多数の目的のために使用されてもよい。当業者は、好ましい実施形態がある利点を提供することをこの説明から認識するであろう。これらの中から、単一のレジスタまたはレジスタセットを類似した目的のために全ての場合において指定することができ、それによってルート設定またはパラメータの送付のフレキシビリティに悪影響を及ぼさずに複雑さ、必要とされるレジスタの個数、およびＰＧＣ内で必要とされるコマンドの数を最小にすることができる。同様に、多数のデータ値を含むレジスタデータを解析するために必要とされる動作は不要である。しかしながら、本発明の教示と整合したその他の構成は、これらの教示によって容易になる他の用途を考慮して、および本発明の技術的範囲にしたがって可能である。
【０１３６】
本発明はここにおいて特定の実施形態を参照して説明されているが、修正、種々の変更および置換の許容範囲は、上記の開示の中に意図されており、いくつかの例では、示されている本発明の技術的範囲を逸脱することなく、別の特徴を対応的に使用せずに本発明の特徴が使用されることが理解されるであろう。
【図面の簡単な説明】
【図１】  本発明の好ましい実施形態によるオーサリングシステムを示した機能ブロック図。
【図２】  本発明による図１で示されているオーサリングシステムの好ましいオーサリングプログラムをさらに詳細に示した機能ブロック図。
【図３】  本発明による図２のオーサリングプログラムの好ましいパフォーマンス構成素子アレンジメントインターフェイス部のスクリーン画面の図。
【図４】  オーサリングプログラムモジュールと機能をアクセスするための好ましいオーサリングツールバーをさらに詳細に示した図３のスクリーン画面の拡大図。
【図５】  図３のパフォーマンス構成素子アレンジメントインターフェイス部を使用してパフォーマンス構成素子アレンジメントを作成するためにオーサーが使用する例示的な方法を示したフローチャート。
【図６】  図３のパフォーマンス構成素子アレンジメントインターフェイス部がアクティブであるときにオーサリング動作に対するオーサリングプログラムの好ましい応答を示したフローチャート。
【図７】  図３のパフォーマンス構成素子アレンジメントインターフェイス部がアクティブであるときにオーサリング動作に対するオーサリングエンジンの好ましい応答をさらに示したフローチャート。
【図８】  本発明による図２のオーサリングプログラムのメニュー構成素子レイアウトインターフェイス部のスクリーン画面の図。
【図９】  図８のメニュー構成素子レイアウトインターフェイス部を使用してメニューレイアウトを作成することにオーサーが使用する例示的な方法を示したフローチャート。
【図１０】  本発明による図２のオーサリングプログラムの好ましい接続インターフェイス部のスクリーン画面の図。
【図１１】  本発明による図２のオーサリングプログラムの好ましいシミュレータインターフェイス部のスクリーン画面の図。
【図１２】  本発明による好ましいデータ管理エンジンの機能ブロック図。
【図１３】  本発明による好ましいコンパイラの動作の全体を示したフローチャート。
【図１４】  本発明によるコンパイラがスケルトン形態のＰＧＣレイアウト構造を好ましく構成する態様を示したフローチャート。
【図１５】  本発明によるコンパイラがソースターゲット接続を好ましく解決し、好ましいスケルトン形態のＰＧＣレイアウト構造のゼロ動作のための接続を置換する態様を示しているフローチャート。
【図１６】  本発明による好ましいＰＧＣレイアウト構造のフォーマットを示したブロック図。
【図１７】  本発明による好ましい接続切替え抽象を示した機能ブロック図。
【図１８】  本発明による図１７の接続切替え抽象の好ましい動作を示しているフローチャート。
【図１】
0004101462.tif 000002
【図２】
0004101462.tif 000003
【図３】
0004101462.tif 000004
【図４】
0004101462.tif 000005
【図５】
0004101462.tif 000006
【図６】
0004101462.tif 000007
【図７】
0004101462.tif 000008
【図８】
0004101462.tif 000009
【図９】
0004101462.tif 000010
【図１０】
0004101462.tif 000011
【図１１】
0004101462.tif 000012
【図１２】
0004101462.tif 000013
【図１３】
0004101462.tif 000014
【図１４】
0004101462.tif 000015
【図１５】
0004101462.tif 000016
【図１６】
0004101462.tif 000017
【図１７】
0004101462.tif 000018
【図１８】
0004101462.tif 000019