(57)【特許請求の範囲】
【請求項１】
少なくとも１つのタイム・ベース・メディアと、該少なくとも１つのタイム・ベース・メディアをエンハンスする少なくとも１つのエンハンス・コンテンツとを含むプログラムを提供するための編集システムであって、
プログラムを表すタイムラインを表示するタイムライン・インターフェース（１０６）であって、前記タイムラインは、少なくとも１つのトラック（１０８，１１０，１１２）を含み、前記少なくとも１つのエンハンス・コンテンツは、関連する前記トラックに配置されることにより前記タイムライン上の時間位置と関連付けられ、前記少なくとも１つのタイム・ベース・メディアは、関連する前記トラックに配置されることにより前記タイムライン上の時間位置と関連付けられる、タイムライン・インターフェース（１０６）と、
ユーザに、前記少なくとも１つのエンハンス・コンテンツと前記少なくとも１つのタイム・ベース・メディアとを関係付けるのを可能にして、前記プログラムのための自動同期コンテンツを作成させる手段であって、前記自動同期コンテンツは、前記少なくとも１つのタイム・ベース・メディアと、これに同期した前記少なくとも１つのエンハンス・コンテンツとを含む、手段と、
前記タイムライン上のある時間位置に、前記タイムライン上における時点または期間のいずれかの選択に応じて、前記自動同期コンテンツを表すコンポーネントをユーザが置くのを可能にするユーザ・インターフェースであって、それにより前記コンポーネントが表す前記自動同期コンテンツを前記選択に応じて前記プログラムにおける前記時点または期間と関連付け、前記コンポーネントの指示を前記選択に応じて前記タイムライン上に表示する、前記のユーザ・インターフェースと、
前記タイムライン上において前記自動同期コンテンツに含まれる前記少なくとも１つのタイム・ベース・メディアに対して編集処理をユーザが実行するのを可能にする手段であって、前記編集処理が前記自動同期コンテンツに含まれる前記少なくとも１つのエンハンス・コンテンツにも実行される、前記の手段と、
を備えた編集システム。
【請求項２】
請求項１記載の編集システムにおいて、前記自動同期コンテンツを表す前記コンポーネントを、ロケータ・コンポーネント（１１４）を用いて前記タイムライン上のある時点に置く、編集システム。
【請求項３】
請求項１記載の編集システムにおいて、前記自動同期コンテンツを表す前記コンポーネントを、ソース・クリップ・コンポーネント（１１６）を用いて前記タイムライン上のある期間に置く、編集システム。
【請求項４】
請求項１記載の編集システムにおいて、前記少なくとも１つのトラックは、少なくとも１つのタイム・ベース・メディア用トラックと少なくとも１つのエンハンス・コンテンツ用トラックを含み、前記自動同期コンテンツに含まれる前記エンハンス・コンテンツを、前記少なくとも１つのエンハンス・コンテンツ用トラック上に置き、前記自動同期コンテンツに含まれる前記タイム・ベース・メディアを前記少なくとも１つのタイム・ベース・メディア用トラック上に置く、編集システム。
【請求項５】
請求項１から４のいずれかに記載の編集システムであって、さらに、前記タイムライン上のある時間位置にエンハンス・コンテンツを表すコンポーネント（１１４，１１６）をユーザが置くのを可能にする手段を含む、編集システム。
【請求項６】
少なくとも１つのタイム・ベース・メディアと、該少なくとも１つのタイム・ベース・メディアをエンハンスする少なくとも１つのエンハンス・コンテンツを含むタイム・ベース・プログラムを提供する、コンピュータにより実行される方法であって、
プログラムを表すタイムライン（１０６）を表示し、該タイムラインは、少なくとも１つのトラック（１０８，１１０，１１２）を含み、前記少なくとも１つのエンハンス・コンテンツは、関連する前記トラックに配置されることにより前記タイムライン上の時間位置と関連付けられ、前記少なくとも１つのタイム・ベース・メディアは、関連する前記トラックに配置されることにより前記タイムライン上の時間位置と関連付けられる、ステップと、
ユーザに、前記少なくとも１つのエンハンス・コンテンツと前記少なくとも１つのタイム・ベース・メディアとを関係付けるのを可能にして、前記プログラムのための自動同期コンテンツを作成させるステップであって、前記自動同期コンテンツは、前記少なくとも１つのタイム・ベース・メディアと、該タイム・ベース・メディアに同期した前記少なくとも１つのエンハンス・コンテンツとを含む、ステップと、
前記タイムライン上のある時間位置に、前記タイムライン上における時点または期間のいずれかの選択に応じて、前記自動同期コンテンツを表すコンポーネントをユーザが置くのを可能にするステップであって、これにより前記コンポーネントが表す前記自動同期コンテンツを前記選択に応じて前記プログラムにおける前記時点または期間と関連付け、前記コンポーネントの指示を前記選択に応じて前記タイムライン上に表示する、前記のステップと、
前記タイムライン上において前記自動同期コンテンツに含まれる前記少なくとも１つのタイム・ベース・メディアに対して編集処理をユーザが実行するのを可能にするステップであって、前記編集処理が前記自動同期コンテンツに含まれる前記少なくとも１つのエンハンス・コンテンツにも実行される、前記のステップと、
を備えた方法。
【請求項７】
コンピュータ・プログラムであって、少なくとも１つのタイム・ベース・メディアと、該少なくとも１つのタイム・ベース・メディアをエンハンスする少なくとも１つのエンハンス・コンテンツとを含むプログラムを提供する方法であって、
プログラムを表すタイムライン（１０６）を表示し、該タイムラインは、少なくとも１つのトラック（１０８，１１０，１１２）を含み、前記少なくとも１つのエンハンス・コンテンツは、関連する前記トラックに配置されることにより前記タイムライン上の時間位置と関連付けられ、前記少なくとも１つのタイム・ベース・メディアは、関連する前記トラックに配置されることにより前記タイムライン上の時間位置と関連付けられるステップと、
ユーザに、前記少なくとも１つのエンハンス・コンテンツと前記少なくとも１つのタイム・ベース・メディアとを関係付けるのを可能にして、前記プログラムのための自動同期コンテンツを作成させるステップであって、前記自動同期コンテンツは、前記少なくとも１つのタイム・ベース・メディアと、該タイム・ベース・メディアに同期した前記少なくとも１つのエンハンス・コンテンツとを含む、ステップと、
前記タイムライン上のある時間位置に、前記タイムライン上における時点または期間のいずれかの選択に応じて、前記自動同期コンテンツを表すコンポーネントをユーザが置くのを可能にするステップであって、これにより前記コンポーネントが表す前記自動同期コンテンツを前記選択に応じて前記プログラムにおける前記時点または期間と関連付け、前記コンポーネントの指示を前記選択に応じて前記タイムライン上に表示する、前記のステップと、
前記タイムライン上において前記自動同期コンテンツに含まれる前記少なくとも１つのタイム・ベース・メディアに対して編集処理をユーザが実行するのを可能にするステップであって、前記編集処理が前記自動同期コンテンツに含まれる前記少なくとも１つのエンハンス・コンテンツにも実行される、前記のステップと、
を含む前記方法を、コンピュータに実行させるコンピュータ・プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願に関する引用
本願は、３５Ｕ.Ｓ.Ｃ.§１２０の下で優先権を主張し、２００１年４月２０日に出願され現在係属中の米国特許出願第０９／８３８，７８２号の継続出願である。
【背景技術】
【０００２】
ビデオおよびオーディオを対話型コンテンツと組み合わせるプログラムを作成するには、一般に２つの手法の内一方を用いる。第１の手法では、オーディオビジュアル・コンテンツを対話型プログラムの一エレメントとして作成することが行われ、この場合、対話型コンテンツがオーディオビジュアル・コンテンツを参照する。他方の手法では、オーディオビジュアル・プログラムを作成し、次いで対話型コンテンツを、オーディオビジュアル・プログラムにおける種々の時点と関連付けることが行われる。このような手法は、双方共、オーディオビジュアル・コンテンツを最初に作成し、次いでこれを対話型コンテンツの編集者に引き渡し、編集者がオーディオビジュアル・コンテンツを対話型コンテンツで装飾して、最終的な対話型プログラムを制作する。通例では、対話型コンテンツは、標準的なフォーマットの文書として表示するか、あるいはオーディオビジュアル・コンテンツの再生と共に実行する機械命令に限定されている。
【発明の開示】
【発明が解決しようとする課題】
【０００３】
対話型コンテンツおよびタイム・ベース・メディア(time-based media)を用いたプログラムの制作を改善するには、数人の人が対話型コンテンツおよびタイム・ベース・メディア双方で同時に作業すればよいであろう。また、タイム・ベース・メディアと関連付けることができるデータ・タイプの範囲は、編集システムに不透明なデータを含む、タイム・ベース・メディアをエンハンス(enhance)する種々のタイプのコンテンツを含むことができる。このようなプログラムの編集をサポートするには、ユーザの選択に応じて、エンハンス・コンテンツ(enhanced content)をクリップまたはロケータ(locator)としてプログラムに組み入れるように編集すればよい。エンハンス・コンテンツを表すコンポーネントは、タイム・ベース・メディアを表すコンポーネントと同様に編集することもできる。エンハンス・コンテンツは、エンハンスメント(enhancement)を定義するデータを含むエンハンスメント・ファイル(enhancement file)によって表すことができる。エンハンスメントは、エンハンスメント・ファイル内におけるエンハンスメントの識別子、およびこのエンハンスメントと関連付けられたエンハンス・コンテンツを定義するファイルに対する参照を含む。このようなエンハンスメント・ファイルを編集システムのビン(bin)にインポートすると、それらエンハンスメントが参照するエンハンス・コンテンツを記述するコンポーネントを作成することができる。エンハンス・コンテンツは、プログラムの編集の間にエンハンス・コンテンツのネーティブ・アプリケーション(native application)を用いて、変更することができる。編集システムにおいてエンハンス・コンテンツを記述するコンポーネントは、当該コンポーネントによって格納されているエンハンス・コンテンツの識別子を用いて更新することができる。また、エンハンス・コンテンツは、タイム・ベース・メディアと自動的に同期させることもできる。        
【課題を解決するための手段】
【０００４】
したがって、一形態では、編集システムにおいて、タイムラインを表示して、プログラムを表し、タイムライン上の時間位置とエンハンス・コンテンツを関連付け、タイムライン上の時間位置とタイム・ベース・メディアを関連付ける。タイムラインは、少なくとも１つのエンハンス・コンテンツ用トラックと、少なくとも１つのタイム・ベース・メディア用トラックとを含むことができる。ユーザ・インターフェースによって、ユーザは、タイムライン上の時点または期間のいずれかの選択に応じて、タイムライン上の時間位置に、エンハンス・コンテンツを表すコンポーネントを置くことができる。コンポーネントによって表されるエンハンス・コンテンツは、選択に応じて、プログラム内の時点または期間と関連付けられる。コンポーネントの指示が、選択に応じて、タイムライン上に表示される。
【０００５】
別の形態では、編集システムは、プログラムを表すタイムラインを表示し、エンハンス・コンテンツをタイムライン上の時間位置と関連付け、タイム・ベース・メディアをタイムライン上の時間位置と関連付ける。タイムラインは、少なくとも１つのエンハンス・コンテンツ用トラックと、少なくとも１つのタイム・ベース・メディア用トラックとを含むことができる。ユーザは、タイムライン上の時間位置に、エンハンス・コンテンツを表すコンポーネントを置くことができる。エンハンス・コンテンツを表すコンポーネントは、エンハンス・コンテンツを定義するファイルに対する参照を格納するフィールドを含む。ユーザは、タイムライン上の時間位置に、タイム・ベース・メディアを表すコンポーネントを置くことができる。タイム・ベース・メディアを表すコンポーネントは、タイム・ベース・メディアを格納するファイルに対する参照を格納するファイルを含む。また、ユーザは、タイムライン上においてコンポーネントの時間的特性に作用する編集処理をタイムライン上で実行することができる。編集処理は、エンハンス・コンテンツを表すコンポーネント、およびタイム・ベース・メディアを表すコンポーネントを同様に処理する。
【０００６】
別の形態では、タイム・ベース・メディアおよびエンハンス・コンテンツのプログラムを編集する編集システムは、プログラムに置くために編集システムによってアクセス可能なコンテンツの表現を格納するビンを有する。エンハンスメント・ファイルを用いて、編集システムのビンにエンハンス・コンテンツをインポートする。エンハンスメント・ファイルは、１つ以上のエンハンスメントを定義するデータを含む。エンハンスメントは、当該エンハンスメントの識別子と、当該エンハンスメントと関連付けたエンハンス・コンテンツを定義するファイルに対する参照とを含む属性を備えている。エンハンスメント・ファイルを処理し、各エンハンスメントを突き止める。各エンハンス毎に、編集システムのビン内においてコンポーネントを作成する。このコンポーネントは、エンハンス・コンテンツを記述する情報を含む。
【０００７】
別の形態では、編集システムを用いて、ディジタル情報製品が、タイム・ベース・メディアおよびエンハンス・コンテンツのプログラムに置くためのエンハンス・コンテンツを記述する１つ以上のエンハンスメントを表す。このディジタル情報製品は、コンピュータ読み取り可能媒体と、このコンピュータ読み取り可能媒体上に格納されている情報とを含み、コンピュータによってアクセスされると、エンハンスメント・ファイルとして解釈される。エンハンスメント・ファイルは、１つ以上のエンハンスメントを定義するデータを含む。エンハンスメントは、エンハンスメント・ファイル内におけるエンハンスメントの識別子と、エンハンスメントと関連付けたエンハンス・コンテンツを定義するファイルに対する参照とを含む、１つ以上の属性を含む。
【０００８】
別の形態では、タイム・ベース・メディアおよびエンハンス・コンテンツのプログラムを編集する編集システムは、少なくとも１つのエンハンス・コンテンツ用トラックと、少なくとも１つのタイム・ベース・メディア用トラックとを有する。少なくとも１つのエンハンス・コンテンツ・トラック上でエンハンス・コンテンツを表す各コンポーネントを識別することによって、マークアップ言語で、少なくとも１つのエンハンス・コンテンツ用トラックを記述する文書を生成する。コンポーネントを表すとして識別したエンハンス・コンテンツ毎に、マークアップ言語文書でエレメントを作成する。このエレメントは、少なくとも１つのエンハンス・コンテンツ用トラック上におけるコンポーネントの開始位置と、コンポーネントがソース・クリップである場合、少なくとも１つのエンハンス・コンテンツ用トラック上におけるコンポーネントの終了位置と、コンポーネントによって表されるエンハンス・コンテンツを記述するエンハンスメントを定義するマークアップ言語文書内のデータに対する参照とを含む。
【０００９】
別の形態では、編集システムは、プログラムを表すタイムラインを表示し、タイムライン上の時間位置とエンハンス・コンテンツを関連付け、タイムライン上の時間位置とタイム・ベース・メディアを関連付ける。タイムラインは、少なくとも１つのエンハンス・コンテンツ用トラックと、少なくとも１つのタイム・ベース・メディア用トラックとを含むことができる。ビンが、プログラム内に置くために編集システムによってアクセス可能な、エンハンス・コンテンツおよびタイム・ベース・メディアの表現を格納する。エンハンス・コンテンツをビン内にインポートし、ビン内において１つ以上のコンポーネントを作成する。ビン内のコンポーネントは、エンハンス・コンテンツと関連付けた識別子を含むエンハンス・コンテンツを記述する情報を含む。ユーザは、タイムライン上の時間位置にエンハンス・コンテンツを表すコンポーネントを置くことができ、コンポーネントによって表されるエンハンス・コンテンツをプログラム内の時間位置と関連付け、この時間位置に応じて、コンポーネントの指示をタイムライン上に表示する。エンハンス・コンテンツと関連付けた識別子を用いて、コンポーネントに関するエンハンス・コンテンツを記述する情報をビン内で更新する。
【００１０】
別の形態では、編集システムは、プログラムを表すタイムラインを表示する。タイムラインは、少なくとも１つのエンハンス・コンテンツ用トラックと、少なくとも１つのタイム・ベース・メディア用トラックとを含むことができる。タイムラインを用いると、タイムライン上の時間位置とエンハンス・コンテンツを関連付けることができ、更にタイムライン上の時間位置とタイム・ベース・メディアを関連付けることができる。ユーザは、エンハンス・コンテンツおよびタイム・ベース・メディアを関係付けて、自動同期コンテンツを作成することができる。また、ユーザは、自動同期コンテンツを表すコンポーネントを、タイムライン上の時間位置に置くことができる。自動同期コンテンツのエンハンス・コンテンツは、少なくとも１つのエンハンス・コンテンツ・トラック上に置くことができ、自動同期コンテンツのタイム・ベース・メディアは、少なくとも１つのタイム・ベース・メディア・トラック上に置くことができる。コンポーネントによって表される自動同期コンポーネントは、プログラムにおける時間位置と関連付けられる。次いで、ユーザは、タイムライン上において自動同期コンテンツのタイム・ベース・メディアに対して編集処理を実行することができ、この編集処理は、自動同期コンテンツのエンハンス・コンテンツにも実行される。
【発明を実施するための最良の形態】
【００１１】
ビデオ、オーディオおよびアニメーションのようなタイム・ベース・メディアは、種々のタイプのエンハンス・コンテンツと関連付けることによって、エンハンス・コンテンツが時間的にタイム・ベース・メディアに関係付けられたタイム・ベース・プログラムを制作することができる。
【００１２】
エンハンス・コンテンツが含むデータは、いずれもタイム・ベース・プログラムにおいてある時点と関連付けることができる。例えば、データは、アセット(asset)、サービスまたは関数を表すことができる。このようなデータの例には、データベース・クエリ、クローズド・キャプション情報、プログラムのダイアローグのスクリプト、サブタイトルまたはダビング情報、制作以前の活動および制作活動からの情報、タイム・ベース・メディアに関係するコストまたは請求情報、権利管理情報、および対話型コンテンツが含まれるが、これらに限られる訳ではない。
【００１３】
エンハンス・コンテンツの中には、編集システムまたはプログラム自体に対して「不透明」なものもある。不透明なコンテンツとは、コンテンツを視認するために編集システム以外のアプリケーションを用いるコンテンツ、またはコンテンツを編集するために編集システム以外のアプリケーションを用いるコンテンツ、または編集システムにおいてプログラムの再生の間に認知されないコンテンツのことである。不透明なコンテンツの使用例には、情報を供給してプログラムを作成すること、またはプログラムに関する情報を追跡することが含まれる。編集システムに対して不透明なコンテンツは、流通用最終プログラムの一部としてエンコードすることもできる。アニメーションのように、編集システムがサポートしないタイム・ベース・メディア即ち非時間的メディア(nontemporal media)も、不透明なコンテンツと表現しても差し支えない。
【００１４】
対話型コンテンツは、マークアップ言語で定義された文書、マルチ・メディア・タイプの文書、プログラムの間に実行されるスクリプトまたは別のコンピュータ・プログラムの実行によって発生する文書、機器に送られる命令またはコマンド信号、あるいはプログラム中に時間位置を有し、編集システム内または再生装置上におけるプログラムの再生の間にコンテンツを認知するようにしたその他のイベントまたはアクションを含むが、これらに限られる訳ではない。また、対話型コンテンツは、静止画像のような、非時間的メディア・データも含むことができる。
【００１５】
対話型コンテンツの一種に、ここでは「トリガ」(trigger)と呼ぶものがある。トリガは、タイム・ベース・メディアの再生中のある時点に開始する動作を示す。このような動作には、ピクチャ、グラフィックス、画像またはその他の情報の表示、あるいは制御信号を種々のデバイスに送るというようなその他のアクションが含まれる。機器への制御信号は、乗馬シミュレータのようなアプリケーションの一部で用いることができる。「トリガ」を定義することができる情報は、例えば、トリガについてのAdvanced Television Enhancement Forum (ATVEF)仕様書において指定されており、例えば、ATVEF仕様書第１．１版の１．１．５章に定義されている。これおよびその他の対話型テレビジョン・フォーマットによって指定されるその他の情報を用いても、トリガを定義することができる。また、トリガは、当該トリガに関連するタイム・ベース・メディアの期間、同期情報、あるいはその表示のサイズ、位置または方位に関する情報を含むこともできる。
【００１６】
図１は、ビデオおよびオーディオのようなタイム・ベース・プログラムを編集するためのシステムのユーザ・インターフェースの一例を、エンハンス・コンテンツと共に示し、このエンハンス・コンテンツを時間的にタイム・ベース・メディアに関係付けたタイム・ベース・プログラムの制作について示す。
【００１７】
図１におけるユーザ・インターフェースは、ソース・メディアを表示するソース・ウィンドウ１００と、編集したプログラムを表示する記録ウィンドウ１０２とを含む。ビデオは、記録ウィンドウ１０２または記録ウィンドウ１０２の領域１０４に表示することができる。領域１０４の指定は、関連するエンハンス・コンテンツに対するビデオのサイズの指示によって行い、ピクチャ・イン・ピクチャ(picture-in-picture)効果を得ることができる。これについては以下で更に詳しく説明する。また、領域１０４は、関連するエンハンス・コンテンツをオーバーレイする背景として、ビデオを表示することもできる。また、他の情報を用いても、記録ウィンドウ１０２において視認するビデオおよびエンハンス・コンテンツのレイアウトを指定することができる。
【００１８】
タイムライン・インターフェース１０６は、編集したプログラムを表し、１つ以上のエンハンス・コンテンツ・トラック１１２、ならびに１つ以上のビデオ・トラック１０８および１つ以上のオーディオ・トラック１１０のような、１つ以上のタイム・ベース・メディア・トラックを含む。トラックには、時間位置を表す編集速度または時間的分解能が付随している。例えば、全てのトラックが同じ編集速度を有してもよく、これは主ビデオ・トラックの編集速度によって決定すればよい。
【００１９】
編集システムは、ここでは「コンポーネント」と呼ぶ、コンテンツの表現を用いると、編集中のプログラムにユーザにコンテンツを置かせることができる。「ビン」は、編集中のプログラムに置くために編集システムがアクセス可能なコンテンツを表すコンポーネントを格納する。ビンは、汎用コンピュータのファイル・システムのフォルダを用いて実施することができる。コンテンツを表すコンポーネントがタイムライン・インターフェース内であるトラック上のある時間位置に置かれた場合、このコンポーネントによって表されるコンテンツは、プログラム内におけるこの時間位置と関連付けられ、コンポーネントの指示が、タイムラインのその時間位置に表示される。
【００２０】
一般に、タイム・ベース・メディアをタイムライン・インターフェース上の時間位置と関連付けるには、ユーザは１つ以上のビンからのタイム・ベース・メディアのソースを表すコンポーネントの中から選択すればよい。選択したコンポーネントが表すタイム・ベース・メディアは、ソース・ウィンドウ１００において視認することができる。ユーザは、ソース・ウィンドウ内で見られるタイム・ベース・メディアにおいて入力点および出力点を選択し、クリップと呼ばれるコンポーネントを指定することができる。クリップは、タイムライン・インターフェース１０６においてタイム・ベース・メディア・トラック上にあるクリップのシーケンスに追加することができる。
【００２１】
エンハンス・コンテンツをタイムライン・インターフェース上の時間位置と関連付けるには、ユーザは１つ以上のビンから、エンハンス・コンテンツを表すコンポーネントから選択すればよい。選択したコンポーネントに付随する情報は、ソース・ウィンドウ１００、またはエンハンス・コンテンツ用の別個の視認アプリケーションにおいて視認することができる。これは、コンポーネントによって表されるエンハンス・コンテンツのタイプ、および編集システムの能力に左右される。ユーザは、エンハンス・コンテンツ・トラック１１２、およびコンポーネントを追加すべきトラック内の時間位置を選択することができる。コンポーネントをある時点に追加するには、ロケータ１１４（以下で説明する）と呼ばれるコンポーネントを用いるとよく、またある時間範囲即ち期間にわたって追加するには、ソース・クリップ１１６（以下で説明する）と呼ばれるコンポーネントを用いるとよい。また、タイム・ベース・メディアは、ソース・クリップおよびロケータを用いて表現することもできる。編集システムが、エンハンス・コンテンツを関連付ける時点または期間のいずれかを選択するように、ユーザを促してもよい。
【００２２】
タイムライン・インターフェースは、エンハンス・コンテンツを表すコンポーネントをディスプレイ上のタイム・ベース・メディアと同じトラック上に置くことができるように実施することができる。このようなコンポーネントは、例えば、クリップまたはロケータのいずれかとすることができる。別個のデータ構造を用いて、エンハンス・コンテンツを表すコンテンツの集合体、およびタイムライン・ディスプレイ内の同一トラック上にあるタイム・ベース・メディアを表すコンポーネントの集合体を表すこともできる。
【００２３】
ソース・クリップは、ビン内のクリップを参照し、トラックにおける開始位置および期間を有する。期間は、エンハンスメント・トラック上における期間または停止時点によって表すことができる。また、ソース・クリップは属性も有することができる。ソース・クリップは、ビデオまたはオーディオのように、それが表すデータのタイプを示すフィールドを含むとよい。
【００２４】
ロケータは、タイムラインにおけるクリップまたはその他のコンポーネントに、当該クリップ上の時点で添付される。また、ロケータも属性を有することができる。ロケータは、対話型コンテンツまたは不透明なエンハンス・コンテンツのように、それが表すデータのタイプを示すフィールドを含むとよい。
【００２５】
タイム・ベース・メディアおよびエンハンス・コンテンツに用いられるコンポーネントのタイプは同一であるので、エンハンス・コンテンツは、タイム・ベース・メディアと同じ挙動を有する。この挙動は、いくつかの方法で行うことができる。例えば、タイム・ベース・メディアを表すコンポーネント、およびエンハンス・コンテンツを表すコンポーネントは、編集処理を実施するオブジェクト・クラスのサブクラスのインスタンスとすることができ、このオブジェクト・クラスから編集処理を引き継ぐ。また、タイム・ベース・メディアを表すコンポーネント、およびエンハンス・コンテンツを表すコンポーネントは、編集処理を実施する同じオブジェクト・クラスのインスタンスとすることもできる。また、タイム・ベース・メディアを表すコンポーネントおよびエンハンス・コンテンツを表すコンポーネントは、プロシージャによる作用を受けるデータ構造を用いて表すこともできる。プロシージャは、編集処理を実施し、コンポーネントが表すコンテンツのタイプには係わらず、これらの編集処理に対して同じ結果を与える。したがって、カット、スリップ、スライド、トリム、リフト、スプライスおよび上書きのような動作、ならびにエンハンス・コンテンツを表すコンポーネントの他のソースとの自動同期を用いれば、タイム・ベース・メディアおよびエンハンス・コンテンツ双方をタイムライン上で編集し、エンハンス・コンテンツとタイム・ベース・メディアとの間でフレームの正確な同期を維持することができる。このような編集処理は、米国特許第５，７５４，８５１号および第６，１１８，４４４号に更に詳細に記載されている。その内容は、この言及により本願にも含まれることとする。
【００２６】
タイムライン・インターフェースにおけるエンハンス・コンテンツ・トラックがあれば、ユーザはソース・クリップおよびロケータ双方をエンハンス・コンテンツ・トラック上に置くことができる。このようなトラックは、１つ以上設けることもできる。あるいは、ソース・クリップおよびロケータに別個のトラックを設けることもできる。別個のデータ構造を用いて、エンハンス・コンテンツを表すソース・クリップのトラック、およびエンハンス・コンテンツを表すロケータのトラックを表すこともできる。
【００２７】
また、編集システムは、タイム・ベース・メディアがあっても、その編集を禁止し、編集者が、主に、エンハンス・コンテンツ・トラック上のエンハンス・コンテンツのタイム・ベース・メディアとの関係に集中できるように構成することもできる。このような編集システムは、編集したプログラムを他の編集システムにエクスポートすることができるので、他の編集システムはエンハンス・コンテンツおよびタイム・ベース・メディア双方を編集することが可能となる。
【００２８】
編集したプログラムを表示するには、いくつかのデータ構造のいずれを用いることもでき、これらは多数のフォーマットのいずれで格納されていてもよい。例えば、システムは、Advanced Authoring Format（ＡＡＦ）仕様、Open Media Framework（ＯＭＦ）仕様、または米国特許第６，０６１，７５８号および第５，７５４，８５１号に記載されている構造に対応する構造を用いることができる。これらの内容は、この言及により本願にも含まれることとする。一般に、編集したプログラムを表示するデータ構造は、トラックを、時間的に関係するコンポーネントの集合体として表すことができる。これらのコンポーネントを表すには、順次コンポーネントの集合体および同時コンポーネントの集合体を用いるとよい。クリップの種類によっては、タイム・ベース・メディアおよびエンハンス・コンテンツを参照するクリップを含むものもある。その内の数タイプを以下で更に詳しく説明する。ＡＡＦを用いると、エンハンス・コンテンツを表すクリップは、「ＭＥＴＡ」というデータ定義を有するマスタ・クリップとして表すことができる。このクリップに伴う情報は、「_ＭＥＴＡ」リストと呼ばれる属性サブリストとして格納することができる。このリストは、タイプ値の対を含む。属性は、ストリング・タイプとして格納することができる。ＡＡＦを用いると、エンハンス・コンテンツを表すロケータは、「_ＭＥＴＡ」リストと呼ばれる属性リストを有するロケータとして表すことができる。これも、「ＭＥＴＡ」のデータ定義を有することができる。
【００２９】
エンハンス・コンテンツを編集してプログラムに組み込むことができるようにするには、エンハンス・コンテンツをビンにインポートして、編集システムがアクセスできるコンポーネントを作成すればよい。ビンにおいては、エンハンス・コンテンツはクリップまたはその他のコンポーネントによって表され、このエンハンス・コンテンツがクリップまたはその他のコンポーネントの属性として格納されていることを記述する情報がある。属性とは、一般に、種々のユーザ定義データを格納するために用いられるデータ・フィールドのことである。エンハンス・コンテンツのビンへのインポートを簡略化するために、エンハンス・コンテンツを記述する入力フォーマットを設ける。この入力フォーマットおよびインポートのプロセスについて、これより更に詳細に説明する。
【００３０】
エンハンス・コンテンツを記述する情報は、ここでは「エンハンスメント・ファイル」と呼ぶデータ・ファイルに格納することができ、このファイルは、ローカル・ストレージまたは共有ストレージのいずれかにおいてファイル・システム内のディレクトリに格納すること、またはコンピュータ・ネットワークを通じてアクセス可能なリソースとして格納することができる。エンハンスメント・ファイルは、エンハンス・コンテンツを記述する１つ以上のエンハンスメントを定義するデータを含む。エンハンスメント・ファイルを表すには、エンハンスメント・ファイル用文書タイプ定義（ＤＴＤ）に応じたeXtensible Markup Language（ＸＭＬ）のような、マークアップ言語を用いることができる。このようなＤＴＤの一例を補足資料（APPENDIX）Ａに提示する。
【００３１】
補足資料Ａに示す例では、エンハンスメントを定義するには、１つ以上の属性（補足資料Ａでは「コア属性リスト」と呼ぶ）と、１つ以上のカスタム属性（補足資料Ａでは「カスタム属性リスト」と呼ぶ）とを用いる。１つ以上の属性は、当該属性に割り当てられた識別子（「ｉｄ」）と、当該エンハンスメントの「名称」とを含む。エンハンスメントの識別子は、エンハンスメント・ファイル内部では一意である。エンハンスメントのタイプを設けるのは、システムが異なるタイプのエンハンスメントを異なる方法で処理することができるようにするためである。タイプの一例に、「対話型コンテンツ」（または「ＩＴＶ」）あるいは「不透明」があってもよい。「不透明」タイプのエンハンスメントは、不透明なコンテンツを表すエンハンスメントである。また、タイプは、「サブタイプ」によって記述してもよい。「ＭＩＭＥ−タイプ」フィールドは、ＭＩＭＥタイプのエンハンスメントのデータを示す。ロケータ・フィールドは、エンハンスメントと関連付けたエンハンス・コンテンツを定義するファイルを示す。ネーティブ・アプリケーション・フィールド(native application field)は、ロケータ・フィールドに指定されたファイルを少なくとも開いて読み出すことができるアプリケーションを示す。作成者、作成日、修正者、修正日のような、その他の追跡情報も含ませることができる。１つ以上のカスタム属性をユーザによって追加することもできる。
【００３２】
また、エンハンスメント・ファイルは、前述のように、ＩＴＶタイプのエンハンスメントも指定することができる。エンハンスメント・ファイルおよび編集システムが、トリガのような、ＩＴＶタイプのエンハンスメント・コンテンツの処理に制限されている場合、このタイプのコンテンツに特殊化した文書タイプ定義（ＤＴＤ）を用いて、エンハンスメント・ファイル・フォーマットを指定すればよい。このようなＤＴＤの一例を補足資料（APPENDIX）Ｂに提示する。この例のフォーマットでは、エンハンスメント・ファイルは、トリガのリストを含み、トリガは、当該トリガと関連付けたファイルを参照するロケータ（「ｕｒｌ」）、およびトリガの「名称」によって定義される。その他の情報は、トリガが「終了」する(expire)日時を示す。「スクリプト」は、トリガによってまたはトリガのために実行可能なコンピュータ・プログラム・コードを指定する。識別子フィールド（「ｉｄ」）は、エンハンスメント・ファイル内にトリガの識別子を格納する。「チェックサム」および「ユーザ・データ」のための追加フィールドも含ませてもよい。
【００３３】
エンハンスメント・ファイルからのエンハンス・コンテンツを記述する情報は、当該エンハンスメント・ファイルを編集システムにインポートすることによって、コンポーネントによってビンの中に格納することができる。このビン内のコンポーネントは、図２Ａに示すような情報を含むことができる。即ち、エンハンス・コンテンツ２００のタイプの指示は、種々のタイプのエンハンス・コンテンツをサポートする場合に、与えることができる。ユニフォーム・リソース・ロケータ（ＵＲＬ）またはその他のファイル名のようなロケータ２０１は、エンハンス・コンテンツを定義するファイルを示すために用いることができる。アプリケーション２０２は、Ｊａｖａ（登録商標）スクリプト・プログラムまたは実行するその他のコンピュータ・プログラム・コードのように、トリガのスクリプトとすることができ、その指示を含ませることができる。名称２０４も格納することができる。この名称フィールドは、エンハンス・コンテンツの名称または読み取り可能なテキスト記述として用いることができる。日時のような終了情報２０６、および終了形式２０８（終了情報が、トリガが有効な時間期間またはトリガが終了する時点のどちらを示すかを示す）も、トリガのために設けることができる。識別子フィールド２１０は、エンハンス・コンテンツを記述するエンハンスメントの識別子を格納し、エンハンスメント・ファイルに対する参照を含むことができる。１つ以上の追加フィールド２１２を用いると、ユーザ定義データ、カスタム属性、修正日および作成日ならびにユーザ情報、またはエンハンスメント・ファイル内のエンハンスメントによって記述したその他の情報のような、その他のデータを格納することができる。チェックサム２１４を含ませると、破壊したデータの検出が可能となる。
【００３４】
ＨＴＭＬ文書を参照するＵＲＬのように、画像を作成可能なファイルによってエンハンス・コンテンツを定義する場合、図２Ｂに示すような情報も更にエンハンス・コンテンツを記述することができる。この情報は、ファイルのスナップショット２２０を含むことができる。例えば、ファイルがＵＲＬから検索した文書である場合、この文書をブラウザによって処理し、スナップショットを生成することができる。あらゆる関連ファイル２２２（リンクしたファイル等）、およびビデオ・トラック上の関連するビデオのクロッピング２２４、スケーリング２２６またはオーバーレイ２２８の任意の指示、ならびにスナップショットに関するそのビデオの寸法および位置２３０も格納することができる。また、スナップショットの寸法２３２も取得し、格納することができる。スナップショットをビデオ上にオーバーレイするか、またはビデオをスナップショット内に表示してピクチャ・イン・ピクチャとするか、あるいはその他のレイアウト情報２３４も指定することができる。また、図２Ｂに示す情報は、付加的な情報の種類の一例であり、ハイパーテキスト・マークアップ言語（ＨＴＭＬ）またはＸＭＬのようなマークアップ言語の文書のような、対話型コンテンツを表すために用いることができる。
【００３５】
エンハンスメント・ファイルを作成するには、いくつかの方法がある。例えば、エンハンスメント・アプリケーションを用いて、エンハンスメント・ファイルを作成し修正することができる。エンハンスメント・アプリケーションは、ＸＭＬファイル、またはキャラクタ制限ファイル(character delimited file)のような、ファイルやこれらのファイルに対する関連するデータを指定するために用いることができる他の適当なフォーマットのファイルを生成するために用いることができるアプリケーションであれば、いずれでもよい。例えば、表計算アプリケーションまたはワープロ・アプリケーションも用いることができる。文書タイプ定義に合ったＸＭＬファイルを用いると、各エンハンスメント・ファイルのフォーマットの有効性を判断することができる。
【００３６】
また、エンハンスメント・アプリケーションを用いると、一意の識別子（ＵＩＤ）をエンハンスメント・ファイル内の各エンハンスメントに指定することができる。あるいは、このようなＵＩＤは手作業で各エンハンスメントに指定することもできる。エンハンスメントのＵＩＤは、エンハンスメント・ファイルに格納する。ＵＩＤは、全域的に一意の識別子（ＧＵＩＤ）である必要はなく、エンハンスメント・ファイル内部でのみ一意であればよい。また、エンハンスメント・アプリケーションは、ＵＩＤのないエンハンスメント・ファイルを定義するＸＭＬファイルを受け取り、ＵＩＤを付加して、ＵＩＤを有するエンハンスメント・ファイルを作成することもできる。
【００３７】
エンハンスメント・ファイルを用いてエンハンス・コンテンツをビンにインポートするプロセスについて、図３Ａに関連付けながらこれより説明する。ユーザは、最初に、いずれかの従来の技法を用いてエンハンスメント・ファイルを特定し、ファイルの位置を突き止める（３００）。次いで、インポート処理を呼び出す（３０２）。インポート処理では、エンハンスメント・ファイルを読み出し（３０４）、当該エンハンスメント・ファイル内にある１つ以上のエンハンスメントを定義するデータにアクセスする。エンハンスメントを定義するデータを読み出した後、エンハンス・コンテンツを記述する情報を格納した属性を用いて、ビン内にコンポーネントを作成する（３０６）。どのようにして、エンハンスメントを定義するデータを用いてビン内にコンポーネントを作成するかは、エンハンス・コンテンツのタイプによって異なる場合がある。格納されている属性は、エンハンスメントを格納しているエンハンスメント・ファイルの名称、および当該エンハンスメント・ファイル内のエンハンスメントの識別子を含むことができる。格納されている属性は、エンハンスメントと関連付けたエンハンス・コンテンツを定義するファイルに対する参照も含むことができる。また、ファイルに対するネーティブ・アプリケーションへの参照も格納することができる。このようにして作成されたコンポーネントには、編集アプリケーションによって、それ自体の一意の識別子を割り当てることができる。これは、対応するエンハンスメントの識別子とは異なる。
【００３８】
どのようにエンハンスメントを処理してビン内にコンポーネントを定義するかは、エンハンス・コンテンツのタイプによって異なる場合がある。一例として、エンハンス・コンテンツが対話型コンテンツ、更に特定して、トリガである場合、エンハンスメント・ファイル内でエンハンスメントを突き止める（３１０）（これより図３Ｂを参照のこと）。エンハンスメントによって参照されたトリガを定義するファイルにアクセスし（３１２）、図２Ｂに記載されている情報を取得する。即ち、指定したファイル内において、あらゆる「ＴＶ：」エレメント、またはビデオの寸法および位置を指定するその他のエレメント、ならびにエンハンス・コンテンツに対するその関係を読み出し、該当する値を取得する。指定したファイルによって定義される文書のスナップショットを生成することもできる（３１４）。その際、文書を従来のブラウザ・オブジェクトに適用し、ブラウザ・オブジェクトからの出力を画像ファイルとして格納する。青色画面および緑色画面内に特殊効果を用いる場合に一般的なように、緑または青のような、唯一の色の背景を用いるようにブラウザ・オブジェクトに命令すると、クロマ・キー処理を用いて、ビデオ上にＨＴＭＬデータをオーバーレイすることが可能となる。スナップショットに対する参照を、ビン内のコンポーネントの属性として格納することができる（３１６）。
【００３９】
指定したファイル全体、および指定したファイル内部で参照されるファイルにアクセスし処理して、後に使用することができる。被参照ファイル(referenced file)をインポートすれば、指定ファイルまたは被参照ファイルが後になって利用できなくなる事態に備えて保護することができる。インポート・プロセスが、ＵＲＬ２００によって参照されたＨＴＭＬデータの取り込みを含むか、またはＵＲＬ２００において文書によって照会されたファイルの取り込みを含むかは、適切なユーザ・インターフェースを通じて、ユーザの選択に委ねることができる。また、トリガではない対話型コンテンツのＨＴＭＬデータ（またはその他の情報）のみをインポートすることも可能である。例えば、マークアップ言語の文書に従来の技法によってアクセスし、そのファイルを突き止めることもできる。このようにしてアクセスしたファイルには、トリガが参照するファイルが参照するあらゆるファイルが含まれる。次いで、このファイルを読み出し、情報を引き出して、ビン内にコンポーネントの属性として格納することができる。
【００４０】
このように、トリガをビンにインポートすると、ビン内のコンポーネントは、エンハンスメント・ファイルに対する参照、および当該エンハンスメント・ファイル内のトリガの識別子を格納することにより、トリガに対する一意の参照を格納する。また、ビン内のコンポーネントは、トリガを定義する情報をエンハンスメント・ファイルから取り込み、更に図２Ａおよび図２Ｂに示す情報のように、トリガと関連付けたファイルからのその他の情報も任意に取り込む。例えば、トリガが、ビデオ・データと共に表示する情報、またはビデオ・データの表示に関する情報に対する参照を含む場合、この情報も抽出し、ビン内のトリガに関する情報と共に格納することができる。同様に、マークアップ言語の文書、またはその他の対話型コンテンツを処理し、図２Ｂに関連付けて上述した情報のような、文書に関する情報を抽出することもできる。この情報およびエンハンスメント・ファイルに対する参照は、クリップまたはその他のコンポーネントの属性として格納する。このように、ビン内のトリガを表すコンポーネントの種類には、ハイパーテキスト・マークアップ言語（ＨＴＭＬ）（またはその他のマークアップ言語）データを参照するＨＴＭＬクリップ、トリガに関する情報を参照するトリガ・クリップ、ならびにトリガおよびＨＴＭＬ（またはその他のマークアップ言語）コンテンツに関する情報双方を参照する、リンク・トリガ・クリップ(linked trigger clip)が含まれる。トリガのタイプ（ＨＴＭＬ、トリガ、またはリンク・トリガ）は、それに伴う属性によって異なる。
【００４１】
エンハンス・コンテンツをビンにインポートした後、ユーザは、編集アプリケーションを用いて、ビン内のエンハンス・コンテンツを表すコンポーネントにアクセスすることができる。また、タイム・ベース・メディアを表すコンポーネントもビン内にある場合もある。１つ以上のビンを設けることもできる。異なるタイプのコンテンツ毎に別個のビンを設けることもでき、または１つのビンが混合したタイプのコンテンツを含むこともできる。ビン内のコンポーネントを選択し、タイプによってはソース・ビューアにおいて任意に視認し、タイムラインに追加することができる。コンポーネントをタイムラインに追加することは、指定したトラックに制限することができる（例えば、エンハンス・コンテンツは、図１のエンハンス・コンテンツ・トラック１１２に制限することができる）。エンハンス・コンテンツ・トラック上では、エンハンス・コンテンツを、ソース・クリップまたはロケータのように、多数のコンポーネント・タイプの１つとして追加することができる。エンハンス・コンテンツは、エンハンス・コンテンツ・トラック以外のトラック上に、ロケータとして追加することもできる。エンハンス・コンテンツを記述する情報は、ソース・クリップまたはロケータのいずれかに関する属性として格納する。トリガについては、ビン内のトリガ・クリップがタイムライン上のロケータとして機能し、トリガ・クリップの属性はロケータに転送される。ビン内のＨＴＭＬクリップは、タイムライン上ではソース・クリップとして現れ、その属性はソース・クリップに転送される。リンク・トリガ・クリップおよびビン内のエンハンス・コンテンツを表すその他のコンポーネントは、ユーザの選択により、タイムライン上のソース・クリップまたはロケータのいずれかとして機能することができる。ユーザの選択は、いずれか適切なユーザ・インターフェースを通じて得られればよい。
【００４２】
また、エンハンス・コンテンツを表すコンポーネントは、ビン内のタイム・ベース・メディアを表すコンポーネントとに対し、それらを互いに関連付けることによって、自動的に同期させることもできる。この関連付けによって、その新たなコンポーネントが作成され、これをプログラムに追加することもできる。新たなコンポーネントにより、エンハンス・コンテンツを表すコンポーネントは、編集中にタイム・ベース・メディア上で実行する処理によって、引き続きタイム・ベース・メディアを表すコンポーネントと関連付けられる。また、タイム・ベース・メディア内で実行する編集処理は、エンハンス・コンテンツを表す関連のコンポーネントにも実行する。
【００４３】
タイム・ベース・メディアおよびエンハンス・コンテンツに用いるコンポーネントのタイプは同一なので、エンハンス・コンテンツは、編集処理に応答して、タイム・ベース・メディアと同じ挙動を有する。したがって、カット、スリップ、スライド、トリム、リフト、スプライス、および上書きのような編集処理、ならびにエンハンス・コンテンツのその他のソースとの自動同期を用いると、タイム・ベース・メディアおよびエンハンス・コンテンツ双方を一緒に編集し、エンハンス・コンテンツとタイム・ベース・メディアとの間でフレームの精度高い同期を維持することができる。
【００４４】
上述のタイムライン・インターフェースを用いてプログラムを編集した場合、例えば、図１の記録ウィンドウにおいて、または外部のモニタに再生することができる。何らかのエンハンス・コンテンツが、図２Ｂに示したような情報を含み、エンハンス・コンテンツを用いてビデオをどのように表示するかを示す場合、この情報を用いると、当該エンハンス・コンテンツの時間位置におけるビデオの表示を制御することができる。
【００４５】
これより図４を参照して、プログラムのためにタイム・ベースおよびエンハンス・コンテンツの同時オーサリングを行うシステム例について説明する。この例では、上述のエンハンスメント・アプリケーション４０２によって、エンハンスメント・ファイル４０８を作成および修正し、共有ストレージ４００上に格納することができる。このような共有ストレージは、コンピュータ・ネットワーク、共有ファイル・システム、分散ファイル・システム、１組のファイル・サーバ、またはシステム間で情報を共有するその他のあらゆる機構とすることができる。エンハンスメント・アプリケーション４０２は、ファイル名、およびエンハンスメントの識別子４０６のような、エンハンスメント・ファイルに対する参照を用いて、共有ストレージにアクセスし、エンハンスメント・ファイル４０８内のエンハンスメントを定義するデータの読み出しおよび／または書き込みを行う。エンハンスメントは、共有ストレージ４００またはその他のいずれかの場所に格納されているコンテンツ・ファイル４１０および４１２に照会することができる。これらのコンテンツ・ファイルは、種々のネーティブ・アプリケーション４１４および４１６を用いて、作成し修正することができる。ネーティブ・アプリケーションとは、例えば、コンテンツ・オーサリング・ツール、またはデータベース・アプリケーション、スクリプト記述プログラム、あるいはエンハンス・コンテンツを定義するファイルを作成するその他のいずれかのアプリケーションとすることができる。図１〜図３に関連付けて上述したような編集アプリケーション４０４を用いると、上述のようにタイム・ベース・メディアおよびエンハンス・コンテンツを組み合わせることによって、プログラムを作成し修正することができる。編集アプリケーション４０４のために、エンハンスメント・ファイル４０８およびコンテンツ・ファイル４１０、４１２を用いて、エンハンス・コンテンツ４１８をビン内にインポートし、コンポーネントを作成することができる。このコンポーネントを選択し、プログラムに挿入することができる。エンハンスメント・ファイルに対する参照や、エンハンス・コンテンツを記述するエンハンスメントの識別子、またはエンハンス・コンテンツを定義するファイルに対する参照のようなその他の識別子のような、エンハンス・コンテンツ４１８の識別子４２０は、編集アプリケーションが用いて、エンハンス・コンテンツ４１８にアクセスすることができる。
【００４６】
また、編集アプリケーションは、ビンに格納されているエンハンス・コンテンツまたはエンハンス・コンテンツ・トラック上に置かれているエンハンス・コンテンツと関連するネーティブ・アプリケーションを立ち上げるようにプログラムすることもできる。例えば、編集アプリケーションは、ユーザがいずれかの従来の処理を用いて、ビン内またはエンハンス・コンテンツ・トラック上にあるエンハンス・コンテンツを選択することを可能にする。次いで、編集アプリケーションは、その関連するネーティブ・アプリケーションを立ち上げさせ、ビン内またはエンハンス・コンテンツ・トラック上にあるコンポーネントと関連付けられたエンハンス・コンテンツにアクセスさせ、これを編集させることができる。
【００４７】
このようなシステムでは、多数の編集者が一度にプログラムの異なる部分の作業を行うことができる。したがって、エンハンス・コンテンツ・ファイル４１０および４１２またはエンハンスメント・ファイル、あるいはそれらの内部にあるエンハンスメントは、編集アプリケーション４０４のビンにインポートした後に、変更することもできる。しかしながら、ビン内のエンハンス・コンテンツの一意の参照、例えば、エンハンスメントのエンハンスメント・ファイル名および識別子、またはエンハンス・コンテンツを定義するファイルに対する参照を用いると、そのソースから、更新したエンハンス・コンテンツを得ることができる。この更新プロセスをリフレッシュ処理と呼ぶ。リフレッシュ処理は、エンハンスメント・ファイルの識別方法を除いて、インポート処理と同様である。リフレッシュ処理では、リフレッシュに選択したエンハンス・コンテンツを記述する情報を、エンハンス・コンテンツに伴う識別子、例えば、エンハンスメントの識別子またはエンハンス・コンテンツを定義するファイルに対する参照に対応する、現在使用可能なソースから抽出する。
【００４８】
図５を参照すると、エンハンス・コンテンツに対してリフレッシュ処理を実行するには、ユーザは、例えば、特定のコンポーネント、同じ識別子を参照するコンポーネント、あるいはトラック上のコンポーネントまたはビン内のコンポーネントを選択することによって、ビン内において１つ以上のリフレッシュするコンポーネントを選択すればよい（５００）。選択したコンポーネントから１つを選択する（５０２）。エンハンスメント・ファイルの名称、および選択したコンポーネントに対するエンハンスメントの識別子を用いて、共有ストレージ（図４の４００）からエンハンスメント・ファイルを突き止める（５０４）。次いで、図３Ａおよび図３Ｂに関連付けて上述したのと同様に、エンハンスメントをインポートする（５０６）。リフレッシュするコンポーネントが残っていないと、５０８において判定した場合、リフレッシュ処理が完了したことになる。それ以外の場合、次に、選択したコンポーネントの内次のコンポーネントを選択し（５０２）、ステップ５０２〜５０８を繰り返す。識別子、例えば、ＵＲＬまたはエンハンス・コンテンツを定義するファイルに対するその他の参照を用いて、その他のエンハンス・コンテンツについても同様の処理を実行することができる。
【００４９】
エンハンス・コンテンツおよびタイム・ベース・メディア双方を含むプログラムの編集が完了した際、プログラムには可能な分配フォーマットが多くある可能性がある。したがって、プログラム・データ構造およびエンハンス・コンテンツを用い、ＡＴＶＥＦ、ＷｅｂＴＶ、Ｌｉｂｅｒａｔｅ、ブロードバンド対話型ＴＶ、ワイヤレス、ディジタル・バーサタイル・ディスク（ＤＶＤ）、あるいはインターネットまたはコンピュータ・ストリーミング・フォーマット、あるいは特定の分配チャネルまたは対話型アプリケーションのためのその他のフォーマットのような、１つ以上のエンコード分配フォーマットに、このアプリケーションに適したエンコード技法を用いて、プログラムを編集システム内におけるその表現から変換することができる。
【００５０】
エンコード・プロセスを簡略化するために、編集システムは、プログラムおよびエンハンス・コンテンツを記述するファイルを出力することができる。出力は、例えば、ＡＡＦ仕様に準拠したファイルとすることができる。このようなファイルを用いても、プログラムのエンハンス・コンテンツ・トラック（複数のトラック）のコンテンツを記述するＸＭＬファイルを生成することができる。このようなファイルは、補足資料（APPENDIX）Ｃに示すような文書タイプ定義に合わせるとよい。このＤＴＤは、補足資料ＡにおけるＤＴＤ内の情報と同じ情報を含むが、更に「対話型タイムライン」エレメントも定義し、これにはＡＡＦヘッダ・エレメント、編集速度エレメント、開始時刻エレメント、および１つ以上のメタトラック・エレメントが含まれる。ＡＡＦヘッダは、編集システムによって作成可能で、対応するＡＡＦファイルに関連する情報を定義する。編集速度エレメントは、プログラムに対する編集処理の時間的分解能を示す。開始時刻は、プログラムの最初のフレームの時間コードを表す。メタトラック・エレメントは、トラック番号、トラック名、クリップを含むトラックに対する参照、および別個のトラックを用いてエンハンス・コンテンツのクリップおよびロケータを表す場合には、ロケータを含むトラックに対する任意の参照によって表される。
【００５１】
クリップのエンハンス・コンテンツ・トラックは、トラックのＡＡＦにおける識別子である整数の「ｓｌｏｔｉｄ］、および１つ以上のクリップによって表される。クリップは、関連するコンテンツを定義するマークアップ言語文書のエレメント、およびトラック上の対応するエンハンス・コンテンツの開始および終了時刻を表すデータによって表される。「ｓｔａｒｔｆｒａｍｅｓ」および「ｅｎｄｆｒａｍｅｓ」は、トラック上のクリップの開示時刻および終了時刻をフレーム単位で示す。また、トラック上のクリップの開始時刻および終了時刻を表すデータは、多数のタイムコード・フォーマットのいずれでも表すことができる。タイムコード・フォーマットには、毎秒２４フレーム、プルダウン(pulldown)を有する毎秒２５フレーム、毎秒２５フレーム、ドロップ・フレーム・フォーマットの毎秒３０フレーム、および非ドロップ・フレーム・フォーマットの毎秒３０フレームが含まれるが、これらに限られる訳ではない。また、毎秒２３．９７６フレームのフォーマットも設けることができる。編集速度が毎秒２４フレームの場合、開始時刻および終了時刻は、異なるフォーマットの全てにおいて、容易に維持することができる。
【００５２】
別個のトラックを維持する場合、ロケータに対するエンハンス・コンテンツ・トラックは、トラックのＡＡＦにおける識別子である整数「ｓｌｏｔｉｄ」、および１つ以上のロケータによって表される。ロケータは、関連するエンハンスメントを定義するマークアップ言語文書のエレメント、およびトラック上のエンハンス・コンテンツの位置を表すデータによって表される。「ｐｏｓｉｔｉｏｎｆｒａｍｅｓ」は、トラック上のロケータの位置をフレーム単位で示す。トラック上のロケータの位置を表すデータは、多数のタイムコード・フォーマットのいずれでも表すことができる。タイムコード・フォーマットには、毎秒２４フレーム、プルダウン(pulldown)を有する毎秒２５フレーム、毎秒２５フレーム、ドロップ・フレーム・フォーマットの毎秒３０フレーム、および非ドロップ・フレーム・フォーマットの毎秒３０フレームを含まれるが、これらに限られる訳ではない。また、毎秒２３．９７６フレームのフォーマットも設けることができる。編集速度が毎秒２４フレームの場合、開始時刻および終了時刻は、異なるフォーマットの全てにおいて、容易に維持することができる。
【００５３】
上述のようにエンハンス・コンテンツを用いることによって、編集の間に種々の情報をタイム・ベース・メディアに関連付けることができる。
一例として、プログラムに用いるタイム・ベース・メディアに伴うソース、コスト、使用権に関する情報を、追跡、請求、または遵守(compliance)のために格納することもできる。エンハンス・コンテンツを表すコンポーネントを、ビン内のタイム・ベース・メディアと自動的に同期させることもできる。プログラムにおけるタイム・ベース・メディアは、この格納した情報と共に、実際の使用において、メディアの権利に関する請求、追跡および遵守のために用いることができる。
【００５４】
別の例として、スクリプト記述プログラムを用いて、フィルムと関連するキャラクタのリストを作成することができる。キャラクタ名を、会話におけるキャラクタのせりふと関連させることができる。キャラクタに関する情報には、スクリーンプレイ(screenplay)に逆に参照するコンポーネントも、参照することもできる。タイム・ベース・メディアのクリップは、当該クリップ内のキャラクタを参照するコンポーネントと関連付けることができる。スクリーンプレイとタイム・ベース・メディアとの間におけるこの関連付けによって、各キャラクタが話したとき、各キャラクタが話した時間長、および各キャラクタが言ったことを判断することができる。同様に、スクリプト情報を用いると、オーディオ・トラックの音声認識を補助し、スクリプトと関連するビン内のタイム・ベース・メディア・クリップを識別し、サブタイトルまたはクローズド・キャプションを設け、あるいはデバッグの補助を行うことができる。
【００５５】
別の例として、プログラムにおける主要場面の位置に関する情報をコンポーネント内に置けば、ビン内における関連付けによって、当該場面に対するタイム・ベース・メディアと自動的に同期が取られる。コンポーネント内のこの情報は、ＤＶＤのオーサリングに用いることができ、例えば、情報を与えて、プログラムのインデックスを作成することができる。
【００５６】
別の例として、上、下、左、右、左斜行、および右斜行というような乗馬シミュレータへの命令、またはこのような娯楽場において用いられる種々の機械的デバイスへのその他のコマンドをコンポーネント内に置くこともできる。このようなコンポーネントは、エンハンス・コンテンツ・トラック上に置けば、タイム・ベース・メディアとの関連において、乗馬シミュレータまたはその他のデバイスが対応するアクションを行うときを表すことができる。デバイスへの命令は、乗馬シミュレータのＧＰＩトリガのように、デバイスが処理可能なフォーマットであればよい。乗馬シミュレータ・デバイスの一部では、デバイスの運動が、当該デバイスの開始および停止位置によって表される。運動を行う速度は、時間の関数であり、運動をソース・クリップとして表すことによって、エンハンス・コンテンツ・トラック上で表すことができる。エンハンス・コンテンツ・トラック上におけるクリップの期間を用いると、デバイスが開始位置から停止位置まで動く時間を表し、したがって運動の速度を判定することができる。また、デバイスへの命令は、コンポーネントにおいて指定されているフォーマットから、情報をデバイスに送信しこれによる処理を可能にする別のフォーマットに変換することもできる。例えば、命令は、赤外線信号、可聴範囲外の音声信号、その他のワイヤレス相互接続またはネットワーク通信プロトコルのような通信フォーマットでエンコードすることもできる。
【００５７】
別の例として、タイム・ベース・メディアを、エンハンス・コンテンツ・トラック上のエンハンス・コンテンツによって表される環境および照明制御と連携させることもできる。コンポーネントは、例えば、劇場においてカーテンの開閉、および照明の強弱の命令を表すことができる。
【００５８】
別の例として、エンハンス・コンテンツを表すコンポーネントを用いて、ストーリボーディング(storyboarding)の画像、図面またはその他の情報を表すこともできる。種々のコンポーネントを作成し、プログラムの場面を表すファイルを参照することができる。異なるタイプのファイルを用いれば、異なる場面を表すことができる。これらのコンポーネントをソース・クリップとしてエンハンス・コンテンツ・トラック上に置けば、ストーリボードにおける場面のタイミングを告知することができる。このエンハンス・コンテンツ・トラックを用いたストーリボードの編集は、タイム・ベース・メディアが編集に使用可能になる前でも行うことができる。編集システムにおいてストーリボードの再生を実行できるか否かは、被参照ファイルを、編集システムが処理可能な画像および／またはサウンド・データに変換するネーティブ・アプリケーションまたはその他のアプリケーションが利用可能か否か如何に係っている。
【００５９】
このようなシステムを実施するには、汎用コンピュータ上でコンピュータ・プログラムを用いればよい。このようなコンピュータ・システムは、通例では、プロセッサ、入力デバイス、表示装置、およびメモリを含む。メモリは、上述した種々の機能を実行するソフトウエアを格納する。コンピュータの表示装置は、図１に示したような、ソフトウエアが生成するユーザ・インターフェースを表示し、機能性に便宜を図る。
【００６０】
コンピュータ・システムは、当業者には周知の多数のコンピュータ・システム製造業者から入手可能な汎用コンピュータとすればよい。コンピュータ・システムは、Microsoft Corporation（マイクロソフト社）のWindows（登録商標）、Apple Computer（アップル・コンピュータ社）のMAC OS X、Sun Microsystems Inc.,（サン・マイクロシステムズ社）のSolaris、Silicon Graphics, Inc.（シリコン・グラフィクス社）のIRIX、またはUNIX（登録商標）の一バージョンのような、オペレーティング・システムを実行する。本発明は、いずれの特定的なコンピュータ・システムにも、オペレーティング・システムにも、プログラミング言語にも、プログラミング技法にも限定されない。メモリは、データおよび命令を格納する。メモリは、ＲＡＭのような揮発性メモリ、およびＲＯＭ、磁気ディスク、光ディスク、ＣＤ−ＲＯＭ等のような不揮発性メモリの双方を含むことができる。入力デバイスによって、ユーザはコンピュータ・システムと対話型処理を行うことができる。入力デバイスは、例えば、キーボード、マウス、またはトラックボールの内１つ以上を含むことができる。表示装置は、ユーザ・インターフェースを表示する。表示装置は、例えば、陰極線管（ＣＲＴ）、フラット・パネル・ディスプレイ、またはその他の何らかの表示装置を含むことができる。
【００６１】
以上実施形態の例について説明したが、以上のことは単なる例示であって限定ではなく、一例として提示したに過ぎないことは、当業者には明白なはずである。多数の変更やその他の実施形態も、当業者の範囲内に含まれ、本発明の範囲に該当するものとみなされるものである。
【００６２】
【表１−１】
0004607987.tif 000002
【００６３】
【表１−２】
0004607987.tif 000003
【００６４】
【表２】
0004607987.tif 000004
【００６５】
【表３−１】
0004607987.tif 000005
【００６６】
【表３−２】
0004607987.tif 000006
【００６７】
【表３−３】
0004607987.tif 000007
【００６８】
【表３−４】
0004607987.tif 000008
【図面の簡単な説明】
【００６９】
【図１】図１は、タイムライン上でタイム・ベース・メディアおよびエンハンス・コンテンツの編集を可能にするグラフィカル・ユーザ・インターフェースの図である。
【図２Ａ】図２Ａは、エンハンス・コンテンツを記述するデータ例の図である。
【図２Ｂ】図２Ｂは、エンハンス・コンテンツを更に記述することができるデータ例の図である。
【図３Ａ】図３Ａは、どのようにすればエンハンス・コンテンツをビンにインポートすることができるかについて説明するフローチャートである。
【図３Ｂ】図３Ｂは、どのようにすればエンハンス・コンテンツをビンにインポートすることができるかについて説明するフローチャートである。
【図４】図４は、タイム・ベース・メディアおよびエンハンス・コンテンツを編集するマルチユーザ・システムを示す図である。
【図５】図５は、どのようにすればエンハンス・コンテンツをリフレッシュすることができるかについて説明するフローチャートである。
【図１】
0004607987.tif 000009
【図２Ａ】
0004607987.tif 000010
【図２Ｂ】
0004607987.tif 000011
【図３Ａ】
0004607987.tif 000012
【図３Ｂ】
0004607987.tif 000013
【図４】
0004607987.tif 000014
【図５】
0004607987.tif 000015