(57)【特許請求の範囲】
【請求項１】
メディアクリップを同期させる方法であって、
複数の異なるメディアクリップを、前記異なるメディアクリップのソース特定メタデータに基づいて、マルチカメラメディアクリップの異なるシーケンスに割り当てることと、
各シーケンスの前記割り当てられたメディアクリップのタイミングメタデータを使用して、タイムラインに沿って前記異なるシーケンスの初期同期を自動的に実行することと、
第１のシーケンスの第１のメディアクリップセットのオーディオデータを、第２の異なるシーケンスの第２のメディアクリップセットのオーディオデータに比較することによって、前記異なるシーケンスの前記初期同期を自動調整することと、
前記第１のシーケンスからの第１の複数のメディアクリップと前記第２のシーケンスからの第２の複数のメディアクリップとを有する前記マルチカメラメディアクリップを記憶することであって、前記マルチカメラメディアクリップは、１以上の複合メディアプレゼンテーションの追加のためであることと
を含む方法。
【請求項２】
前記異なるシーケンスがそれぞれ、異なるカメラによってキャプチャされたビデオクリップを含む、請求項１に記載の方法。
【請求項３】
前記第１のメディアクリップセット内の少なくとも１つのビデオクリップが、前記第２のメディアクリップセット内の第２のビデオクリップと同時にキャプチャされた、請求項２に記載の方法。
【請求項４】
前記異なるシーケンスのそれぞれの内で前記割り当てられたメディアクリップを順序付けることを更に含む、請求項１に記載の方法。
【請求項５】
前記異なるシーケンスの前記初期同期を調整することが、
前記第１のメディアクリップセットにおける第１のメディアクリップを選択することと、
前記初期同期後に前記第１のメディアクリップと時間が重複する前記第２のメディアクリップセットにおける第２のメディアクリップを特定することと、
前記第１のメディアクリップと前記第２のメディアクリップのオーディオデータに基づいて、前記第１のメディアクリップと前記第２のメディアクリップとの間の時間オフセットを特定することと、
前記第２のメディアクリップセットの各クリップを前記時間オフセットによって調整して、前記第２のメディアクリップセットのオーディオを前記第１のメディアクリップセットのオーディオと整合させることと、を含む、請求項１に記載の方法。
【請求項６】
前記特定された時間オフセットが、前記第１のメディアクリップと前記第２のメディアクリップの前記オーディオデータ間のピーク相関関係を有するオフセットである、請求項５に記載の方法。
【請求項７】
メディアクリップを同期させる方法であって、
複数の異なるメディアクリップをマルチカメラメディアクリップの異なるシーケンスに割り当てることと、
各特定のシーケンスについて、
タイムコード情報が、前記特定のシーケンスの前記割り当てられたクリップを順序付けるために使用される第１組の基準を満たすかどうかを判定することと、
前記タイムコード情報が前記第１組の基準を満たすときに、前記タイムコード情報を使用して、前記特定のシーケンスの前記割り当てられたクリップを順序付けることと、
前記タイムコード情報が、前記第１組の基準を満たさないときに、日時情報が第２組の基準を満たすかどうかを判定することと、
前記日時情報が前記第２組の基準を満たすときに、前記日時情報を使用して前記特定のシーケンスの前記割り当てられたクリップを順序付けることと、
により、前記異なるシーケンスのそれぞれの前記割り当てられたクリップを、タイミングメタデータを使用して、タイムラインに沿って自動的に順序付けることと、
各シーケンスの前記割り当てられたメディアクリップの前記タイミングメタデータを使用して、タイムラインに沿って前記異なるシーケンスの初期同期を実行することと、
第１のシーケンスの第１のメディアクリップセットのオーディオデータを、第２の異なるシーケンスの第２のメディアクリップセットのオーディオデータに比較することによって、前記異なるシーケンスの前記初期同期を自動調整することと
を含む方法。
【請求項８】
少なくとも１つのシーケンスに関して、前記シーケンスに割り当てられた第１のメディアクリップが、前記タイムライン上で、前記シーケンスに割り当てられた第２のメディアクリップと異なる時間に始まる、請求項７に記載の方法。
【請求項９】
メディアクリップを同期させる方法であって、
複数の異なるメディアクリップをマルチカメラメディアクリップの異なるシーケンスに割り当てることであって、前記複数のメディアクリップが、静止画像クリップを含むことと、
各シーケンスの前記割り当てられたメディアクリップのタイミングメタデータを使用して、タイムラインに沿って前記異なるシーケンスの初期同期を自動的に実行することと、
第１のシーケンスの第１のメディアクリップセットのオーディオデータを、第２の異なるシーケンスの第２のメディアクリップセットのオーディオデータに比較することによって、前記異なるシーケンスの前記初期同期を自動調整することと、を有し、
前記静止画像クリップが、関連付けられたオーディオデータを有しておらず、前記初期同期に対する前記調整による影響を受けない方法。
【請求項１０】
前記複数のメディアクリップが、ビデオ画像データを参照するビデオクリップと、オーディオデータを参照するオーディオクリップと、を含む、請求項９に記載の方法。
【請求項１１】
電子装置であって、
命令セットを実行するための１組の処理ユニットと、
前記処理ユニットの少なくとも１つによって実行されたとき、メディアクリップのシーケンスを同期させるメディア編集アプリケーションを記憶する、永続的機械可読媒体と、を備え、
前記メディア編集アプリケーションが、
複数の異なるメディアクリップを、前記異なるメディアクリップのソース特定メタデータに基づいて、マルチカメラメディアクリップの異なるシーケンスに割り当てる命令セットと、
各シーケンスの前記割り当てられたメディアクリップのタイミングメタデータを使用して、タイムラインに沿って前記異なるシーケンスの初期同期を自動的に実行する命令セットと、
第１のシーケンスの第１のメディアクリップセットのオーディオデータを、第２の異なるシーケンスの第２のメディアクリップセットのオーディオデータに比較することによって、前記異なるシーケンスの前記初期同期を自動調整する命令セットと、
前記第１のシーケンスからの第１の複数のメディアクリップと前記第２のシーケンスからの第２の複数のメディアクリップとを有する前記マルチカメラメディアクリップを記憶する命令セットであって、前記マルチカメラメディアクリップは、１以上の複合メディアプレゼンテーションの追加のためである命令セットと
を含む、電子装置。
【請求項１２】
前記異なるシーケンスがそれぞれ、異なるカメラによってキャプチャされたビデオクリップを含む、請求項１１に記載の電子装置。
【請求項１３】
前記第１のメディアクリップセット内の少なくとも１つのビデオクリップが、前記第２のメディアクリップセット内の第２のビデオクリップと同時にキャプチャされた、請求項１２に記載の電子装置。
【請求項１４】
前記メディア編集アプリケーションが、前記異なるシーケンスのそれぞれの内で前記割り当てられたメディアクリップを順序付ける命令セットを更に含む、請求項１１に記載の電子装置。
【請求項１５】
前記異なるシーケンスの前記初期同期を調整するための前記命令セットが、
前記第１のメディアクリップセットにおける第１のメディアクリップを選択する命令セットと、
前記初期同期後に前記第１のメディアクリップと時間が重複する前記第２のメディアクリップセットにおける第２のメディアクリップを特定する命令セットと、
前記第１のメディアクリップと前記第２のメディアクリップのオーディオデータに基づいて、前記第１のメディアクリップと前記第２のメディアクリップとの間の時間オフセットを特定する命令セットと、
前記第２のメディアクリップセットの各クリップを前記時間オフセットによって調整して、前記第２のメディアクリップセットのオーディオを前記第１のメディアクリップセットのオーディオと整合させる命令セットとを含む、請求項１１に記載の電子装置。
【請求項１６】
前記特定された時間オフセットが、前記第１のメディアクリップと前記第２のメディアクリップの前記オーディオデータ間のピーク相関関係を有するオフセットである、請求項１５に記載の電子装置。
【請求項１７】
電子装置であって、
命令セットを実行するための１組の処理ユニットと、
前記処理ユニットの少なくとも１つによって実行されたとき、特定のシーケンスの割り当てられたクリップを自動的に順序付けるメディア編集アプリケーションを記憶する、永続的機械可読媒体と、を備え、
前記メディア編集アプリケーションが、
複数の異なるメディアクリップをマルチカメラメディアクリップの異なるシーケンスに割り当てる命令セットと、
各特定のシーケンスについて、
タイムコード情報が、前記特定のシーケンスの前記割り当てられたクリップを順序付けるために使用される第１組の基準を満たすかどうかを判定することと、
前記タイムコード情報が前記第１組の基準を満たすときに、前記タイムコード情報を使用して、前記特定のシーケンスの前記割り当てられたクリップを順序付けることと、
前記タイムコード情報が、前記第１組の基準を満たさないときに、日時情報が第２組の基準を満たすかどうかを判定することと、
前記日時情報が前記第２組の基準を満たすときに、前記日時情報を使用して前記特定のシーケンスの前記割り当てられたクリップを順序付けることと、
により、前記異なるシーケンスのそれぞれの前記割り当てられたクリップを、タイミングメタデータを使用して、タイムラインに沿って自動的に順序付ける命令セットと、
各シーケンスの前記割り当てられたメディアクリップの前記タイミングメタデータを使用して、タイムラインに沿って前記異なるシーケンスの初期同期を実行する命令セットと、
第１のシーケンスの第１のメディアクリップセットのオーディオデータを、第２の異なるシーケンスの第２のメディアクリップセットのオーディオデータに比較することによって、前記異なるシーケンスの前記初期同期を自動調整する命令セットと
を含む、電子装置。
【請求項１８】
少なくとも１つのシーケンスに関して、前記シーケンスに割り当てられた第１のメディアクリップが、前記タイムライン上で、前記シーケンスに割り当てられた第２のメディアクリップと異なる時間に始まる、請求項１７に記載の電子装置。
【請求項１９】
電子装置であって、
命令セットを実行するための１組の処理ユニットと、
前記処理ユニットの少なくとも１つによって実行されたとき、メディアクリップを同期させるメディア編集アプリケーションを記憶する、永続的機械可読媒体と、を備え、
前記メディア編集アプリケーションが、
複数の異なるメディアクリップをマルチカメラメディアクリップの異なるシーケンスに割り当てる命令セットであって、前記複数のメディアクリップが、静止画像クリップを含む命令セットと、
各シーケンスの前記割り当てられたメディアクリップのタイミングメタデータを使用して、タイムラインに沿って前記異なるシーケンスの初期同期を自動的に実行する命令セットと、
第１のシーケンスの第１のメディアクリップセットのオーディオデータを、第２の異なるシーケンスの第２のメディアクリップセットのオーディオデータに比較することによって、前記異なるシーケンスの前記初期同期を自動調整する命令セットと、を有し、
前記静止画像クリップが、関連付けられたオーディオデータを有しておらず、前記初期同期に対する前記調整による影響を受けない、電子装置。
【請求項２０】
前記複数のメディアクリップが、ビデオ画像データを参照するビデオクリップと、オーディオデータを参照するオーディオクリップと、を含む、請求項１９に記載の電子装置。
【発明の詳細な説明】
【技術分野】
【０００１】
【背景技術】
【０００２】
デジタルグラフィックデザイン、画像編集、オーディオ編集及びビデオ編集アプリケーション（即ち、メディア編集アプリケーション）は、グラフィックデザイナ、メディアアーティスト、映画及びテレビディレクタ、並びにその他のユーザに、様々なメディアコンテンツの作成に必要なツールを提供する。そのようなアプリケーションの例には、Ｆｉｎａｌ  Ｃｕｔ  Ｐｒｏ（登録商標）及びｉＭｏｖｉｅ（登録商標）があり、これらは両方ともＡｐｐｌｅ，Ｉｎｃ．によって販売されている。これらのアプリケーションは、様々なメディアコンテンツを様々な手法で編集し、組み合わせ、トランジションし、オーバーレイし、繋ぎ合わせて生成メディアプロジェクトを作成する機能をユーザに提供する。生成メディアプロジェクトは、メディアプレゼンテーションを作成するために使用される任意数のテキスト、オーディオ、画像及び／又はビデオコンテンツ要素の特定配列の組成物を特定する。
【０００３】
様々なメディア編集アプリケーションが、電子的手段によってそのような合成を容易にする。具体的には、プロセッサ及びコンピュータ可読記憶媒体を有するコンピュータ又は他の電子装置が、メディア編集アプリケーションを実行する。その際に、コンピュータは、グラフィカルインタフェースを生成し、それにより、デザイナは、メディアコンテンツのグラフィック表現をデジタル式に操作して所望の結果を生成する。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
いくつかの例では、ディレクタ又は編集者などが、複数の異なるカメラを用いて複数の異なるアングルから１つのシーンを撮影することがある。手作業で多数のメディアクリップをタイムラインに編集し、クリップをどのように整列させトリミングするかを指示し、様々なカメラをどこで切り替えるかを指定しようとすることは、難しく時間のかかるプロセスである可能性がある。更に、編集者が、このプロセスをタイムラインの複数の位置又は複数の異なるメディアプロジェクト内で行う場合は、複数の位置で同じ変更をしなければならないので、編集者は、変更するのを躊躇することになる。
【課題を解決するための手段】
【０００５】
本発明のいくつかの実施形態は、ユーザが、複数の異なるメディアキャプチャ装置（例えば、異なるアングルからシーンを同時に記録するいくつかのカメラ）によってキャプチャされたいくつかのメディアクリップを含む、マルチカメラメディアクリップを作成することを可能にするメディア編集アプリケーションを提供する。ユーザが、メディア編集アプリケーションが特定のメディアクリップセットを使用してマルチカメラメディアクリップを作成するように指定したとき、アプリケーションは、メディアクリップのメタデータを使用して、その組内のメディアクリップを異なるグループ（例えば、異なる各カメラに１つのグループ）に自動的に割り当て、各グループ内のクリップを順序付け離間させ（例えば、クリップ間にギャップを有する時間順に）、グループ全体にわたってクリップを同期させる（例えば、第１のグループ内のクリップのキャプチャ時間を第２のグループ内のクリップのキャプチャ時間と整合させる）。ユーザが、そのようなマルチカメラクリップを複合プレゼンテーションに追加するとき、メディア編集アプリケーションは、既に作成されたマルチカメラクリップを参照する新しいクリップインスタンスを、プレゼンテーション内に作成して、マルチカメラクリップに対する変更が、複合プレゼンテーション内のクリップインスタンスに作用するようにする。メディア編集アプリケーションは、マルチカメラクリップ並びに複合プレゼンテーション内のクリップのインスタンスを編集するための様々なユーザインタフェースツールを提供する。
【０００６】
いくつかの実施形態において、ユーザは、マルチカメラクリップを生成するいくつかの異なるメディアクリップ（例えば、ビデオクリップ、オーディオクリップ、静止画など）を指定する。メディア編集アプリケーションは、指定されたメディアクリップをグループ（本明細書では「アングル」又は「カメラアングル」と呼ばれることもある）に自動的にソートする。いくつかの実施形態は、ユーザ入力されたアングル若しくはカメラ名又は自動生成されたカメラ情報などのメディアクリップのメタデータを使用して、メディアクリップをグループにソートする（例えば、異なるメディアクリップをキャプチャするために使用されるカメラごとにグループが作成される。）。クリップがソートされた状態で、アプリケーションは、異なるグループにそれぞれクリップの順序付けられたシーケンスを自動生成する。いくつかの実施形態において、アプリケーションは、メタデータが、適正な順序と一致することを示す特定の基準に適合する限り、クリップメタデータ（例えば、メディアクリップをキャプチャするために使用されるキャプチャ装置によって生成されるタイミングデータ）を利用してこの順序付けを行う。クリップの順序付けに加えて、メディア編集アプリケーションは、キャプチャ装置がメディアをキャプチャしなかったとき（例えば、ショット間でカメラの電源が切られたとき）に時間のギャップを挿入して、シーケンス内のクリップをスペース配置する。
【０００７】
グループそれぞれのシーケンスを生成した後、メディア編集アプリケーションは、異なるグループ全体にわたってシーケンスを同期させる。即ち、アプリケーションは、第１のキャプチャ装置によって特定の時間にキャプチャされたコンテンツが、第２のキャプチャ装置によって同時にキャプチャされたコンテンツと整合されるようにシーケンスを整合させる。いくつかの実施形態は、１つ以上のグループを配列するために使用される同じタイミングメタデータを使用して、異なるグループを同期させる。第１の装置によってクリップがキャプチャされた時間を示す情報が、第２の装置からの対応する情報と同じフォーマット（例えば、タイムコードデータ又は時刻情報）を有するとき、アプリケーションは、タイミング情報が、装置間で情報が比較されるべきであることを示す特定の基準を満たす限り、この情報を使用して、クリップを整合させる。いくつかの実施形態において、クリップメタデータを使用してグループのこの事前同期を行なった後、メディア編集アプリケーションは、複数の装置によってキャプチャされたオーディオデータを使用して同期を微調整する。即ち、アプリケーションは、複数の装置（例えば、様々なカメラのマイクロフォン）によってキャプチャされた類似のオーディオを特定し、このオーディオを整合させる。特定のカメラからのオーディオ及びビデオが、互いに結び付けられているので、これは、様々な装置からのビデオを整合させる効果も有する。
【０００８】
いくつかの異なるメディアクリップからマルチカメラメディアクリップを作成するとき、いくつかの実施形態のメディア編集アプリケーションは、マルチカメラメディアクリップの参照データ構造を生成する。この参照データ構造は、いくつかの実施形態において、クリップが割り当てられるグループにそれぞれ関する情報を記憶する。アプリケーションは、参照データ構造を一連のネストクリップ構造として記憶し、各グループは、参照クリップ構造内の別個のクリップ構造で記憶される。次に、特定グループのクリップ構造は、いくつかの実施形態においてギャップ構造を使用してクリップ間の離間を示すことにより、グループに割り当てられたクリップの順序付付きクリップ構造セットを記憶する。更に、参照クリップ構造は、異なるグループ間の同期を示す情報を記憶する。
【０００９】
メディア編集アプリケーションは、グラフィカルユーザインタフェース（ＧＵＩ）に、参照マルチカメラメディアクリップを編集するための編集表示領域を提供する。いくつかの実施形態において、この編集表示領域は、複合メディアプレゼンテーション（「メディアプロジェクト」又は「複合メディアプロジェクト」とも呼ばれる）をメディアクリップのシーケンスとして（例えば、タイムラインに沿って配列されたクリップのシーケンスとして）作成し、編集するためにも使用される複合表示領域である。この編集表示領域内で、ユーザは、マルチカメラメディアクリップ内のクリップのグループを命名し、グループを追加又は削除し、クリップをグループに追加又はグループから除去し、シーケンス内の個々のメディアクリップを移動させ（例えば、グループの追加の整合を行なう）、マルチカメラクリップ内のグループの順序を変更し、マルチカメラクリップ内のクリップの個々のクリップ又はグループにエフェクト（例えば、変換、画素変更など）を適用することなどができる。いくつかの実施形態において、複合表示領域は、複合プレゼンテーションを編集するためのトラックのない表示領域であり、マルチカメラクリップの異なるグループのためのトラックのアピアランスを提供する。
【００１０】
前述したように、いくつかの実施形態の複合表示領域は、メディアプロジェクトを、ユーザによって配列されたメディアクリップのシーケンスとして作成するために使用される。メディア編集アプリケーションのユーザは、マルチカメラメディアクリップをメディアプロジェクトに追加することができる。次に、メディア編集アプリケーションは、メディアプロジェクトのその定義に、参照クリップを参照するマルチカメラクリップのクリップインスタンスを追加する。クリップインスタンスは、マルチカメラクリップの順序付けられたグループのうちの１つのグループをアクティブグループとして示す（いくつかの実施形態において、インスタンスは、アクティブオーディオグループとアクティブビデオグループの両方を示す）。マルチカメラクリップインスタンスによって占有された複合表示領域内の位置（例えば、時間）の複合プレゼンテーションを描画するとき、メディア編集アプリケーションは、アクティブグループのクリップに対応するソースコンテンツを検索する。
【００１１】
いくつかの実施形態において、クリップインスタンスは、参照マルチカメラクリップのプロパティ、並びにクリップインスタンスのアクティブグループのプロパティを継承する。また、クリップインスタンスにそれ自体のプロパティを適用することができる。例えば、いくつかの実施形態のマルチカメラクリップ参照は、それ自体のフォーマット及びフレームレートを有し、このフォーマット及びフレームレートは、クリップインスタンスによって継承される。アクティブグループは、クリップ参照内にそのシーケンスを有し、ユーザは、アクティブグループ内のクリップにエフェクトを適用した可能性がある。次に、ユーザは、クリップインスタンス内のアクティブグループに追加のエフェクトを適用し、この追加のエフェクトは、他のインスタンス（同じアクティブグループを有するインスタンスでも）に影響を及ぼさない。更に、ユーザは、インスタンスにとってどのグループがアクティブかに関係なく、クリップインスタンスと一緒にある、リタイミングエフェクト、マーカ又はキーワードをクリップインスタンスに配置してもよい。これらの参照クリップをマルチカメラメディアクリップについて述べたが、いくつかの実施形態は、個々のメディアクリップ又は複合メディアクリップのための参照クリップも含む。メディア編集アプリケーションが、クリップインスタンスを描画するとき、アプリケーションは、最初に、参照クリップのプロパティ（例えば、エフェクト）を適用し、次にクリップインスタンスのプロパティを適用する。
【００１２】
複合プレゼンテーションに追加されたとき、マルチカメラメディアクリップインスタンスを、プレゼンテーション内の他のメディアクリップと全く同様に編集することができる。しかしながら、いくつかの実施形態において、メディア編集アプリケーションは、そのようなマルチカメラメディアクリップに追加又は異なる編集機能を提供する。例えば、いくつかの実施形態のメディア編集アプリケーションは、ユーザが、複合プレゼンテーション内のクリップインスタンスにアクティブなグループを変更する複数の異なる方法を提供する。ユーザは、クリップインスタンスを選択して、ユーザが異なるグループからのビデオ又は画像を繰り返し表示させることを可能にする、異なるグループのドロップダウンメニュー又は表示領域を作成してもよい。
【００１３】
更に、いくつかの実施形態は、ＧＵＩ内にマルチカメラクリップビューワ（又は、「アングルビューワ」）を提供する。マルチカメラクリップビューワにより、ユーザは、単一マルチカメラメディアクリップの複数の異なるグループから同時にコンテンツ（例えば、ビデオ画像）を視聴することができる。ユーザは、ビューワを使用して、クリップインスタンスのアクティブグループを切り替えるか、又はクリップインスタンスを、異なるアクティブグループを有する２つの別個のインスタンスに分割することができる。いくつかの実施形態は、ユーザが、ビューワ内の特定グループを選択すると、クリップインスタンスのオーディオ、ビデオ又はオーディオとビデオとの両方を特定の選択されたグループに切り替わるか（又は、分割して切り替える）どうかを判定できるようにするＧＵＩ項目を提供する。いくつかの実施形態において、ＧＵＩ項目は、異なるタイプのコンテンツ（例えば、オーディオ、ビデオ、又は両方）に異なる色（又は、パターン、シンボル他などの他のインジケータ）を有し、これらの色は、ビューワ内のアクティブグループのコンテンツ（例えば、再生されているビデオ画像）の周囲並びにビューワ内に示されたグループのバンク内の強調で表される。マルチカメラクリップ内に、ビューワ内で利用可能な表示より多くのグループがあるとき、いくつかの実施形態は、グループの様々なセットを順に表示させるために、ユーザが選択することができる選択可能なグループバンクを表示する。
【００１４】
以上の要約は、本発明のいくつかの実施形態を簡潔に紹介するためのものである。本明細書に開示されたすべての発明内容の紹介又は概要を意味しない。以下の詳細な説明、及び詳細な説明で引用される図面は、更に、要約で述べた実施形態並びに他の実施形態について述べる。したがって、本明細書で述べる全ての実施形態を理解するために、要約、詳細な説明及び図面の十分な検討が必要とされる。更に、特許請求された内容は、要約、詳細な説明及び図面における実例となる詳細によって限定されず、特許請求された内容は、主題の趣旨から逸脱しない他の特定の形態で実施することができるので、添付の特許請求の範囲によって定義される。
【図面の簡単な説明】
【００１５】
本発明の新規の特徴は、添付の特許請求の範囲で説明される。しかしながら、説明のため、本発明のいくつかの実施形態は、以下の図に示される。
【図１】マルチカメラメディアクリップを作成し、使用する機能を有するメディア編集アプリケーションのグラフィカルユーザインタフェース（「ＧＵＩ」）である。
【図２】ユーザが、図１の複合表示領域内に作成されている複合プレゼンテーションにマルチカメラクリップのインスタンスを追加することを示す図である。
【図３】いくつかの実施形態のメディア編集アプリケーションのＧＵＩである。
【図４】いくつかの実施形態のメディア編集アプリケーションのＧＵＩにおける新しいプロジェクトの作成を示す図である。
【図５】メディアアセットのアセットデータ構造、並びにメディアアセットを含むイベントのイベントデータ構造を概念的に示す図である。
【図６】インポートされたメディアファイルのいくつかの実施形態の、メディア編集アプリケーションによって作成されたクリップオブジェクトのネストシーケンスを概念的に示す図である。
【図７】４つのクリップを含むプロジェクト名称「新しいプロジェクト」を有するタイムラインを示す図である。
【図８】図７に示されたプロジェクトのデータ構造のサブセットを概念的に示す図である。
【図９】概念的タイムラインにネストされた図８のオブジェクトを概念的に示す図である。
【図１０】メディアクリップセットからマルチカメラメディアクリップを生成するいくつかの実施形態のプロセスを概念的に示す図である。
【図１１】マルチカメラメディアクリップを作成するためのユーザ入力を示す図である。
【図１２】クリップをマルチカメラメディアクリップの異なるアングルに割り当てるプロセスを概念的に示す図である。
【図１３】１組の９クリップのマルチカメラメディアクリップの３つの異なるアングルへの割り当てを概念的に示す図である。
【図１４】マルチカメラメディアクリップの異なるアングルの順序付けられたクリップシーケンスを生成するいくつかの実施形態のプロセスを概念的に示す図である。
【図１５】図１３からのクリップのシーケンスである。
【図１６】タイミングメタデータを利用するマルチカメラメディアクリップの初期同期を行なういくつかの実施形態のプロセスを概念的に示す図である。
【図１７】図１３に示されたクリップのメタデータを使用する図１５からのシーケンスのアラインメントを示す図である。
【図１８】マルチカメラメディアクリップ内の１組のアングル全体にわたる同期メディアクリップのいくつかの実施形態のプロセスを概念的に示す図である。
【図１９】図１７からのアングルのオーディオ同期を示す図である。
【図２０】いくつかの実施形態のメディア編集アプリケーションのイベントで作成されたマルチカメラメディアクリップのデータ構造のサブセットを概念的に示す図である。
【図２１】いくつかの実施形態のグラフィカルユーザインタフェース（「ＧＵＩ」）のアングルエディタ表示領域を開いたところを示す図である。
【図２２】マルチカメラプレビュー表示領域が開かれ表示領域のオプションがアクセスされた３段階にわたるＧＵＩである。
【図２３】クリップをそのトラックに沿って移動させることによって、第１のアングルトラック内のメディアクリップを第２のアングルトラック内のクリップと手動でアラインメントすることを示す図である。
【図２４】ユーザがいくつかの実施形態に係るマルチカメラメディアクリップとモニタリングアングルを変更することを示す図である。
【図２５】ユーザがマルチカメラ参照クリップの異なるアングル用のオーディオを有効にし、無効にすることを示す図である。
【図２６】アングルエディタで開かれたマルチカメラメディアクリップを再生（又は、スキミング）するためのいくつかの実施形態のプロセスを概念的に示す図である。
【図２７】選択されたクリップをアングルエディタ内の他のアングルのクリップに自動的に同期させる機能の使用を示す図である。
【図２８】アングルエディタ内でクリップを同期させるためのフレームマッチング技術の使用を示す図である。
【図２９】ユーザがアングルをＧＵＩ内のマルチカメラメディアクリップに追加することを示す図である。
【図３０】ユーザが図２９のＧＵＩ内のマルチカメラメディアクリップのアングルをリネームすることを示す図である。
【図３１】ユーザが図２９のＧＵＩ内のマルチカメラメディアクリップのアングルを削除することを示す図である。
【図３２】ユーザが図２９のＧＵＩ内のマルチカメラメディアクリップのアングルを順序変更することを示す図である。
【図３３】エフェクト表示領域からアングルエディタ内でクリップに白黒エフェクトを適用することを示す図である。
【図３４】ユーザがマルチカメラメディアクリップをメディアプロジェクトに追加することを示す図である。
【図３５】マルチカメラクリップインスタンスを含むメディアプロジェクトを定義するデータ構造のサブセットを概念的に示す図である。
【図３６】ユーザがマルチカメラクリップをメディアプロジェクトに追加する例である。
【図３７】ユーザが複合表示領域内のマルチカメラクリップのアングルエディタを開くことを示す図である。
【図３８】選択されたクリップ、並びに選択されたクリップを有するインスペクタ表示領域の異なるタブである。
【図３９】選択されたクリップ、並びに選択されたクリップを有するインスペクタ表示領域の異なるタブである。
【図４０】選択されたクリップ、並びに選択されたクリップを有するインスペクタ表示領域の異なるタブである。
【図４１】選択されたクリップ、並びに選択されたクリップを有するインスペクタ表示領域の異なるタブである。
【図４２】ユーザがインスペクタ内の選択されたクリップインスタンス用のアクティブビデオアングルを切り替えることを示す図である。
【図４３】ユーザが複合表示領域内のメディアプロジェクトの編集中に表示されるような、いくつかの実施形態のアングルビューワを示す図である。
【図４４Ａ】様々な例がアングルビューワを使用してメディアプロジェクト内のマルチカメラクリップを編集すること示す図である。
【図４４Ｂ】様々な例がアングルビューワを使用してメディアプロジェクト内のマルチカメラクリップを編集すること示す図である。
【図４４Ｃ】様々な例がアングルビューワを使用してメディアプロジェクト内のマルチカメラクリップを編集すること示す図である。
【図４４Ｄ】様々な例がアングルビューワを使用してメディアプロジェクト内のマルチカメラクリップを編集すること示す図である。
【図４５】ユーザがアングルビューワを使用してクリップインスタンスを切断するときにメディアプロジェクトのデータ構造を変更するいくつかの実施形態のプロセスを概念的に示す図である。
【図４６】ビューワが４つのアングルプレビュー表示を表示しているときにアングルビューワのサイズを変更するエフェクトを示す図である。
【図４７】複合表示領域内の選択されたマルチカメラクリップインスタンスのビデオアングルを切り替えるメニューの使用を示す図である。
【図４８】いくつかの実施形態の複合表示領域内のビデオアングルを切り替える他の方法を示す図である。
【図４９】複合表示領域内の選択されたマルチカメラクリップインスタンスのアクティブオーディオアングルを切り替えるためのメニューの使用を示す図である。
【図５０】２つのマルチカメラクリップインスタンスを単一インスタンスに組み合わせるための複合表示領域内のスルー編集の削除を示す図である。
【図５１】ユーザがスルー編集によって分離された２つのクリップインスタンスのボリュームレベルを変更することを示す図である。
【図５２】ユーザが１対のクリップインスタンスに複合表示領域内でビデオエフェクトを適用することを示す図である。
【図５３】２つの標準メディアクリップと、編集ポイントがスルー編集である２つのマルチカメラクリップ参照との間の編集ポイントで適用された、デフォルトトリム編集の違いを示す図である。
【図５４】２つの標準メディアクリップと、編集ポイントがスルー編集である２つのマルチカメラクリップ参照との間の編集ポイントで適用された、デフォルトトリム編集の違いを示す図である。
【図５５】メディアプロジェクト内のマルチカメラクリップインスタンスから画像を描画するいくつかの実施形態のプロセスを概念的に示す図である。
【図５６】マルチカメラクリップインスタンスを含む種々のメディアクリップを含むメディアクリップのタイムラインを概念的に示す図である。
【図５７】図５６からのメディアプロジェクトの特定画像のレンダーグラフを概念的に示す図である。
【図５８】いくつかの実施形態のメディア編集アプリケーションのソフトウェアアーキテクチャを概念的に示す図である。
【図５９】本発明のいくつかの実施形態が実現される電子システムを概念的に示す図である。
【発明を実施するための形態】
【００１６】
以下の記述では、説明のために多数の詳細、例及び実施形態が示される。しかしながら、当業者は、本発明が、説明された実施形態に限定されないこと、本発明が、述べた特定の詳細及び例の一部なしに実施され得ることを理解するであろう。他の例では、本発明の記述を余計な詳細で不明瞭にしないように、周知の構造及び装置がブロック図の形で示される。
【００１７】
本発明のいくつかの実施形態は、ユーザが、複数の異なるメディアキャプチャ装置（例えば、１つのシーンを異なるアングルから同時に記録するいくつかのカメラ）によってキャプチャされたいくつかのメディアクリップを含む、マルチカメラメディアクリップを作成できるようにするメディア編集アプリケーションを提供する。ユーザが、メディア編集アプリケーションに特定のメディアクリップセットを使用してマルチカメラメディアクリップを作成するように指定したとき、アプリケーションは、メディアクリップのメタデータを使用して、そのメディアクリップセットを異なるグループ（例えば、異なるカメラごとに１つのグループ）に自動的に割り当て、各グループ内のクリップを順序付けて離間させ（例えば、クリップ間にギャップがある時間順に）、グループ全体にわたってクリップを同期させる（例えば、第１のグループ内のクリップのキャプチャ時間を第２のグループ内のクリップのキャプチャ時間と整合させる）。ユーザが、そのようなマルチカメラクリップを複合プレゼンテーションに追加したとき、メディア編集アプリケーションは、既に作成されたマルチカメラクリップを参照する新しいクリップインスタンスを、プレゼンテーション内に作成して、マルチカメラクリップへの変更が、複合プレゼンテーション内のクリップインスタンスに作用するようにする。メディア編集アプリケーションは、マルチカメラクリップ並びに複合プレゼンテーション内のクリップのインスタンスを編集するための様々なユーザインタフェースツールを提供する。
【００１８】
メディアクリップは、いくつかの実施形態において、１つのソースメディア（例えば、ビデオファイルに含まれるビデオ、オーディオファイル又はビデオファイルに含まれるオーディオ、静止画など）を表すデータ構造である。メディア編集アプリケーションは、これらのクリップのグラフィック表現をユーザに提供し、ユーザは、クリップを使用して、複合表示領域内でクリップを一緒に編集することによって、複合メディアプレゼンテーション（メディアプロジェクトとも呼ばれる）を作成する。いくつかの実施形態のマルチカメラメディアクリップは、複数の異なるキャプチャデバイスからのメディアクリップを融合して、これらのメディアクリップをクリップ構造内で整列させる特定のタイプのメディアクリップである。
【００１９】
本発明のいくつかの実施形態において、図１は、マルチカメラメディアクリップを作成し、使用する機能を有するメディア編集アプリケーションのグラフィカルユーザインタフェース（「ＧＵＩ」）１００を示す。具体的には、この図は、ＧＵＩ  １００を２つの段階１１０及び１２０で示す。ＧＵＩ  １００は、メディアライブラリ１０５、プロジェクト表示領域１１５及びプレビュー表示領域１２５を含む。メディアライブラリ１０５は、メディアプロジェクトを作成するためにユーザが利用可能なメディアクリップセットのプレゼンテーションを表示する。メディアクリップは、実施形態により異なるように表示されることがある。例えば、メディアライブラリ１０５内のメディアクリップ１０６〜１０８は、それらのメディアクリップが表すビデオから１つのサムネイル画像を表示し、そのサムネイルの下にクリップ名とカメラメタデータとの両方を表示する。他の実施形態は、クリップ名を表示することがある。メディアクリップ１０６及び１０８（それぞれ「クリップＡ」及び「クリップＣ」）は両方とも、「カメラ１」からのものであり、メディアクリップ１０７（「クリップＢ」）は、「カメラ２」からのものである。このカメラ名メタデータは、ソースビデオから自動生成されることもあり（例えば、メディア編集アプリケーションへのインポート時）、ユーザ入力されることもある。
【００２０】
プロジェクト表示領域１１５（複合表示領域とも呼ばれる）は、メディア編集アプリケーションのユーザによって作成されているメディアプロジェクトの視覚的表現を提供する。具体的には、これは、メディアプロジェクトに追加されたメディアクリップを表すタイムラインに沿った１つ以上のメディアクリップ表現を表す。いくつかの実施形態において、この図に示されたように、タイムライン内のビデオクリップの表現は、各ビデオクリップからの１つ以上の画像を表す。ユーザは、メディアライブラリ１０５内のクリップを選択し、そのクリップを、プロジェクト表示領域１１５内に作成されるプロジェクトに追加することができる。
【００２１】
プレビュー表示領域１２５は、メディアライブラリ１０５内のメディアクリップ又はプロジェクト表示領域１１５内のプロジェクトからのプレビュー画像を表示する。ビデオクリップとメディアプロジェクトとの両方とも、画像のシーケンスを表し、メディア編集アプリケーションは、ユーザ入力にしたがってこれらの画像をプレビュー表示領域内で再生する。いくつかの実施形態において、ユーザは、タイムライン内のプロジェクトの上で再生ヘッド１３５を移動させることによってメディアプロジェクトを視聴する。図１の段階１１０で、再生ヘッド１３５は、プロジェクトの約２．５秒マークにあり、アプリケーションは、プロジェクト内のこの時間に対応する画像をプレビュー表示領域１２５に表示する。
【００２２】
段階１１０に示されたように、ユーザは、メディアライブラリ１０５内のクリップ１０６〜１０８の３つ全てを選択し、「マルチカメラクリップの作成」オプションを含むメニュー１３０を活性化した。この操作は、カーソルによって行なわれる選択操作として示されているが、当業者は、タッチスクリーン操作を使用して類似の操作が行なわれてもよいこと、更に、この同じ結果を実現するために、いくつかの実施形態のＧＵＩで追加の操作（例えば、項目のドラッグアンドドロップ、ホットキーの使用など）が行なわれてもよいことを理解するであろう。実際には、このアプリケーションは、多くのそのような操作を、特定の手法（例えば、カーソルによる）で実行されるように示し、当業者は、そのような操作が、種々の異なる実施形態において様々な異なる入力装置によって様々な異なる方法で行なわれてもよいことを理解するであろう。
【００２３】
いくつかの実施形態において、これにより、選択されたクリップを使用するマルチカメラクリップ作成プロセスが開始される。メディア編集アプリケーションは、指定されたメディアクリップをグループ（本明細書では「アングル」又は「カメラアングル」と呼ばれることもある）に自動的にソートする。いくつかの実施形態は、ユーザが入力したアングル若しくはカメラ名、又は自動生成されたカメラ情報などのクリップのメタデータを使用して、メディアクリップを異なるグループにソートする（例えば、異なるメディアクリップをキャプチャするために使用されるカメラごとにグループが作成される）。この場合、３つの選択されたクリップ９６〜１０８は、それらが「カメラ１」又は「カメラ２」からのものであることを示すメタデータを含む。メディア編集アプリケーションは、このメタデータを利用してクリップを２つのグループ（カメラにそれぞれ１つ）にソートする。
【００２４】
クリップがグループにソートされた状態で、アプリケーションは、異なるグループにそれぞれクリップの順序付けられたシーケンスを自動生成する。いくつかの実施形態は、そのメタデータが適正な順序付けに一致することを示す特定の基準を満たす限り、クリップメタデータを（例えば、メディアクリップをキャプチャするために使用されるキャプチャ装置によって生成されるタイミングデータ）を利用してこの順序付けを行う。クリップを順序付けに加えて、メディア編集アプリケーションは、キャプチャ装置がメディアをキャプチャしなかったとき（例えば、カメラの電源がショット間で切られたとき）にギャップを挿入して、シーケンス内のクリップをスペース配置する。図１に示された例では、アプリケーションは、メディアクリップ１０６及び１０８のメタデータを調べて、クリップがキャプチャされた順序、並びに第１のクリップの終了と第２の開始との間の時間を決定する。
【００２５】
グループそれぞれのシーケンスを生成した後で、メディア編集アプリケーションは、異なるグループ全体にわたってシーケンスを同期させる。即ち、アプリケーションは、第１のキャプチャ装置によって特定の時間にキャプチャされたコンテンツが、第２のキャプチャ装置によって同時にキャプチャされたコンテンツと整合されるようにシーケンスを整合させる。いくつかの実施形態は、１つ以上のグループを配列して異なるグループを同期させるために使用される同じタイミングメタデータを使用する。第１の装置によってクリップがキャプチャされた時間を示す情報が、第２の装置からの対応する情報と同じフォーマット（例えば、タイムコードデータ又は時刻情報）を有し、アプリケーションは、タイミング情報が、装置間の情報が比較されるべきであることを示す特定の基準を満たすときは、この情報を使用してクリップを整合させる。いくつかの実施形態において、メディア編集アプリケーションは、クリップメタデータを使用してグループのこの事前同期を行なった後で、グループが適切に同期されていることを確認し、複数の装置によってキャプチャされたオーディオデータを使用して同期を微調整する。即ち、アプリケーションは、複数の装置（例えば、様々なカメラのマイクロフォン）によってキャプチャされた類似のオーディオを特定し、このオーディオを整合させる。特定のカメラからのオーディオ及びビデオが、互いに結び付けられているので、これは、様々な装置からのビデオを整合させる効果も有する。図１に示されたＧＵＩのメディア編集アプリケーションは、クリップ１０７（「カメラ２」からのクリップ）のタイミングを、クリップ１０６及び１０８（「カメラ１」からのクリップ）クリップ）のタイミングと自動的に同期させる。
【００２６】
図１の段階１２０は、メディア編集アプリケーションが、クリップ表現１０９によって表されたマルチカメラメディアクリップを作成した後のＧＵＩ  １００を示す。メディアライブラリ１０５内の選択されたクリップ表現１０９を表示する他に、ＧＵＩ  １００は、マルチカメラメディアクリップと相互作用するためのいくつかの実施形態の追加機能を含む。具体的には、ＧＵＩ  １００は、複合表示領域１１５内で編集するマルチカメラメディアクリップを表示し、またマルチカメラクリップビューワ（又は、「アングルビューワ」）１４０を表示する。
【００２７】
複合表示領域１１５内のマルチカメラメディアクリップ編集表示は、マルチカメラクリップ１０９内の２つのメディアクリップのグループを表示する。これらの２つのグループは、「カメラ１」及び「カメラ２」として表され、単一タイムラインに沿って配置された各グループのクリップを示す。いくつかの実施形態において、複合表示領域は、複合プレゼンテーションを編集するためのトラックレス表示領域であるが、アプリケーションは、マルチカメラメディアクリップ内にグループそれぞれの別個のトラックのアピアランスを提供する。第１のグループは、図示されたように「クリップＡ」及び「クリップＣ」を含み、「クリップＡ」は、長さ約６秒であり（時間０秒から時間６秒まで続く）、「クリップＣ」は、もう少し短い（約８．５秒から１２．５秒まで続く）。「カメラ２」グループに割り当てられた「クリップＢ」は、他の２つのクリップのいずれよりわずかに長く、タイムラインで約１．５秒から９秒である。第２グループのクリップは、メディア編集アプリケーションが、前述のように、ソースビデオ並びにクリップのオーディオと一緒に記憶されたタイミングメタデータを使用して２つのグループのクリップを互いに自動整合させるので、時間０で始まらない。
【００２８】
この編集表示領域内で、ユーザは、マルチカメラメディアクリップ内のクリップのグループを命名し、グループを追加又は削除し、クリップをグループに追加又はグループから除去し、シーケンス内の個々のメディアクリップを移動させ（例えば、グループの追加の整合を行う）、マルチカメラクリップ内のグループの順序を変更し、マルチカメラクリップ内の個々のクリップ又はクリップのグループにエフェクト（例えば、変換、画素変更など）を適用することなどができる。
【００２９】
マルチカメラクリップビューワ１４０により、ユーザは、単一マルチカメラメディアクリップ１４０の複数の異なるグループから、同時にコンテンツ（例えば、ビデオ画像）を視聴することができる。異なるグループのトラックが、複合表示領域内に示されたとき、ビューワは、いくつかの実施形態において、再生ヘッド１３５の位置に対応するグループそれぞれのプレビュー画像を示す。プレビュー表示領域１２５は、グループのうちの１つのプレビュー画像を表示する。いくつかの実施形態において、プレビュー表示領域内に再生する特定グループが選択されている（例えば、ユーザによって）。しかしながら、ユーザが、カーソル（又は、類似の位置インジケータ）を複合表示領域内の特定のクリップの上で移動させるとき、アプリケーションは、同時に選択されたグループからではなくプレビュー表示領域内の特定のクリップからの画像を表示する。この場合、選択されたグループは「カメラ１」であり、したがって、メディア編集アプリケーションは、再生ヘッド１３５の時間に対応するこのグループからビデオ画像をプレビュー表示領域１２５内に表示する。更に、ビューワは、図２を参照して後述される、複合プレゼンテーション内でマルチカメラクリップを編集するときの機能を提供する。
【００３０】
いくつかの異なるメディアクリップ（例えば、マルチカメラメディアクリップ１０９）からマルチカメラメディアクリップを作成するとき、いくつかの実施形態のメディア編集アプリケーションは、マルチカメラメディアクリップの参照データ構造を生成する。この参照データ構造は、いくつかの実施形態において、クリップが割り当てられたグループにそれぞれ関する情報を記憶する。アプリケーションは、参照データ構造を一連のネストクリップ構造として記憶し、各グループは、参照クリップ構造内の別個のクリップ構造に記憶される。次に、特定グループのクリップ構造は、いくつかの実施形態においてギャップ構造を使用してクリップ間の離間を示すことにより、グループに割り当てられたクリップの順序付けられたクリップ構造セットを記憶する。更に、参照クリップ構造は、異なるグループ間の同期を示す情報を記憶する。
【００３１】
マルチカメラメディアクリップが作成された状態で、ユーザは、マルチカメラメディアクリップをメディアプロジェクトに追加することができる。次に、メディア編集アプリケーションは、参照クリップを参照するマルチカメラクリップのクリップインスタンスを、メディアプロジェクトに追加する。クリップインスタンスは、アクティブグループとしてマルチカメラクリップの順序付けられたグループのうちの１つのグループを示す（いくつかの実施形態において、インスタンスは、アクティブオーディオグループとアクティブビデオグループとの両方を示す）。マルチカメラクリップインスタンスによって占有された複合表示領域内の位置（例えば、時間）の複合プレゼンテーションを描画するとき、メディア編集アプリケーションは、アクティブグループのクリップに対応するソースコンテンツを検索する。
【００３２】
いくつかの実施形態において、クリップインスタンスは、参照マルチカメラクリップのプロパティ、並びにクリップインスタンスのアクティブグループのプロパティを継承する。また、クリップインスタンスにそれ自体のプロパティを適用することができる。例えば、いくつかの実施形態のマルチカメラクリップ参照は、それ自体のフォーマット及びフレームレートを有し、このフォーマット及びフレームレートは、クリップインスタンスによって継承される。アクティブグループは、クリップ参照内にそのシーケンスを有し、アクティブグループ内のクリップにエフェクトが適用されることがある。次に、ユーザは、クリップインスタンスのアクティブグループに追加のエフェクトを適用することができ、この追加のエフェクトは、他のインスタンスに（同じアクティブグループのインスタンスでも）影響を及ぼさない。更に、ユーザは、インスタンスにとってどのグループがアクティブかに関係なく、クリップインスタンスと一緒にある、リタイミングエフェクト、マーカ又はキーワードをクリップインスタンスに配置してもよい。これらの参照クリップをマルチカメラメディアクリップについて述べたが、いくつかの実施形態は、個々のメディアクリップ又は複合メディアクリップのための参照クリップも含む。メディア編集アプリケーションが、クリップインスタンスを描画するとき、アプリケーションは、最初に、参照クリップのプロパティ（例えば、エフェクト）を適用し、次にクリップインスタンスのプロパティを適用する。
【００３３】
図２は、ユーザが２つの段階２１０及び２２０にわたって、複合表示領域１１５内に作成されている複合プレゼンテーションにマルチカメラクリップ１０９のインスタンスを追加することを示す。最初の段階で、ユーザは、クリップ１０９を選択し、このクリップを複合表示領域１１５にドラッグした。このドラッグアンドドロップ操作を行なうことによって、ユーザは、マルチカメラクリップ１０９のインスタンスをプレゼンテーション内に編集する。いくつかの実施形態において、ユーザは、ドラッグアンドドロップ操作ではなく、ユーザインタフェースボタン、ホットキー、メニューオプションの選択などによって、クリップをタイムラインに追加する。
【００３４】
第２の段階２２０は、複合プレゼンテーションが現在、マルチカメラクリップのインスタンスを含むことを示す。更に、複合表示領域１１５内に示されたクリップ表現は、クリップインスタンスのアクティブなビデオ及びオーディオグループを示す情報を含む。この場合、アクティブビデオグループは、カメラ２であり、アクティブオーディオグループは、カメラ１である。この例と同様に、いくつかの実施形態において、クリップインスタンスは、ビデオ用とオーディオ用に異なるアクティブグループを有することができる。この場合、アプリケーションは、オーディオ用のあるグループからのクリップ、及びビデオ用の異なるグループからのクリップを使用してプレゼンテーションを描画する。
【００３５】
複合プレゼンテーションに追加されたとき、マルチカメラメディアクリップインスタンスは、プレゼンテーション内の他のメディアクリップと全く同じように編集することができる。しかしながら、いくつかの実施形態において、メディア編集アプリケーションはそのようなマルチカメラメディアクリップのための追加又は異なる編集機能を提供する。例えば、いくつかの実施形態のメディア編集アプリケーションは、ユーザが、複合プレゼンテーション内のクリップインスタンスにアクティブなグループを切り換えるための複数の異なる方法を提供する。ユーザは、クリップインスタンスを選択して、ユーザが異なるグループからのビデオ又は画像を繰り返し表示することを可能にする、異なるグループのドロップダウンメニュー又は表示領域を作成してもよい。
【００３６】
ＧＵＩ  １００は、また、クリップ内の特定時間に対応するマルチカメラクリップ内の複数の異なるグループの画像を表示するマルチカメラクリップビューワ１４０を含む。再生ヘッド１３５が、複合表示領域１１５内のマルチカメラクリップインスタンスの特定時間の上に置かれたとき、ビューワ１４０に示されたビデオ画像は、マルチカメラクリップのその特定時間における画像に対応する。上に示されたように、マルチカメラビューワ１４０は、複合表示領域内のマルチカメラクリップインスタンスを編集するために使用されてもよい。
【００３７】
例えば、ユーザは、ビューワを使用して、クリップインスタンスのアクティブグループを切り替えるか、又はクリップインスタンスを、異なるアクティブグループを有する２つの別個のインスタンスに分割することができる。ＧＵＩ項目２４０によって、ユーザが、ビューワ内の特定グループを選択すると、クリップインスタンスのアクティブオーディオ及び／又はビデオグループが、特定の選択されたグループに切り替わるか（又は、分割し切り替わる）どうかを判定することができる。いくつかの実施形態において、ＧＵＩ項目は、異なるタイプのコンテンツ（例えば、オーディオ、ビデオ、又は両方）に異なる色（又は、パターン、シンボルなどの他のインジケータ）を有し、これらの色は、ビューワ内のアクティブグループのコンテンツ（例えば、再生されているビデオ画像）の周囲並びにビューワ内に示されたグループのバンク内の強調で表される。この場合、ボタンは、Ａ、Ｖ及びＡ／Ｖを示し、これらの記号（「Ａ」及び「Ｖ」）は、ビューワ内に示されるグループプレビュー内並びにバンク２４５内に示される。マルチカメラクリップ内に、ビューワ内で利用可能な表示より多いグループがあるとき、いくつかの実施形態は、グループの選択可能なバンクを表示する。ユーザは、バンクのうちの１つを選択してグループの異なる組を繰り返し表示することができる。この場合、グループが２つしかないので、ユーザは異なる組を切り替えなくてもよい。
【００３８】
図１及び図２は、いくつかの実施形態のメディア編集アプリケーションにおけるマルチカメラクリップの作成及び使用の例を示す。幾つかの更に詳細な実施形態を以下に述べる。節Ｉは、いくつかの実施形態のメディア編集アプリケーションのグラフィカルユーザインタフェースについて述べる。節ＩＩは、いくつかの実施形態のメディア編集アプリケーションによって使用されるデータ構造について述べる。次に、節ＩＩＩは、マルチカメラメディアクリップの作成について述べる。次に、節ＩＶは、マルチカメラ参照クリップの編集について述べ、節Ｖは、メディアプロジェクト内のマルチカメラクリップインスタンスの編集について述べている。節ＶＩは、いくつかの実施形態のメディア編集アプリケーションがマルチカメラメディアクリップを描画する方法について述べる。次に、節ＶＩＩは、いくつかの実施形態のメディア編集アプリケーションのソフトウェアアーキテクチャについて述べる。最後に、節ＶＩＩＩは、本発明のいくつかの実施形態が実施される電子システムについて述べる。
【００３９】
Ｉ．メディア編集アプリケーションのグラフィカルユーザインタフェース
以上の図は、メディア編集アプリケーションの単純化したグラフィカルユーザインタフェース（「ＧＵＩ」）を示した。図３は、前述の実施形態に比較して、追加の特徴を有するいくつかの実施形態のメディア編集アプリケーションのＧＵＩ  ３００を示す。当業者は、グラフィカルユーザインタフェース３００が、係るメディア編集アプリケーションの多数の可能なＧＵＩの１つに過ぎないことを理解するであろう。実際に、ＧＵＩ  ３００は、いくつかの表示領域を含み、これらの表示領域が、サイズ調整され、開閉され、他の表示領域（例えば、図１及び図２に示されたようなアングルビューワ）と置き換えられることなどがある。ＧＵＩ  ３００は、クリップライブラリ３０５、クリップブラウザ３１０、タイムライン３１５、プレビュー表示領域３２０、インスペクタ表示領域３２５、追加メディア表示領域３３０、及びツールバー３３５を含む。
【００４０】
クリップライブラリ３０５は、ユーザが、メディア編集アプリケーションにインポートされたメディアクリップにアクセスするための１組のフォルダを含む。いくつかの実施形態において、ユーザは、メディアファイルをアプリケーションにインポートすることができ、そのとき、インポートされたファイルのメディアクリップが作成される。そのようなファイルは、カメラ、外部ドライブ（例えば、外付けハードディスク、フラッシュメモリドライブ、ネットワークドライブなど）からインポートされることもあり、メディア編集アプリケーションが動作する装置内部のドライブからインポートされることがある。インポートの際のクリップデータ構造の作成については、後で節ＩＩで更に詳しく述べる。
【００４１】
いくつかの実施形態は、メディアクリップを、クリップによって表現されたインポートメディアファイルが記憶された装置（例えば、内蔵又は外付けハードディスクなどの物理記憶装置、ハードディスクパーティションなどの仮想記憶装置など）にしたがって、クリップライブラリ３０５内に編成する。また、いくつかの実施形態は、ユーザが、クリップによって表現されたメディアが作成された（例えば、カメラによって記録された）日付に基づいてメディアクリップを編成することを可能にする。図示されたように、クリップライブラリ３０５は、ハードディスク（この場合、メディア編集アプリケーションが実行する装置のブートディスク）に記憶された２００９年からのメディアクリップを含む。
【００４２】
記憶装置及び／又は日付内で、ユーザは、メディアクリップを、「イベント」又はメディアクリップの編成フォルダにグループ化してもよい。例えば、ユーザは、イベントに、何のメディアがイベントに記憶されたかを示す説明的名称を与える可能性がある（例えば、クリップライブラリ３０５に示された「休暇」イベントは、休暇からのビデオ映像を含む可能性がある）。いくつかの実施形態において、これらのクリップに対応するメディアファイルは、クリップライブラリに示されたフォルダを反映するファイル記憶構造で記憶される。
【００４３】
クリップライブラリ内で、いくつかの実施形態は、ユーザが、様々なクリップ管理作業を行なうことを可能にする。そのようなクリップ管理作業には、イベント間のクリップの移動、新しいイベントの作成、２つのイベントのマージ、イベントの複製（いくつかの実施形態において、イベント内のクリップが対応するメディアの複製を作成する）、イベント削除などが挙げられる。更に、いくつかの実施形態は、ユーザが、イベントのサブフォルダを作成することを可能にする。これらのサブフォルダは、タグ（例えば、キーワードタグ）に基づいてフィルタリングされたメディアクリップを含むことがある。例えば、休暇イベント内で、像を示すすべてのメディアクリップは、ユーザによってキーワード「像」がタグ付けされ、このタグのキーワード項目は、「休暇」フォルダの下にある。
【００４４】
クリップブラウザ３１０は、ユーザが、クリップライブラリ３０５の選択フォルダ（例えば、イベント）からクリップを視聴することを可能にする。この例に示されたように、イベントフォルダ「休暇」は、クリップライブラリ３０５内で選択され、そのイベントに属するクリップは、クリップブラウザ３１０に表示される。いくつかの実施形態において、ユーザは、ブラウザ内のいくつかのクリップを選択し、次にマルチカメラクリップ生成オプションを選択することによって、クリップブラウザ３１０内にマルチカメラクリップを作成することができる。この作成プロセスについては、後に節ＩＩＩで詳しく述べる。
【００４５】
この例に示されたように、いくつかの実施形態は、クリップをサムネイルフィルムストリップとして表示する。サムネイルのうちの１つの上でカーソル（又は、タッチスクリーン上で指）を移動させることによって（例えば、マウス、タッチパッド、タッチスクリーンなどにより）、ユーザは、クリップをスキミングすることができる。即ち、ユーザが、サムネイルフィルムストリップ内の特定の水平位置にカーソルを置くとき、メディア編集アプリケーションは、その水平位置を関連付けられたメディアファイル内の時間と関連付け、その時間のメディアファイルからの画像を表示する。更に、いくつかの実施形態において、ユーザは、アプリケーションにサムネイルフィルムストリップ内のメディアファイルを再生させることができる。
【００４６】
更に、ブラウザディスプレイ内のクリップのサムネイルは、クリップの下にメディアファイルのオーディオを表すオーディオ波形を表示する。いくつかの実施形態において、ユーザが、サムネイルフィルムストリップをスキミングするか再生するとき、オーディオも再生される。
【００４７】
クリップブラウザの機能の多くは、ユーザ変更可能である。例えば、いくつかの実施形態において、ユーザは、表示サムネイルのサイズ、サムネイルのオーディオ波形が占める割合、ユーザがメディアファイルをスキミングするときにオーディオを再生するかどうかなどのうちの１つ以上を変更することができる。更に、いくつかの実施形態によれば、ユーザは、クリップブラウザ内にクリップを、フィルムストリップビューの代わりにリストビューで表示することができる。このビューで、クリップは、リストとして表される（例えば、クリップ名、継続時間などと共に）。いくつかの実施形態は、また、リストから選択されたクリップをブラウザ内のフィルムストリップビューに表示し（例えば、リストの上）、それにより、ユーザは、選択されたクリップをスキミングするか再生することができる。
【００４８】
タイムライン３１５（複合表示領域又はプロジェクト表示領域とも呼ばれる）は、メディア編集アプリケーションのユーザによって作成されたメディアプロジェクトの視覚的な表現を提供する。具体的には、タイムラインは、複合プレゼンテーションの一部である１つ以上のメディアクリップを表す１つ以上の幾何学形状を表す。いくつかの実施形態のタイムライン３１５は、主レーン３５０（「スパイン」、「主複合レーン」又は「中央複合レーン」とも呼ばれる）並びに１つ以上の副レーン３５５〜３６５（「アンカーレーン」とも呼ばれる）を含む。スパイン３５０は、いくつかの実施形態において、ギャップのないメディアの主シーケンスを表す。アンカーレーン内のクリップは、スパインに沿った（又は、他のアンカーレーンに沿った）特定位置にアンカーされる。アンカーレーンは、複合（例えば、グリーンスクリーニングで行われるような、ある画像の画素を他の画像の画素と組み合わせる）、Ｂロールカット（即ち、主ビデオから、アンカーレーンにあるクリップを有する他のビデオにすばやく切り替わる）オーディオクリップ、又は他の複合プレゼンテーション技術のために使用されてもよい。
【００４９】
ユーザは、メディアクリップをクリップブラウザ３１０からタイムライン３１５に追加して、クリップをタイムラインに表されたプロジェクトに追加することができる。タイムライン内で、ユーザは、メディアクリップに更なる編集（例えば、クリップの移動、クリップを分割、クリップのトリム、クリップへのエフェクトの適用など）を行うことができる。前述のように、マルチカメラクリップがタイムラインに追加されたとき、タイムライン内のこのクリップは、クリップブラウザ内の参照クリップを参照する。いくつかの実施形態は、そのような参照クリップを、マルチカメラクリップに加えて、他のクリップ（例えば、複合クリップ、個別クリップなど）に実施する。
【００５０】
タイムライン内のクリップの長さ（即ち、水平方向の広がり）は、クリップによって表されるメディアの長さの関数である。タイムラインが時間の増分に分割されるので、メディアクリップは、タイムラインにおける特定の時間長を占有する。図示されたように、いくつかの実施形態において、タイムライン内のクリップは、一連の画像として示される。クリップのために表示される画像の数は、タイムライン内のクリップの長さ、並びにクリップのサイズによって変化する（各画像のアスペクト比が一定のままなので）。
【００５１】
クリップブラウザ内のクリップの場合と同様に、ユーザは、（タイムラインの一部又はタイムライン全体で）タイムラインをスキミングするか、又はタイムラインを再生することができる。いくつかの実施形態において、再生（又は、スキミング）は、タイムラインクリップに示されず、プレビュー表示領域３２０に示される。
【００５２】
プレビュー表示領域３２０（「ビューワ」とも呼ばれる）は、ユーザがスキミングし、再生し、又は編集しているメディアファイルからの画像を表示する。そのような画像は、タイムライン３１５内のプロジェクトからでもよく、クリップブラウザ３１０内のメディアクリップからでもよい。この例では、ユーザは、タイムライン３１５内のプロジェクトをスキミングしており、したがって、アプリケーションは、再生ヘッド３４０の時間に対応する画像をプレビュー表示領域３２０に表示する。図示されたように、いくつかの実施形態は、表示領域内に、画像のアスペクト比を維持しながらできるだけ大きい画像を表示する。
【００５３】
また、プレビュー表示領域３２０は、いくつかの実施形態において、ビデオ編集及び再生ツールを含む。巻き戻し、早送り、再生／休止などの選択可能項目が含まれる。更に、いくつかの実施形態は、メディアプロジェクトに追加された画像（例えば、ビデオ画像）のサイズ及び形を編集するための１組のツール３７０を含む。この例では、これらのツール３７０には、変換ツール、クロップツール及び変形ツールがある。変換選択項目が選択されたとき、ユーザは、出力画像内のソース画像の高さ及び幅を変更することができる。クロップ選択項目が選択されたとき、ユーザは、出力画像に表示されるソース画像の一部分を選択することができる。変形ツールが選択されたとき、ユーザは、出力画像内のソース画像の形状を変形させることができる。
【００５４】
インスペクタ表示領域３２５は、選択された項目に関する詳しいプロパティを表示し、ユーザがそれらのプロパティのいくつか又はすべてを変更することを可能にする。選択された項目は、クリップ、複合プレゼンテーション、エフェクトなどでよい。この場合、クリップブラウザ３１０内のクリップ３４５が、選択されており、したがって、インスペクタは、このメディアクリップに関する情報を表示する。この情報は、選択されたクリップのクリップ名、ファイル形式、解像度（１９２０×１０８０）、フレームレート（２９．９７ｆｐｓ）、作成日、オーディオ情報などを含む。いくつかの実施形態において、選択された項目のタイプ（例えば、ビデオクリップ、オーディオクリップ、静止画、マルチカメラクリップ、メディアプロジェクトなど）により異なる情報が表示される。いくつかの実施形態は、インスペクタ内に異なるタブを有することがある（例えば、ビデオ、オーディオ及び情報タブ）。
【００５５】
付加メディア表示領域３３０は、ビデオエフェクト、トランジション、静止画、タイトル、オーディオエフェクト、標準オーディオクリップ他などの様々なタイプの付加メディアを表示する。いくつかの実施形態において、１組のエフェクトが、１組の選択可能なＧＵＩ項目によって表され、選択可能なＧＵＩ項目がそれぞれ、特定のエフェクトを表す。いくつかの実施形態において、選択可能なＧＵＩ項目はそれぞれ、特定のエフェクトが適用されたサムネイル画像も含む。表示領域３３０は、現在、ユーザがクリップに適用することができるビデオエフェクトを表示している。
【００５６】
ツールバー３３５は、プロジェクトを編集したり、アプリケーションが１つ以上の表示領域内に何を表示するかを変更したりするためなどの様々な選択可能項目を含む。ツールバーの右側には、追加のメディア表示領域３３０内に表示されるメディアのタイプを変更するための様々な選択可能項目が含まれる。図示されたツールバー３３５は、ビデオエフェクト（現在選択されている）、メディアクリップ、写真、タイトル、ジェネレータ及び背景間の視覚的トランジションなどの項目を含む。更に、ツールバー３３５は、インスペクタ表示領域３２５の表示をトグルするインスペクタ選択可能項目、並びにクリップへのリタイミング操作の適用、色の調整、及び他の機能のための項目を含む。
【００５７】
ツールバー３３５の左側には、メディア管理及び編集のための選択可能項目が含まれる。クリップをクリップブラウザ３１０からタイムライン３１５に追加するための選択可能項目が提供される。いくつかの実施形態において、異なる選択可能項目を使用して、例えば、クリップをスパインの終わりに追加し、クリップをスパイン内の選択点に追加し（例えば、再生ヘッドの位置）、アンカークリップを選択点に追加し、タイムラインのメディアクリップに様々なトリム操作を実行することなどができる。いくつかの実施形態のメディア管理ツールにより、他のオプションの中でも、例えば、ユーザは、選択されたクリップをお気に入りとしてマークし、クリップブラウザ内のクリップにキーワードタグを追加することができる。
【００５８】
いくつかの実施形態において、タイムライン３１５を他の表示領域と切り替えることができる。いくつかの実施形態において、この表示領域に、選択されたマルチカメラ参照クリップの編集に固有のタイムラインが表示される。タイムライン３１５は、主レーン及びいくつかのアンカーレーンを有するトラックレス表示領域であるが、いくつかの実施形態は、マルチカメラ参照クリップを、参照クリップの各グループ（又は、アングル）に１つのトラックを有する１組のトラックとして表示する。
【００５９】
更に、ＧＵＩ  ３００は、選択されたときにＧＵＩ内でタイムライン３１５をプロジェクトライブラリと置き換えるプロジェクトライブラリトグル項目３７５も含む。いくつかの実施形態のプロジェクトライブラリは、ユーザが選択し編集できる現在のプロジェクトのリストを表示する。いくつかの実施形態において、プロジェクトライブラリのプロジェクトのうちの１つを選択すると、タイムライン３１５に、プロジェクトライブラリを選択されたプロジェクトの表現と置き換えさせる。更に、いくつかの実施形態は、ユーザが、プロジェクトライブラリによって新しいメディアプロジェクトを作成することを可能にする。
【００６０】
図４は、３つの段階４１０〜４３０で、プロジェクトライブラリ４００を使用するいくつかの実施形態のメディア編集アプリケーションのＧＵＩにおける新しいプロジェクトの作成を示す。具体的には、段階は、プロジェクト生成ダイアログボックス４０５を開き、そのダイアログボックスのユーザが新しいプロジェクトを作成することを示す。
【００６１】
第１の段階４１０は、プロジェクトライブラリ４００を示し、プロジェクトライブラリ４００は、前述のように、メディア編集アプリケーションＧＵＩのタイムライン３１５と同じ部分を占有することがある。ＧＵＩは、ＧＵＩのこのセクション内でタイムラインとプロジェクトライブラリとの間をユーザがトグルすることを可能にする、プロジェクトライブラリ／タイムライントグル項目４１５（図３に示されたトグル項目３７５に類似）並びに選択により新しいプロジェクトを作成するプロセスが始まる新しいプロジェクトＧＵＩ項目４２５とを含む。いくつかの実施形態は、これらのオプションを、異なるタイプの選択可能項目、メニュー選択、ホットキー選択、又はこれらの組み合わせとして提供する。
【００６２】
プロジェクトライブラリ４００は、その左側にプロジェクトのリストを表示する。この場合は、以前に作成された２つのプロジェクトがある。プロジェクトの名前と共に、ライブラリ４００は、プロジェクトに関する情報も表示する。この場合、情報は、プロジェクトが作成された日付、プロジェクトの長さ及びプロジェクトのフレームレートを含む。他の実施形態は、プロジェクトが最後に編集された時間、出力フォーマット、出力解像度他などの他の情報を表示してもよい。プロジェクトごとに、ライブラリは、プロジェクトの１組の画像としてフィルムストリップを表示する。いくつかの実施形態において、これらの画像は、プロジェクト全体に均一にスペース配置された、複合プレゼンテーションからのフレームを表す。段階４１０に示されたように、ユーザは、新しいプロジェクトを作成するために、新しいプロジェクトユーザインタフェース項目４２５の上にカーソルを置いてこの項目を選択した。
【００６３】
第２の段階４２０は、ユーザが新しいプロジェクト項目４２５を選択するとき現れるダイアログボックス４０５を示す。このダイアログボックスは、ユーザが新しいプロジェクトに関する情報を入力することを可能にする。ユーザは、プロジェクトの名前（この場合は、「プロジェクト２」）を入力し、プロジェクトにデフォルトイベントを選択し、ビデオプロパティ、描画プロパティ及びオーディオプロパティを設定することができる。いくつかの実施形態において、デフォルトイベントは、ユーザが、メディアファイルをイベント以外のソースからプロジェクトに編集するとき、プロジェクトが自動的にメディアファイルをインポートするイベントである。例えば、ユーザは、ビデオ又はオーディオファイルを（例えば、そのデスクトップ又は他のフォルダから）プロジェクト用のタイムラインにドラッグアンドドロップしてもよい。いくつかの実施形態において、そうすることにより、アプリケーションに、ファイルをデフォルトイベントのアセットとして自動的にインポートさせる。
【００６４】
図示されたように、ユーザは、プロジェクトのビデオプロパティとしてプロジェクトに追加された、最初のクリップのビデオプロパティを使用するように選択するか、又はプロジェクトのカスタムプロパティを選択することができる。図４に示された事例では、ユーザは、カスタムプロパティを設定することを決定した。フォーマットフィールドによって、ユーザは、プロジェクトのフォーマット（例えば、１０８０ｐ、１０８０ｉ、７２０ｐ、様々な標準定義フォーマットなど）を選択する。解像度フィールド及びレートフィールドに示されたオプションは、いくつかの実施形態において、選択されたフォーマットに依存して、通常使用されるビデオフォーマットと一致する設定を保証する。例えば、１０８０ｐ  ＨＤが選択された場合、解像度オプションは、１９２０×１０８０、１４４０×１０８０、及び１２８０×１０８０であり、フレームレートは、２３．９８、２４、２５、２９．９７、３０、５０、５９．９４及び６０フレーム／秒である。他のフォーマットは、より限定的であり、例えば、ユーザが、ＮＴＳＣ  ＳＤを選択した場合、オプションとして２３．９８及び２９．９７フレーム／秒のフレームレートだけが利用可能である。その代りに、ユーザは、プロジェクトに追加された最初のビデオクリップに基づいて、メディアプロジェクトのプロパティを自動的に設定するように選択してもよい。
【００６５】
オーディオ及び描画プロパティには、描画フォーマットを含む（この場合、ユーザは、Ａｐｐｌｅ  ＰｒｏＲｅｓ  ４２２を選択したが、他のオプションも利用可能である）。描画フォーマットは、いくつかの実施形態において、再生を単純化するために準備された（即ち、あらかじめ準備されて再生中に使用される）キャッシュファイルに使用される符号化形式である。オーディオプロパティは、オーディオサンプルレート、及びオーディオチャネルのサラウンドとステレオとの選択とを含む。ユーザは、また、デフォルト設定（この場合、現在選択されているオプション）を使用するように選択することができる。いくつかの実施形態は、最近作成又は編集されたプロジェクトからの設定を使用するオプションを提供する。
【００６６】
第３の段階４３０は、ダイアログボックスに示されたプロパティを有する新しいプロジェクト「プロジェクト２」を作成するために、ダイアログボックス４０５内のＯＫ項目を選択するユーザの結果を示す。このとき、プロジェクトライブラリは、第３のプロジェクト、即ち新しく作成された「プロジェクト２」を示す。この時点で、ユーザは、プロジェクトにまだメディアクリップを追加しておらず、したがってこのフィルムストリップはブランクである。新しいプロジェクトが作成された状態で、ユーザは、メディアクリップをプロジェクトに追加することができ、いくつかの実施形態のメディア編集アプリケーションは、必要に応じて、これらのクリップに空間及び時間適合エフェクトを適用する。
【００６７】
ＩＩ．メディア編集アプリケーションのデータ構造
以上の節では、イベント、メディアクリップ、及びプロジェクトを含む、いくつかの実施形態のメディア編集アプリケーションのユーザインタフェースにおける様々な項目について述べた。イベントは、プロジェクトに追加することができるメディアクリップを含む。いくつかの実施形態において、メディア編集アプリケーションは、これらの異なる項目を表すために様々なデータ構造を作成し記憶する。以下の節では、いくつかの実施形態に係るメディアクリップ及びプロジェクトを定義するデータ構造について述べ、これにより、当業者は、メディアクリップ、メディアプロジェクトなど様々な異なるデータ構造が、メディア編集アプリケーションの異なる実施形態に使用されることがあることを理解するであろう。
【００６８】
いくつかの実施形態は、メディア編集アプリケーションにファイルをインポートしたときに各メディアファイルのデータ構造の初期セットを作成する。１組のメディアファイルが一緒にインポートされたとき、いくつかの実施形態のメディア編集アプリケーションは、メディアクリップを生成し、そのクリップを既存のイベントに追加するかそのクリップ用の新しいイベントを作成するようにユーザに促す。いくつかの実施形態のインポートプロセスは、２０１１年５月１９日に出願され「Ｄａｔａ  Ｓｔｒｕｃｔｕｒｅｓ  ｆｏｒ  ａ  Ｍｅｄｉａ−Ｅｄｉｔｉｎｇ  Ａｐｐｌｉｃａｔｉｏｎ」と題する米国特許出願第１３／１１１，９１２号に更に詳細に記載されており、この出願は、参照により本明細書に組み込まれる。
【００６９】
インポートされたメディアファイルごとに、アプリケーションは、一連のデータ構造を作成する。いくつかの実施形態において、アプリケーションは、ファイルが追加されたイベント内の各ファイルのアセットデータ構造を作成する。アセットは、インポート時に作成されたファイル及び任意の追加ファイルへの参照を記憶する（例えば、メディアファイルのトランスコードバージョン、メディアファイルに関する解析データなど）。アプリケーションは、また、アセットへの参照及びそのアセットを含むイベントを記憶するコンポーネントクリップデータ構造を作成する。インポートファイルが、オーディオデータ及びビデオデータとの両方を含むとき、いくつかの実施形態は、ビデオ及びオーディオ用のコンポーネントクリップを作成し、コンポーネントクリップにそれぞれ同じアセットを参照する。このとき、アプリケーションは、コンポーネントクリップを含む別のクリップデータ構造を作成する。
【００７０】
図５は、メディアアセット５００のアセットデータ構造、並びにメディアアセットを含むイベントのイベントデータ構造５０５を概念的に示す。この例では、アセットによって参照されたメディアファイルは、オーディオチャネルを有するビデオファイルである（例えば、「．ｍｏｖ」ファイル）。イベントデータ構造５０５は、イベントＩＤ、アセットリスト及びクリップリストを含む。イベントデータ構造は、いくつかの実施形態において、イベント名、イベント日他など（アセット情報から導出されることがある）の追加フィールドを含むことがある。イベントデータ構造５０５は、ファイルで定義されたオブジェクトとしてアセット及びクリップを含むＣｏｒｅＤａｔａ（ＳＱＬｉｔｅ）データベースファイル、ＸＭＬファイルで定義されたオブジェクトとしてアセット及びファイルを含むＸＭＬファイルなどでよい。
【００７１】
メディアアセット５００は、アセットＩＤ  ５１０、ソースファイルメタデータ５１５、及び様々なファイルへの参照を含む。これらのファイルには、オリジナルのインポートメディアファイル５３０、メディアファイルのトランスコードバージョン（例えば、高解像度バージョン５３５及び低解像度バージョン５４０）、及びメディアファイルに関する任意の解析データ（例えば、ソースビデオ内の画像の中に人がいる画像を特定する人検出データファイル５４５、自動カラーバランシングデータを記憶する色補正ファイル５５０、ビデオ内のカメラ手振れを特定し修正する手振れ補正ファイル５５５、オーディオ補正ファイルなど）が挙げられる。
【００７２】
メタデータは、いくつかの実施形態にいて、ソースファイル及びその記憶メディアに関する情報である。図示されたように、ソースファイルメタデータ５１５には、ファイルタイプ（例えば、オーディオ、ビデオ、映画、静止画など）、ファイルフォーマット（例えば、「．ｍｏｖ」、「．ａｖｉ」など）、ソースデバイス（即ち、動画ファイルをキャプチャした特定タイプのカメラなどのメディアを作成した装置）、ファイル作成日（例えば、ビデオをキャプチャした日付）、ＵＵＩＤ（カメラなどのメディア作成装置によって生成された固有識別子）、１組のビデオプロパティ５２０、１組のオーディオプロパティ５２５、タイムコード、及び追加のメタデータが挙げられる。異なるタイプ（又は、メーカー）のカメラは、様々なＵＵＩＤを異なるように作成する。そのようなＵＵＩＤは、いくつかの実施形態において、ＵＵＩＤが全て固有である限り、カメラＩＤ、記録時間（例えば、カメラのユーザが記録を開始した時間）、記録の継続時間他などの様々なデータのハッシュでよい。更に、様々な装置が、タイムコードを異なるように生成する。いくつかのカメラは、それぞれの記録されたビデオが、先のビデオがやめた１つのフレームの後で開始するランニングタイムコードを使用し、他のカメラは、実時間に対応するタイムコードを使用する（即ち、カメラの電源が切られた時間を反映させるギャップをタイムコード間に残す）。更に他のカメラは、タイムコードを記録ビデオごとにゼロにリセットする。
【００７３】
いくつかの実施形態のビデオプロパティ５２０には、サンプルレート、フレームレート、画像寸法（又は、解像度）（即ち、水平方向の画素数及び画素の行数）、画素アスペクト比（即ち、画素の形状、正方形（ＨＤビデオ）又は長方形（例えば、ＮＴＳＣ  ４：３ビデオは１０：１１の比率を有する）でよい）、画素変換（上記参照により組み込まれた米国特許出願第１３／１１１，９１２号に詳しく記載された）、及び画像の画素値が定義された色空間（例えば、ＨＤではＩＴＵ−Ｒ  ＢＴ．７０９、ＳＤではＩＴＵ−Ｒ  ＢＴ．６０１など）などのプロパティが挙げられる。
【００７４】
いくつかの実施形態のオーディオプロパティ５２５には、サンプルレート（即ち、１秒当たりのオーディオサンプルの数、多くの場合４８ｋＨｚ）、基礎メディアファイルに記憶されたオーディオトラックの数、及び基礎メディアファイルに記憶されたオーディオチャネルの数が挙げられる。いくつかの実施形態において、アセットは、更に、ビデオプロパティ又はオーディオプロパティの１つ以上を変更するオーバーライドデータを記憶してもよい。例えば、ビデオのフレームレートが２３．９８フレーム／秒であることを、アセットに記憶されたファイルのメタデータが示す場合でも、ユーザは、メディアファイルのフレームレートが実際に２４フレーム／秒であることを入力することがある。ユーザに提示されるか、又はアプリケーション内で使用されたとき、オーバーライドが使用され、メディアファイルは、２４ｆｐｓのフレームレートを有するように処理される。
【００７５】
前述のように、メディア編集アプリケーションが、メディアファイルをインポートするとき、いくつかの実施形態は、ネストされたデータ構造セットを作成する。図６は、インポートされたメディアファイル用にいくつかの実施形態のメディア編集アプリケーションによって作成されたクリップオブジェクトのネストシーケンスを示す。いくつかの実施形態において、この図に示されたクリップオブジェクトそれぞれは、同じクラスのメンバであるが、オブジェクトは、異なるサブクラスのものでもよい。図６にクリップ構造が示されたメディアファイルは、オーディオ情報とビデオ情報との両方を記憶する動画ファイルである。
【００７６】
図は、シーケンス６０５、コレクション６１０、２つのコンポーネント６１５及び６２０を示す。前述のように、いくつかの実施形態において、シーケンス６０５、コレクション６１０、コンポーネント６１５及び６２０は、クリップオブジェクト（又は、アンカーオブジェクト）のサブクラスである。いくつかの実施形態は、イベントにインポートされた各メディアファイルのイベントオブジェクト内にシーケンス（別のクリップオブジェクト又は異なるクラスのオブジェクトでよい）を作成する。シーケンス６０５は、シーケンスＩＤ、１組のシーケンス属性、及びコレクションオブジェクト６１０を記憶する。シーケンスＩＤは、シーケンスオブジェクトの固有識別子である。シーケンス属性は、いくつかの実施形態において、解像度、フレームレート、並びにシーケンスの他のビデオ及びオーディオプロパティを含む。イベントクリップの場合、これらの属性は、一般に、基礎メディアに基づく（即ち、コレクション及びコンポーネントクリップによってリンクされたアセットに記憶された情報）。
【００７７】
コレクションオブジェクト６１０は、クリップオブジェクトの順序付けられたアレイである。オブジェクト６１０を含む場合のような、イベントにインポートされたクリップの場合、コレクションは、１つ以上のコンポーネントクリップをアレイで記憶する。多くの場合、コレクションは、ここに示されたように、ビデオコンポーネントクリップをアレイで記憶し、追加のコンポーネント（一般に１つ以上のオーディオコンポーネント）は、そのビデオコンポーネントにアンカーされる。更に、コレクションオブジェクト６１０は、コレクションＩＤ、全範囲、及びトリム範囲を記憶する。コレクションＩＤは、コレクションオブジェクトの固有識別子である。クリップオブジェクトの全範囲は、含むオブジェクトに基づいてオブジェクトの最大範囲を示し、一方、トリム範囲は、ユーザ編集による親オブジェクト内のオブジェクトの実際の範囲を示す。いくつかの実施形態において、全範囲がすべてのタイプのクリップオブジェクトに割り当てられる変数なので、コレクションオブジェクトは、全範囲の値を記憶するが、この範囲は、実際には、アプリケーションによって使用されない。その代わりに、アプリケーションは、コレクションによって含まれるオブジェクトに基づいて全範囲を動的に計算する（クリップがコレクションに追加されるたびに範囲値を更新するのと対照的）。他方、いくつかの実施形態は、コレクションオブジェクト内の全範囲を更新する。コレクションオブジェクト６１０のアレイは、メディアコンポーネント６１５を含む。いくつかの実施形態において、コレクションオブジェクトは、コンポーネントクリップオブジェクトと追加コレクションとの両方をそのアレイで含むことができる。
【００７８】
本明細書における上記の段落及び他の場所には、第１のオブジェクト（例えば、コレクションオブジェクト６１０）が、第２のオブジェクトを含むように述べた（例えば、コレクションオブジェクト６１０のアレイ内のメディアコンポーネント６１５）。いくつかの実施形態において、第１のオブジェクトは、オブジェクトへの参照（例えば、ポインタ）を記憶することによって第２のオブジェクトを含む。この参照は、いくつかの実施形態においてストロングポインタとして記憶される。
【００７９】
図示されたメディアコンポーネントは、ビデオコンポーネント６１５及びオーディオコンポーネント６２０を含む。コンポーネントはそれぞれ、コンポーネントＩＤ、ソースメディア範囲（即ち、全範囲）、トリム範囲、アセット参照（アセット５００などのアセット及びアセットを含むイベントを参照する）、及びロール設定を記憶する。ロール設定は、クリップの設定であり、ビデオ及びオーディオコンポーネントに記憶される（即ち、コンポーネントレベルで）。いくつかの実施形態は、１組のロールオプション（例えば、オーディオコンポーネントの音楽、ダイアログ及びエフェクト、ビデオコンポーネントのビデオ及びタイトル）を提供し、並びにユーザが、カスタムロールオプション（例えば、フランス語、英語など）を入力することを可能にする。次に、ユーザは、特定のロールを有するクリップを除外する（例えば、フランス語オーディオのすべてを除去する）複合プレゼンテーションをエクスポートすることができる。
【００８０】
メディアアセットを参照するコンポーネントクリップの場合、全範囲は、ソースメディアの継続時間である。いくつかの実施形態において、トリム範囲は、様々なユーザ編集（例えば、トリム編集）によりユーザによって選択された範囲であり、全範囲内の開始時間と継続時間との両方を示す。トリム範囲は、一般に、全範囲のサブセットである（即ち、全範囲以外の時間を含まない）。しかしながら、いくつかの実施形態において、アプリケーションは、レンジエクステンダを使用してトリム範囲を全範囲よりも拡張することがある（例えば、トランジションの一部分に必要なとき、又は整合されたオーディオがビデオよりわずかに長く続く場合）。いくつかの実施形態は、例えばビデオファイルの最初の画像及び最後の画像を使用してビデオ画像を生成して、必要な追加範囲を埋める。クリップが、最初にアプリケーションにインポートされるとき、全範囲及びトリム範囲は、一般に、ユーザがクリップをまだ全く編集していないときと同じである。
【００８１】
ビデオコンポーネント６１５は、オーディオコンポーネント６２０を含むアンカー項目セットを含む。図３のユーザインタフェース３００内のタイムライン３１５を参照して前述したように、いくつかの実施形態において、クリップを他のクリップにアンカーすることができる。特定のクリップが、タイムライン内で移動されるとき、特定のクリップにアンカーされたクリップは一緒に移動される。各クリップは、多数のアンカークリップを有することができ、また単一クリップにアンカーされてもよい。オーディオ及びビデオコンポーネントを有するメディアクリップの場合、いくつかの実施形態は、オーディオコンポーネントをビデオコンポーネントにアンカーする。したがって、ビデオコンポーネントオブジェクト６１５は、オーディオコンポーネントをそのアンカー項目セットに含み（更に他のオーディオコンポーネントがある場合には多数のそのような項目を含む可能性がある）、オーディオコンポーネントオブジェクト６２０は、アンカーされたビデオコンポーネントに対する親項目参照を含む。更に、子（アンカー）オブジェクトは、２つの値を示すアンカーオフセットを記憶する。第１の値は、子オブジェクトがアンカーされた親オブジェクト内の位置であり、第２の値は、子オブジェクト内のアンカーのオフセットである。インポートメディアファイルの場合、オーディオ及びビデオコンポーネントが同時に始まり、したがって、両方のアンカーオフセット値はゼロである。しかしながら、これは、例えば２つのコンポーネントの記録にわずかなオフセットがあり、ユーザが、オーディオをビデオに対して調整しなければならない場合に、変更することができる。
【００８２】
上記の図５及び図６は、メディア編集アプリケーションにおけるイベントにインポートされたオブジェクトのデータ構造を示す。メディアクリップが、メディアプロジェクトに追加され、複合クリップ内にネストされたときなど、メディア編集アプリケーションによって作成されるデータ構造は複雑になることがある。
【００８３】
図７は、４つのクリップ７０５〜７２０を含むプロジェクトタイトル「新プロジェクト」を有するタイムライン７００を示す。クリップ７０５〜７１５は、プロジェクトのシーケンスの主複合レーンにあり、クリップ７２０は、クリップ７１０内の約２６秒でクリップ７１０にアンカーされた。クリップ７１０は、２つのクリップを含む複合クリップである。
【００８４】
図８は、図７に示されたプロジェクトのデータ構造のサブセットを概念的に示す。いくつかの実施形態において、図８のデータ構造はすべて、単一シーケンス８００を含むプロジェクトデータ構造に含まれる。いくつかの実施形態において、タイムライン内のプロジェクトのプロジェクトデータ構造は、イベントデータ構造を含む同じクラスのサブクラスである。イベントデータ構造が、複数のシーケンスを含むことができるが（即ち、イベントにおいて各クリップに１つのシーケンス）、プロジェクトデータ構造は、単一シーケンスだけを含む。
【００８５】
シーケンス８００は、タイムライン７００におけるクリップ７０５〜７１５に対応する３つのコレクション８０５〜８１５を含むアレイを記憶する主コレクションデータ構造８０３を含む。更に、第４のクリップ７２０は、コレクション８１０に、コレクションのアンカー項目として含まれる。単純にするため、この図では、コンポーネントオブジェクトは示されていない。シーケンス８００は、シーケンスＩＤ、シーケンス属性８３５、及び主コレクション８０３を含む。これらのシーケンス属性８３５には、解像度、フレームレート、及び他の追加のプロパティ（例えば、フォーマット、描画プロパティ、オーディオプロパティなど）などの、プロジェクトのビデオプロパティセットを含む。前の節Ｉで示したように、いくつかの実施形態において、ユーザは、プロジェクトを作成するときにこれらのプロパティを設定する。
【００８６】
主コレクション８０３は、コレクションＩＤ、範囲（即ち、前述の全範囲及びトリム範囲）、エフェクトスタック（いくつかの実施形態において、ビデオエフェクトスタック並びにオーディオエフェクトスタックである）、及びメディアクリップのアレイを含む。いくつかの実施形態において、アレイは、タイムラインにおける位置に基づいて順序付けされ、コレクションの主レーンのメディアクリップだけを含む。メディア編集アプリケーションは、これらの項目の間にギャップがないと仮定し、したがって、項目間のタイミングデータは不要である。図示されたように、これらのクリップはそれぞれ、コレクションとして表される。イベント内に記憶されたクリップ（例えば、図６に示されたクリップ）が、タイムライン内のプロジェクトに追加されたとき、いくつかの実施形態は、シーケンスコンテナデータ構造（例えば、構造６０５）を削除し、構造の残りの部分（即ち、コレクション及びそのコンポーネント）をタイムラインコレクションにコピーする。エフェクトスタックは、メディアクリップに適用された１組のエフェクトを記憶する。そのようなエフェクトには、自動適用されるレート及び空間適合エフェクト、ユーザが行う変換、クロップ及び歪みエフェクト、ユーザが適用する画素操作エフェクト（即ち、異なるアルゴリズムなどによりクリップの画像の画素値を変更するエフェクト）が挙げられる。
【００８７】
クリップ８０５、８１５及び８２０は、クリップブラウザからタイムラインに追加された個別クリップであり、したがってそのクリップ自体はコレクションを含まない。コレクション６１０と同様に、これらのオブジェクトには、メディアコンポーネント（例えば、ビデオコンポーネントにアンカーされた１つ以上のオーディオコンポーネントを有するビデオコンポーネント）のＩＤ、範囲、エフェクトスタック、及びアレイが挙げられる。
【００８８】
クリップ８１０は、アレイに、コレクションＩＤ、範囲及びエフェクトスタックに加えて、複数のクリップを含む複合クリップである。具体的には、クリップ８１０は、２つのメディアクリップ８２５及び８３０を含む。複合クリップ内で、クリップは両方ともコレクションの主レーンにあり、したがって連続する。これらのクリップオブジェクトは、この図には示されていないが、クリップはそれぞれ、クリップそれぞれがメディアコンポーネントのアレイを含むという点で、クリップ８０５と類似している。更に、クリップオブジェクト８１０は、１組のアンカー項目を含む（この場合は、１つの項目のクリップ８２０のみ）。いくつかの実施形態は、各コレクションに１組のアンカー項目を含み、図８に示された他のオブジェクトでは空である。クリップ８２０に記憶されたアンカーオフセットは、それがクリップ８１０に２６秒でアンカーされ、アンカーがクリップ８２０の最初にあることを示す。これらの時間は、いくつかの実施形態においてクリップのトリム範囲を参照する。
【００８９】
図９は、概念的タイムラインにネストされたオブジェクト８００〜８３０を概念的に示す。図示されたように、コレクションオブジェクト８２５及び８３０は、コレクション８１０内にネストされ、コレクション８１０は、他のコレクションオブジェクト８０５、８１５及び８２０と共に、主コレクションオブジェクト８０３内にネストされる。シーケンスの主コレクションオブジェクト８０３自体は、シーケンスオブジェクト８００内にネストされる。
【００９０】
図は、様々なクリップのアンカー関係、並びにクリップの継続時間（範囲）を示す。最下位のコレクション８０５、８１５、８２５及び８３０はそれぞれ、ビデオコンポーネントにアンカーされたオーディオコンポーネントを有する。図示されていないが、コレクション８２０は、同じビデオ／オーディオ設定を有してもよく、ビデオコンポーネントだけ（又は、オーディオコンポーネントだけ）でもよい。図示されたオブジェクトそれぞれは、単一のオーディオコンポーネントを有するが、当業者は、いくつかの実施形態が、複数のオーディオコンポーネントを有することを理解するであろう（例えば、カメラが、いくつかのオーディオトラックを別個のファイルとして記録し、それらのファイルを単一クリップの一部としてビデオファイルと共にインポートする場合）。
【００９１】
図は、また、クリップ８２０のクリップ８１０へのアンカーリングを示す。いくつかの例では、複数のクリップが、同じ主レーンクリップにアンカーされ、複数のアンカークリップは時間が重複することがある。この場合、複数の副レーンが使用されることがある。いくつかの実施形態は、各クリップオブジェクトに、コレクション内のクリップオブジェクトのレーンを示すレーン番号を割り当てる。
【００９２】
主レーンオブジェクトのすべては、いくつかの実施形態において、ゼロのレーン番号が割り当てられ、主レーンより上のレーンは数が大きくなり、主レーンより下のレーンは数が小さくなる（負）。例えば、別個のオーディオクリップが、主レーン内のクリップにアンカーされ、主レーンの下に表示されてもよい。この場合、主コレクション８０３内で、アンカークリップ８２０が、１のレーン番号を有する。レーン番号は、いくつかの実施形態において、ビデオの合成順序を示す。２つのオーディオファイルは全く容易に組み合わせる（混合する）ことができるが、２つのビデオファイルからの画像は同時に表示できない。したがって、いくつかの実施形態は、小さいレーン番号のクリップの上に大きいレーン番号のクリップを合成する。２つのクリップ間に同時に合成エフェクトが定義されない場合は、大きい番号のレーンのクリップが表示される。しかしながら、様々な合成モード及びエフェクトを使用してピクチャを合成してもよい（例えば、２つの画像の画素情報を組み合わせる減算、暗色化、乗算他などの合成モード、並びに最上画像を拡大縮小したピクチャ・イン・ピクチャの作成、最上画像への色マスクの適用他など）。
【００９３】
下位のネストコレクション内の項目は、そのコレクション内のそのレーン順序を参照するレーン番号も有する。例えば、コレクションオブジェクト８１０は、２つのクリップ８２５及び８３０を有し、各クリップは、ゼロのレーン番号を有する。しかしながら、このコレクションオブジェクトは、複数のレーンにアンカークリップを有することがある。描画時に合成するために、コレクション８１０内の項目は、最初にコレクション内の順序にしたがって合成され、次にその出力が、主コレクションの順序にしたがって主コレクション内で合成される。同様に、最下位コレクション（例えば、コレクション８０５）のにそれぞれ関して、ビデオコンポーネントはすべて、レーン０に割り当てられ、オーディオコンポーネントは、レーン−１に割り当てられる。
【００９４】
図９は、また、様々なクリップオブジェクトのレンジ範囲（例えば、継続時間）を示す。最下位コレクション及びそれらのコンポーネント（例えば、コレクション８０５、８１５、８２５、８３０及び８２０）に関しては、全範囲は、コンポーネントが参照するメディアの最大長であり、一方、トリム範囲は、ユーザ編集（例えば、トリム編集）に基づくこの範囲のサブセットである。この場合、コレクション８１５及び８２５は全くトリムされず、コレクション８０５は、両側でトリムされ、コレクション８３０の開始がトリムされる。
【００９５】
コレクション８１０に関しては、全範囲は、その主レーンクリップのトリム範囲の合計であり、主レーンクリップは、この場合、コレクション８２５及び８３０である。したがって、変数の全範囲２＝トリム範囲Ａ＋トリム範囲Ｂである。この場合、コレクション８１０は、別個にトリムされず、その結果、そのトリム範囲は、その全範囲と等しくなる。即ち、クリップ８３０内にはより多くのメディアがあるが、主コレクション８０３の編集中、メディア編集アプリケーションは、ユーザが、クリップ８１０の継続時間を全範囲２の継続時間より長くすることを許可しない。しかしながら、ユーザは、クリップ８１０をタイムラインで開いて、クリップ８２５及び８３０のどちらかにトリム編集を適用することができる。これらのクリップのトリム範囲の変更は、クリップ８１０の全範囲に影響を及ぼす。更に、主コレクション８０３内で、ユーザは、クリップ８１０のトリム範囲を変更してクリップを短くすることができる。最初からトリミングすると、コンポーネントプレゼンテーションで使用されるコレクション８２５のメディアが少なくなり、最後からトリミングすると、複合プレゼンテーションで使用されるコレクション８３０のメディアが少なくなる。
【００９６】
前述の図は、特定タイプのクリップオブジェクトの様々なプロパティを示した。当業者は、いくつかの実施形態が、クリップオブジェクトの追加の様々なサブクラスを使用できることを理解するであろう。例えば、いくつかの実施形態は、参照クリップをイベントデータ構造に記憶する。ユーザがクリップをメディアプロジェクトに追加するときにこれらのクリップをコピーするのではなく、メディア編集アプリケーションは、メディアプロジェクトのコレクション内にクリップインスタンスを作成する。このクリップインスタンスは、コレクションクリップと類似しているが、それ自体のクリップを含まない。その代わりに、クリップインスタンスは、イベント内の参照クリップを参照する。次に、参照クリップへの編集は、メディアプロジェクト（又は、他のメディアプロジェクト）内のクリップのすべてのインスタンスに反映される。参照クリップについては、後でマルチカメラクリップに関して詳しく述べるが、いくつかの実施形態は、追加のタイプのクリップ（例えば、個別ビデオクリップ、合成クリップなど）の参照クリップを含む。
【００９７】
更に、いくつかの実施形態は、ジェネレータ（既存のビデオ画像を変更するのではなくそれ自体のビデオ画像を作成する効果）、クリップ間のトランジション、オーディションスタック（互いに交換できるクリップのセット）、マーカ、及びキーワードをクリップオブジェクトとして記憶する。前述のデータ構造（例えば、クリップオブジェクト、アセットオブジェクト、イベントオブジェクト、プロジェクトオブジェクトなど）は、メディア編集アプリケーションのいくつかの実施形態によって、アプリケーションのＧＵＩに情報を表示し、プロジェクトを描画するために、並びに空間又は時間適合エフェクトをクリップに適用するかどうか決定するために使用される。
【００９８】
ＩＩＩ．マルチカメラクリップ作成
以上の節では、いくつかの実施形態のメディア編集アプリケーションのユーザインタフェース、並びに特定のメディアクリップ、メディアプロジェクトなどに関する情報を記憶するためにアプリケーションによって使用されるデータ構造について述べた。そのようなメディア編集アプリケーションは、マルチカメラメディアクリップを生成し使用する機能を有することがあり、そのようなクリップに固有の特徴を含むことがある。
【００９９】
前述のように、いくつかの実施形態は、複数の異なるメディアキャプチャデバイスよってキャプチャされたいくつかのメディアクリップを含む、マルチカメラメディアクリップを生成する。メディア編集アプリケーションは、メディアクリップと共に記憶されたメタデータを使用して、これらのマルチカメラクリップを個々のメディアクリップから自動的に生成する。いくつかの実施形態において、生成プロセスは、デフォルトマルチカメラクリップ生成アルゴリズムを使用するか、又はユーザによって入力されたプリファレンス設定に基づいてアルゴリズムを適応させる。
【０１００】
図１０は、メディアクリップセットからマルチカメラメディアクリップを生成するいくつかの実施形態のプロセス１０００を概念的に示す。プロセス１０００は、マルチカメラクリップを生成するもとになる１組のクリップを示すユーザ入力に応じて、いくつかの実施形態のメディア編集アプリケーションによって行われる。このプロセスは、図１１を参照して述べられ、図１１は、そのようなマルチカメラメディアクリップを５つの段階１１１０〜１１５０にわたって作成するためのユーザ入力を示す。
【０１０１】
図示されたように、プロセス１０００は、最初に、マルチカメラクリップの１組のクリップを受け取る（１００５で）。いくつかの実施形態において、これらのクリップは、合成クリップ又は事前生成マルチカメラクリップを含む、イベントに記憶された任意のクリップ（例えば、ビデオクリップ、静止画、オーディオクリップなど）でよい。いくつかの実施形態は、クリップのすべてが同一のイベントに記憶されることを必要とするが、他の実施形態は、ユーザが、クリップを複数のイベントから単一のマルチカメラクリップに組み合わせることを可能にする。いくつかの実施形態は、複数の異なる装置によってキャプチャされたコンテンツを有することがある複合クリップ又はマルチカメラクリップの使用を防ぐために、マルチカメラクリップを生成するために使用されるクリップのタイプを制限する。
【０１０２】
図１１の第１の段階１１１０は、いくつかのメディアクリップを示すクリップブラウザ１１０５を示す。ユーザは、それらのクリップを選択し、ドロップダウンを開いた（例えば、右クリック、２本指タップ、又は他のそのような選択入力により）。図示されたように、ユーザは、メニューオプション「新しいマルチカムクリップ」の上にカーソルを置いた。このメニューオプションを選択した結果、第２の段階１１２０は、マルチカメラクリップのいくつかのオプションをユーザに提供するダイアログボックス１１１５を示す。ユーザは、クリップにタイトルを付け、開始タイムコードを入力し、ビデオプロパティを設定し、またオーディオ及び描画プロパティを設定する。いくつかの実施形態において、ビデオプロパティには、フォーマット（例えば、７２０ｐ  ＨＤ）、寸法（例えば、１２８０×７２０）、及びフレームレート（例えば、３０ｐ）がある。ユーザは、これらのプロパティを共通のクリッププロパティ（例えば、選択されたクリップの中で最も一般的なプロパティ、又は特定のクリップのプロパティなど）に基づいて設定してもよく、カスタム設定（例えば、新しいプロジェクトに関して図４に示されたようで）を提供してもよい。
【０１０３】
また、ダイアログボックス１１１５によって、ユーザは、アプリケーションが、そのデフォルト設定を使用してマルチカメラクリップを作成するかどうか、又はアプリケーションが、選択されたクリップをアングルに割り当て、アングル内のクリップを順序付けし、アングルを同期させるための特定のメタデータを優先するかを選択することができる。更に、ダイアログボックスは、アプリケーションがオーディオデータを使用して第２のレベルの同期を実行すべきかどうか判定するオプションを提供する。段階１１２０に示されたように、ユーザは、そのような異なる選択肢を表示させるためにカスタムオプションを選択する。
【０１０４】
図１０に戻ると、プロセス１０００は、次にクリップメタデータを使用してセット内のクリップそれぞれを特定のアングルに割り当てる（１０１０で）。この操作については、図１２を参照して後で詳細に述べる。アングルは、いくつかの実施形態において、コンテンツが同じ装置によってキャプチャされたクリップのグループである。例えば、ディレクタが、４つの異なるアングルのシーン（例えば、直線進行、クローズアップ、オーバヘッドなど）をキャプチャするために、４台のカメラでシーンを同時に撮影することがある。
【０１０５】
図１１の段階１１３０に示されたように、いくつかの実施形態において、使用されるメタデータは、カメラアングル（例えば、クリップに関してユーザが提供したメタデータ）及び／又はカメラ名（例えば、クリップのコンテンツのインポート時にクリップのメディア編集アプリケーションによって自動生成された情報）を含む。更に、アプリケーションは、ユーザが、各クリップがそれ自体のアングルで配置されるように選択することを可能にする。
【０１０６】
次に、プロセスは、アングルごとに割り当てられたクリップのシーケンスを生成する（１０１５で）。即ち、プロセスは、そのアングル内のクリップの順序を決定し（例えば、時刻又はタイムコードメタデータを使用して）、次にこのメタデータにしたがってそれらのクリップを時間でスペース配置させる。この操作は、図１４を参照して後で詳細に述べられる。図１１の段階１１４０に示されたように、いくつかの実施形態において、使用されるメタデータが、クリップのタイムコード及び時刻（又は、節ＩＩで前述したような作成日）を含むことがある。このメタデータをシーケンスアングルに変換するために、様々な異なるアルゴリズムが異なる実施形態によって使用されることがある。
【０１０７】
次に、プロセス１０００は、マルチカメラクリップ内の異なるアングルのシーケンスを同期させる（１０２０で）。同期操作は、同時に記録されたコンテンツをマルチアングルクリップ内で時間で整合させることを目的とする。したがって、同じアクションの俯瞰写真及びクローズアップ写真が、理想的には、クリップ内の特定時間に各アングルのビデオ画像がアクション内の同じ時間を示すように、クリップ内で整列されなければならない。図１１の第５の段階１１５０に示されたように、アプリケーションは、同期のために時刻又はタイムコードメタデータを使用することができ、並びに各アングルの最初のクリップの開始又はアングルのクリップ内の最初のマーカを整列させることができる。シーケンスと同じように、タイミングメタデータを整合アングルに変換するために、様々な異なるアルゴリズムが、異なる実施形態によって使用されることがある。メタデータによる同期に加えて、いくつかの実施形態は、オーディオデータを使用して第２のレベルの同期を行なう。これらの実施形態は、異なるアングルからの時間（初期メタデータ同期後）が互いに近いクリップのオーディオ部分を比較して一致オーディオを特定し、次にその一致オーディオを使用してクリップを更に整合させる。同期操作は、図１６及び図１８を参照して後で詳細に述べられる。
【０１０８】
Ａ．アングルへのクリップの割り当て
前述したように、ユーザが、マルチカメラメディアクリップを生成する元にするいくつかのクリップを選択するとき、第１のメディア編集アプリケーションは、最初に、カメラメタデータに基づいて、いくつかのクリップを１つ以上のアングルに割り当てる。図１２は、そのようにクリップをマルチカメラメディアクリップの異なるアングルに割り当てるプロセス１２００を概念的に示す。プロセス１２００は、図１３を参照して述べられ、９つのクリップセット１３０５〜１３４５のマルチカメラメディアクリップの３つの異なるアングルへの割り当てを概念的に示す。
【０１０９】
プロセス１２００は、最初に、マルチカメラメディアクリップの異なるアングルに割り当てるクリップセットを受け取る（１２０５で）。これらのクリップは、ユーザによって選択されたクリップセットでよく、クリップのコンテンツは、いくつかの異なる装置又は単一装置によってキャプチャされてもよい。いくつかの実施形態において、メディアクリップは、ビデオクリップ、オーディオクリップ、静止画又は他のコンテンツでよい。例えば、メディアクリップセットは、１つ又は２つの異なるカメラによって撮影されたビデオ（オーディオを伴う）、更に別の異なるカメラによって撮影された静止画、並びにカメラのいずれとも別個のマイクロフォンによって記録されたオーディオのみクリップを含む。
【０１１０】
クリップは、いくつかの場合、表されたコンテンツに関するメタデータを記憶する。このメタデータは、コンテンツをキャプチャした装置及びコンテンツがキャプチャされた時間に関する情報を含むことができる（ビデオプロパティ又はオーディオプロパティなどの他のデータに加えて）。図１３は、９つのクリップ１３０５〜１３４５をそのメタデータと共に概念的に示す。これらのクリップは、５つのビデオクリップ１３０５〜１３２５と、４つの静止画１３３０〜１３４５とを含む。ビデオクリップは、アングルＩＤ（「ワイドショット」及び「クローズアップ」）を含み、アングルＩＤは、ユーザが入力したメタデータである。いくつかの実施形態において、ユーザは、（例えば、クリップブラウザ内で）メディアクリップを選択し、インスペクタ表示領域によりクリップのアングルＩＤ（又は、カメラＩＤ）を入力することができる。更に、ビデオクリップは、開始及び終了タイムコード情報、及び開始時刻情報を含む。静止画は、カメラＩＤ（「１０１０１」）及びＥｘｉｆ（エクスチェンジャブルイメージファイルフォーマット）データを含み、Ｅｘｉｆデータは、画像がキャプチャされた日時を示すデータである。
【０１１１】
図１２に戻ると、プロセス１２００は、受け取ったメディアクリップセットから割り当てられていないクリップを選択する（１２１０で）。いくつかの実施形態は、クリップを、そのイベントに記憶された順序、クリップ名によるアルファベット順序、他の順序、又はランダム順序で選択する。最初、当然ながら、クリップのすべては割り当てられていない。
【０１１２】
次に、プロセスは、クリップメタデータを使用して選択されたクリップのアングルを特定する（１２１５で）。いくつかの実施形態において、メディア編集アプリケーションは、様々な異なるメタデータを使用して特定のクリップのアングルを特定することができる。ユーザによるプリファレンス入力がない場合、いくつかの実施形態は、ユーザが入力したアングルＩＤ、次にユーザが入力したカメラ名（いくつかの実施形態においてインポート時に指定される）、次にクリップデータ構造と共に記憶されたデータ間のインポート時に自動生成されたカメラＩＤを優先し、次に、先行データが利用可能でない場合には、ソースファイルと共に記憶された他のメタデータ（例えば、メーカーＩＤ又は装置名）に依拠する。このメタデータがどれも利用可能でない場合、アプリケーションは、クリップをそれ自体のアングルに割り当てる。図１３に示されたクリップの場合、ビデオクリップ１３０５〜１３２５がそれぞれ、アングルＩＤを有し、静止画１３３０〜１３４５がそれぞれカメラＩＤを有する。この場合、ビデオクリップアングルＩＤはユーザ入力情報であり、静止画用のカメラＩＤは自動生成データである。
【０１１３】
次に、プロセスは、セットが、マルチカメラクリップ内のアングルのために既に作成されたかどうか判定する（１２２０で）。いくつかの実施形態において、プロセスは、クリップのメタデータのそれぞれの利用可能な部分を確認して、クリップを既存アングルに割り当てることができるかどうかを判定する。例えば、第１のクリップに、カメラＩＤを有するがアングルＩＤがなく、第２のクリップに、アングルＩＤ並びに第１のクリップと同じカメラＩＤがある場合、アプリケーションは、アングルＩＤだけを調べ、第２のクリップを新しいアングルに割り当てるのではなく、そのカメラＩＤに基づいて割り当てる。他方、いくつかの実施形態は、常に、クリップが価値を有する第１の情報を使用する。したがって、前述の場合、そのような実施形態は、第２のクリップを、そのアングルＩＤに基づいて新しいアングルに割り当てる。クリップが、如何なる種類のアングル特定メタデータも有していない場合、クリップは、それ自体のアングルに割り当てられる。
【０１１４】
アングル用のセットが既に作成されているとき、プロセスは、選択されたクリップを、特定されたアングルと関連付けられたクリップセットに追加する（１２２５で）。他方、アングル用のセットがまだ作成されていないとき、プロセスは、特定されたアングルセットを作成し、選択したクリップをセットに追加する（１２３０で）。いくつかの実施形態において、メディア編集アプリケーションは、これらのクリップセットを揮発性メモリ（例えば、ＲＡＭ）に一時的に記憶し、同時に、マルチカメラクリップ作成プロセスの付加操作（即ち、順序付け及び同期）を行う。いくつかのそのような実施形態において、クリップのセットのメディア編集アプリケーションデータ構造は、そのセットが順序付けられるまで実際に作成されず、その時点で、アプリケーションは、マルチカメラクリップのデータ構造におけるマルチカメラクリップのアングルを生成する。そのようなマルチカメラクリップの構造を以下に詳しく述べる。
【０１１５】
次に、プロセス１２００は、異なるアングルに割り当てられるクリップがまだ残っているかどうかを判定する（１２３５で）。まだクリップが残っているとき、プロセスは、１２１０に戻って、アングルに割り当てるために割り当てられていない別のクリップを選択する。クリップのすべてが割り当てられた後、プロセス１２００が終了する。
【０１１６】
様々なクリップをそれぞれのメタデータと共に示す他に、図１３は、３つの異なるアングルへのクリップの割り当てを示す。クリップ１３０５〜１３４５が、「クリップ１」から「クリップ９」の順序で割り当てられると仮定すると、メディア編集のアプリケーションは、最初に、クリップ１３０５を選択し、アングル「ワイドショット」１３５０を作成し、クリップ１３０５をこのアングル１３５０に割り当てる。次に、アプリケーションは、このクリップのアングルＩＤに基づいて、クリップ１３１０を新しいアングル「クローズアップ」１３５５に割り当てる。第３のクリップ１３１５に関して、このクリップがアングルＩＤ「ワイドショット」も有するので、新しいアングルは不要であり、したがって既存のアングル１３５０に割り当てられた。ビデオクリップは、図示されたように、これらの２つのアングル１３５０及び１３５５に割り当てられ、次にアプリケーションは、静止画に進む。
【０１１７】
アプリケーションは、カメラＩＤをクリップ１３３０の「１０１０１」と特定し、このカメラＩＤが、アングル割り当てに有効なこのクリップの唯一のメタデータであることを決定し、この名前を有する新しいアングル１３６０を作成する。いくつかの実施形態において、カメラＩＤ、カメラ名、更にはクリップ名は、アングルを命名するために使用されてもよく、他の実施形態は、そのアングルに割り当てられたクリップのアングルＩＤメタデータが存在しないときに「アングル３」などの一般アングル名を作成する。図示されたように、４つの静止画クリップ１３３０〜１３４５はすべて、同じカメラＩＤを有し、したがって、アプリケーションは、これらの４つのクリップをアングル１３６０に割り当てる。
【０１１８】
前述したように、いくつかの実施形態において、これらのアングルは、クリップ作成プロセスのこの時点で揮発性メモリ内にある。他の実施形態は、アングル割り当てプロセスの際にマルチカメラクリップ構造（図２０を参照して後述する）を作成し、アングルがプロセス１２００（又は、類似のアングル割り当てプロセス）によって作成されるのでこのクリップ構造内にアングルを作成する。
【０１１９】
Ｂ．アングルシーケンス
マルチカメラクリップ用に選択されたクリップをマルチカメラクリップの異なるグループ（アングル）に割り当てた後で、いくつかの実施形態のメディア編集アプリケーションは、グループ内のクリップを順序付け配列する。図１４は、マルチカメラメディアクリップの様々なアングルのために一連の順序付けられたクリップを生成するいくつかの実施形態のプロセス１４００を概念的に示す。プロセス１４００は、図１５を参照して述べられ、図１５は、図１３からのクリップ１３０５〜１３４５のシーケンスを示す。
【０１２０】
プロセス１４００は、最初に、マルチカメラクリップのために異なるアングルに割り当てられたクリップセットを受け取る（１４０５で）。いくつかの実施形態において、これらのクリップは、プロセス１２００又は類似のプロセスを使用して、メディア編集アプリケーションによってアングルに割り当てられている。これらのクリップは、長い継続時間を有するクリップ（例えば、ビデオ及びオーディオクリップ）でもよく、瞬間時間だけを有するクリップ（例えば、単一フレームからなる静止画）でもよい。
【０１２１】
図１３に示されたように、メディアクリップは、参照するソースビデオに関するタイミングメタデータを記憶してもよい。例えば、ビデオクリップ１３０５〜１３２５は、タイムコード（「ＴＣ」）情報と時刻（「ＴｏＤ」）情報との両方を含む。例えば、クリップ１  １３０５のメタデータは、タイムコードが０１：００：００：００（時間：分：秒：フレームで示された）で始まり０１：１０：００：００で終わる、ちょうど１０分間の継続時間であることを示す。時刻情報は、このクリップの撮影が２０１１年５月２５日の午後５：３５に始まったことを示す。いくつかの実施形態において、図示されたように、カメラは、最も近い秒までの時刻を記録する。しかしながら、時刻情報は、一般に、フレームを考慮せず、一方、タイムコードは、フレームレベル（即ち、数分の１秒）で情報を記憶し、したがってより正確である。更に、この例は、開始時刻だけを示す。多くのカメラが、開始時間又は終了時間だけを記録し、両方は記録しない。クリップの継続時間を記録するために、カメラは、開始及び終了タイムコード情報を記録する（継続時間は、フレームレート及びフレーム数に基づいて決定することもできる）。したがって、メディア編集アプリケーションは、クリップの開始時間を特定するために時刻を使用し、継続時間を導出するためにタイムコードを使用する。
【０１２２】
プロセス１４００は、次に、特定のアングルと関連付けられたクリップセットを選択する（１４１０で）。前述のように、いくつかの実施形態において、クリップを異なるアングルと関連付ける情報は、この時点で揮発性メモリに記憶され、この場合、アプリケーションは、クリップを評価するために、この情報をメモリから検索する。プロセスは、アングルを、作成された順序又はランダムな順序などの特定の順序で評価してもよい。また、いくつかの実施形態は、アングルを並列に評価して、操作１４１５〜１４２５を複数のアングルに同時に実行してもよい。
【０１２３】
プロセスは、選択されたクリップセットに使用可能なタイミングメタデータセットを特定する（１４１５で）。ビデオ（又は、オーディオ）クリップに関して、いくつかの実施形態は、最初に、タイムコードを使用して選択アングルのクリップを配列できるかどうかを特定する。そのために、メディア編集アプリケーションの異なる実施形態は、メディアクリップのタイムコードに異なる基準を適用する。例えば、いくつかの実施形態においてアプリケーションが適用する最初のテストは、クリップのいずれかのタイムコードが重複するかどうかである。図１３のアングル１３５５（「クローズアップ」）の場合、これらのクリップが両方とも００：００：００：００のタイムコードで始まり、したがって、タイムコードは、有用な順序付け情報を提供しない。重複がない場合は、アプリケーションは、クリップのすべてのタイムコードの全スパンが、しきい値継続時間（例えば、１時間、１日、３日など）より長いかどうか判定する。例えば、クリップが、タイムコードで１００時間離れている場合、それらのクリップは、この情報で有用なマルチカメラクリップシーケンスを構成しない可能性がある。
【０１２４】
更に、いくつかの実施形態は、クリップのすべてが、１つのフレームを、セット内の別のクリップの終了後（又は、いくつかの実施形態において、先行クリップの終了１秒以内）に開始する場合は、タイムコードを使用しない。これは、一般に、連続タイムコードを使用するが、記録していないときにタイムコードを進めず、したがって実時間に対応しないカメラを示す（デジタルテープ式記録では一般的）。しかしながら、この場合、いくつかの実施形態のメディア編集アプリケーションは、タイムコードから順序付け（即ち、第１のクリップが第２のクリップの前になるはずである）を使用し、これは最も信頼性が高い。これが当てはまるときにクリップのスペース配置するために、アプリケーションは、時刻情報を使用しようとする。
【０１２５】
タイムコード情報を使用できない場合、アプリケーションは、時刻情報を使用しようとする。時刻は、前述のように、一般にフレームレベルで時間を記録しないので、タイムコードほど正確ではない。アングル１３５５（「クローズアップ」）内のクリップの場合、タイムコード情報は、両方のクリップに関して０で始まり、したがって、アプリケーションは、（タイムコードを使用して継続時間を決定しながら）順序付けしスペース配置するために時刻情報を使用する。クリップ１３１０は、午後５：３６：００に始まり、ちょうど７分の継続時間を有し、クリップ１３２０は、午後５：５５：００に始まり、１８分の継続時間と１９フレームを有し、したがって、時刻情報に重複はない。いくつかの実施形態は、同様にしきい値継続時間テストを時刻に適用し、最初のクリップの始まりから最後のクリップの終わりまでの継続時間が、しきい値継続時間（例えば、１時間、１日、３日など）より長く続かないことを指定する。例えば、あるクリップが、１９９０年に撮影されたとマークされることがあり、別のクリップが、２０１１年からのものであるが、ユーザは、２１年の長さのマルチカメラクリップを実際に望む可能性は低い。
【０１２６】
タイムコードも時刻も適切であると決定されない場合、アプリケーションは、情報がタイムラインに沿ってクリップを適切にスペース配置するのに有効でない場合でも、少なくともその情報を使用してクリップを順番に並べるようとする。第１のクリップが１９９０年の日付を有し、第２のクリップが２０１１年からのものである例では、アプリケーションは、第１のクリップを第２のクリップの前に順序付けることになる。時刻情報が全く利用可能でない場合、アプリケーションは、クリップによって表されるソースファイルのインポートの日付など、見つけることができる他のメタデータに基づいてクリップを順番に配置する。
【０１２７】
継続時間を有さない（又は、より正確には、１フレームの継続時間を有さない）静止画の場合、いくつかの実施形態は、最初にＥｘｉｆデータ（画像メタデータを記録するために標準フォーマットにしたがってカメラによって生成されたデータ）を調べて、画像がキャプチャされた日時を見つける。この情報が利用可能でないとき、アプリケーションは、作成日（画像ファイルのインポート日のことがある）に依拠して静止画クリップを順序付ける。一般に、静止画のメタデータは、時間を秒レベルで維持し、したがって、単一のカメラによって次々にキャプチャされた複数の静止画は、それらの静止画が同時にキャプチャされたことを示すメタデータを有する可能性がある。
【０１２８】
メタデータが特定された場合、プロセスは、特定された１組のタイミングメタデータにしたがってメディアクリップセットを順序付ける（１４２０で）。前述したように、メディアクリップは、タイムコード、時刻情報、又はアプリケーションがクリップから特定し順序付けに利用することができる他の情報に基づいて、順序付けられてもよい。いくつかの実施形態において、図２０を参照して後述するように、メディアクリップは、マルチカメラメディアクリップ構造内にアンカーコレクションのアレイで記憶される。
【０１２９】
更に、選択アングルのクリップに関するタイミング情報が、その精度を示す基準を満たす限り、プロセスは、特定された１組のタイミングメタデータにしたがって順序付けられた組のメディアクリップ間にギャップを挿入する（１４２５で）。タイミング情報のどれもこの基準を満たさないとき、いくつかの実施形態は、シーケンスにギャップクリップを挿入せず、単にクリップを順序通りにしたままにする。
【０１３０】
しかしながら、利用可能な情報が、クリップのスペース配置を示す可能性が高いとき、メディア編集アプリケーションは、タイムラインに沿ってクリップを離間させ、クリップ間にギャップを挿入する。第１のクリップが５分マークで終わり、第２のクリップが６分マークで始まる場合、アプリケーションは、２つのクリップ間に１分ギャップを挿入する。マルチカメラクリップを記憶するために使用されるデータ構造の性質により、いくつかの実施形態において、これらのギャップは、アングルを表すアンカーコレクションのアレイ内の別個のクリップ構造として記憶される。
【０１３１】
図１５は、順序付けられたアングル１３５０〜１３６０を示す。アングル１３５０及び１３５５は、ビデオクリップを含む。３つのクリップ１３０５、１３１５及び１３２５をそのアングル１３５０内で順序付けるために、いくつかの実施形態のメディア編集アプリケーションは、タイムコードを使用する（この情報が重複せず、４０分の継続時間内に含まれるので）。図示されたように、アングル１３５０は、０１：００：００：００のタイムコードで、クリップ１３０５で始まる。その１０分後にこのクリップが終わり、ギャップクリップが始まり、わずか１０分足らずのクリップ１３２５が始まる０１：１５：００：１２マークまで続く。別のギャップクリップは、２５分マークで始まり、クリップ１３１５が０１：２８：５４：０２のタイムコードで始まるまで続く。このクリップは、約８分続き、合計長は３７分になる。
【０１３２】
「クローズアップ」アングル１３５５は、２つのクリップ１３１０及び１３２０だけを含む。しかしながら、これらのクリップに関しては、クリップをキャプチャしたカメラが、キャプチャされた各ビデオを００：００：００：００のタイムコードで開始するので、タイムコードは有用な情報を提供しない。しかしながら、時刻情報は、有用なタイミングメタデータを提供する。図示されたように、第１のクリップ１３１０は、午後５：３６：００に始まり、タイムコードは、継続時間が７分であることを示す。アングルのアレイにおける次は、大きいギャップクリップであり、これは、第２のクリップ１３２０が午後５：５５：００に始まるまで続く。クリップ１３２０の継続時間は、１８分と１９フレームである（例えば、フレームレートが２４ｆｐｓの場合は１９／２４秒）。したがって、アングル１３５５の合計長は、３７分と１９フレームである。
【０１３３】
アングル１３５０及び１３５０だけが、長い継続時間を有することができるビデオクリップを含む。単一フレームの継続時間を有する静止画の場合、いくつかの実施形態は、順序付けられたシーケンスにおける次のクリップの開始時間まで、静止画の継続時間を伸ばすことによって画像間のギャップを埋める。複数の静止画が同じ開始時間を有するとき（例えば、それらの静止画が、１秒当たり複数画像をキャプチャすることができる連写カメラで撮影されたので）、いくつかの実施形態は、順序付けられたセットのクリップの次の開始時間を特定し（画像によって同時に共有された後の時間）、割当時間内で画像を離間させる。例として、８つの画像が、午後１：００：００の時間を有し、次の画像が、午後１：００：０１の時間を有する場合、８つの画像は、タイムライン内で午後１：００：００の１秒間に均一に拡がる（例えば、それぞれ２４ｆｐｓで３フレームの継続時間を有する）。いくつかの実施形態において、画像の順序を同じ開始時間で決定するために、メディア編集アプリケーションは、画像のファイル名を調べ、画像は、多くの場合、カメラによって番号順に自動的に名付けられる（例えば、「ＩＭＧ＿００３５」、「ＩＭＧ＿００３６」など）。
【０１３４】
図１３に示されたように、静止画クリップのＥｘｉｆデータは、クリップ１３４５が午後５：４０：００、クリップ１３３０が午後５：４２：３０、クリップ１３４０が午後５：５０：００、及びクリップ１３３５が午後５：５５：００であり、これらは全て２０１１年５月２５日である。これらの時間はすべて、しきい値継続時間内にあり（しきい値継続時間が１５分より長い限り）、したがって、Ｅｘｉｆ時間は、クリップを順序付けしタイムライン内のクリップの開始点を特定するために用いる基準を満たす。
【０１３５】
図１５は、アングル「１０１０１」１３６０のタイムラインに沿ったこれらの４個のクリップ１３３０〜１３４５を示す。この場合、タイムラインは、第１の画像クリップ１３４５の時間である午後５：４０に始まる。このクリップは、次の画像クリップ１３３０が午後５：４２：３０に始まるまで、２分３０秒の継続時間を有する。次に、午後５：５０に、クリップ１３４０が始まる。このクリップは、午後５：５５に終わり、最後のクリップ１３３５が始まる。いくつかの実施形態において、図示されたように、このクリップは、アングルの同期後まで無制限の継続時間を有する。静止画クリップは、同期後に、マルチカメラクリップの終了まで延在する継続時間を有し、これは、アングル１３５０及び１３５５の長さ及び同期に依存する。静止画クリップを次のクリップの開始時間まで延長する代わりに、いくつかの実施形態は、クリップに固定継続時間を割り当て（例えば、１分）、この継続時間は、その継続時間が終わる前に別のクリップが始まった場合は自動的に短縮されてもよい。
【０１３６】
図１４に戻ると、アングルのシーケンスを生成するためにカレントアングルにギャップクリップを挿入した後で、プロセス１４００は、配列すべき別のアングルが残っているかどうかを判定する（１４３０で）。プロセスが、アングルのすべてを順序付け配列した後、プロセス１４００は終わる。別のアングルが残っているとき、プロセスは、１４１０に戻って、次のアングルを選択し、そのアングルのシーケンスを決定する。
【０１３７】
前述したように、いくつかの実施形態において、メディア編集アプリケーションは、これらのアングル、即ちクリップの順序付けられたシーケンスを、マルチカメラメディアクリップ構造内のコレクションクリップ構造として記憶する。いくつかの実施形態において、このマルチカメラクリップ構造は、アングルコレクション構造のそれぞれがアンカーされたギャップ要素を含むコレクションである。いくつかの実施形態のメディア編集アプリケーションは、アングルそれぞれのシーケンスを別個に生成し、次にそれらがすべて生成された後でシーケンスを同期させる。
【０１３８】
Ｃ．初期同期
マルチカメラメディアクリップのメディアクリップをアングルに割り当て、次にアングルそれぞれのシーケンスを生成した後で、いくつかの実施形態のメディア編集アプリケーションは、アングルを同期させる。いくつかの実施形態において、これは、タイミングメタデータ（例えば、アングルを個々に順序付け配列するために使用されるデータ）を使用する初期同期、及びオーディオデータを使用する同期微調整の２つの別個の操作を含む。図１６は、タイミングメタデータを利用して初期同期を行ういくつかの実施形態のプロセス１６００を概念的に示す。プロセス１６００は、図１７を参照して説明され、図１７は、図１３に示されたクリップ１３０５〜１３４５のメタデータに使用する図１５のシーケンス１３５０〜１３６０の整合を示す。
【０１３９】
プロセス１６００は、最初に、シーケンスで順序付けられた各アングル内のクリップを有する１組のアングルを受け取る（１６０５で）。前述したように、いくつかの実施形態は、これらのアングルそれぞれを、マルチカメラクリップ構造内にアンカーされたコレクションクリップ構造（これ自体がコレクション構造）として記憶する。いくつかの実施形態において、シーケンスは、プロセス１４００又は類似のプロセスによって生成された。アングルはすべて、同じタイプのメタデータ（例えば、タイムコード）にしたがって配列されてもよく、異なるタイプのメタデータを使用して配列されてもよい（例えば、図１５のように、１つのアングルがタイムコードを使用して配列され、別のアングルが時刻情報で配列され、第３のアングルがＥｘｉｆデータにより配列される）。更に、いくつかの場合、アングルの少なくとも１つのアングルは、順番になっているが互いに分離されていないクリップを有する（例えば、クリップを離間するのにクリップの利用可能なタイミング情報だけでは十分に信頼できないと思われるので）。
【０１４０】
次に、プロセス１６００は、アングルの最初の１つを選択し、選択アングルを１組の同期アングルに入れる（１６１０で）。１組の同期アングルは、いくつかの実施形態において、評価されて他のアングルと整合するように調整されたマルチカメラクリップ内に開始時間を有する１組のアングルである。いくつかの実施形態において、第１のアングルを第２のアングルと整合させるために、メディア編集アプリケーションは、第１のアングルと第２のアングルのどちらか後で始まる方のシーケンスの最初にギャップクリップを挿入する。この段階で、プロセス１６００が、アングルのいずれもまだ評価していないので、第１のアングルを同期させるアングルはなく、したがって、プロセスは、この第１の選択アングル内の第１のクリップを、マルチカメラメディアクリップの時間０で始まるように設定する。即ち、第１の選択アングルは、この時点では、ギャップクリップが最初に挿入されていない。
【０１４１】
次に、プロセスは、評価されていないアングルのうちの１つをカレントアングルとして選択する（１６１５で）。マルチカメラクリップに１つのアングルしかない場合は、当然ながら同期は必要ない。いくつかの実施形態において、メディア編集アプリケーションは、これらのアングルを、マルチカメラクリップコレクションデータ構造に記憶された順序で選択する。例えば、図１５に示された例では、メディア編集アプリケーションは、最初に、「ワイドショット」アングル１３５０を選択し、それを初期同期アングルとして設定し、次に「クローズアップ」アングル１３５５を選択して、そのアングルを「ワイドショット」アングルに整合させる。いくつかの実施形態において、異なるアングルがそれぞれ、マルチカメラコレクションデータ構造内にアンカーコレクションとして記憶され、各アングルは、順序を示すレーン番号を有する。いくつかの実施形態は、最も大きいレーン番号又は最も小さいレーン番号から始まるアングルを選択する。
【０１４２】
次に、プロセス１６００は、クリップのタイミングメタデータが、カレントアングルを１組の同期アングルにおけるアングルの少なくとも１つと同期させるのに有効かどうかを判定する（１６２０で）。いくつかの実施形態において、このタイミングメタデータは、アングルシーケンスプロセスと同様に、タイムコード又は時刻（作成日）のいずれかでよい。いくつかの実施形態は、最初に、タイムコードが時刻より高い精度を有するのでタイムコードが同期に有効かどうかを判定する（タイムコードがフレームの増分を使用するのに対して、時刻が１秒増分しか使用しないので）。しかしながら、専門家設定を除いて、複数の異なるカメラには、通常、タイムコードが同期されない。専門家設定は、単一のタイムコードシンクロナイザに接続された（例えば、無線、有線接続によって）複数のカメラを実行することがある。しかしながら、多くのユーザにとっては、第１のカメラのタイムコードは、第２のカメラのタイムコードと関連付けられない。
【０１４３】
タイムコードデータを使用して２つのアングルを同期できるかどうか判定するために、いくつかの実施形態は、最初に、両方のアングルを順序付けるためにタイムコードが使用されたかどうかを判定する。タイムコードが、アングルを順序付けるのに有効でない場合（例えば、アングル内のクリップのタイムコードが重複するので）、アプリケーションは、アングルを同期させるためにタイムコードデータを使用しない。例えば、「クローズアップ」アングル１３５５のタイムコードデータは、そのアングルのクリップを配列するのに有効でなく、したがって、アングル１３５５を「ワイドショット」アングル１３５０と同期させるのに使用されない。アングルが両方ともタイムコードデータを使用して配列されたときは、アプリケーションは、アングルの一方のタイムコードを他方のアングルのタイムコードと比較する。いくつかの実施形態は、タイムコードデータを使用するには、第１のアングルのタイムコードが、第２のアングルのタイムコードと少なくとも部分的に重複しないことを必要とし、他の実施形態は、タイムコードが及ぶ全時間が、しきい値継続時間より長くない（例えば、１時間、２４時間、７２時間など）ことを必要とする。即ち、第１のアングルのタイムコードが、０１：００：００：００から０３：００：００：００にわたり、第２のアングルのタイムコードが、２２：００：００：００から２６：００：００：００にわたる場合、これは、いくつかの実施形態において、２４時間のしきい値を超えることになる。他の実施形態は、しきい値継続時間までの時間全体ではなく２組のタイムコード間のギャップ（前の例では１９時間）を比較する。
【０１４４】
いくつかの実施形態は、現在の選択アングルのタイムコードデータを、既に同期された各アングルに比較して、現在の選択アングルを他のアングルのいずれかと同期できるかどうか判定する。例えば、最初の２つのアングルが、時刻情報を使用して同期されることがあるが、第３のアングルは、タイムコード情報を使用して最初の２つのアングルの一方と同期することができる。タイムコードデータを使用してカレントアングルを特定の他のアングルと同期できるとき、プロセスは、このタイムコードデータを使用する。しかしながら、タイムコードデータを使用してカレントアングルをアングルのいずれとも同期できないとき、いくつかの実施形態のメディア編集アプリケーションは、時刻情報を使用しようとする。
【０１４５】
いくつかの実施形態は、時刻情報の使用に関して、カレントアングルの期間が、少なくとも部分的に重複するか、又は比較される別のアングルのしきい値継続時間の範囲内にあることを必要とするような、タイムコードデータについて前述したような類似の制約を適用する。ユーザが、自分の様々なカメラのすべてを正確な時間に設定している場合は、時刻データは、重複することが多く（少なくとも複数のカメラによってシーンを同時撮影した場合）、したがって有用である。例えば、例「クローズアップ」アングル１３５５のタイムコード情報は有用でないが、そのクリップ１３１０及び１３２０の時刻情報（午後５：３６から午後６：１３まで）が、「ワイドショット」アングル１３５０のクリップ１３０５、１３２５及び１３１５の時刻情報（午後５：３５から午後６：１２まで）と重複する。前節と同じように、タイムコード情報はやはり、クリップの継続時間（したがってアングルの継続時間）を決定するのに有用である。
【０１４６】
静止画は、前述のように、そのＥｘｉｆデータを使用して順序付けられるか、又はＥｘｉｆデータが利用不能なときは作成日情報を使用して順序付けられる。メディア編集アプリケーションは、前述の方式と同様に、そのようなタイプのデータのタイムスタンプを、他のアングルのビデオ又はオーディオクリップの時刻情報と比較する（即ち、第１のアングルのタイムスパンが、別のアングルのタイムスパンと重複するか近いかどうかを判定する）。更に、いくつかの実施形態は、同じアングルに静止画及びビデオ／オーディオクリップを含んでもよい（例えば、デジタルカメラを使用して静止画とビデオとの両方を撮影するとき）。この場合、順序付けと同期との両方の目的の同じ種類のメタデータとして、ビデオの時刻情報と共にＥｘｉｆデータが検討されてもよい。
【０１４７】
タイミングメタデータ（タイムコード又は時刻情報）が、現在の選択アングルを他のアングルの少なくとも１つと同期させるのに有効なとき、プロセスは、タイミングメタデータを使用してカレントアングルを１組の同期アングルに同期させる（１６２５で）。したがって、例えば、２つのアングルが、そのタイムコードを使用して既に同期されているが、現在の選択アングルが、他の２つのアングルの一方の時刻情報と重複する時刻情報しか含まない場合、アプリケーションは、そのアングルのタイムコードではなく時刻情報を使用することにより、カレントアングルを重複する時刻情報を有するアングルと同期させるようとする。第１のアングルが、時刻情報を有し、第２のアングルが、時刻情報とタイムコード情報との両方を有し、第３のアングルが、タイムコード情報だけを有する場合、いくつかの実施形態において、アプリケーションは、第１のアングルと第３のアングルとの両方を第２のアングルに同期させることによって、これらの３つのアングルを同期させることが可能になる。
【０１４８】
いくつかの実施形態において、１つのアングルを１組のアングルに同期させることは、現在の選択アングルが、その組の中で最も早いアングルと全く同時に始まらない限り、アングルのうちの１つ以上のアングルの最初にギャップクリップを挿入する（又は、調整する）ことを含む。カレントアングルが、既に同期されているアングルのいずれより早い時間に始まるとき、アプリケーションは、他のアングルの最初に、カレントアングルのオフセットと等しい長さのギャップを挿入する。これらのアングルのうちの１つが、既にギャップクリップを有する場合は、アプリケーションは、このギャップをオフセットの長さだけ拡張する。カレントアングルが、他のアングルの少なくとも１つの後で始まるとき、アプリケーションは、現在の選択アングルの最初に、オフセットと等しい長さのギャップを挿入する。
【０１４９】
図１７が示すように、「クローズアップ」アングル１３５５を「ワイドショット」アングル１３５０に同期させるとき、アプリケーションは、「クローズアップ」アングル１３５５が５：３６で始まるので、その最初に１分のギャップを挿入する（「ワイドショット」アングル１３５０の５：３５に比較して）。第３のアングル「１０１０１」１３６０は、５：４０に始まり、したがって、アプリケーションは、このアングルの最初に５分のギャップを挿入する。更に、アプリケーションは、静止画クリップ１３３５の継続時間を１８分延ばす（午後５：５０から６：１３まで）。いくつかの実施形態は、アングル内の最後のクリップの静止画クリップをメディアクリップの終わりまでずっと拡張せず、その代わりに、静止画を最大長にする（例えば、１分、５分など）。
【０１５０】
他方、プロセス１６００が、現在の選択アングルを正確に同期するタイミングメタデータを見つけることができないとき、プロセスは、タイミングメタデータを使用せずにアングルを１組の同期アングルに同期させる（１６３０で）。いくつかの実施形態において、アプリケーションは、アングルの最初のクリップを、最の早い開始時間を有するアングルの最初のクリップと同時に始める。いくつかの実施形態において、これは、アングルを表すコレクションの最初にギャップクリップを挿入しないだけで達成される。アングルコレクションのアンカーオフセットがゼロに維持される限り、ギャップクリップで始まらないアングルは、マルチカメラメディアクリップ内の最も早い開始時間を有する。
【０１５１】
図１１の段階１１５０に示されたように、いくつかの実施形態により、ユーザは、メディア編集アプリケーションが、各アングルの最初のクリップの始まりにアングルのすべてを同期させることを選択することができる。ユーザが、同期のためにタイミングメタデータを探すのではなく、このオプションを選択するとき、アプリケーションは、タイミングメタデータを使用して（又はユーザによって指定されたようで）異なるアングルを順序付け、次にアングルをそれぞれ同時に始まるように単純に整合させる。いくつかの実施形態において、図２０を参照して後述するように、アングルがすべて、同じアンカーオフセット（０，０）を有するギャップクリップにアンカーされるので、このアラインメントは、任意のアングルの最初にギャップクリップを挿入しないことによって単純に行なわれる。
【０１５２】
更に、アプリケーションは、ユーザが、アングルを各アングル内の最初のマーカによって同期させるように選択することを可能にする。ユーザは、クリップにマーカを設定することができ、そのようなマーカは、いくつかの実施形態において、１フレームの継続時間を有するクリップデータ構造として記憶され、クリップ内の特定時間でマーク付きクリップにアンカーされる。このオプションが選択された場合、アプリケーションは、各順序付けられたアングル内の最初のマーカを特定し、次に必要に応じてアングルの始まりにギャップクリップを挿入して、これらのマーカが整合するようにする。これにより、ユーザは、いくつかのカメラのそれぞれからの１クリップ内の特定フレームを特定し、このフレームを、他のそのようなフレームと整合させるためにマークすることができる。これは、特に、ユーザが、複数の異なるアングルからシーンを撮影し、特定のフレームを、異なるアングルで全く同じ時間を表すものとして特定できるときに有効なことがある。
【０１５３】
図１６に戻ると、カレントアングルを同期させた後で、プロセス１６００は、同期させる別のアングルが残っているかどうかを判定する（１６３５で）。アングルのすべてが同期されたとき、プロセスは終了する。他の状況で、プロセスは、１６１５に戻り、次のアングルを選択し、このアングルを他の以前に同期されたアングルと同期させる。
【０１５４】
プロセス１６００は、タイミングメタデータ（又は、タイミングメタデータが適切な情報を提供しない場合には他の基準）を使用してアングルを同期させるためのいくつかの実施形態のプロセスの１つの概念的な例である。他の実施形態は、プロセス１６００と多少異なることがある同期プロセスの様々な変形を使用する。例えば、いくつかの実施形態は、最初に、タイムコード情報を使用してアングルのすべてを一度に同期させようとする。プロセスは、異なるアングルのタイムコードのすべてが、ある程度互いに重複するかどうか（即ち、各アングルを連続ブロックとして処理する、タイムコード全体にギャップがあるかどうか）、又はタイムコードのすべてが、アプリケーションによって使用される基準（この基準は、いくつかの実施形態において、デフォルト設定でもよくユーザが決定した設定でもよい）により、特定の時間範囲（例えば、日）内に適合するかどうかを判定する。タイムコードデータが、必要な基準に適合するとき、アプリケーションは、それらのタイムコードを使用してデータのすべてを整合させる。いくつかの実施形態において、アウトライアーアングルが１つ又は２つしかないとき、アプリケーションは、それらのタイムコードを使用して他のアングルを同期させ、次にアウトライアーアングルを、最も早いアングルの最初のクリップの始まりと整合させる。
【０１５５】
その代り、アングルのうちの少なくとも１つのアングルのタイムコードが、同期の基準を満たさないとき、いくつかの実施形態は、アングルのすべての時刻情報の使用を試みる。次に、アプリケーションは、アングルの時刻情報に類似の基準を適用する（アングルのすべてが重複するかどうか、又はアングルのすべてがしきい値継続時間の範囲内にあるかどうかを判定する）。アングルのすべてを時刻情報と整合させることができる場合、メディア編集アプリケーションは、この時刻情報を使用してアングルを同期させる。時刻情報をアングルのすべてに使用できるとは限らない場合は、異なる実施形態は、異なるオプションを適用することがある。
【０１５６】
例えば、いくつかの実施形態は、最大数のアングルがそれらのアングルを同期するための有効基準を超えるメタデータを使用し、次に時刻情報を使用して他のアングルを同期アングルのいずれかに同期させようとする。有効なタイミングメタデータのないアングルは、マルチアングルクリップの最初で始まる。節ＩＶで述べるように、いくつかの実施形態は、アプリケーションがマルチカメラクリップを自動作成した後でユーザがアングルを手動で整合しなおすことを可能にする。
【０１５７】
Ｄ．同期微調整
個々のクリップのタイミングメタデータに基づいてマルチカメラメディアクリップのアングルを同期させることに加えて、いくつかの実施形態は、異なるアングル内のクリップ間のオーディオ比較を使用してこの整合を微調整する。いくつかの実施形態において、メディア編集アプリケーションは、時間が重複する異なるアングルからのクリップを比較して、同じ（又は類似の）オーディオ又はオーディオの同じ（又は類似の）セクションを有するクリップを特定する。次に、アプリケーションは、２つのクリップのオーディオ間のオフセットを決定し、クリップの一方を再整合してオフセットを補償することができる。オーディオを解析してクリップを同期させるいくつかの実施形態のプロセスは、２０１１年２月２日に出願され「Ａｕｔｏｍａｔｉｃ  Ｓｙｎｃｈｒｏｎｉｚａｔｉｏｎ  ｏｆ  Ｍｅｄｉａ  Ｃｌｉｐｓ」と題する米国特許出願第１３／０１９，９８６号に詳細に記載されており、この出願は、参照により本明細書に組み込まれる。処理集約的な手順のことがあるクリップ全体の比較ではなく、いくつかの実施形態は、初期同期が特定のしきい値（例えば、５秒、１分、２分など）範囲内で正確になることを想定し、マルチカメラメディアクリップのタイムラインにおいてそのしきい値の範囲内にあるクリップのオーディオを他のクリップのオーディオに比較するだけである。
【０１５８】
図１８は、マルチカメラメディアクリップ内の１組のアングル全体のメディアクリップを同期させるいくつかの実施形態のプロセス１８００を概念的に示す。プロセス１８００は、４つの段階１９１０〜１９４０にわたるアングル１３５０〜１３６０の微調整オーディオ同期を示す図１９を参照して説明される。
【０１５９】
プロセス１８００は、最初に、マルチカメラメディアクリップの１組の同期アングルを受け取る（１８０５で）。いくつかの実施形態において、アングル（メディアクリップのグループ）は、プロセス１６００又は類似の整合プロセスを使用し、それらのメディアクリップのタイミングメタデータに基づいて既に同期されている。前述のように、いくつかの実施形態は、これらのアングルを、マルチカメラクリップ構造内にコレクションクリップ構造として記憶し、マルチカメラクリップ構造自体は、コレクションクリップ構造である。クリップはすべて、オーディオを伴うビデオクリップ（例えば、節ＩＩで述べたように、オーディオコンポーネントがアンカーされたビデオコンポーネントを有するクリップ）のこともあり、ビデオコンポーネントのないいくつかのオーディオクリップ、オーディオコンポーネントのないビデオクリップ、及び静止画クリップ（一般にオーディオコンポーネントがない）を含むこともある。図１９に示された例では、最初の２つのアングル１３５０及び１３５５だけが、オーディオデータを有するクリップを含み、したがって、これらのクリップだけが、オーディオ同期によって調整される。
【０１６０】
プロセスは、マルチカメラメディアクリップのタイムライン全体の最初の非ロッククリップを選択する（１８１０で）。いくつかの実施形態において、プロセスは、タイムラインの最初で始まるクリップを選択し、タイムラインの終わりの方に移動し、そのクリップを所定の位置で１つずつロックする。この状況で、クリップがロックされるとは、プロセス１８００が、クリップを評価し終わり、マルチアングルメディアクリップのタイムライン全体に沿ってクリップを移動させなくなることを意味する。クリップがロックされた後で、他のクリップをタイムラインに沿ってシフトさせてそのオーディオをロッククリップのオーディオと整合させてもよい。
【０１６１】
プロセスは、選択されたクリップが、異なるアングル（即ち、選択されたクリップが属するアングル以外のアングル）のロッククリップに重複するかどうかを判定する（１８１５で）。即ち、アプリケーションは、マルチカメラメディアクリップのタイムライン全体で現在選択されているクリップの期間が、ロックされたようにフラグが立てられたクリップの期間に重複するかどうかを特定する。いくつかの実施形態において、処理を節約するために、メディア編集アプリケーションは、各クリップのオーディオを異なるアングル内の他のクリップのすべてのオーディオに比較するのではなく、重複するクリップのオーディオだけを比較する。選択されたクリップが、どのロッククリップとも重複しないとき、プロセスは、選択されたクリップをロックする（１８４０で）。最初のクリップが選択されたときにロッククリップがないので、アプリケーションは、この最初のクリップを所定の位置で自動的にロックする。
【０１６２】
図１９の第１段１９１０は、最初に最初のクリップ１３０５がロックされたことを示す。この図では、ロッククリップが実線で示され、まだロックされていないクリップが点線で示される。したがって、第１の段階１９１０では、他の４つのビデオクリップ（オーディオを伴う）が点線で示される。アングル１３６０のクリップは、オーディオを伴わない静止画を表すので、オーディオ同期の候補ではないためロックされたように示される。
【０１６３】
選択されたクリップが、異なるアングル内の少なくとも１つのロッククリップと重複するとき、プロセスは、選択されたクリップ及び重複するロッククリップのすべてのオーディオを解析する（１８２０で）。いくつかの例では、このクリップは、多数のクリップになり（多数のアングルがあるとき）、それらのクリップのいくつかは、このプロセスの以前の繰り返しによって互いに既に整合されている。図１９を再び参照すると、選択された次のクリップは、ロッククリップ１３０５と重複するクリップ１３１０である。図示されたように、これらのクリップは両方ともオーディオコンポーネントを含み、互いに比較され得る。
【０１６４】
いくつかの実施形態のメディア編集アプリケーションは、２つのクリップのオーディオを比較するために、以前の参照によって組み込まれた米国特許出願第１３／０１９，９８６号に詳しく記載されたプロセスを使用する。要するに、いくつかの実施形態のアルゴリズムは、相互相関又は位相相関を用いて２つのオーディオクリップを比較して、２つのクリップの全ての時間オフセットの一致の可能性を示す相関関数を作成する。したがって、この相関関数のピーク値は、２つのオーディオ信号のうちで最も可能性の高い整合を示す。
【０１６５】
各対のオーディオクリップの全継続時間に関して、そのような相関関数の計算に必要な広範囲の処理リソースを使用するのではなく、いくつかの実施形態は、最大オフセット（例えば、２分）までの関数を生成する。タイミングデータを用いて初期同期を実行することによって、メディア編集アプリケーションは、オーディオが同期される可能性を高め、整合の誤差は、異なる装置間でクロック又はタイムコードが完全に整合されないことによるものである（装置設定での人為ミス、クロックドリフトなどによる）。
【０１６６】
２つの重複するクリップのオーディオを比較する他に、いくつかの実施形態は、２つのクリップの以前に生成された波形データも比較する。いくつかの実施形態において、メディア編集アプリケーションは、オーディオ情報を含む各クリップのオーディオ波形データを自動的に生成する。アプリケーションは、この生成されたデータを用いてクリップのオーディオ波形を表示する（例えば、クリップブラウザ又は複合表示領域に）。この波形データが利用可能なとき、アプリケーションは、２つのクリップの波形の類似性を比較する。多くの場合、この比較は、オーディオデータの比較よりも素早く行なうことができる。したがって、いくつかの実施形態は、オーディオ波形データとオーディオデータの組み合わせを用いて様々な時間オフセットの相関を決定する。例えば、いくつかの実施形態は、最初に、オーディオ波形情報を用いて２つのクリップのピーク相関オフセットを近似し、次に更にオフセットをオーディオデータで微調整する。
【０１６７】
例として、いくつかの実施形態は、５００（又は、１００、１０００など）のオーディオサンプルごとに波形データポイントを生成する。したがって、波形データからのオフセットは、５００サンプル以内の精度として処理することができる（オーディオサンプルレートが４８ｋＨｚの場合、これは１／９６秒、即ち２４ｆｐｓビデオでは１／４フレームである）。次に、アプリケーションは、特定されたオフセット前後の小さい範囲のオーディオオフセット（例えば、５秒、１０秒など）を使用して、２つのクリップのピークオフセットをより正確に特定する。
【０１６８】
選択されたクリップのオーディオ（及び／又は、波形データ）を重複するロッククリップそれぞれに比較した後で、プロセスは、最良一致ロッククリップと選択されたクリップのオフセットを計算する（１８２５で）。前述したように、いくつかの実施形態において、比較にそれぞれより、（ｉ）最良相関を作成する２つのクリップのオフセット、及び（ｉｉ）このピーク相関が一致を示す可能性を示すピークオフセット相関値が生成される。いくつかの実施形態は、最高一致可能性（例えば、２０％、７５％、９０％など）を生成する、選択されたクリップと重複クリップのいずれかとの間のオフセットを特定する。
【０１６９】
次に、プロセスは、この最高一致クリップが、同期に使用されるのに十分に高い相関可能性を有するかどうかを判定する（１８３０で）。いくつかの実施形態は、最小しきい値相関値を使用して、オーディオが一致を示す可能性が低いときにメディア編集アプリケーションが初期同期のクリップをシフトするのを防ぐ。例えば、いくつかの実施形態は、オーディオをシフトさせるために少なくとも５０％の相関可能性、更には７０％の可能性を必要とするが、他の実施形態は、そのように高い相関可能性を必要としない。
【０１７０】
前述したように、いくつかの実施形態は、最大オフセットまでの相関値を生成する。いくつかの実施形態は、最初に、第１の最大オフセット（例えば、１０秒）を使用し、ピークオフセットが十分に高い相関を有するかどうかを判定する。このオフセットにおける相関が、しきい値を超えないとき、プロセスは、範囲を拡張し、第２のより大きい最大オフセット（例えば、２分）まで相関値を計算する。ピーク相関値が、しきい値可能性をまだ超えない場合、プロセスは、範囲を２つのクリップの全体まで拡張する。この時点で、ピークオフセットに十分に高い相関がない場合、プロセスは、一致がないと仮定する。
【０１７１】
ピークオフセットに十分に高い相関がないか判定に加えて、いくつかの実施形態は、複数のピーク（例えば、サンプリング範囲内の１０〜２０個のピーク）を特定する。次に、アプリケーションは、最高ピークを他のピークに比較して、見つかった最大相関が、他のピークより高い第２のしきい値を超えることを保証する。即ち、アプリケーションは、ピークオフセットが、範囲内の他のオフセットよりもかなり有望な整合であるかどうかを判定する。違いが十分に大きくない（即ち、第２のしきい値を超えない）場合、プロセスはオフセットを一致であると見なさない。
【０１７２】
最高一致クリップでもしきい値相関値を超えないとき、プロセスはクリップを再整合せずに、現在選択しているクリップをロックする（１８４０で）。しかしながら、最良一致クリップが、十分に高い相関可能性を有するとき、プロセスは、現在選択されているクリップのアングル内の全ての非ロッククリップをピークオフセット時間までシフトさせる（１８３５で）。したがって、アングル内の以前にロックされたクリップ（他のロッククリップに既に同期されていることもある）はどれもシフトされないが、いくつかの実施形態のアプリケーションは、他の非ロッククリップを、同じオフセットだけシフトすべきであるという仮定を実施する（例えば、そのアングル内のクリップをキャプチャした装置のクロックが、一貫した継続時間だけ停止された場合）。
【０１７３】
非ロッククリップをシフトさせるために、いくつかの実施形態は、選択されたクリップに先行するギャップクリップの継続時間を調整する（選択されたクリップをタイムラインの前方に移動させるためにギャップクリップの継続時間を短縮し、選択されたクリップを継続時間内で後方に移動させるために継続時間を延長させる）。いくつかの実施形態は、選択されたクリップを移動させてその選択されたクリップがアングル内の前方のクリップと重複するようにするオフセットを有する選択されたクリップに有望な一致が見つかった特定の場合、ロッククリップをシフトしてもよい。クリップを重複位置に移動させる選択されたクリップの相関値が、ロッククリップの最高相関値より大きいとき、いくつかの実施形態は、ロッククリップを「解除」し、必要に応じてそのクリップを前方に移動させ、選択されたクリップの整合を可能にする（例えば、選択されたクリップとロッククリップとの間のギャップを除去し、次にロッククリップの前のギャップを短縮することにより）。
【０１７４】
いくつかの例では、メディア編集アプリケーションは、ビデオが、単一フレームの継続時間（例えば、１／２４秒又は１／３０秒）と等しい個別の量でシフトされることを必要とする。しかしながら、オーディオ記録は、典型的には、はるかに小さい増分でサンプリングされる（例えば、１／４８，０００秒）。いくつかの実施形態において、アプリケーションは、オフセットをオーディオサンプル境界のレベルで決定し、次にビデオを最も近いフレーム境界にシフトさせる。オーディオに関して、いくつかの実施形態は、シフトされたオーディオを、ビデオフレームの増分より少ない量だけわずかにオフセットさせ、それにより、シフトされたクリップのオーディオが、一致するオーディオとより近くで整合する。
【０１７５】
図１９の第１の段階１９１０は、現在選択されているクリップ１３１０のオーディオが、ロッククリップ１３０５のオーディオからわずかにオフセットされていることを示す。矢印で示されているように、メディア編集アプリケーションは、クリップ１３１０とクリップ１３２０との両方をマルチカメラメディアクリップのタイムライン内で前方に移動させ、その結果が、段階１９２０に示される。このシフトを行うために、アプリケーションは、アングル１３５５内のクリップ１３１０に先行するギャップクリップの継続時間を変更する。
【０１７６】
クリップをシフトさせた後、プロセス１８００は、選択されたクリップをロックする（１８４０で）。いくつかの実施形態において、以上のように、これは、オーディオ同期を実行している間に、クリップが、ロックされてそれ以上移動されないフラグを（例えば、揮発性メモリ内に）設定することを含む。次に、プロセスは、評価すべき非ロッククリップが他に残っているかどうかを判定する（１８４５で）。クリップが他に残っているとき、プロセスは、１８１０に戻って、マルチカメラメディアクリップ内の次の非ロッククリップを選択する。クリップのすべてが整合された後、プロセス１８００は終了する。
【０１７７】
図１９の第２の段階１９２０は、メディア編集アプリケーションが、また、クリップ１３２５を移動させずにロックしたことを示す。このクリップは、クリップ１３１０を整合した後で選択された次のクリップであるが、他のアングル内のどのロッククリップとも重複しない。したがって、アプリケーションは、このクリップをロックし、次のクリップ１３２０の評価に進む。第２の段階１９２０は、クリップ１３２０のオーディオが、クリップ１３２５のオーディオからわずかにオフセットされていることを示す。したがって、アプリケーションは、クリップ１３２０をタイムライン内の少し後方にシフトする（いくつかの実施形態において、クリップ１３１０とクリップ１３２０との間のギャップクリップの継続時間を増やすことによって）。
【０１７８】
第３の段階１９３０は、アプリケーションが、クリップ１３２０をマルチカメラクリップタイムライン内の少し後方に移動させ、クリップ１３２０をロックしたことを示す。更に、図は、第１のアングル１３５０内のクリップ１３１５のオーディオが、今ロックされたクリップ１３２０のオーディオからわずかにオフセットされたことを示す。したがって、アプリケーションは、クリップ１３１５をマルチカメラメディアクリップのタイムライン内の前方に移動させる（クリップ１３２５とクリップ１３１５との間のギャップクリップの継続時間を減らすことによって）。
【０１７９】
第４の段階１９１０は、オーディオ同期プロセス後のマルチカメラメディアクリップの３つのアングルのタイムラインを示す。当業者は、多くの場合、マルチカメラメディアクリップが、オーディオクリップを有する３つ以上のトラックと、１トラック当たりの３つ以上のクリップとを有することを理解するであろう。そのようなクリップでは、同期は、個々のクリップがそれぞれマルチカメラクリップタイムライン全体内で整合されるので、マルチカメラクリップ全体に広がる（例えば、クリップ１３２５、１３２０及び１３１５に対して段階１９２０〜１９４０に示されたように）。
【０１８０】
Ｅ．マルチカメラ参照クリップのデータ構造
以上の小節は、メディア編集アプリケーションによって作成されたマルチカメラメディアクリップデータ構造を参照した。いくつかの実施形態に関して、図２０は、メディア編集アプリケーションのイベント内に作成されたマルチカメラメディアクリップに含まれるデータ構造のサブセットを概念的に示す。前述したように、いくつかの実施形態において、アプリケーションは、参照マルチカメラクリップをアプリケーションのイベントデータ構造に記憶し、次に１つ以上のメディアプロジェクト内に、参照クリップを参照し参照クリップからプロパティを継承するインスタンスクリップを定義する。図２０に示された参照マルチカメラメディアクリップ２０００は、そのような参照クリップの例である。いくつかの実施形態において、参照クリップは、マルチカメラメディアクリップだけに使用される。しかしながら、他の実施形態は、任意の複合クリップ又はあらゆるタイプのクリップのための参照クリップ（及び対応して参照クリップを参照するクリップインスタンス）を有効にする。したがって、当業者は、本明細書でマルチカメラメディアクリップに関して述べた参照クリップのプロパティが、他のタイプのクリップにも適用できることを理解するであろう。
【０１８１】
図示されたように、マルチカメラメディアクリップを定義するクリップオブジェクトのネストシーケンスは、図６に示されたオブジェクトに構造が類似している。図は、シーケンス２００５、アングルインスタンス２０１２、参照コレクション２０００（マルチカメラメディアクリップ）、参照コレクション２０００によって含まれるギャップクリップ２００７、マルチカメラメディアクリップのアングルコレクション２０１０のうちの１つ、及びアングルコレクション２０１０のクリップ２０１５のうちの１つを示す。いくつかの実施形態において、この図に示されたクリップオブジェクトはそれぞれ、同じクラスのメンバであるが、オブジェクトは、様々なサブクラスのものでよい。図２０に示されたデータ構造セットは、図１０を参照して述べたマルチカメラクリップ作成プロセスの出力でよい。
【０１８２】
節ＩＩに示されたように、いくつかの実施形態は、イベント内のメディアファイルごとにイベントオブジェクト内のシーケンスを作成する。これは、イベントにインポートされるクリップだけでなく、イベント内に作成された合成クリップ又はマルチカメラクリップも含む。シーケンス２００５は、イベントクリップのそのようなシーケンスの例である。シーケンス２００５は、図６のシーケンス６０５と同様に、シーケンスＩＤ、１組のシーケンス属性、及びアングルインスタンスオブジェクト２０１２を記憶する。シーケンス属性は、いくつかの実施形態において、解像度、フレームレート、並びにシーケンスの他のビデオ及びオーディオプロパティを含む。図１１に示されたように、いくつかの実施形態は、ユーザに、これらのシーケンス属性をマルチカメラクリップ用にカスタマイズするか、又はそのようなシーケンス属性を、マルチカメラメディアクリップを生成するために使用されるメディアクリップから継承するオプションを提供する。
【０１８３】
アングルインスタンス２０１２は、参照コレクション２０００を含む（又は、ラップする）オブジェクトである。更に、アングルインスタンス２０１２は、マルチカメラクリップがタイムライン内のシーケンスに追加されるときに使用されるアクティブビデオアングル及びアクティブオーディオアングルを示す。これらのアクティブアングルは、いくつかの実施形態において、メディア編集アプリケーションのユーザによって選択されてもよい（例えば、アングルビューワ又はインスペクタにより）。タイムラインシーケンスで使用されるようなアングルインスタンスデータ構造については、後で更に詳しく述べる。
【０１８４】
以上のような参照コレクション２０００は、マルチカメラクリップオブジェクトと見なすことができる。当業者は、これが、そのようなクリップオブジェクトを実現する多くの可能な方法のうちの１つに過ぎないことを理解するであろう。参照コレクションオブジェクト２０００は、図６のコレクションオブジェクト６１０又は図８の８１０と類似のコレクションオブジェクト（複合クリップオブジェクト）であり、同様にコレクションＩＤを含む。コレクションがマルチカメラクリップであることを示すために、オブジェクトは、マルチカメラフラグを含む。これは、クリップの上にマルチカメラインジケータを表示し、並びにメディア編集アプリケーションと関連付けられた機能を提供するマルチカメラクリップを示す（後の節で述べる）。参照コレクション２０００は、そのアレイで、コンテンツのない単一ギャップクリップ２００７を含む。
【０１８５】
ギャップクリップ２００７は、コレクションＩＤ、コンテンツのないギャップコンポーネント、並びに全範囲及びトリム範囲を含む。いくつかの実施形態において、ギャップクリップは、コレクションではなくコンポーネント又はジェネレータである。ギャップクリップが実現される方法に関係なく、ギャップクリップは、実際のメディアを参照しないが、代わりに黒一色の出力を作成する。いくつかの実施形態において、ギャップクリップ２００７の継続時間は、クリップ内の最長アングルの長さによって異なる。
【０１８６】
いくつかの実施形態において、アングルは、接続されたストーリーラインとして記憶され、ストーリーラインは、参照コレクション内のギャップクリップにアンカーされたコレクションである。いくつかの実施形態において、接続されたストーリーラインは、ギャップクリップの最初にアンカーされる（即ち、オフセット０，０を有する）。図示されたように、ギャップクリップ２００７は、３つのアンカー項目（アングル１、２及び３）を含む。
【０１８７】
これらのアンカー項目は、それら自体がそれぞれ、マルチカメラメディアクリップのアングルのうちの１つに関する情報を記憶するコレクションである。この場合、マルチカメラクリップは、３つのアングルを含む。これらのアングルのうちの２つ目は、コレクションクリップ２０１０によって表され、他の２つは、類似の構造を有する（それぞれのアレイ内に異なるクリップを有する）。図示されたように、コレクションクリップ２０１０は、アングルＩＤ、ギャップクリップによって分離された２つのコンテンツクリップの順序付けられたアレイ、全範囲及びトリム範囲、オフセット０，０（各アングルがギャップクリップ２００７の最初にアンカーされたとき）を有する親ギャップクリップ（ギャップクリップ１）へのアンカー情報、及びマルチカメラメディアクリップ内のアンカー項目の順序を示すレーン番号（この場合は２）を含む。しかしながら、いくつかの実施形態は、非ゼロのアンカーオフセットを使用して、アングルの最初にギャップクリップを挿入するのではなくマルチカメラクリップ内のアングルを同期させる。
【０１８８】
アングルＩＤは、アングルを特定する固有ＩＤである。いくつかの実施形態において、アングルコレクション２０１０は、ユーザが変更することができるアングル名も記憶する。ユーザが、アングル名を変更したときでも、アングルＩＤは一定のままであり、したがって、メディア編集アプリケーションは、アングルを参照するクリップインスタンスを更新しなくてもよい。
【０１８９】
アレイは、時間順に配列されたアングルのクリップのすべてを含む。この場合、アングルには２つのクリップしかない（クリップ２Ａ及びクリップ２Ｂ）。クリップが、マルチカメラクリップタイムライン内で完全に分離されない限り（例えば、タイミングメタデータが、アングル内のクリップをスペース配置するのに役立たないので）、アプリケーションは、マルチカメラタイムライン内のクリップを離間するためにクリップ間にギャップクリップを挿入する。更に、第１のクリップが、マルチカメラクリップタイムラインの開始後のどこかで始まるとき、いくつかの実施形態は、アレイ内の最初のクリップとしてギャップクリップを挿入する。アングル２０１０の場合、クリップ２Ａは、タイムライン全体の時間ゼロで始まり、したがって、このクリップは、アレイ内の最初のクリップである（即ち、アレイを開始するギャップクリップがない）。
【０１９０】
図示されたように、クリップ２０１５（クリップ２Ａ）は、クリップ６１０と類似のコレクションクリップであり、そのアレイ内の単一のメディアコンポーネント（例えば、ビデオコンポーネント）、及び第１のコンポーネント（単純にするために示されていない）にアンカーされた第２のコンポーネント（例えば、オーディオコンポーネント）を有する。節ＩＩで詳細に述べたクリップ６１０と同じように、これらのコンポーネント自体は、メディアアセットデータ構造を参照するクリップ構造である。いくつかの実施形態において、アングルコレクションのアレイ内のクリップは、追加のコレクションを含む複合クリップでもよい。他の実施形態は、マルチカメラクリップ内にコンポーネント（クリップ２０１５など）を含む単純なコレクションクリップを可能にする。
【０１９１】
ＩＶ．マルチカメラ参照クリップの編集
以上の節は、（メディア編集アプリケーションのデフォルト設定、又はユーザからのプリファレンス入力を使用する）いくつかのメディアクリップからのマルチカメラメディアクリップの自動作成について述べた。メディア編集アプリケーションが、マルチカメラクリップを作成した後、ユーザは、参照マルチカメラクリップを編集し、並びにマルチカメラクリップのインスタンスをメディアプロジェクトに追加してもよい（両方ともプロジェクトの主複合レーン並びに副アンカーレーンにある）。これらのインスタンスクリップはそれぞれ、アクティブオーディオアングル及びアクティブビデオアングルを有し、これらのアングルが、メディアプロジェクトの実際部分であるマルチカメラメディアクリップのコンテンツを決定する。ユーザは、アクティブアングルを様々な異なる方法で切り換えるか、又はクリップインスタンスを特定のフレーム境界で２つのクリップインスタンスに切断して、あるアングルから次のアングルへのシームレスなスイッチングを可能にする。
【０１９２】
以上のように、いくつかの実施形態において、ユーザは、イベントに記憶されたマルチカメラ参照クリップを手動で編集することができる。いくつかの実施形態において、メディア編集アプリケーションは、例えば、アングル内のクリップを手作業で調整し（例えば、クリップを整合させる）、参照クリップ内のクリップにエフェクトを加え、アングルをリネームし、追加し、削除し、マルチカメラクリップ内のアングルを最順序付けなどをするための表示領域を提供する。このマルチカメラクリップ編集表示領域は、いくつかの実施形態において、マルチカメラクリップのための複合表示領域の特定バージョンであり、この複合表示領域は、異なるアングルがアンカーされたギャップクリップを表示せず、またアングルをそれぞれ別個のトラックとして表示する。
【０１９３】
図２１は、２つの段階２１１０及び２１２０にわたって、そのような表示領域をいくつかの実施形態のグラフィカルユーザインタフェース（「ＧＵＩ」）２１００で開いたところを示す。第１の段階２１１０は、マルチカメラクリップ２１１５を含むクリップブラウザ２１０５を、同じイベント内の様々な他のクリップと共に示す。いくつかの実施形態は、サムネイルの上に、クリップがマルチカメラクリップであることをユーザに示すインジケータを表示する（この場合は、４つの正方形）。この段階で、ユーザは、マルチカメラクリップ２１１５を選択し、クリップのドロップダウンメニューを活性化した（例えば、右クリック、２本指タップ、又は他のユーザ入力によって）。図示されたように、ユーザは、クリップのオプション「アングルエディタで開く」を選択するプロセスにある。
【０１９４】
第２の段階２１２０は、得られたＧＵＩ  ２１００を示す。ＧＵＩ  ２１００の表示領域の多くは、図３を参照して節Ｉで述べており、そのような表示領域は、クリップライブラリ、クリップブラウザ２１０５、プレビュー表示領域（現在、プレビュー画像を表示していない）、及びインスペクタ表示領域（現在、ＧＵＩ内で項目が選択されていないので情報を表示していない）である。
【０１９５】
更に、ＧＵＩ  ２１００は、マルチカメラ編集表示領域２１２５を含む。編集表示領域２１２５は、編集用に開いている選択されたマルチカメラメディアクリップの位置及び名前を表示する（この場合、位置は「新しいイベント１０−２８−１１」であり、名前は「新しいマルチカムクリップ」である）。この編集表示領域は、選択されたマルチカメラメディアクリップ内のアングルにそれぞれ別個のトラックを表示する。この場合、アングルは、少なくとも「Ａｍｉｒ」、「Ｎａｔｈａｎｉｅｌ」、「Ｖｉｅｇａ」及び「Ｍａｔｔ」を含み、その理由は、これらが、図にトラックが少なくとも部分的に示されたアングルだからである。メディア編集アプリケーションは、選択されたマルチカメラメディアクリップのそれぞれの異なるアングルを特定し、そのアングル用の編集表示領域にトラックを作成する。前節で述べたように、いくつかの実施形態は、節Ｉで述べたトラックレスシステムのデータモデルを使用するコレクションクリップとしてアングルを記憶するが、各アングルを、他のアングル内のクリップと別個の（と同期したが）一連のクリップを有するとして、扱うことができるので、マルチカメラクリップエディタ内のトラックとして表示するためにアングルを変換する。
【０１９６】
以下の節は、アングルエディタとも呼ばれるマルチカメラ編集表示領域の様々な特徴ついて述べる。これらの特徴について述べる前に、アングルビューワとも呼ばれるマルチカメラプレビュー表示領域を紹介する。図２２は、マルチカメラプレビュー表示領域が開かれ表示領域のオプションがアクセスされるＧＵＩ  ２２００を３つの段階２２１０〜２２３０にわたって示す。第１の段階で、ＧＵＩ  ２２００は、プレビュー表示領域２２０５を含むＧＵＩ  ２１００と似ている。ユーザは、ドロップダウンメニュー２２１５を開き、メニューから「アングルビューワを表示」のオプションを選択している。
【０１９７】
第２の段階２２２０は、ＧＵＩ  ２２００におけるこの選択の結果を示す。メディア編集アプリケーションは、プレビュー表示領域２２０５のサイズを縮小し、以前に主プレビュー表示領域２２０５が占めていた領域の一部にアングルビューワ２２２５を表示する。いくつかの実施形態において、クリップライブラリ、クリップブラウザ、アングルビューワ及びプレビュー表示領域は、これらの領域の１つ又は他により多くの表示場所を提供するように、すべて非表示となり、変更された幅を有することができる。更に、当業者は、また、ＧＵＩの様々な構成（例えば、上又は下に異なる表示領域を有するか、又はＧＵＩ全体に異なる順序で表示領域を有する）も可能であることを理解するであろう。アングルビューワは、図１及び図２を参照した前述したような前述のように、アプリケーションが、マルチカメラメディアクリップの異なるアングルからビデオ画像を同時に出力する複数のアングルのプレビュー表示を提供する。
【０１９８】
第３の段階２２３０は、ユーザがアングルビューワの設定メニューを開いたときのアングルビューワ２２２５の拡大図を示す。この段階で、アングルビューワは、アングルエディタ内の現在開かれているマルチアングルクリップの最初の４つのアングルからのビデオ画像を表示する。４つのプレビューウィンドウは、４つの異なるアングルそれぞれ内のクリップからの画像、並びにアングルに関する情報を表示する。マルチアングルクリップのタイムライン内で、これらの４つの画像は、同時に生じる（例えば、アングルエディタの再生ヘッドの位置）。異なるアングルのプレビューの現在の情報は、各プレビュー内に表示されたアングルの名前、並びに個々のクリップ内に現在示されている画像の時間を示す。いくつかの実施形態において、この時間は、個々のクリップが参照するソースビデオの最初で０から始まる。設定メニューは、アングルビューワ２２２５の様々なオプションを提供する。図示されたように、ユーザは、ビューワに示されたプレビュー表示の数を変更することができる（この場合、オプションは、２、４、９、又は１６プレビュー表示である）。また、ユーザは、タイムコードを表示するかどうか、及びアングル名、クリップ名を示し、又はアングルを全く特定しないかどうかを判定する。当業者は、異なる実施形態において、情報の異なる組み合わせがアングルビューワに表示されることがあることを理解するであろう。アングルビューワを紹介したが、次にアングルエディタの様々な機能について説明する。
【０１９９】
Ａ．メディアクリップの整合
いくつかの実施形態において、ユーザは、マルチカメラクリップ編集表示領域内のメディアクリップを手動で整合させ、並びにオーディオ同期を使用して編集表示領域のメディアクリップを自動で整合させことができる。図２３は、クリップ２３０５をトラックに沿って移動させることによって、第１のアングルトラック２３１５内のメディアクリップ２３０５を、第２のアングルトラック２３２５内のクリップと手動で整合させることを示す。この図は、この動きを、ＧＵＩ  ２３００の３つの段階２３１０、２３２０及び２３３０にわたって示す。ＧＵＩ  ２３００は、他のＧＵＩ項目の中でも特に、アングルエディタ２３３５（トラック２３１５及び２３２５、並びに追加のトラックを含む）、アングルビューワ２３４０、及びプレビュー表示領域２３４５を含む。
【０２００】
第１の段階２３１０で、ユーザは、メディアクリップ２３０５を選択したが、クリップをまだ移動し始めてない。アングルビューワ２３４０は、現在、アングルエディタ２３３５内に現在開いているマルチカメラメディアクリップの最初の４つのアングルの４つのプレビュー（「Ｎａｔｈａｎｉｅｌ」（「Ａｍｉｒ」、「Ｌａｍ」、「Ｖｉｅｇａ」））を表示する。再生ヘッド２３５０が、「Ｎａｔｈａｎｉｅｌ」及び「Ｌａｍ」アングルのギャップにあるとき、アングルビューワは、これらのアングルのブランク画像を示す。更に、プレビュー表示領域２３４５は、マルチカメラメディアクリップ内の再生ヘッド２３５０が上にある時間に対応する「Ａｍｉｒ」アングルからの画像を表示する。アングルエディタ２３３５において、トラック２３２５（「Ａｍｉｒ」アングルの）は、現在、選択アングル又はモニタリングアングルとして強調されており、したがって、プレビュー表示領域２３４５は、「Ａｍｉｒ」アングルからの画像を表示している。ユーザは、モニタリングアングルを切り替えて（後述するように）、メディア編集アプリケーションがプレビュー表示領域内に表示するアングルを決定することができる。
【０２０１】
ユーザが、第２の段階２３２０で、メディアクリップ２３０５をそのトラック２３１５に沿って右（マルチカメラクリップタイムラインにおける後方）に移動させるとき、メディア編集アプリケーションは、第２のプレビュー表示領域２３５５内アングルビューワ２３４０を自動的に切り替え、第２のプレビュー表示領域２３５５は、再生ヘッド２３５０の位置における選択されたクリップの画像を表示する。いくつかの実施形態において、ユーザがクリップからの画像を２つの異なるアングルで視覚的に並べるのを支援するために、メディア編集アプリケーションは（第１のプレビュー表示領域に）、タイムラインにおける再生ヘッド位置に対応するモニタリングアングルからの画像を維持する。ユーザが、選択したクリップをそれ自体のトラックに沿って再生ヘッドの上に移動させるとき、第２のプレビュー表示領域は、静的再生ヘッドの上にあるクリップ内の現在時間に対応する選択されたクリップから画像をスキミングする。したがって、ユーザは、モニタリングアングル内のクリップから特定画像を選択し、次に、選択されたクリップから特定画像と一致する（即ち、同時にキャプチャされた）画像を見つけ、再生ヘッドを使用して、これらの画像を整合させてクリップと整合させることができる。図示されたように、いくつかの実施形態は、選択されたクリップ（移動されるクリップ）の上に、クリップが前の位置からどれだけ移動したかを示すインジケータを表示し、この場合、クリップ２３０５は、段階２３２０で２０秒と６フレームタイムライン内で後方に移動されている。
【０２０２】
第３の段階２３３０は、ユーザがクリップ２３０５を移動し終わった後のＧＵＩ  ２３００を示す。メディア編集アプリケーションは、第２のプレビュー領域２３５５をアングルビューワ２３４０と置き換えており、現在は、モニタリングアングルからの画像をプレビュー表示領域２３４５に表示する。この例によって示されたように、いくつかの実施形態において、アプリケーションは、移動されたクリップのアングル内のクリップに影響しない。即ち、ユーザが、クリップ２３０５を移動させたとき、トラック２３１５内の他のクリップは、静止したままである。このように、アプリケーションは、（他のアングル内のクリップに既に整合された可能性がある）アングル内の他のクリップのアラインメントを除去しない。したがって、この動きは、選択されたクリップのスライド編集とみなすことができ、これにより、選択されたクリップのいずれの側のギャップクリップのインポイント及びアウトポイントが変更される。同様に、ユーザが、マルチカメラメディアクリップ内のクリップの長さを変更する（即ち、クリップをトリミングする）場合、アプリケーションは、これをリプル編集ではなくロール編集として処理し、メディアクリップの編集境界上のギャップクリップの長さを単純に変更する。ユーザが、アングル内のクリップのすべてを一緒に移動させたい場合、ユーザは、クリップのすべてを選択し、次にそのクリップをタイムラインに沿っていずれかＭの方向に移動させることができる（アングルの最初にあるギャップクリップの長さを増減する）。いくつかの実施形態は、アングル内のクリップのすべてを容易に選択するためのユーザインタフェースツールを提供する。
【０２０３】
いくつかの実施形態において、ユーザは、アングルエディタ内のモニタリングアングルを変更することができ、並びに異なるアングル用のオーディオを有効又は無効にすることができる。いくつかの実施形態は、単一のモニタリングアングルしか必要としないが、複数の異なるアングルがオーディオを有効にすることを可能にする。モニタリングアングルの変更及びオーディオの有効／無効を可能にするために、いくつかの実施形態は、アングルエディタ内のトラックごとにＧＵＩ項目を提供する。
【０２０４】
図２４は、いくつかの実施形態に係る、マルチカメラメディアクリップのモニタリングアングルをユーザが変更することを示す。この図は、２つの段階２４１０及び２４２０にわたるアングルエディタ２４００を示す。第１の段階２４１０では、トラック「Ａｍｉｒ」２４０５が、モニタリングアングルとして強調されている。トラックを異なる色／陰影で表示する他に、メディア編集アプリケーションは、トラック内の選択可能項目２４１５を強調する。この選択可能項目２４１５は、共に、トラック２４０５がモニタリングアングルであることを示し、異なるトラックが選択されたときに、ユーザがトラック２４０５をモニタリングアングルとして選択できるようにする。
【０２０５】
第１の段階２４１０で、ユーザは、トラック２４３０の対応する選択可能項目２４２５の上にカーソルを置き、この項目をカーソルで選択する。第２の段階２４２０は、この選択の結果を示す。アングル「Ｖｉｅｇａ」のトラック２４３０は、このとき、モニタリングアングルであり、アプリケーションは、トラックをそのように強調する。更に、選択可能項目２４２５は、このとき強調され、アプリケーションは、選択可能項目２４１５及びトラック２４０５から強調表示を除去した。モニタリングアングルを変更することにより、ユーザは、プレビュー表示領域にアングルのどの画像が表示されるかを決定する（例えば、図２３に示されたようなクリップを整合させるため）。
【０２０６】
図２５は、ユーザがアングルエディタ２４００を示す３つの段階２５１０〜２５３０にわたって、マルチカメラ参照クリップの異なるアングルのオーディオを有効にし無効にすることを示す。ユーザが、マルチカメラクリップを再生又はスキミングするとき、いくつかの実施形態は、クリップのオーディオを出力する。プレビュー表示領域には１つのアングルだけが表示されており（モニタリングアングル）、いくつかの実施形態のメディア編集アプリケーションは、複数の選択信号のオーディオを組み合わせて、組み合わせたオーディオを出力することができる。
【０２０７】
モニタリングアングルの選択可能項目の場合と同じように（例えば、項目２４１５及び２４２５）、アングルエディタ２４００内の各トラックは、オーディオ選択可能なＧＵＩ項目も同様に有する。ユーザは、これらのオーディオ項目によって、様々なトラックのオーディオのオーディオをオン又はオフすることができる。第１の段階２５１０で、モニタリングアングル「Ｖｉｅｇａ」（トラック２４３０）並びにアングル「Ａｍｉｒ」（トラック２４０５）は、それらのオーディオが有効にされている。これらのトラック用の選択可能項目２５２５及び２５３５は強調され、オーディオが有効にされていることを示す。この例では、アプリケーションは、マイクロフォンアイコンから来る音波を表示することによって、選択可能項目２５２５及び２５３５を強調する。更に、ユーザは、アングル「Ｎａｔｈａｎｉｅｌ」（トラック２５４５）の選択可能項目２５４０の上にカーソルを置き、この項目をカーソルで選択する。
【０２０８】
第２の段階２５２０は、この選択の結果を示し、トラック２５４５の選択可能項目２５４０が強調されており、アプリケーションがこのときこれらのアングルのオーディオを有効にしたことを示す。更に、ユーザは、選択可能項目２５２５、即ちモニタリングアングル用のオーディオ項目の上のカーソルを置き、この項目を選択している。第３の段階で、項目２５２５は、もう強調されていない。この図が示すように、いくつかの実施形態のアプリケーションは、ユーザが、モニタリングアングルのオーディオを無効にすることを可能にする。
【０２０９】
図２６は、アングルエディタで開かれたマルチカメラメディアクリップを再生するための、いくつかの実施形態のプロセス２６００を概念的に示す。プロセスは、最初に、マルチカメラメディアクリップを再生するコマンドを受け取る（２６０５で）。いくつかの実施形態において、ユーザは、キーストローク（例えば、スペースバー）、メニューオプションの選択、ユーザインタフェース項目の選択などにより、再生を開始することができる。マルチカメラメディアクリップを再生するとき、再生ヘッドは、クリップのタイムライン内を一定速度で進み、それにより、ビデオが、リアルタイム速度で再生される。
【０２１０】
プロセスは、プレビュー表示領域内に表示するビデオアングルを特定する（２６１０で）。マルチカメラメディアクリップを再生するとき、アプリケーションは、ビデオモニタリングアングルを選択する。プロセスは、また、有効にされた全てのオーディオアングルを特定する（２６１５で）。図２５に示されたように、複数のアングルのオーディオが有効にされてもよく、これらは、モニタリングアングルを除外してもよい。
【０２１１】
次に、プロセス２６００は、特定されたビデオアングル（即ち、ビデオモニタリングアングル）からのクリップを使用して、プレビュー表示領域にビデオ画像を描画する（２６２０で）。節ＶＩで後述されるように、これらの画像の描画は、記憶装置から画像を読み出し、（必要に応じて）画像を復号し、画像にエフェクトを適用し、画像を出力することを含む。特定されたビデオアングルの画像をプレビュー表示領域に表示することに加えて、いくつかの実施形態は、アングルビューワに複数のビデオ画像も表示する（アングルビューワがＧＵＩに表示されている場合）。また、プロセスは、有効にされたオーディオアングルのすべての組成物としてオーディオを描画する（２６２５で）。これは、標準オーディオ処理技術を使用して、様々な有効にされたオーディオアングルからの複数のオーディオ信号を組み合わせることを含むことがある。次に、プロセス２６００は終了する。
【０２１２】
前述の図２６は、アングルエディタ内のマルチカメラメディアクリップを再生するときに描画するアングルの選択について述べる。いくつかの実施形態において、ユーザは、モニタリングアングル以外の特定のアングルを再生することができる。この場合、いくつかの実施形態のメディア編集アプリケーションは、図２３の段階２３２０に示されたものに類似の、副プレビュー表示領域のアングルビューワを切り替える。次に、アプリケーションは、選択アングルを副プレビュー表示領域に再生し、同時にモニタリングアングルを主プレビュー表示領域に再生する。他方、他のいくつかの実施形態は、選択アングルを主プレビュー表示内で再生し、同時にいくつかのアングルをアングルビューワ内で再生する（したがって、モニタリングアングルを、プレビュー表示領域の選択アングルと交換する）。
【０２１３】
ユーザは、また、アングル又はマルチカメラクリップをスキミングするためにプレビュー表示領域／アングルビューワの組み合わせを使用することができる。スキミングするため、ユーザは、マルチカメラメディアクリップによってスキミング再生ヘッドを移動させる（例えば、指をタッチスクリーンに沿ってドラッグしたり、カーソルコントローラでクリップの上でカーソルを移動したりなどをしたり、などにより）。スキミング再生ヘッドは、いくつかの実施形態において、ユーザがクリップをスキミングしている間適所に留まる主編集再生ヘッドから離れている。
【０２１４】
ユーザが、モニタリングアングルをスキミングするとき（カーソルをモニタリングアングルのクリップ内に進めることによって）、いくつかの実施形態において、スキミング再生ヘッドは、縮小し、モニタリングアングルのトラック内を進む。この場合、アングルビューワは、異なるアングルの複数の表示を表示し続け、同時に、プレビュー表示領域は、モニタリングアングルからの画像を表示する。ユーザが、タイムラインをスキミングするとき（カーソルをタイムラインルーラー内で移動させることによって）、スキミング再生ヘッドは、タイムラインの全体の上に表示され、同時にこの場合も、アングルビューワは、複数のアングルの同時プレビューを表示し続け、一方、プレビュー表示領域は、モニタリングアングルからの画像を表示する。
【０２１５】
他方、ユーザが、モニタリングアングル以外のアングルをスキミングするとき、いくつかの実施形態のアプリケーションは、アングルビューワを、ユーザがスキミングしているアングルを表示する副プレビュー表示領域と交換する。このようにして、ユーザは、特定のアングルをスキミングして、主プレビュー表示領域に示されるモニタリングアングルのフレームと一致するフレームを特定することができる。図２３に示された状況と同様に、編集再生ヘッドは、固定されたままであり、したがって、主プレビュー表示領域に表示されたモニタリングアングルからの画像を同様に表示する。
【０２１６】
スキミングするとき、アプリケーションは、また、オーディオスキミングがオンにされるかどうかを判定する。いくつかの実施形態は、ユーザが、マルチカメラメディアクリップ、メディアプロジェクト、イベントクリップなどをスキミングするときに、ユーザが、オーディオを再生するかどうかを判定することを可能にするＧＵＩツールを提供する。オーディオスキミングがオフのとき、プロセスは、オーディオを有効にされたと処理しない。オーディオスキミングがオンになっているか、又はアプリケーションが、図２６に示されたようにマルチカメラメディアクリップを再生しているとき、プロセスは、マルチカメラメディアクリップの異なるアングルのどのアングルが、アクティブとして指定されたかを特定する。
【０２１７】
ビデオモニタリングアングルを変更することと、オーディオアングルを有効にし、無効にすることを使用して、マルチカメラクリップ内のメディアクリップを手動で整合させることを支援することができる。更に、いくつかの実施形態は、アングルエディタ内のオーディオを使用する自動同期の機能を提供する。例えば、アプリケーションがマルチカメラクリップを生成するメディアクリップセットが、有用なタイミングメタデータを提供しない場合、それらのクリップは、自動オーディオ同期プロセス（例えば、節ＩＩＩ．ｄで前述したプロセス）が、整合に使用するオーディオ一致を見つることができない順不同及び／又はほぼ不整合である可能性がある。そのような場合、ユーザは、アングルエディタでクリップを開き、クリップを手動で整合させてもよい。しかしながら、ユーザが２つのビデオアングル間の一致として正確に特定できる特定の画像がない場合、完全な整合を達成することは、オーディオ同期なしには困難なことがある。
【０２１８】
図２７は、２つの段階２７１０及び２７２０にわたって、アングルエディタ２７００で選択されたクリップを異なるアングル内のクリップに自動的に同期させる機能の使用を示す。第１の段階２７１０で、ユーザは、メディアクリップ２７０５を選択し（メディアクリップのエッジのまわりの強調表示によって示されたような）、オプション「オーディオによりモニタアングルに同期」を含むクリップのドロップダウンメニューを活性化した。いくつかの実施形態において、ユーザは、モニタリングアングルを選択し、次にオーディオ同期を使用して、他のアングル内のクリップをモニタリングアングルに同期させることができる。第２の段階２７２０は、メディア編集アプリケーションが、クリップ２７０５のオーディオをクリップ２７１５のオーディオと整合させるために、選択されたクリップ２７０５をタイムライン内の後方に約５秒シフトさせたことを示す。図示されたように、このとき、オーディオのピークが、タイムラインに並ぶ。
【０２１９】
いくつかの実施形態は、マルチカメラメディアクリップを最初に作成したときに使用されたものと類似のオーディオ同期技術を使用する。即ち、メディア編集アプリケーションは、選択されたクリップのオーディオをモニタリングアングル内のクリップ（又は、複数の他のクリップ）のオーディオに比較して、様々なオフセットにおける相関可能性を特定する。いくつかの実施形態において、アプリケーションは、選択されたクリップを、モニタリングアングル内の任意の重複クリップに比較する。いくつかの実施形態は、選択されたクリップのオーディオを、モニタリングアングル（例えば、２分のオフセット以内など）内の様々なオフセット、又はモニタリングアングルの全体に比較する。
【０２２０】
ピークオフセットが、十分に高い相関値を有する場合、アプリケーションは、マルチカメラクリップタイムライン内の選択されたクリップをこのオフセット値だけ移動させる。いくつかの実施形態は、ユーザが、選択したクリップをタイムライン内でシフトさせるためのより明確な好みを有するという仮定に基づき、またユーザが、正確に整合されようとしているクリップを選択することが多く、オーディオ同期を微調整に使用するので、作成後の同期に低いしきい値を使用する。
【０２２１】
クリップをモニタリングアングルに同期させるオプションを提供する他に、いくつかの実施形態は、アングルエディタ内に追加オプションを提供する。様々な実施形態において、ユーザは、マルチカメラメディアクリップの完全オーディオ同期を実行し、第１の選択されたクリップを第２の選択されたクリップに同期させ、選択されたクリップを他のアングル内の最も一致するクリップに同期させることなどを決定してもよい。いくつかの実施形態は、ユーザが、同期アルゴリズムの最大オフセット範囲を指定することを可能にする（即ち、メディアクリップがシフトされる大きさのしきい値を設定し、そのしきい値を使用して同期の処理時間を短縮することができる）。
【０２２２】
更に、いくつかの実施形態は、ユーザが、第１のアングルの選択されたクリップ及び異なるアングル（モニタリングアングル又は別のアングル）内クリップから特定のビデオ画像を特定することを可能にする。アプリケーションは、２つの画像を整合させるために選択されたクリップをそのアングル内で移動させ、次にオーディオ技術を使用して同期を微調整する。図２８は、ＧＵＩ  ２８００の３つの段階２８１０〜２８３０にわたって、そのようなフレームマッチング技術の使用を示す。第１の段階２８１０に示されたように、ＧＵＩ  ２８００は、主プレビュー表示領域２８０５及びアングルエディタ２８１５を含む。アングルエディタ２８１５内で、ユーザは、選択したクリップ２８２５内の特定時間（即ち、再生ヘッド２８３５の位置によって示された特定のフレーム）を選択した。ユーザは、オプション「フレームに同期」を含むメニューを起動した。
【０２２３】
段階２８２０に示されたように、「フレームに同期」メニューオプションを選択すると、ＧＵＩ  ２８００に副プレビュー表示２８４０が表示される。クリップ２８２５からの選択フレームが、主プレビュー表示２８０５内に固定されたままであり、一方、ユーザは、副プレビュー表示２８４０の他のアングル（選択されたクリップ２８２５を含まないアングル）内のクリップをスキミングすることができる。ユーザが、選択フレームと同時又はほぼ同時に記録された異なるクリップ内のフレームを見つけたとき、ユーザは、このフレームを同期するように選択する（例えば、クリップ表現内の位置をクリックするかタップすることによって）。図では、ユーザは、第２の段階２８２０でクリップ２８４５内の特定のフレームを選択する。
【０２２４】
段階２８３０は、この選択の結果を示す。クリップ２８２５は、そのトラック内の約２０秒前方に自動的に移動された。いくつかの実施形態において、アプリケーションは、最初に、選択フレームが正確に一致されるように選択されたクリップを移動させ、次に２つの一致フレームの前後の所定範囲（例えば、５秒、１０秒など）内の２つのクリップのオーディオデータを解析して選択されたクリップをより正確に整合させる。
【０２２５】
いくつかの実施形態は、図２８に示されたプロセスの変形例を有する。例えば、ユーザは、最初に、クリップ及び「フレームに同期」オプション（又は、その変形）を選択し、次に、選択されたクリップをスキミングしてアラインメント用の第１のフレームを見つけることができる。選択されたクリップ内のフレームを選択した後で、ユーザは、次に、他のアングル内の他のクリップをスキミングして第２のフレームを特定することができる（例えば、段階２８２０に示されたように）。
【０２２６】
Ｂ．マルチカメラクリッププロパティの変更
マルチカメラメディアクリップのタイムラインに沿ったクリップの調整の他に、いくつかの実施形態において、アプリケーションによって、ユーザが、アングルエディタを利用して、アングルの数、アングルの名前、アングルの順序他などのクリッププロパティを変更することができる。いくつかの実施形態は、ユーザがアングルエディタでプロパティを変更するとすぐに、それらのプロパティがアングルビューワ内に自動的に反映される。
【０２２７】
図２９は、ユーザが２つの段階２９１０及び２９２０にわたって、アングルをＧＵＩ  ２９００内のマルチカメラメディアクリップに追加することを示す。ＧＵＩ  ２９００は、アングルエディタ２９０５とアングルビューワ２９１５との両方を含む。当業者は、いくつかの実施形態が、更に、プレビュー表示領域を含むことを理解するが、これは、単純化のために図示されない。第１の段階２９１０で、アングルエディタ２９０５内に開かれたマルチカメラメディアクリップは、５つのアングルを含む。アングルビューワ２９１５は、４つのアングルを一度に表示するように設定されているが、このとき左上隅に１つのアングルしかない。４つを超えるアングルがあるので、メディア編集アプリケーションは、アングルを（最大４つのアングルの）組に分割し、ユーザは、アングルビューワ２９１５の下にアングルバンク２９２５を選択することによって、これらの組を選択することができる。この場合、ユーザは、４つの表示を有するバンクではなく単一の表示を有するバンクを選択した。
【０２２８】
更に、第１の段階で、ユーザは、マルチカメラクリップのドロップダウンメニュー２９３０を起動しており、メニューから「アングルを追加」オプションを選択するプロセスにある。いくつかの実施形態において、ユーザは、アングルそれぞれのヘッダ内に表示された選択可能項目によって、このドロップダウンメニューにアクセスすることができる。当業者は、ドロップダウンメニュー２９３０内のオプションのいくつか又はすべてが、キーストローク、オプション固有のＵＩ項目、他のメニュー他などの他のユーザインタフェース構成を介してアクセスされることがあることを理解するであろう。
【０２２９】
第２の段階２９２０は、このメニュー選択の結果を示す。この段階で、アプリケーションは、新しいアングルをマルチカメラメディアクリップに追加した（ドロップダウンメニューが起動されたアングルのすぐ後に）。いくつかの実施形態において、このことは、アンカーコレクションを、マルチカメラメディアクリップを表すマルチカメラ参照クリップコレクション（即ち、図２０のコレクション２０１０のような別のコレクション）に追加することを含む。いくつかの実施形態において、アプリケーションは、新しいアンカーコレクションに、メニューがアクセスされたアングルのレーン番号を割り当て、それより大きい番号のついたアングルのすべてのレーン番号を増分する。その結果、ＧＵＩ  ２９００は、（ｉ）アングルの新しいトラック２９３５をアングルエディタ２９０５に表示し、（ｉｉ）アングルの新しい表示領域２９４０をアングルビューワ２９１５に表示し、（ｉｉｉ）選択された組のアングルの追加の正方形をバンク２９２５に表示する。新しいアングルには自動的に名前が与えられる（例えば、「無題のアングル」、「アングル６」など）。
【０２３０】
アングルを追加した後で、ユーザは、クリップブラウザからのクリップをドラッグすることによって、クリップをアングルに手動で追加することができる。いくつかの実施形態において、ユーザは、イベントブラウザ内の１組のクリップを選択し、それらを新しいアングル用のトラックにドラッグすることができる。自動又はユーザ要求に応じて、メディア編集アプリケーションは、節ＩＩＩで述べたプロセス（又は、その変形）を使用して、新しく追加したクリップをマルチカメラクリップ内で順序付け整列させる。即ち、アプリケーションは、最初に、クリップのタイミングメタデータを使用してアングル内のクリップを配列し、次にタイミングメタデータとその後のオーディオ同期を使用して、シーケンスを他のアングルと整合させる。
【０２３１】
図３０は、ユーザが２つの段階３０１０及び３０２０にわたり、ＧＵＩ  ２９００内のマルチカメラメディアクリップのアングルをリネームすることを示す。第１の段階３０１０に示されたように、ユーザは、アングルエディタ２９０５内でトラック２９３５の名前「無題のアングル」を選択し強調した。いくつかの実施形態において、アングルエディタ内の名前を選択すると（例えば、クリック、ダブルクリック、タップ、ダブルタップなどにより）、名前に変更可能なテキストボックスにさせる。この時点で、ユーザは、アングルの新しい名前を入力することができる。
【０２３２】
第２の段階３０２０は、ユーザが、トラック２９３５によって表されたアングルを名前「Ｍａｔｔ」でリネームした後のＧＵＩ  ２９００を示す。いくつかの実施形態において、メディア編集アプリケーションは、固有のアングルＩＤを一定に維持したまま、アングルのコレクションデータ構造のアングル名を変更する。したがって、アングルを参照するデータ構造は、更新されなくてもよいが、同じ固有のアングルＩＤを参照し続ける。アングル名が変更された場合、そのアングルＩＤを参照する項目は、アングル名に関する異なる情報を検索する。その結果、アングルビューワ２９１５内のプレビュー表示２９４０は、このとき「無題のアングル」ではなく「Ｍａｔｔ」と読める。
【０２３３】
図３１は、ユーザが２つの段階３１１０及び３１２０にわたって、ＧＵＩ  ２９００のマルチカメラメディアクリップからアングルを削除することを示す。第１の段階３１１０に示されたように、ユーザは、トラック２９３５（アングル「Ｍａｔｔ」のトラック）のトラックヘッダによってドロップダウンメニュー３１０５（メニュー２９３０と類似）を起動した。このメニュー内で、ユーザは、「アングルを削除」オプションを選択するプロセスにある。
【０２３４】
第２の段階３１２０は、このメニュー選択項目の結果を示す。この段階で、アプリケーションは、マルチカメラメディアクリップからアングル「Ｍａｔｔ」を除去した。いくつかの実施形態において、これは、一致アングルＩＤを有するアンカーコレクションを、マルチカメラメディアクリップを表すマルチカメラ参照クリップコレクション（即ち、図２０のコレクション２０１０などのコレクション）から除去することを含む。その結果、ＧＵＩ  ２９００は、（ｉ）アングルエディタ２９０５内により少数のトラックを表示し、（ｉｉ）アングル「Ａｍｉｒ」の表示３１１５が第１組の４つの表示に移動されたときにアングルビューワ２９１５に別の組のプレビュー表示を表示し、（ｉｉｉ）バンク２９２５により少数の正方形を表示する。いくつかの実施形態において、ユーザが、アングルを削除するとき、アプリケーションは、そのアングルのアンカーコレクションをマルチカメラメディアクリップ構造から除去し、マルチカメラメディアクリップ内のより番号の大きいアングルのレーン番号を減分する。
【０２３５】
図３２は、ユーザが３つの段階３２１０〜３２３０にわたる、ＧＵＩ  ２９００のマルチカメラメディアクリップのアングルを順序変更することを示す。第１の段階３２１０は、ユーザが、トラック３２０５を選択し、そのトラックを上方に移動させ始めたことを示す。いくつかの実施形態において、アングルエディタ２９０５内のトラックは、ユーザが順序変更するトラックを選択できるハンドルを有する。この場合、ハンドルは、トラックヘッダの右側にある。この時点では、アングル「Ａｍｉｒ」の選択トラック３２０５は、アングル「Ｊｉｍ」のトラック３２１５の下にある。
【０２３６】
第２の段階３２２０は、ＧＵＩ  ２９００を示し、ユーザは、アングルエディタ２９０５内でトラック３２０５を上方に移動させ続ける。図示されたように、ユーザが、選択トラックをエディタ内の別のトラックより先に移動させた後で、いくつかの実施形態は、他のトラックを、選択トラックが前に占めていた場所に自動的にスライドさせる。この場合、トラック３２１５は、選択トラック３２０５の下にあるが、ユーザは、トラック３２０５をまだ解放していない。これを行なう際、いくつかの実施形態は、場所を交換した２つのアングルのレーン番号を変更することによって、マルチカメラメディアクリップデータ構造を自動的に更新してこの並び替えを反映させる。
【０２３７】
順序変更の結果、アプリケーションは、アングルビューワ２９１５内のプレビュー表示の順序を変更する。段階３２１０で、アングルの「Ｊｉｍ」のビューワは、第３の表示（左下）であり、アングル「Ａｍｉｒ」のビューワは、第４の表示（右下）である。第２の段階３２２０で、これらの２つのアングルのビューワの場所が切り換えられ、アングルエディタ内に変化が反映された。
【０２３８】
第３の段階３２３０は、ユーザがアングルエディタ２９０５の第２のスロット内のトラック３２０５を解放した後のＧＵＩ  ２９００を示す。その結果、アングルビューワ２９１５内のアングル「Ａｍｉｒ」のプレビュー表示は、第２（右上）の位置になり、アプリケーションは、マルチカメラメディアクリップデータ構造を再び更新して順序付けにこの変化を反映させる（例えば、アングルのレーン番号を変更することにより）。
【０２３９】
Ｃ．アングルエディタでの追加編集
以上の小節は、マルチカメラメディアクリップの異なるアングルからのメディアクリップを整合させる編集操作、並びにマルチカメラメディアクリップのアングルデータを変更する操作について述べた。更に、いくつかの実施形態は、アングルエディタ内で他の編集操作を可能にする。例えば、ユーザは、アングルエディタ内でクリップに様々なエフェクトを適用することができる。図３３は、アングルエディタ３３１０内でエフェクト表示領域３３１５からクリップ３３０５への白黒エフェクトの適用を示す。このエフェクトは、作用クリップの色値に機能を適用する。更に、ユーザは、クリップに、クリップの表示画像の形状又はサイズに作用する変換、クロップ、変形などのエフェクトを適用することができる。いくつかの実施形態において、これらのエフェクトは、プレビュー表示領域内のオンスクリーンコントロールにより、又はインスペクタ内のエフェクト変数を変更することにより適用される。
【０２４０】
いくつかの実施形態は、ユーザが、単一クリップではなくアングル全体にエフェクトを適用することを可能にする。ユーザは、アングルのクリップ全てを選択し、次にエフェクト表示領域３３１５からエフェクトを選択することができ、アプリケーションは、このエフェクトをクリップのすべてに適用する。同様に、いくつかのそのような実施形態において、プレビュー表示領域のオンスクリーンコントロールによって変換（又は、クロップ若しくは変形）エフェクトを定義すると、選択アングルのクリップのすべてに変換が適用される。しかしながら、他の実施形態は、１度に１つのクリップだけにエフェクトを適用する。
【０２４１】
Ｖ．マルチカメラクリップを含むメディアプロジェクトの編集
前の節は、アングルエディタにおけるマルチカメラ参照クリップの編集について述べた。マルチカメラクリップは、標準メディアクリップのように、メディアプロジェクトに追加することもできる。しかしながら、標準メディアクリップの場合と違って、いくつかの実施形態は、クリップインスタンスをメディアプロジェクトのデータ構造内に作成し、このデータ構造は、イベントに記憶された参照クリップを逆に参照する。クリップインスタンスはそれぞれ、クリップインスタンスの継続時間の間にメディアプロジェクト内のどのアングルのビデオ及びオーディオを使用しなければならないか示すアクティブビデオ及びオーディオアングルを含む。そのような実施形態において、マルチカメラクリップインスタンスのデータ構造は、図８に示されたタイムラインクリップのデータ構造と異なる。
【０２４２】
メディアプロジェクトに追加された後、ユーザは、クリップインスタンスに様々な操作を実行することができる。ユーザは、クリップのアクティブなビデオ及び／又はオーディオアングルをスワップアウトし、クリップをインスタンスそれぞれの異なるアングルを有する２つのクリップインスタンスに分割し、クリップインスタンスの特定のアングルにエフェクトを適用し、並びに他の編集操作を適用することができる。
【０２４３】
Ａ．マルチカメラクリップインスタンスのメディアプロジェクトへの追加
図３４は、ＧＵＩ  ３４００の３つの段階３４１０〜３４３０にわたるメディアプロジェクトへのマルチカメラメディアクリップの追加を示す。ＧＵＩ  ３４００は、他の表示領域の中でも、クリップブラウザ３４０５及び複合表示領域３４１５を含む。複合表示領域は、現在、１つのビデオクリップ３４０７を有するメディアプロジェクト（「新しいプロジェクト」）のタイムラインを表示しており、ビデオクリップ３４０７は、節ＩＩで述べた種類の典型的なビデオクリップである（即ち、共に同じアセットを参照するビデオコンポーネント及びアンカーオーディオコンポーネントを含むコレクション）。クリップブラウザ３４０５内で、イベント「新しいイベント１０−２８−１１」内に、マルチカメラ参照クリップ３４２５を含む様々なクリップがある。
【０２４４】
第１の段階３４１０は、ユーザがマルチカメラ参照クリップ３４２５を選択したことを示す。第２の段階３４２０で、ユーザは、この選択したクリップ３４２５をドラッグし、このクリップを複合表示領域３４１５にドロップする。第３の段階３４３０は、この作業の結果を示し、このとき、マルチカメラクリップインスタンス３４３５は、複合表示領域３４１５内のメディアプロジェクトの一部である。クリップインスタンス３４３５のプレゼンテーションは、ビデオクリップ３４０７のものに類似のアピアランスを有するが、マルチカメラクリップインジケータ（クリップブラウザ内のマルチカメラ参照クリップ上に表示されたものと類似の４つの正方形）並びにクリップ名ではなくアングル名も含む。この場合、クリップインスタンス３４３５のアクティブビデオ及びオーディオアングルは、「Ａｍｉｒ」であり、即ち、アプリケーションが、メディアプロジェクトを、例えば再生、描画、エクスポートなどするときに、「Ａｍｉｒ」アングル内のクリップによって参照されたアセットからその部分の出力を入手する。
【０２４５】
新しく追加されたクリップインスタンスのアクティブアングルを選択するために、異なる実施形態が異なる決定を行う。いくつかの実施形態は、イベント（例えば、アングルインスタンス２０１２）からアングルインスタンスデータをコピーし、この構造に設定されたアクティブなビデオ及びオーディオアングルを使用する。これらのアクティブなビデオ及びオーディオアングルは、いくつかの実施形態において、インスペクタ表示領域によってユーザによって変更されてもよい。
【０２４６】
以上のように、複合表示領域３４１５内のクリップ３４３５は、マルチカメラ参照クリップ構造（例えば、図２０に示された構造）を参照するクリップインスタンスである。図３５は、マルチカメラクリップインスタンス３５１５を含むメディアプロジェクトを定義するデータ構造のサブセットを概念的に示す。図６に示されたプロジェクトと同様に、いくつかの実施形態において、図３５のデータ構造がすべて、単一シーケンス３５００を含むプロジェクトデータ構造内に含まれる。
【０２４７】
シーケンス３５００は、３つのクリップ３５１０〜３５２０を含むアレイを含む主コレクションデータ構造３５０５を含む。第１のクリップ３５１０及び第３のクリップ３５２０は、図８のクリップ８０５〜８１５と類似のコレクションクリップ、即ち、メディアアセットを参照するコンポーネントクリップを含む個別クリップ又は合成クリップである。
【０２４８】
他方、アングルインスタンスクリップ３５１５は、ネストクリップを含まない。その代りに、インスタンス３５１５は、インスタンスＩＤ、クリップ参照、全体及びトリム範囲、アクティブオーディオ及びビデオアングル、エフェクトスタックディクショナリ、マーカ、及び速度エフェクトを含む。クリップ参照は、イベント内に記憶されたマルチカメラ参照クリップ（例えば、図２０の参照クリップ２０００）を参照する。いくつかの実施形態において、クリップ参照は、イベントＩＤとコレクションＩＤとの両方を含み、他の実施形態において、参照は、コレクションＩＤだけを含む。アングルインスタンス３５１５は、図２０に示されたアングルインスタンス２０１２と同じタイプのデータ構造である。しかしながら、タイムラインシーケンスにおけるアングルインスタンス３５１５は、参照コレクション（例えば、参照コレクション２０００）への参照（例えば、ポインタ）だけを記憶し、一方、イベントシーケンスにおけるアングルインスタンス２０１２は、参照コレクションを含む。いくつかの実施形態は、ユーザが、図３４に示されたようにクリップインスタンスをタイムラインに追加したとき、アングルインスタンスデータ構造をイベントからタイムラインシーケンスにコピーし、参照コレクションを実際に含む新しいインスタンスを有するのと対照的に参照コレクションに参照を置き換える。
【０２４９】
全範囲は、いくつかの実施形態において、インスタンスが参照するマルチカメラ参照クリップの全長であり、マルチカメラ参照クリップの現在状態に基づいて継承される。参照クリップの全長は、いくつかの実施形態において、ギャップクリップを含む参照クリップ内の最も長いアングルの継続時間である。参照クリップ内の主ギャップクリップ（他のクリップがアンカーされる元のギャップクリップ）は、いくつかの実施形態において、この継続時間を受け取り、したがって参照クリップの継続時間を決定する。ユーザが、マルチカメラクリップの長さを変更するとき（例えば、アングルエディタを使用して）、メディア編集アプリケーションは、インスタンス３５１５の全範囲を更新する。いくつかの実施形態において、アプリケーションは、この情報を、特定のクリップインスタンスがアクセスされたときに更新し、その理由は、クリップインスタンスの全範囲が、参照クリップの現在の状態により必要とされたときにアプリケーションがポピュレートする動的変数だからである。トリム範囲は、他のクリップのものと同様に、標準トリム操作によって複合表示領域内でユーザによって変更することができる。ユーザは、クリップインスタンスを２つのそのようなインスタンスに切断するとき、これにより、トリム範囲に変化が生じる。ユーザが、マルチカメラ参照クリップの長さを変更するとき、いくつかの実施形態は、インスタンスのトリム範囲を変更しないが、そのようなインスタンスの描画コンテンツは、編集の結果として変化することがある。
【０２５０】
アクティブビデオアングル及びアクティブオーディオアングルは、アングルインスタンスによって記憶された変数である。いくつかの実施形態において、ユーザが、アングルインスタンスをタイムラインに追加したとき、これらの変数は、イベント内のアングルインスタンスによって記憶されたアクティブアングルに基づいて設定される。次の小節で詳しく述べられるように、ユーザは、様々な操作を使用してクリップインスタンスのオーディオ又はビデオアングルをスワップアウトすることができる。アプリケーションは、アクティブビデオアングルがアクティブオーディオアングルとは異なることを許容する。例えば、特定のクリップのビデオが適切でなく、それによりも、ユーザが、同時にキャプチャされた一連の静止画を使用するように選択した場合、クリップのオーディオは、静止画シーケンスの背景にも望ましいことがある。メディア編集アプリケーションが、複合プレゼンテーションを、再生し、スキミングし、エクスポート用に描画などするとき、アプリケーションは、アクティブアングルの参照クリップ内のコレクションを使用して、検索するべきソースメディアを特定する。
【０２５１】
エフェクトスタックディクショナリは、１組のエフェクトスタック、即ち、各アングルに１つのオーディオエフェクトスタック及び１つのビデオエフェクトスタックを含む。プレゼンテーションを描画するとき、メディア編集アプリケーションは、アクティブビデオアングルを特定し、このアクティブアングルに対応するエフェクトスタックを使用する。節ＶＩで述べたように、いくつかの実施形態は、最初に、参照クリップに含まれるエフェクトを適用し（参照クリップ内の特定のクリップのエフェクトスタックに一般に含まれる）、次にクリップインスタンスに記憶されたアクティブアングルのエフェクトスタックを適用する。いくつかの実施形態において、中間出力画像（参照クリップに記憶されたエフェクトを適用した後）は、複数のクリップインスタンスの描画に使用するためにキャッシュされてもよい。
【０２５２】
マーカは、アングルインスタンスにアンカーされたように記憶されたクリップ構造であり、ユーザがアクティブアングルを切り換えたときに変化しない。ユーザは、複合表示領域内のクリップにマーカとキーワードとの両方を適用することができ、これらは、クリップが標準コレクションクリップかマルチカメラクリップインスタンスかに関わらず、クリップに同じように影響を及ぼす。速度エフェクトは、クリップ３５１５に適用されたリタイミングエフェクトである。これらのリタイミングエフェクトは、２０１１年５月１７日に出願され「Ｒｅｔｉｍｉｎｇ  Ｍｅｄｉａ  Ｐｒｅｓｅｎｔａｔｉｏｎｓ」と題する米国特許出願第１３／１０９，９８９号に詳細に述べられており、この特許出願は、参照により本明細書に組み込まれる。いくつかの実施形態において、リタイミングエフェクトが、エフェクトスタックと共に記憶されず、特定のアングルに関連するように記憶されない。ユーザが、ビデオアングルを切り換えるとき、リタイミングエフェクトは、クリップインスタンスと共に留まる。リタイミングエフェクトは、ビデオクリップの長さを変更する（ビデオが再生する速度を増減する遅くすることによって）。したがって、クリップインスタンスに対するエフェクトを記憶することによって、メディア編集アプリケーションは、アクティブビデオアングルへの変更がクリップの長さを変更するのを防ぐ。
【０２５３】
当業者は、いくつかの実施形態が、マルチカメラメディアクリップ以外のクリップに参照クリップを使用できることもあることを理解するであろう。例えば、ユーザは、イベント内の複合クリップを特定のエフェクトを適用して作成し、次に複合クリップの複数のインスタンスをメディアプロジェクトに追加し、様々なエフェクトを様々なインスタンスに適用する可能性がある。次に、ユーザが、複合クリップ参照内のクリップを変更した場合、これらの変更は、複合クリップの様々なインスタンスによって継承されることになる。
【０２５４】
上の図３４は、マルチカメラメディアクリップを複合表示領域に追加するユーザ、及び複合表示領域に表示されたメディアプロジェクト内にマルチカメラクリップの単一インスタンスを作成するメディア編集アプリケーションを示す。いくつかの実施形態において、ユーザが、クリップをタイムラインに追加したとき、アプリケーションは、マルチカメラクリップを、様々なアクティブアングルを有するいくつかのインスタンスに自動的に分割する。いくつかの実施形態において、ユーザは、マルチカメラ参照クリップ内のクリップ又はクリップの一部分をお気に入りとしてマークすることができ、メディア編集アプリケーションは、この情報を使用して、異なるアングルを有するクリップインスタンスを生成する。
【０２５５】
図３６は、２つの段階３６１０及び３６２０にわたって、マルチカメラクリップ３６０５をメディアプロジェクトに追加するユーザの例を示す。第１の段階３６１０は、ユーザがマルチカメラクリップ３６０５を複合メディアプロジェクトに追加することを示し、第２の段階３６２０は、複合メディアプロジェクト用の合成タイムラインを示す。第１の段階３６１０に示されたように、ユーザは、マルチカメラ参照クリップ３６０５を選択し、それを前に空だった複合表示領域３６１５にドラッグした。
【０２５６】
更に、第１の段階３６１０は、マルチカメラ参照メディアクリップ３６０５のタイムラインを示す。マルチカメラクリップ３６０５は、３つのアングル３６２５〜３６３５を含む。これらのアングルはそれぞれ、一連のメディアクリップを含み、そのいくつかは、お気に入りとしてユーザによってマークされた。いくつかの実施形態において、ユーザは、クリップ又はクリップのセグメントを、イベントブラウザ内でお気に入りとしてマークすることができる。更に、いくつかの実施形態は、ユーザが、アングルエディタ又は複合表示領域内でクリップをお気に入りとしてマークすることを可能にする。複合表示領域内で、ユーザは、プレゼンテーションで使用したい可能性が高いメディアクリップの一部分を特定し、その部分をそういうものとしてマークすることができる。更に、いくつかの実施形態は、ユーザが一部分を拒絶としてマークし、ユーザが回避したいクリップのセグメントを示すことを可能にする（例えば、手振れカメラ、弱いオーディオなどにより）。したがって、単一ビデオクリップが、良好なセクション並びに使用できないセクションを有する場合は、ユーザは、クリップを維持するが使用できないセクションをマークし、これによりそのクリップがメディアプロジェクト内でならないようにしたいことがある。
【０２５７】
参照クリップ３６０５の第１のアングル３６２５内で、ユーザは、メディアクリップ３６４０の一部及びメディアクリップ３６４５の全体をお気に入りとしてマークした（この例では、お気に入りとしてマークされた部分が灰色バーと示されている）。第２のアングル３６３０内で、ユーザは、クリップ３６５０の後半をお気に入りとしてマークし、後半は、第１のアングル３６２５からのクリップ３６４５と時間が部分的に重複する。最後のアングル３６３５で、ユーザは、クリップ３６５５をお気に入りとしてマークした。
【０２５８】
第２の段階３６２０は、ユーザがマルチカメラクリップ３６０５をメディアプロジェクトに追加した後の複合表示領域３６１５を示す。図３４に示されたような１つのクリップインスタンスを作成するのではなく、メディア編集アプリケーションは、４つの別個のクリップインスタンスを自動的に作成した。第１のクリップインスタンス３６６０は、そのアクティブアングルとしてアングル３６２５を有し、その理由は、そのアングルが、お気に入りにされたクリップで始まるからである。いくつかの実施形態は、マルチカメラクリップのタイムラインにおいて第１のお気に入りクリップ部分を特定し、第１のクリップインスタンスにそのアングルを選択する。
【０２５９】
いくつかの実施形態において、アプリケーションは、クリップインスタンスの継続時間を、アングルのお気に入り部分の終わりより先に、別のアングルン内のお気に入りクリップ部分を特定するまで拡張する。この場合、アングル３６３５内のクリップ３６５５は、お気に入りとしてマークされたマルチカメラクリップ内の次のクリップである。クリップのお気に入り部分（この場合は、クリップの最初）は、マルチカメラ参照クリップタイムラインの約７分マークで始まる。マルチカメラメディアクリップは、メディアプロジェクトタイムライン内の最初のクリップなので、マルチカメラクリップタイムライン内の時間は、メディアプロジェクトタイムライン内の時間に対応する。したがって、第２のクリップインスタンス３６６５は、アングル３６３５をそのアクティブアングルとして有し、メディアプロジェクトタイムラインの約７分のマークから始まる。このクリップのお気に入り部分は、マルチカメラ参照クリップタイムラインの１０分マークの少し前で終わるが、次のお気に入りクリップセグメントは、１０分マークの少し後まで始まらない。
【０２６０】
したがって、第３のクリップインスタンス３６７０は、３６３０のアクティブアングルと共に１０分マークの直後に始まる。約１４分に、マルチカメラクリップは、お気に入りとしてマークされたアングル３６３０内のクリップ３６５０、並びにアングル３６２５内のクリップ３６４５の両方を有する。いくつかの実施形態は、この例の場合のように、カレントアングルがお気に入りとしてマークされなくなるまでアングルを切り替えず、したがって、新しいクリップインスタンス３６７５を有するアングル３６２５への切り替えは、クリップ３６５０が終わる１５分マークの後まで行われない。
【０２６１】
いくつかの実施形態において、マークされたお気に入りにしたがってクリップインスタンスをスライスする選択は、マルチカメラクリップをメディアプロジェクトに追加する際のユーザオプションである。即ち、ユーザは、クリップインスタンスに１つのアクティブアングルを選択する通常の追加操作を行なうか、又はお気に入りを探しそれに応じてクリップインスタンスを分割する別の追加操作を行なうことを選ぶことができる。
【０２６２】
Ｂ．マルチカメラクリップインスタンスの編集
マルチカメラクリップインスタンスがメディアプロジェクトに追加された後で、ユーザは、そのマルチカメラクリップインスタンスで様々な編集操作を行なうことができる。他のクリップと同様に、ユーザは、たとえば、マルチカメラクリップインスタンスを移動させ、クリップインスタンスを削除し、クリップインスタンスを他のクリップにアンカーし、他のクリップをクリップインスタンスにアンカーさせ、クリップインスタンスをトリムし、クリップインスタンスを２つに分割することなどができる。更に、ユーザは、クリップの一部分を変更して異なるアクティブアングルを使用するために、（オーディオとビデオとの両方の）アクティブアングルの切り替え及びクリップインスタンスの２つへの分割などのマルチカメラクリップに固有の操作を行なうことができる。
【０２６３】
ユーザは、また、クリップインスタンスを使用して、アングルエディタを活性化し、クリップインスタンスが参照するマルチカメラ参照クリップを編集することができる。図３７は、ユーザが複合表示領域３７００の２つの段階３７１０及び３７２０にわたって、マルチカメラクリップのアングルエディタを開くことを示す。第１の段階で、複合表示領域は、マルチカメラクリップインスタンス３７０５を含む「新しいプロジェクト」と題したメディアプロジェクトを表示する。ユーザは、マルチカメラクリップインスタンス３７０５を選択し、選択されたクリップと関連した様々な選択可能なオプションによりクリップ（例えば、右クリック、２本指タッピングなどによって）のメニュー３７１５を活性化した。図は、ユーザがオプション「アングルエディタで開く」を選択することを示す。
【０２６４】
第２の段階３７２０は、この選択の結果を示す。複合表示領域３６００は、このとき、クリップインスタンス３７０５が参照する参照クリップのタイムラインを表示する。左上に示されたように、「新しいプロジェクト」を表示するのではなく、表示領域はこのとき、イベント「新しいイベント１０−２８−１１」から「無題のマルチカムクリップ」を表示して、ユーザが行う編集が、メディアプロジェクト内のクリップインスタンスではなくイベントに記憶された参照クリップに適用されることを示す。更に、いくつかの実施形態は、ＧＵＩのクリップブラウザ内の参照クリップを強調する。次に、ユーザが、参照クリップに変更を加えた場合、そのような変更はやはりクリップインスタンス３６０５に反映され、並びに現在又は他のメディアプロジェクト内の他のクリップインスタンスにも反映される。
【０２６５】
１．インスペクタ内の情報
ユーザが、複合表示領域内のメディアクリップを選択するとき、いくつかの実施形態は、インスペクタ表示領域（例えば、図３の表示領域３２５）内に選択されたクリップに関する情報を表示する。マルチカメラメディアクリップインスタンスが選択されたとき、いくつかの実施形態のインスペクタは、インスペクタ内にアクティブアングルに関する情報を表示する。更に、インスペクタの異なるタブは、マルチカメラ参照クリッププロパティ、アクティブオーディオアングルのオーディオプロパティ、及びアクティブビデオアングルのビデオプロパティに関する情報を表示してもよい。
【０２６６】
図３８〜図４１は、選択されたクリップ３８０５、並びにクリップ３８０５が選択された状態のインスペクタ表示領域の異なるタブを示す。図３８は、２つのマルチカメラクリップインスタンスを含むメディアプロジェクトを表示する複合表示領域を特別に示す。選択された第１のマルチカメラクリップインスタンス３８０５は、「Ｖｉｅｇａ」のアクティブビデオアングル及び「Ｎａｔｈａｎｉｅｌ」のアクティブオーディオアングルを有する。他方、第２のクリップインスタンスは、そのアクティブビデオとオーディオアングルとの両方として「Ｖｉｅｇａ」を有する。
【０２６７】
図３９は、クリップ３８０５の選択の結果としてインスペクタ表示領域３９００を示す。この図では、ビデオタブ３９０５は、インスペクタ表示領域内で選択されており、インスペクタ表示領域は、オーディオタブ３９１０及び情報タブ３９１５も有する。インスペクタの上部分は、選択されたクリップが、マルチカメラインジケータ（クリップブラウザ内のマルチカメラ参照クリップ又は複合表示領域内のマルチカメラクリップインスタンスに使用されたインジケータに類似）の使用によって、マルチカメラクリップであることを示し、並びにアクティブビデオ及びオーディオアングルを示す。
【０２６８】
更に、インスペクタは、マルチカメラクリップインスタンスのアクティブビデオアングルに関係する様々なビデオ情報を表示する。具体的には、インスペクタは、クリップインスタンスのアクティブアングルに適用された任意のエフェクトに関する情報を表示する。この場合、ユーザは、「Ｖｉｅｇａ」ビデオアングルに特定のエフェクトをまだ適用していない。しかしながら、ユーザが、例えば、ビデオに色補正を適用するか、画素変更エフェクトを適用するか、変換するか、クロップするか、又は変形した場合など、この情報は、「Ｖｉｅｇａ」がアクティブアングルである限り表示される。ユーザが、アクティブビデオアングルを「Ｎａｔｈａｎｉｅｌ」に切り替えた場合は、そのアングル用のエフェクトスタックに記憶された任意のエフェクトに関する情報が、インスペクタ３９００に表示される。しかしながら、いくつかの実施形態のインスペクタ３９００内のビデオプロパティは、マルチカメラ参照クリップ内のアングル「Ｖｉｅｇａ」のクリップに適用されたエフェクトを示さない。選択されたマルチカメラクリップインスタンス用のインスペクタをポピュレートするために、メディア編集アプリケーションは、アクティブビデオアングルを特定し、インスタンス用のデータ構造に記憶されたそのアングルのビデオエフェクトスタックにアクセスする。マルチカメラ参照クリップにおけるクリップを表示してエフェクトを変更するために、ユーザは、イベント内の参照クリップを選択することができる。
【０２６９】
図４０は、オーディオタブ３９１０が選択された状態のインスペクタ表示領域３９００を示す。インスペクタの上部分は、（アクティブビデオ及びオーディオアングルを示す）図３９と同じであるが、それより下部分は、ビデオエフェクトではなくオーディオエフェクトに関する情報を含む。この場合、図示されたオーディオエフェクトは、アングル「Ｎａｔｈａｎｉｅｌ」、即ち選択されたクリップインスタンスのアクティブオーディオアングルのためにオーディオエフェクトスタックに記憶されたものである。ビデオ情報と同様に、アプリケーションは、アクティブオーディオアングルを特定し、インスタンスデータ構造に記憶されたそのアングルのオーディオエフェクトスタックにアクセスする。
【０２７０】
図４１は、情報タブ３９１５が選択されたインスペクタ表示領域３９００を示す。インスペクタがアクティブアングルに関する情報を表示していた前の２つの図と異なり、マルチカメラクリップインスタンスの情報タブは、マルチカメラ参照クリップのビデオ及びオーディオプロパティを表示する。これらは、フォーマット（７２０ｐ）、寸法（１２８０×７２０）、及びフレームレート（３０ｆｐｓ）などのビデオプロパティ、並びにオーディオチャネルカウント及びサンプルレートなどのオーディオプロパティを含む。クリップ名、ロール、及びカメラ名などの他の情報のいくつかは、インスペクタ内でユーザ変更可能である。いくつかの実施形態において、この情報を、インスペクタ内のこの情報を変更することにより、マルチカメラ参照クリップ（カメラ名又はクリップ名などの情報の場合）、又はアクティブアングル若しくは参照クリップ内のクリップのすべてのコンポーネント（例えば、ロールに関して）に関して変更する。他の実施形態において、この情報への変更は、クリップインスタンスだけに影響を及ぼす。
【０２７１】
どのアングルがアクティブであるかに関する情報を提供する他に、いくつかの実施形態は、ユーザが、インスペクタによってアクティブアングルを切り替えることを可能にする。図４２は、ユーザがＧＵＩ  ４２００の２つの段階４２１０〜４２２０にわたって、インスペクタ内の選択されたクリップインスタンスのアクティブビデオアングルを切り替えることを示す。ＧＵＩ  ４２００は、他の表示領域の中でも、複合表示領域４２０５、インスペクタ表示領域４２１５、プレビュー表示領域４２２５、及びアングルビューワ４２２７を含む。
【０２７２】
第１の段階４２１０では、ユーザは、複合表示領域４２０５内のマルチカメラクリップインスタンス４２３０を選択した。図示されたように、このクリップインスタンスは、「Ｖｉｅｇａ」のアクティブビデオアングル、及び「Ｎａｔｈａｎｉｅｌ」のアクティブオーディオアングルを有する。その結果、プレビュー表示領域４２２５は、アングル「Ｖｉｅｇａ」内のメディアクリップからのビデオ画像を表示する。インスペクタ内で、ユーザは、ビデオアングルを選択してドロップダウンメニュー４２３５を活性化した。このドロップダウンメニューは、マルチカメラクリップ参照における５つのアングルにそれぞれ選択可能なメニューオプションを含む。メニュー４２３５は、現在選択されているオプション（「Ｖｉｅｇａ」）の隣にチェックを表示する。ユーザは、ビデオアングルにこのオプションを選択するために、オプション「Ａｍｉｒ」の上にカーソルを置いた。
【０２７３】
第２の段階４２２０は、「Ａｍｉｒ」ビデオアングル用のメニューオプションのユーザの選択の結果を示す。このとき、インスペクタ表示領域４２１５は、複合表示領域４２０５内にクリップ４２３０を示すように、アクティブビデオアングルが「Ａｍｉｒ」であることを示す。このとき、プレビュー表示領域４２２５は、このアングル内のクリップからのビデオ画像を表示する。アングルビューワ４２２７内で、アプリケーションは、境界及びアクティブビデオアングルを示すビデオアイコンを有する「Ａｍｉｒ」アングルのプレビュー表示４２４０を強調している。
【０２７４】
２．編集用のアングルビューワの使用
インスペクタを使用してクリップのアクティブアングルを切り替える他に、メディア編集アプリケーションのユーザは、アングルビューワを使用して、マルチカメラクリップインスタンスに編集操作を行なってもよい。以下の例は、４つのプレビュー表示を有し表示内にアングル名を示すビューワの文脈で説明されるが、当業者は、いくつかの実施形態において、他のオプション（例えば、様々な数のプレビュー表示、及び図２２に示されたような、アングルに関して異なる情報が表示された）が利用可能であることを理解するであろう。
【０２７５】
図４３は、ユーザが複合表示領域内のメディアプロジェクトを編集している間に表示されるいくつかの実施形態のアングルビューワ４３００を示す。アングルビューワ４３００は、選択可能項目４３０５〜４３１５、４つのプレビュー表示４３２０〜４３３５、及びアングルバンク４３４０を含む。選択可能項目４３０５〜４３１５を用いて、ユーザは、様々なプレビュー表示を選択することによって、クリップインスタンスのアクティブアングルが変更されるコンテンツのタイプを切り替えることができる。ユーザが、表示のうちの１つを選択するとき、メディア編集アプリケーションは、現在のマルチカメラクリップインスタンス用のアクティブアングルを、選択された表示に対応するアングルに切り替えるか、又は現在のクリップインスタンスを、インスタンスの一方が選択アングルを有する２つのインスタンスに分割する。
【０２７６】
この場合、選択可能項目４３０５は、オーディオとビデオアングルとの両方を選択アングルに切り替えるためのものであり、選択可能項目４３１０は、ビデオアングルだけを選択アングルに切り替えるためのものであり、選択可能項目４３１５は、オーディオアングルだけを選択アングルに切り替えるためのものである。図４３で、選択可能項目４３０５が現在選択されている。いくつかの実施形態において、項目はそれぞれ、選択されたときに異なる特定のアピアランス（例えば、色、パターン、濃淡レベルなど）を有する（例えば、オーディオとビデオとの両方の場合は黄色、ビデオだけの場合は青色、及びオーディオだけの場合は緑色）。この色コーディング（又は他のアピアランス差異化）は、アングルビューワにおいて、アクティブアングルと関連付けられた表示を特定し、並びにバンク４３４０内のアクティブアングルの位置を特定するために使用されることがある。
【０２７７】
４つのプレビュー表示４３２０〜４３３５はそれぞれ、マルチカメラメディアクリップ内のアングルのうちの１つの画像を表示する。いくつかの実施形態において、再生ヘッドが、複合表示領域内のマルチカメラメディアクリップの上で移動するとき（メディアプロジェクトを再生しているか、又はメディアプロジェクトをスキミングしている間）、アプリケーションは、アングルビューワに再生ヘッドの時間に対応する異なるアングルからの画像を表示する。プレビュー表示は、また、特定のアングルがアクティブオーディオ又はアクティブビデオアングルであることを示す。このとき、アクティブオーディオアングルは、左上表示４３２０に示された「Ｎａｔｈａｎｉｅｌ」である。ディスプレイ４３２０は、緑色に強調された境界を有し、選択可能項目４３１５に使用される同じオーディオアイコンを示す。アクティブビデオアングルは、４つの表示のいずれかに現在示されているアングルのうちの１つではない。いくつかの実施形態において、前述のように、プレビュー表示の強調表示のアピアランス（例えば、色、パターンなど）は、選択可能項目４３０５〜４３１５のものと一致する。
【０２７８】
アングルバンク４３４０は、マルチカメラクリップ内のアングルの総数、及びそれらのアングルがどのように目で見えるセットに分割されたかを示す。この例では、バンク４３４０は、第１組の４つのアングル及び第２組の１つのアングルを含む。これらの組は、ユーザが選択されたバンクによって表される特定のアングルのためのプレビュー表示を視聴するためにバンクのうちの１つを選択することができるという点で、バンク４３４０内で選択可能である。例えば、ユーザは、アングルビューワ４３００内のマルチカメラクリップの第５のアングルのプレビュー表示を視聴するために、１つの正方形を有するバンクを選択することができる。更に、バンクは、アクティブビデオアングル及びアクティブオーディオアングルのアングルの組の位置を示す。この図では、第１のバンクの左上の正方形が、アクティブオーディオアングル（「Ｎａｔｈａｎｉｅｌ」）を示す濃い緑色であり、第２のバンク内の単一の正方形が、アクティブビデオアングルを示す濃い青色である。
【０２７９】
前述したように、いくつかの実施形態は、選択可能項目４３０５〜４３１５とプレビュー表示４３２０〜４３３５とバンク４３４０との間で一貫した色コーディングを使用して、アクティブアングルの異なるタイプのコンテンツを示す。この例では、ビデオアングルは青色であり、オーディオコンテンツは緑色であり、同じアングルがアクティブビデオとオーディオアングルとの両方とき、そのアングルは黄色である。当業者は、例えば異なるタイプのコンテンツに異なる組の色を使用したり、異なる濃淡レベルを使用したり、異なるパターンを使用したりするなどの任意の異なる色又は他のインジケータ方式が、異なるアクティブアングルに使用されてもよく、緑色、青色及び黄色の選択は、１つの特定の選択に過ぎないことを理解するであろう。
【０２８０】
様々なアクティブアングルの現在の状態を表示することに加えて、アングルビューワ４３００は、ユーザが、マルチカメラクリップインスタンスのアクティブアングルを変更するか、又はインスタンスを異なるアクティブアングルを有する２つの別個のインスタンスに分割することを可能にする。図４４Ａ〜図４４Ｄは、アングルビューワを使用して、ＧＵＩ  ４４００の７段階４４１０〜４４７０により、メディアプロジェクト内のマルチカメラクリップを編集する様々な例を示す。ＧＵＩ  ４４００は、他の表示領域の中でも、アングルビューワ４４２５、プレビュー表示領域４４０５、及び複合表示領域４４１５を含む。
【０２８１】
アングルビューワ４４２５は、ビューワ４３００と類似であり、プレビュー表示４４２６〜４４２９には、アングル名ではなく、異なる順序のアングル及び個々のクリップ名が表示されている。第１の段階４４１０でビューワ内に示されたアングルは、表示４４２６に「Ｎａｔｈａｎｉｅｌ」、表示４４２７に「Ｌａｍ」、表示４４２８に「Ｊｉｍ」、及び表示４４２９に「Ａｍｉｒ」である。更に、第５のアングル「Ｖｉｅｇａ」は、４つの表示のいずれにも示されていないが、バンク４４３５によってアクセス可能である。ビューワは、項目４３０５〜４３１５と同じ機能を有する３つの選択可能項目４４３１〜４４３３を有する。
【０２８２】
段階４４１０で、複合表示領域４４１５は、マルチカメラクリップインスタンス４４４５を含むいくつかのクリップを有するメディアプロジェクトを表示し、そのアクティブアングルは、この段階では、ビデオアングルは「Ａｍｉｒ」及びオーディオアングルは「Ｖｉｅｇａ」である。図４４の７つの段階において、ユーザは、複合表示領域４４１５に示されたメディアプロジェクトを再生する。したがって、再生ヘッド４４５５は、これらの段階４４１０〜４４７０の間、複合プレゼンテーションを横断する。
【０２８３】
アングルビューワ４４２５は、段階４４１０で、ビデオアングルを変更するための選択可能項目４４３２が、現在選択されていることを示す。更に、表示４４２９は、「Ａｍｉｒ」がアクティブビデオアングルであることを示すために、ビデオアイコンを有する青色で強調される。これがアクティブアングルなので、このアングルからのビデオは、主プレビュー表示領域４４０５にも現われる。
【０２８４】
ユーザは、表示４４２６の上にカーソルを置いた。いくつかの実施形態において、カーソルは、表示を選択することによって、アプリケーションに、再生ヘッド４４５５によって現在示されている時間でクリップインスタンスを切断させ、同時に、再生ヘッドの後に新しく作成されたクリップインスタンスのアクティブアングルを切り替えることを示すために、カミソリ刀アイコンに変わる。いくつかの実施形態において、カーソルは、ブレードとして表示され、アングル表示を選択すると、ユーザが、特定キーの押下げ、異なるタイプのタッチ入力を提供するなど、選択をしながら補助入力を提供しない限り、インスタンスに２つに分割させる。
【０２８５】
第２の段階４４２０は、前の段階でユーザがアングル表示４４２６を選択した結果を示す。その結果、アクティブビデオアングルが、表示４４２６及びプレビュー表示領域４４０５に示された「Ｎａｔｈａｎｉｅｌ」アングルになる。更に、バンク４４３５内に、第１のバンク内の左上の四角が、新しいアクティブビデオアングルを示すために青で強調されている。メディア編集アプリケーションは、クリップ４４４５のトリム範囲を変更し、前の段階で再生ヘッドの時間から始まりメディアクリップの終わり（インスタンス４４４５の前の終了時間）まで続くトリム範囲を有する新しいクリップインスタンス４４４６を作成することによって、クリップインスタンス４４４５を２つのインスタンスに分割した。図示されたように、クリップインスタンス４４４５は、同じアクティブアングルのままであるが、新しいクリップインスタンス４４４６は、「Ｎａｔｈａｎｉｅｌ」のアクティブビデオアングル及び「Ｖｉｅｇａ」のアクティブオーディオアングルを有する。更に、ユーザは、この段階で項目４４３１を選択する。
【０２８６】
第３の段階４４３０は、前の段階のユーザ選択の結果として、選択可能項目４４３１が現在（黄色で）強調されていることを示す。前述のように、この項目によって、ユーザは、アクティブオーディオとビデオアングルとの両方を選択アングルに切り替えることができる。更に、ユーザが、カーソルをアングル「Ｊｉｍ」の表示４４２８の上に起き、カーソルが再びブレードアイコンとして表示されている。
【０２８７】
第４の段階４４４０は、前の段階におけるアングル表示４４２８の選択の結果を示す。アクティブオーディオ及びビデオアングルは、このとき、表示４４２８及びプレビュー表示領域４４０５に示された「Ｊｉｍ」アングルである。更に、バンク４４３５は、もう青色の四角も緑色の四角も示していないが、その代わりに左下の四角を黄色として表示している。メディア編集アプリケーションは、クリップ４４４６のトリム範囲を変更し、新しいクリップインスタンス４４４７を作成することによって、クリップインスタンス４４４６を２つのインスタンスに分割し、トリム範囲は、クリップインスタンス４４４６の範囲が終わる場所で始まる。クリップインスタンス４４４６は、同じアクティブアングルのままであるが、新しいクリップインスタンス４４４７は、「Ｊｉｍ」のアクティブビデオ及びオーディオアングルを有する。更に、ユーザは、この段階で、項目４４３３を選択する。
【０２８８】
第５の段階４４５０は、選択可能項目４４３３が、前の段階でのユーザ選択の結果として（緑色で）強調されていることを示す。更に、ユーザは、表示４４２９を選択してクリップインスタンス４４４７を切断し、「Ｊｉｍ」のアクティブビデオアングル及び「Ａｍｉｒ」のアクティブオーディオアングルを有する新しいクリップインスタンス４４４８を作成する。その結果、以前に黄色で強調された表示４４２８は、このとき、アクティブビデオアングルを示すために青色で強調され、表示４４２９は、アクティブオーディオアングルを示すために緑色で強調される。
【０２８９】
ユーザは、また、この項目を選択するために、この段階でカーソルをバンク４４３５内の単一の四角の上に置いた。いくつかの実施形態において、バンクはそれぞれ、別個の選択可能項目であり、この選択によって、アングルビューワに、選択されたバンク内に表されたアングルと関連付けられたアングル表示を表示させる。
【０２９０】
第６の段階４４６０は、前の段階で単一アングルを有するバンクをユーザが選択した結果を示す。このとき、アングルビューワは、表示４４２６内にアングル「Ｖｉｅｇａ」からの画像を表示する。更に、ユーザは、この表示の上にカーソルを置き、アプリケーションは、このカーソルを、ブレードアイコンではなくハンドアイコンとして表示する。いくつかの実施形態において、ユーザは、特定キーを押し下げるか、又は別の選択入力を提供して、新しいクリップインスタンスをブレードツールによって作成するのではなくビューワ内でアングルを交換する。アプリケーションは、選択がクリップインスタンスを分割するかクリップインスタンスのアングルを切り替えるかをユーザに知らせるために、ＧＵＩ内に様々なインジケータを提供する。
【０２９１】
第７の段階４４７０は、前の段階で表示４４２６を選択するユーザの結果を示す。メディア編集アプリケーションは、新しいクリップを作成するのではなく、アクティブオーディオアングルが「Ａｍｉｒ」ではなく「Ｖｉｅｇａ」になるようにクリップインスタンス４４４８を変更した。このため、アプリケーションは、アクティブオーディオアングル変数を変更するために、クリップインスタンスのデータ構造を変更するだけでよい。更に、このとき、表示４４２６とバンク４４３５内の対応する四角との両方とも、緑色で強調されている。
【０２９２】
図４４は、アングルインスタンスがすべて、タイムラインの主レーン内にある場合を示す。いくつかの例では、ユーザは、第２のアングルインスタンスにアンカーされた第１のアングルインスタンスによる複合プレゼンテーションを作成することができ、その結果、両方のアングルインスタンスが、異なるレーン内の複合プレゼンテーション内に一定時間に配置される。いくつかの実施形態は、それらの時間に関して２つのレーンの高い方に配置されたアングルインスタンスのアングルからのビデオを表示し、これは、そのインスタンスが無効にされない限り行われる。３つ以上のインスタンスが時間を共有するとき、アプリケーションは、アングルビューワ内で最も大きいレーン番号を有するインスタンスからアングルを表示する。いくつかの実施形態は、そのような状況に関して第２のアングルビューワ（自動で又はユーザ要求によって）を表示し、ユーザは、インスタンスのどちらかを見て編集することができる。２つ以上のクリップインスタンス間で合成モード（例えば、混合）が定義されるとき、いくつかの実施形態の主プレビュー表示領域は、混合の結果である出力画像を表示する。
【０２９３】
図４５は、ユーザが、アングルビューワを用いてクリップインスタンスを切断するときにメディアプロジェクトのデータ構造を変更するいくつかの実施形態のプロセス４５００を概念的に示す。図示されたように、プロセス４５００は、最初に、複合プレゼンテーション内のマルチカメラクリップインスタンスを切断し切り替えるために、アングルビューワを介して選択を受け取る（４５０５で）。図４４は、例えば、ユーザが段階４４１０で表示４４２６を選択するときの、そのような選択の例を示す。
【０２９４】
プロセスは、トリムされるマルチカメラクリップインスタンス内の新しい編集ポイントの時間を特定する（４５１０で）。いくつかの実施形態において、この編集ポイントは、複合表示領域内のマルチカメラクリップインスタンスの上の再生ヘッドの位置である。いくつかの実施形態は、編集再生ヘッド（ユーザが複合プレゼンテーションを特定時間にロックするかリアルタイムレートで再生するように設定することができる）、並びに複合表示領域内のクリップの上でカーソルが動くときにカーソルと共に移動するスキミング再生ヘッドとの両方を含む。いくつかの実施形態において、アプリケーションは、編集再生ヘッドの位置を使用して、新しい編集ポイントとして設定するマルチカメラクリップインスタンス内の時間を決定する。図４４の例は、ユーザが再生ヘッドがタイムライン内を一定速度で移動するときにクリップインスタンスを編集することを示すが、ユーザは、タイムライン内の時間を選択して再生ヘッドをその時点で固定し、次にアングルビューワ内のアングルを選択してもよい。
【０２９５】
次に、プロセスは、複合プレゼンテーション内の既存のマルチカメラクリップインスタンスのアウトポイントをトリムして、特定された編集ポイントを一致させる（４５１５で）。いくつかの実施形態において、これは、トリム範囲の開始時間が変化しないが、トリム範囲の終了時間が新しい編集ポイントと一致するように、アングルインスタンスデータのトリム範囲を変更することを伴う。
【０２９６】
また、プロセスは、インポイントが新しい編集ポイントのすぐ後にあり、アウトポイントが既存のクリップインスタンスの前のアウトポイントと一致する新しいクリップインスタンスを、プレゼンテーション内に生成する（４５２０で）。即ち、新しいクリップインスタンスのトリム範囲は、既存のクリップインスタンスの新しいアウトポイントの１フレーム後で始まり、既存のクリップインスタンスがブレード及びスイッチ入力を受け取る前に終わるのと同じ時間に終わる。いくつかの実施形態において、この新しいクリップインスタンスは、２つに分割された既存のクリップインスタンスの直後に、複合プレゼンテーションのデータ構造で作成される。インスタンスが、複合表示領域の主複合レーン内にある場合（図４４と同じようで）、これらのクリップインスタンスは、複合プレゼンテーションの主コレクションのアレイ内の次の要素として定義される。
【０２９７】
クリップを変更した後で、プロセスは、選択によって切り替えられたコンテンツのタイプに基づいて、新しいクリップインスタンスのアクティブアングルを変更する（４５２５で）。即ち、新しいクリップインスタンスが、トリム範囲を除き既存のクリップインスタンスの複製であり、新しいクリップ存在が同じマルチカメラ参照クリップを参照するので、アクティブアングルのうちの少なくとも１つが、同じ全範囲などを有する。現在のアクティブ選択ツールが、オーディオだけを変更するためのものであるとき、メディア編集アプリケーションは、新しいクリップインスタンスのアクティブオーディオアングルを選択アングルに変更し、アクティブビデオアングルは、前のクリップインスタンスと同じままである。同様に、選択ツールが、ビデオだけを変更するためのものであるとき、アプリケーションは、新しいクリップインスタンスのアクティブビデオアングルを選択アングルへ変更し、アクティブオーディオアングルは、前のクリップインスタンスと同じままである。選択ツールが、オーディオとビデオとの両方を変更するとき、アプリケーションは、両方のアクティブアングルを選択アングルに変更する。
【０２９８】
いくつかの実施形態において、そのような切断プロセスによって作成されたマルチカメラクリップインスタンスへの編集は、メディア編集アプリケーションによる他の編集とは異なって処理される。後の節で述べるように、そのようなスルー編集は、実質的に、連続したマルチカメラクリップをアングルスイッチに基づいて分割するので、いくつかの実施形態は、ユーザが、編集を迅速に削除し２つのクリップインスタンスをマージすることを可能にする。更に、アプリケーションは、他の編集ポイントに比較して、そのようなスルー編集を編集するときに異なるデフォルトトリム編集を使用する。
【０２９９】
タイムライン内のマルチカメラクリップによる編集について述べる前に、アングルビューワの表示機能について述べる。前の節で述べたように、メディア編集アプリケーションＧＵＩ内の表示領域の多くは、サイズが変更されることがある。図４６は、ビューワが４つのアングルプレビュー表示を表示すときのアングルビューワ４６００のサイズを変更するエフェクトを、３つ段階４６１０〜４６３０にわたって示す。
【０３００】
第１の段階４６１０は、４つの表示領域を有するアングルビューワ４６００、及びアングルビューワに隣接する１つのプレビュー表示領域４６０５を示す。ユーザが、２つの表示領域の間の境界（即ち、継ぎ目）の上のカーソルを置くと、ＧＵＩに、継ぎ目を移動できる方向を示す矢印を有するバーとしてカーソルを表示させる。段階４６２０に示されたように、ユーザは、境界を左方に移動させ、それにより、プレビュー表示領域４６０５のサイズが大きくなり、それに応じてアングルビューワ４６００のサイズが小さくなる。
【０３０１】
第３の段階４６３０で、ユーザは、継ぎ目を引き続き左側に移動させた。これにより、アングルビューワ４６００に、表示領域を２×２構成で表示させなくなるが、代わりに、１×４表示を使用させてアングルビューワ表示領域４６００内で利用可能なスペースの効率を高める。表示の構成の変更に加えて、アプリケーションは、これに対応して、アングルビューワ４６００内のバンクの構成を変更する。第１の段階４６１０及び第２の段階４６２０では、４つのアングルのバンク４６２５が、２×２の正方形で示されているが、第３の段階４６３０は、このバンク４６２５を１×４の長方形の組として示す。
【０３０２】
いくつかの実施形態において、メディア編集アプリケーションは、個々のアングル表示領域が、２×２構成より新しい１×４構成で大きくなった後、アングルビューワの表示を切り替える。また、いくつかの実施形態は、これより少ない数のアングル表示のグループにそのような構成の変更を行う。例えば、２アップビューア（２つのアングル表示を有する）は、１×２又は２×１構成で表示されてもよく、１６アップビューア（１６のアングル表示を有する）は、４×４又は２×８構成で表示されてもよい。
【０３０３】
３．タイムライン内のマルチカメラクリップインスタンスの編集
アングルビューワ及びインスペクタを使用してマルチカメラクリップインスタンスのアクティブアングルを変更する他に、ユーザは、複合表示領域内でそのような作業を実行し、並びにマルチカメラクリップに固有の様々な他の編集作業を行なうことができる。マルチカメラクリップに固有の多数のそのような編集操作は、「スルー編集」の編集アプリケーションの認識、及び他の編集ポイントからのスルー編集の差違化によって可能になる。前述のように、いくつかの実施形態において、スルー編集とは、最初のマルチカメラクリップインスタンスが、タイムライン内の最初のクリップインスタンスのすぐ後の第２のマルチカメラクリップインスタンスのインポイントの前に、マルチカメラクリップ参照内の１つのフレームであるアウトポイントを有するときである。
【０３０４】
図４７は、選択されたマルチカメラクリップインスタンス４７０５のビデオアングルを切り替えるための複合表示領域４７００のメニューの使用を３つの段階４７１０〜４７３０にわたって示す。第１の段階４７１０で、クリップインスタンス４７０５は、選択され、ユーザは、ドロップダウンメニュー４７１５を活性化した。この時点で、クリップタイトルによって示されたように、アングル「Ａｍｉｒ」は、クリップインスタンス４７０５のアクティブビデオ及びオーディオアングルである。メニュー４７１５内で、ユーザは、オプション「アクティブビデオアングル」を選択し、これにより、クリップインスタンスの５つの可能なビデオアングルを示すサブメニュー４７２５が表示される。現在選択されているビデオアングルが「Ａｍｉｒ」なので、サブメニュー内では現在このオプションがチェックされている。
【０３０５】
第２段階４７２０は、サブメニュー４７２５のアングル「Ｎａｔｈａｎｉｅｌ」の選択を示し、第３の段階４７３０は、この作業の結果を示す。この段階で、マルチカメラクリップインスタンス４７０５は、このとき、「Ｎａｔｈａｎｉｅｌ」のアクティブビデオアングル及び「Ａｍｉｒ」のアクティブオーディオアングルを有する。アングルを切り替える前述の作業と同様に、いくつかの実施形態のメディア編集アプリケーションは、この切り替えを達成するために、クリップ４７０５のアングルインスタンスデータ構造のアクティブビデオアングルを変更する。また、そうすることにより、アプリケーションに、クリップに行なわれる任意の描画操作のために、選択アングルのビデオエフェクトスタックをクリップのエフェクトスタックディクショナリからスワップインさせる。
【０３０６】
図４８は、４つの段階４８１０〜４８４０にわたり、いくつかの実施形態の複合表示領域４８００内のビデオアングルを切り替える様々な方法を示す。この場合、メディア編集アプリケーションは、ユーザ選択入力に応じて、アングルビュー表示領域、即ちヘッドアップディスプレイ（「ＨＵＤ」）を表示する。図示されたように、第１の段階４８１０で、アクティブビデオ及びオーディオアングル「Ａｍｉｒ」を有するマルチカメラメディアクリップインスタンス４８０５が選択されている。ユーザは、この選択されたクリップのメニュー４８１５を活性化した。メニュー内で、ユーザは、「アングルＨＵＤを表示」オプションを選択する。
【０３０７】
第２の段階４８２０は、この選択の結果として、アプリケーションは、選択されたクリップインスタンスの上のＧＵＩ内にアングルビューＨＵＤ４８２５を表示していることを示す。いくつかの実施形態のアングルビューＨＵＤは、ユーザが、マルチカメラクリップインスタンスに利用可能な様々なビデオアングルを次々と切り替えることを可能にする。ユーザは、異なるアングルと関連付けられたビデオ及びオーディオを再生又はスキミングすることができる。図示されたように、起動されたとき、アングルビューＨＵＤ４８２５は、その中心に、現在の選択アングル（「Ａｍｉｒ」）のビデオを表示する。他のオプションは、表示領域の側に示され、ユーザが、ユーザインタフェースとの対話（例えば、右矢印キー及び左矢印キー、又はＨＵＤ内の項目の選択）によってそれらのオプションを中心に回転させる。クリップインスタンス４８０５が参照するマルチカメラ参照クリップは、２つのアングルを有し、したがって他の１つ画像だけが左側に示される。表示領域の下に、アングルのどれがアクティブビデオアングルとして現在選択されているかをユーザに視覚的に示すインジケータがある。スターインジケータによって示されたように、右側（「Ａｍｉｒ」）上のアングルが、現在選択されている。いくつかの実施形態において、ユーザは、異なるアングルを次々と切り替えるために、これらのインジケータを選択するか又は表示の側の画像を選択することができる。この場合、ユーザは、ＨＵＤ４８２５の左側の他の画像を選択していることが示される。
【０３０８】
第３の段階４８３０は、ユーザがこの画像を選択した後で、ＨＵＤが、その中心にアングル「Ｎａｔｈａｎｉｅｌ」のビデオ画像を表示している。選択インジケータは、２つのインジケータの右側にスターがまだ残っているので、ユーザがビューワ４８２５を起動しときに「Ａｍｉｒ」アングルが選択されたことを示す。この段階で、ユーザは、「Ｎａｔｈａｎｉｅｌ」ビデオアングルを選択するために、ＧＵＩ項目「完了」を選択する。
【０３０９】
マルチカメラクリップインスタンス４８０５がこのとき「Ｎａｔｈａｎｉｅｌ」ビデオアングル及び「Ａｍｉｒ」オーディオアングルを示しているので、第４の段階４８４０は、この選択の結果を示す。この例は、アングルビューＨＵＤ４８２５を使用してビデオアングルを選択することを示しているが、いくつかの実施形態は、ユーザが、ＨＵＤによってクリップインスタンスのオーディオアングルも選択することを可能にする。いくつかの実施形態は、図４３のアングルビューワ４３００に示されたものと類似の選択可能項目を含み、そのような選択可能項目により、ユーザは、オーディオ、ビデオ又はこれらの両方を選択し、ビューＨＵＤ内の異なるアングルの選択によって変更されるアクティブアングル又はアングルのコンテンツのタイプを決定することができる。
【０３１０】
図４７は、タイムライン内のマルチカメラクリップインスタンスのアクティブビデオアングルの切り替えを示すが、図４９は、２つの段階４９１０及び４９２０において、複合表示領域４９００内で選択されたマルチカメラクリップインスタンス４９０５のアクティブオーディオアングルを切り替える類似のメニューの使用を示す。第１の段階で、クリップインスタンス４９０５が選択され、ユーザは、ドロップダウンメニュー４９１５を活性化した。このとき、クリップタイトルによって示されたように、クリップインスタンス４９０５のアクティブビデオアングルは、「Ｎａｔｈａｎｉｅｌ」であり、アクティブオーディオアングルは「Ａｍｉｒ」である。メニュー４９１５内で、ユーザは、オプション「アクティブオーディオアングル」を選択して、このクリップインスタンスの５つの可能なオーディオアングルを示すサブメニュー４９２５を表示させる。現在選択されているオーディオアングルが「Ａｍｉｒ」なので、このオプションは、このときサブメニューでチェックされている。この段階で、ユーザは、サブメニュー４９２５内のアングル「Ｖｉｅｇａ」を選択する。
【０３１１】
第２の段階４９２０は、この選択の結果を示し、マルチカメラクリップインスタンス４９０５が、このとき「Ｖｉｅｇａ」のアクティブオーディオアングルを有する。アングルを切り替える前述の作業と同様に、いくつかの実施形態のメディア編集アプリケーションは、この切り替えを行うために、クリップ４９０５のアングルインスタンスデータ構造のアクティブオーディオアングルを変更する。また、そうすることにより、アプリケーションに、クリップに行なわれる任意の描画操作のために、選択アングルのオーディオエフェクトスタックをクリップのエフェクトスタックディクショナリからスワップインさせる。
【０３１２】
クリップを切断し、クリップインスタンスのアクティブアングルを変更する他に、いくつかの実施形態のメディア編集アプリケーションは、マルチカメラクリップインスタンスに影響を及ぼす様々な編集操作を提供する。例えば、メディアプロジェクト内の標準メディアクリップに利用可能な多くの標準編集操作が、マルチカメラクリップインスタンスにも利用可能で、この標準編集操作は、他の操作の中でも、アクティブアングルへのビデオ又はオーディオエフェクトの適用（画素変更エフェクト、変換、変形など）、トリム操作（リプル、ロール、スリップ、スライド）、及び複数のレーンを使用する複合操作（混合、ピクチャインピクチャなど）である。更に、いくつかの実施形態は、マルチカメラクリップインスタンスに固有の操作を提供するか、又は特定の操作がマルチカメラクリップインスタンスにどのように適用されるかを変更する。
【０３１３】
多くのそのような操作は、メディア編集アプリケーションによるスルー編集の処理に関連する。前述のように、いくつかの実施形態において、スルー編集は、ユーザが、マルチカメラクリップインスタンスを切断し、その結果生じた第１のクリップのインポイントが、第２のクリップの生じたインポイントの直前にあるときに行われる（即ち、マルチカメラ参照クリップタイムライン内の時間が、第１のクリップから第２のクリップまで止まることなく滑らかに流れる）。したがって、２つのクリップインスタンスにわたるメディアプロジェクトの再生は、アクティブビデオ全体の連続再生を伴うが、アクティブビデオ又はオーディオアングル（又は両方）の切り替えを有する。メディアプロジェクト内の２つのクリップ間の編集ポイントは、通常、ＧＵＩ内に実線として表示されるが、いくつかの実施形態は、スルー編集の存在をユーザに視覚的に示すためにスルー編集を点線として表示する。
【０３１４】
図５０は、２つの段階５０１０及び５０２０にわたって、２つのマルチカメラクリップインスタンスを単一インスタンスに組み合わせる複合表示領域５０００内のスルー編集の削除を示す。第１の段階に示されたように、複合表示領域５０００は、他のクリップの中でも特に第１のマルチカメラクリップインスタンス５００５及び第２のマルチカメラクリップインスタンス５０１５を含むメディアプロジェクトの表現を表示する。これらのクリップは両方とも、同じマルチカメラ参照クリップを参照するが、第１のクリップインスタンス５００５は、「Ａｍｉｒ」のアクティブビデオ及びオーディオアングルを有し、第２のクリップインスタンス５０１５は、「Ｖｉｅｇａ」のアクティブアングルを有する。
【０３１５】
２つのクリップインスタンス５００５と５０１５との間の編集ポイントは、同じ参照クリップを参照する他に、クリップがマルチカメラ参照クリップ内の次のコンテンツを参照するので、スルー編集である。第１の段階５０１０において、ユーザは、この編集ポイントを選択し、メニュー５０２５を活性化し、メニュー５０２５は、オプション「編集を削除」を含むいくつかの実施形態において、このメニューオプションは、２つの無関係なメディアクリップ間、あるいは次の参照クリップ素材を参照しない２つのクリップインスタンス間の通常編集と対照的に、ユーザがスルー編集を選択するときだけ利用可能である。
【０３１６】
第２の段階５０２０は、この選択の結果を示し、メディア編集アプリケーションが、第２のクリップインスタンス５０１５を削除し、クリップインスタンス５００５の継続時間を拡張している。いくつかの実施形態において、アプリケーションは、メディアプロジェクトから第２のクリップインスタンスのデータ構造を除去し、同時に、第１のクリップインスタンスのトリム範囲を拡張し、その結果、参照クリップタイムライン内のアウトポイントが、そのとき削除されたクリップインスタンスのアウトポイントと一致するようにする。この例は、第２のクリップインスタンス（タイムラインにおける後方のクリップ）が削除されることを示すが、いくつかの実施形態は、自動的に前方のインスタンスを削除する（及び、後方のインスタンスのインポイントを変更する）か、又はユーザが２つのインスタンスのどちらを削除するか決定することを可能にする。更に、この図は、メニュー選択を示すが、いくつかの実施形態は、ユーザが、削除キー又は他の組のキーストロークなどの他の対話によって編集ポイントを削除することを可能にする。
【０３１７】
図５０に示されたクリップ削除の他に、いくつかの実施形態は、特定の編集するシナリオ内のクリップインスタンスを自動的に削除する。２つのクリップインスタンスが、スルー編集によって分離され、ユーザが、他のインスタンスと同じアクティブアングルを有するようにインスタンスのうちの１つを変更するとき、いくつかの実施形態は、これを自動的に認識し、２つのクリップインスタンスを組み合わせる（インスタンスの一方を削除し、必要に応じて他方のインスタンスのインポイント又はアウトポイントを変更することによって）。
【０３１８】
アクティブアングルの一方（ビデオアングルか又はオーディオアングル）が、２つの連続したマルチカメラクリップインスタンスの間で異なるために、これらの２つの連続したマルチカメラクリップインスタンスを組み合わせることができないときでも、いくつかの実施形態は、２つのクリップインスタンスがアクティブアングルの一方を共有するとき、２つのクリップのビデオ又はオーディオを特定のアクションに対して単一クリップとして処理する。例えば、アクティブオーディオアングルが同じであるが、異なるアクティブビデオアングルを有するとき、特定のオーディオ関連作業は、両方のクリップインスタンスに適用される。
【０３１９】
図５１は、複合表示領域５１００の２つの段階５１１０及び５１２０にわたる、スルー編集によって分離された２つのクリップインスタンス５１０５及び５１１５のボリュームレベルへの変更を示す。第１のクリップインスタンス５１０５は、「Ａｍｉｒ」のビデオアングル及び「Ｎａｔｈａｎｉｅｌ」のオーディオアングルを有し、クリップインスタンス５１１５は、「Ｖｉｅｇａ」のビデオアングル及び「Ｎａｔｈａｎｉｅｌ」のオーディオアングルを有する。この図では、ユーザは、オーディオ波形をビデオサムネイルより強調するために、複合表示領域５１００内のクリップディスプレイを変更した。
【０３２０】
第１の段階５１１０に示されたように、ユーザは、オーディオ波形の一番上に示されたオーディオボリュームラインの上にカーソルを置き、ボリュームラインを選択した。いくつかの実施形態において、このオーディオボリュームラインは、ユーザがメディアクリップのオーディオのボリュームを変更することを可能にするＵＩツールである。ユーザが、このＵＩツールを選択するとき、いくつかの実施形態は、特定のクリップのボリュームを示す表示を提供する（この場合は、−７デシベル）。ユーザは、ＵＩツールを上下に移動させて、クリップのボリュームを変更することができる。
【０３２１】
第２の段階５１２０は、ユーザが、クリップのボリュームを＋９デシベルに変更するために、オーディオボリュームラインを上方にドラッグした後のクリップインスタンス５１０５及び５１１５を示す。図示されたように、ユーザは、第１のクリップインスタンス５１０５内でボリュームラインをドラッグする。しかしながら、２つのクリップ間の編集ポイントがスルー編集であり、オーディオアングルが、２つのクリップに対して同じなので、アプリケーションは、２つのクリップがまるで１つのクリップであるかのように自動的に処理し、両方に同じエフェクトを適用される。したがって、クリップインスタンス５１０５のオーディオのボリュームが、＋９ｄＢまで高められるだけでなく、クリップインスタンス５１１５のオーディオのボリュームも高められる。
【０３２２】
いくつかの実施形態において、１つのクリップインスタンスに適用された他のオーディオエフェクト（パニング、サウンド生成エフェクトなど）は、やはり同じオーディオアングルを有し編集によって分割された隣り合ったクリップインスタンスに適用される。いくつかの例では、スルー編集によって全て分割され（即ち、マルチカメラ参照クリップ内の連続タイムラインを集合的に参照する）、同じオーディオアングルを共有するいくつかの後続のクリップは、オーディオエフェクトに関して集合的に処理されてもよい（図５１に示されたように）。
【０３２３】
複数のインスタンスにわたってオーディオエフェクトを適用する他に、いくつかの実施形態は、ビデオアングルが、スルー編集によって分割された連続するクリップインスタンス全体にわたって同じときに、同様にビデオエフェクトを適用する。図５２は、ユーザが、２つの段階５２１０及び５２２０にわたって、複合表示領域５２００内の１組のクリップインスタンス５２０５及び５２１５にビデオエフェクトを適用することを示す。第１のクリップインスタンス５２０５は、「Ｖｉｅｇａ」のアクティブビデオアングル及び「Ｎａｔｈａｎｉｅｌ」のアクティブオーディオアングルを有し、第２のクリップインスタンス５２１５は、「Ｖｉｅｇａ」のアクティブビデオアングル及び「Ｌａｍ」のアクティブオーディオアングルを有する。
【０３２４】
いくつかの実施形態において、ユーザは、クリップにエフェクトを適用するために、エフェクト表示領域（例えば、図３の表示領域３３０）からビデオエフェクトをクリップの上にドラッグすることができる。図５２の第１の段階５２１０で、ユーザは、クリップインスタンスのアクティブビデオアングル（「Ｖｉｅｇａ」）にクリップを適用するために、マルチカメラクリップインスタンス５２１５の上でエフェクト（ボケランダムエフェクト）をドラッグした。この段階で示されたように、これにより、クリップインスタンス５２１５が強調されるだけでなく、クリップインスタンス５２０５も強調される。クリップインスタンス５２０５は、クリップインスタンス５２１５と同じアクティブビデオアングルを有し、スルー編集によって他のインスタンスから分離されるだけである。したがって、アプリケーションは、クリップインスタンス５２０５と５２１５との両方にボケランダムエフェクトを適用する。
【０３２５】
第２の段階５２２０は、インスペクタ表示領域５２２５内のエフェクトの適用結果を示す。複合表示領域で、ユーザは、マルチカメラクリップインスタンス５２０５を選択し、インスペクタ表示領域５２２５は、この選択されたクリップのビデオ情報を表示する。図示されたように、ビデオ情報は、前の段階でクリップインスタンス５２１５の上にドロップされたエフェクトボケランダムを含む。これは、メディア編集アプリケーションが、このエフェクトを、クリップインスタンス５２０５内の「Ｖｉｅｇａ」アングルのビデオエフェクトスタック並びにクリップインスタンス５２１５のビデオエフェクトスタックに追加したことを示す。いくつかの実施形態において、ユーザが、クリップのうちの１つのエフェクトパラメータを変更したとき、これは、他の隣り合ったクリップインスタンスのエフェクトスタックにも影響を及ぼす。
【０３２６】
前の２つの例は、複数のマルチカメラクリップインスタンスに様々なオーディオ及びビデオエフェクトを自動的に適用した例を示す。いくつかの実施形態において、ユーザは、スルー編集によって分離された複数のインスタンスに影響を及ぼすか、又はエフェクトが直接適用されたクリップだけに影響を及ぼすかを選択することができる。ユーザは、例えば、設定をトグルし、特定キー又は１組のキーなどを押し下げて、１つ以上のクリップに同時に影響を及ぼすかどうかを決定することができる。
【０３２７】
メディア編集アプリケーションは、また、標準メディアクリップに比較して、マルチカメラクリップインスタンスにユーザ作業を適用するときに特定の環境で様々なデフォルト値を使用する。例えば、いくつかの実施形態は、トリムされる編集境界が２つのクリップインスタンス間のスルー編集であるとき、クリップに様々なデフォルトのトリム編集を適用する。トリム編集は、いくつかの実施形態において、２つのクリップ間の編集ポイントを変更する編集である。編集境界に適用されたトリム編集の例には、リプル編集（編集境界でクリップの一方だけの継続時間を変更する）及びロール編集（クリップの一方の継続時間を増やし、それに対応して他のクリップの継続時間を減らす）が挙げられる。他のトリム編集には、スライド編集（タイムラインの選択されたクリップを移動させて、選択されたクリップの一方の側のクリップの継続時間が減少し、選択されたクリップの他方の側のクリップの継続時間が増大するようにする）並びにスリップ編集（タイムラインのクリップを移動させずに選択メディアクリップのインポイント及びアウトポイントを変更する）が挙げられる。
【０３２８】
図５３及び図５４は、編集ポイントがスルー編集である、２つの標準メディアクリップと２つのマルチカメラクリップ参照との間の編集ポイントに適用されたデフォルトトリム編集の違いを示す。いくつかの実施形態において、ユーザが、カーソルを編集ポイントの近くに置いたとき、メディア編集アプリケーションは、ユーザがその境界でトリム編集（例えば、リプル編集）を行ないたいと想定する。更に、ユーザは、トリムツールを選択することができ、トリムツールは、クリップの様々な部分の上でカーソルを移動させることによって、複数の異なるトリム編集（例えば、前述のようなリップル、ロール、スリップ、スライド）にアクセスすることができる。以下の図は、いくつかの実施形態にトリムツールが選択されないときのデフォルトトリム編集の違いを示す。
【０３２９】
図５３は、複合表示領域５３００の３つの段階５３１０〜５３３０にわたって、デフォルトトリム編集を標準メディアクリップへのリプル編集として示し、図５４は、複合表示領域５４００の３つの段階５４１０〜５４３０にわたって、デフォルトのトリム編集をマルチカメラメディアクリップインスタンスに対するロール編集として示す。
【０３３０】
図５３の第１の段階５３１０で、ユーザは、２つのクリップ５３０５と５３１５間で編集ポイントを選択した。これらのクリップは、オーディオ及びビデオコンポーネントを有する標準メディアクリップである（例えば、図８のクリップ８０５）。編集ポイントにあるカーソルは、ユーザがカーソルを左側に移動させるときにリプル編集インジケータを示す。第２の段階５３２０は、ユーザが編集ポイントを約２秒左側に移動させたときの複合表示領域５３００を表示し、第３の段階５３３０は、ユーザが編集ポイントを解放しトリム編集を完了した後の複合表示領域５３００を示す。メディア編集アプリケーションが、デフォルトでリプル編集のとき、これにより、クリップ５３０５のトリム範囲が減少する。クリップ５３１５のデータ構造は影響を受けないが、クリップは、クリップ５３０５が短縮される結果としてタイムライン内の前方で始まる。
【０３３１】
図５４の第１の段階で、ユーザは、２つのマルチカメラメディアクリップインスタンス５４０５と５４１５の間で編集ポイントを選択する。これらのクリップインスタンスは両方とも、同じマルチカメラ参照クリップを参照し、スルー編集によって分離される。したがって、ユーザが、段階５４１０で２つのクリップ間の編集ポイントを選択するとき、メディア編集アプリケーションは、デフォルトでリプル編集ではなくロール編集を使用する。ユーザが、段階５４２０で編集ポイントを左側に移動させるとき、クリップ５４０５の継続時間が減少し、クリップ５４１５の継続時間が増大する。第３の段階５４３０は、ユーザが編集ポイントを解除しトリム編集を完了した後の複合表示領域５４００を示す。メディア編集アプリケーションが、デフォルトでロール編集なので、変更によって、クリップ５４０５のトリム範囲が減少し（アウトポイントが参照クリップ内の前方に移動する）、クリップ５４１５のトリム範囲が増加する（これに対応して、インポイントが参照クリップ内の前方に移動する）。第２のクリップ５４１５の範囲が、第１のクリップ５４０５の範囲の終了直後に始まるので、２つのクリップ間の編集ポイントは、スルー編集のままである。ユーザが、この境界にリプル編集を適用した場合、クリップが参照クリップのタイムラインの後でなくなるので、編集は、スルー編集でなくなる。
【０３３２】
ＶＩ．クリップインスタンスの描画
以上の節では、マルチカメラクリップインスタンスを使用したメディアプロジェクトの編集について述べた。メディアプロジェクトの出力画像を生成するために、アプリケーションは、各フレームの画像をプレゼンテーション内に描画する。これらのフレームの頻度は、メディアプロジェクトに指定されたフレームレートに依存する（例えば、図４に示されたような）。メディアプロジェクト内の特定のフレームの画像を描画するために、アプリケーションは、最初に、その時使用するメディアクリップ又はクリップを特定する。メディアプロジェクト内の時間が、複数のレーンにクリップを有するとき、即ち複数のレーン内にクリップを有する複合クリップを有するとき、複数のソース画像を必要とすることがある。複合プレゼンテーションに一致するフレームレート（典型的には、アセットを介してビデオクリップによって参照されたソースビデオファイルから得られた）を有する標準ビデオクリップから画像を描画するために、アプリケーションは、要求されたフレームに対応するクリップにおける時間からソース画像を特定し、フレームを読み出し復号し、クリップのエフェクトスタック内の任意のエフェクト（例えば、変換、画素値変更など）を適用する。そのような描画操作は、２０１１年５月１９日に出願され「Ｍｅｄｉａ−Ｅｄｉｔｉｎｇ  Ａｐｐｌｉｃａｔｉｏｎ  ｗｉｔｈ  Ｍｕｌｔｉｐｌｅ  Ｒｅｓｏｌｕｔｉｏｎ  Ｍｏｄｅｓ」と題する米国特許出願第１３／１１１，８９５号に詳細に述べられており、この出願は、参照により本明細書に組み込まれる。
【０３３３】
ビデオクリップのフレームレートが、メディアプロジェクトのフレームレートと一致しないとき、いくつかの実施形態は、２０１１年８月２５日に出願され「Ｒａｔｅ  Ｃｏｎｆｏｒｍ  Ｏｐｅｒａｔｉｏｎ  ｆｏｒ  ａ  Ｍｅｄｉａ−Ｅｄｉｔｉｎｇ  Ａｐｐｌｉｃａｔｉｏｎ」と題する米国特許出願第１３／２１８，４０７号に記載されたように、ビデオクリップからの複数のソース画像を使用してレート適合エフェクトを実行し、この出願は、参照により本明細書に組み込まれる。更に、ビデオクリップのビデオプロパティ（例えば、フォーマット及び／又は寸法）が、メディアプロジェクトのビデオプロパティと一致しないとき、いくつかの実施形態は、出願第１３／２１８，４０７号に記載されたように、クリップに空間適合エフェクトを適用する。これらのエフェクトは、いくつかの実施形態においてメディアクリップのエフェクトスタックに記憶され、画像が検索され復号された後で適用される。
【０３３４】
しかしながら、クリップインスタンスは、コンポーネントクリップ又はアセットへの参照を直接含まないが、その代りに、イベントに記憶された参照クリップ（クリップ自体がコンポーネントクリップ及びアセット参照を含む）を参照する。クリップインスタンスは、それ自体のエフェクトスタックを記憶してもよく、マルチカメラクリップインスタンスの場合は、マルチカメラ参照クリップにおける異なるアングルのために様々なエフェクトスタックを記憶してもよい。更に、参照クリップ自体に適用されるエフェクトがあってもよい。マルチカメラ参照クリップ又は複合参照クリップの場合、参照クリップに含まれるクリップは、それ自体のエフェクトスタックを有してもよい。更に、ソース画像が、第１組のビデオプロパティを有し、参照クリップが、第２組のビデオプロパティを有し、クリップインスタンスを含むメディアプロジェクトが、第３組のビデオプロパティを含んでもよい。したがって、いくつかの実施形態のメディア編集アプリケーションは、各出力画像を描画するために、適合エフェクトを含むエフェクトスタックの複数レイヤを適用しなければならないことがある。
【０３３５】
図５５は、メディアプロジェクト内のマルチカメラクリップインスタンスから画像を描画するいくつかの実施形態のプロセス５５００を概念的に示す。図５６及び図５７を参照してプロセス５５００を説明する。図５６は、マルチカメラクリップインスタンス５６０５を含む種々のメディアクリップを含むメディアプロジェクト５６００のタイムラインを概念的に示す。図５７は、メディアプロジェクト５６００の特定画像のレンダーグラフ５７００を概念的に示す。マルチカメラクリップインスタンス５６０５は、マルチカメラ参照クリップ５６１０を参照し、「アングル２」のアクティブビデオアングルを有する。マルチカメラ参照クリップ５６１０は、ビデオアングル「アングル２」内に、特定のクリップ５６１５を含む種々のメディアクリップを含む。
【０３３６】
プロセス５５００は、最初に、マルチカメラクリップインスタンス内の特定時間の画像を描画する要求を受け取る（５５０５で）。いくつかの実施形態のメディア編集アプリケーションは、種々の理由のために描画画像を要求する。ユーザが、複合表示領域内のメディアプロジェクト又は複合クリップをスキミングするか、又はメディアプロジェクトの再生を開始するとき、アプリケーションは、適切な表示領域に出力する画像を描画する。更に、いくつかの実施形態は、そのときに描画する必要がなく画素を将来利用可能にするために、処理及びメモリリソースが利用可能なときに背景に画像を描画する。ユーザは、また、（例えば、記憶領域に、ウェブサイトにアップロードなどするためになど）エクスポート用のメディアプロジェクトを描画することを要求する可能性がある。
【０３３７】
図５６は、メディアプロジェクト５６００の上の再生ヘッド５６２０を示し、再生ヘッド５６２０は、マルチカメラクリップインスタンス５６０５内の特定時間を示す。このクリップインスタンス５６０５は、マルチカメラ参照クリップ５６１０のインスタンスであり、このインスタンスは、フレームレート３０ｆｐｓの７２０ｐビデオフォーマットを有し、変換エフェクトとカラー化エフェクトとの両方が適用される。レンダーグラフ５７００は、クリップインスタンス５６０５内でこの特定時間に所望の出力画像に達するようにソース画像に適用される操作を示す。
【０３３８】
次に、プロセス５５００は、クリップインスタンスのアクティブビデオアングルを特定する（５５１０で）。いくつかの実施形態において、アプリケーションは、アクティブビデオアングルを、クリップインスタンスのデータ構造の変数として記憶する。図５６に示された例では、クリップインスタンス５６０５のアクティブビデオアングルは、「アングル２」である。
【０３３９】
アクティブビデオアングルが特定された状態で、プロセスは、クリップインスタンスによって参照されるマルチカメラ参照クリップのアクティブアングル内の特定時間のビデオクリップ及びアセットを特定する（５５１５で）。メディアプロジェクトにおいて要求される特定時間は、マルチカメラ参照クリップ内の特定時間に対応する。前述のように、いくつかの実施形態のマルチカメラ参照クリップは、１組のアングルを有し、アングルはそれぞれ、順序付けられたクリップグループである。したがって、各アングルは、特定の要求時間に対応するクリップを有する（このクリップはギャップクリップでもよい）。このクリップは、メディアアセットを参照するビデオコンポーネントを有する。クリップが複合クリップの場合、クリップは、複合クリップ内に含まれる様々なクリップによって複数のアセットを参照することがある。図５６の例では、マルチカメラ参照クリップ５６１０内のアクティブアングルが、要求時間にクリップ５６１５を含む。図示されたように、このクリップ５６１５は、フレームレート３０ｆｐｓの１０８０ｐビデオフォーマットを有し、色補正エフェクトが適用された。
【０３４０】
次に、プロセス５５００は、ビデオクリップ内の要求時間に対応するメディアファイルから画像を検索し復号する（５５２０で）。５５１５で特定されたメディアアセットは、実際のビデオ画像を記憶するメディアファイルへの参照を含む。これらの画像は、符号化形式で記憶されることが多く、したがって、メディア編集アプリケーションは、デコーダを使用して画像を復号し、画像を表す１組の画素に達する。図５７に示されたように、レンダーグラフ５７００は、クリップ５６１５によって参照されるメディアアセットからの復号化１９２０×１０８０ビットマップ画像で始まる。
【０３４１】
画像が検索された状態で、プロセスは、復号化画像へのマルチカメラ参照クリップ内のクリップに任意のビデオエフェクトを適用する（５５２５で）。いくつかの実施形態において、参照クリップ（又は、参照クリップ内のクリップ）へのエフェクトは、クリップインスタンスへのエフェクトより前に適用される。更に、いくつかの実施形態は、参照クリップエフェクトを適用した後で、検索された画像を参照クリッププロパティに適合させる。図５６で、クリップ５６１５は、色補正エフェクトを有し、したがって、アプリケーションは、この色補正エフェクトを適用する。レンダーグラフ５７００に示されたように、検索されたビットマップのノード５７０５は、色補正ノード５７１０に進み、クリップ５６１５にこのエフェクトを適用する。この色補正ノードは、ユーザによって定義されたエフェクト（例えば、入力画素値を出力画素値のマッピング）のパラメータを含む。
【０３４２】
次に、プロセスは、画像をマルチカメラクリップの空間プロパティに適合させるのに必要な空間適合エフェクトを適用する（５５３０で）。マルチカメラ参照クリップが、検索された画像と同じ空間ビデオプロパティを有する場合、空間適合エフェクトは不要である。空間プロパティが異なるとき、メディア編集アプリケーションは、要求されたサイズ（この場合は、参照クリップのサイズ）の画像を生成するために空間適合エフェクトを適用する。画像のアスペクト比が異なるとき、アプリケーションは、検索された画像の全体を出力画像（ピラーボックス又はレターボックスを有する）に適合させるか、又は出力画像の全体を満たすことができる（検索された画像の一部を切り取る）。いくつかの実施形態の空間適合エフェクトの詳細な考察は、前に参照により組み込まれた米国特許出願第１３／２１８，４０７号に見ることができる。
【０３４３】
マルチカメラ参照クリップ内のタイムアライメントを保存するために、いくつかの実施形態は、含まれるビデオクリップを参照クリップのフレームレートに時間的に適合させない。他方、いくつかの実施形態は、フレームサンプリング又はブレンディングなどの時間保存レート適合エフェクトを使用するが、クリップの速度を増減するレート適合エフェクトの使用を回避する。様々なレート適合技術の詳細な検討は、米国特許出願第１３／２１８，４０７号に見ることができる。
【０３４４】
クリップ５６１５は、１０８０ｐビデオフォーマット（方形画素で１９２０×１０８０画像）を有し、クリップ５６１５を含む参照クリップ５６１０は、７２０ｐビデオフォーマット（方形画素で１２８０×７２０画像）を有し、したがって、アプリケーションは、１９２０×１０８０画像を１２８０×７２０にスケール変更するために空間適合エフェクトを適用する。したがって、レンダーグラフ５７００内の次の操作は、入力画像を２／３（０．６７）倍にスケール変更する変換ノードである。このノード５７１５の出力は、１２８０×７２０ビットマップになる。
【０３４５】
図５５に戻ると、プロセス５５００は、次に、画像に、マルチカメラインスタンスクリップ内のアクティブアングルに任意のビデオエフェクトを適用する（５５３５で）。前述のように、いくつかの実施形態は、マルチカメラ参照クリップのアングルごとに、クリップインスタンスにビデオエフェクトスタックを記憶する。プロセスは、アクティブアングルのエフェクトスタックを特定し、このスタック内の任意のエフェクトを適用する。図５６で、クリップ５６０５のアクティブアングル（「アングル２」）に、カラー化エフェクト及び変換エフェクトが適用される。したがって、レンダーグラフ５７００は、カラー化エフェクトのためのノード５７２０、及び変換動作のためのノード５７２５を有する。いくつかの実施形態は、これらの２つの操作の順序を切り替えて、変換５７１５を変換動作５７２５と組み合わせる。変換エフェクト５７２５が画像を拡大する場合、これらの操作を組み合わせることにより、画像をダウンスケールし次にその後で画像をアップスケールすることによって引き起こされる解像度の低下が回避される。しかしながら、いくつかの実施形態は、参照クリップ内で適用されるエフェクトを、アクティブアングルに適用されるエフェクトから分離する。
【０３４６】
最後に、プロセス５５００は、空間及び時間エフェクトを画像に適用して、その画像をマルチカメラクリップインスタンスを含むメディアプロジェクトの空間プロパティ及びフレームレートに適合させ（５５４０で）、終了する。マルチカメラ参照クリップの空間プロパティが、メディアプロジェクトのものと同じとき、空間適合エフェクトは必要ない。あるいは、空間適合エフェクトは、操作５５３０について前述したように適用される。参照クリップとメディアプロジェクトのフレームレートが一致しないとき、アプリケーションは、レート適合エフェクトを適用する。いくつかの実施形態において、出力画像がソース画像のうちの２つの混合物なので、レート適合エフェクトは、実際にソースビデオファイルから複数フレームを必要とする。他のレート適合エフェクトは、１つの画像しか必要としない。前述したように、様々なレート適合技術の技術な説明は、米国特許出願第１３／２１８，４０７号に見ることができる。図５６の場合、参照クリッププロパティ（７２０ｐ，３０ｆｐｓ）が、メディアプロジェクトのものと一致し、したがって、適合エフェクトは必要ない。したがって、操作５７２５の出力は、メディアプロジェクトの要求画像である。
【０３４７】
当業者は、いくつかの実施形態において、メディア編集アプリケーションが、画像を検索せず、次に参照クリップからどのエフェクトを適用するかを決定し、次にそれらのエフェクトを適用し、次にクリップインスタンスからどのエフェクトを適用するかを決定し、次にそれらのクリップインスタンスエフェクトを適用することを理解するであろう。その代わりに、アプリケーションは、グラフ５７００などのレンダーグラフを構築し、次に画像を検索し復号化し、レンダーグラフ操作を復号化画像に適用し始める。これにより、アプリケーションは、可能なときにエフェクトを組み合わせて、画素を繰り返し再サンプリングするのを回避することができる。例えば、変換エフェクトと適合エフェクトとの両方とも画像に適用される場合、いくつかの実施形態は、これらの操作を組み合わせる。いくつかの実施形態の描画操作のより詳細な考察は、前の参照により組み込まれた米国特許出願第１３／１１１，８９５号に見ることができる。
【０３４８】
図５５〜図５７は、マルチカメラクリップを参照するマルチカメラクリップインスタンスの描画について述べた。当業者は、類似の法則が、参照クリップが個別のクリップか複合クリップなどかに関係なく、参照クリップのインスタンスとして実施される他のクリップにも適用されることなどを理解するであろう。いくつかの実施形態は、最初に参照クリップ又は参照クリップに含まれるクリップにエフェクトを適用し、その後でクリップインスタンスにエフェクトを適用することによって、そのようなクリップを描画する。
【０３４９】
ＶＩＩ．ソフトウェアアーキテクチャ
いくつかの実施形態において、前述のプロセスは、コンピュータ又はハンドヘルド装置などの特定のマシン上で動作するか又はマシン可読媒体内に記憶されたソフトウェアとして実施される。図５８は、いくつかの実施形態のメディア編集アプリケーション５８００のソフトウェアアーキテクチャを概念的に示す。いくつかの実施形態において、メディア編集アプリケーションは、独立型アプリケーションであるか又は別のアプリケーションに一体化され、他の実施形態において、アプリケーションは、オペレーティングシステム内で実施されてもよい。更に、いくつかの実施形態において、アプリケーションは、サーバベースソリューションの一部として提供される。いくつかのそのような実施形態において、アプリケーションは、シンクライアントによって提供される。即ち、アプリケーションは、サーバ上で動作し、ユーザは、サーバからリモートの別個のマシンを介してアプリケーションと対話する。他のそのような実施形態において、アプリケーションは、シッククライアントによって提供される。即ち、アプリケーションは、サーバからクライアントマシンに分配され、クライアントマシン上で動作する。
【０３５０】
メディア編集アプリケーション５８００は、ユーザインタフェース（ＵＩ）対話生成モジュール５８０５、メディア取り込みモジュール５８１０、編集モジュール５８１５、タイムラインジェネレータ、アングルビューワジェネレータ５８２７、レンダリングエンジン５８２５、再生モジュール５８３０を含む。図は、また、メディア編集アプリケーションと関連付けられた記憶データ、即ち、ソースファイル５８３５、イベントデータ５８４０、プロジェクトデータ５８４５、及び描画ファイル５８５０を示す。
【０３５１】
いくつかの実施形態において、ソースファイル５８３５は、アプリケーションにインポートされたメディアファイル（例えば、ビデオファイル、オーディオファイル、組み合わせビデオ及びオーディオファイルなど）を記憶する。イベントデータ５８４０は、マルチカメラ参照クリップを含むクリップライブラリ及びクリップブラウザをポピュレートするためにいくつかの実施形態によって使用されるイベント情報を記憶する。イベントデータは、いくつかの実施形態において、１つ以上のＳＱＬｉｔｅデータベースファイル（又は、他のフォーマット）として記憶された１組のクリップオブジェクトデータ構造でよい。プロジェクトデータ５８４５は、タイムライン内で複合プレゼンテーションを指定するためにいくつかの実施形態によって使用されるプロジェクト情報を記憶する。プロジェクトデータは、また、いくつかの実施形態において、１つ以上のＳＱＬｉｔｅデータベースファイル（又は、他のフォーマット）として記憶された１組のクリップオブジェクトデータ構造でよい。そのようなクリップオブジェクトデータ構造は、イベントデータ５８４０内に記憶されたマルチカメラ参照クリップを参照するマルチカメラクリップインスタンス、並びにイベントデータ５８４０に記憶されたアセットデータ構造を参照する他のクリップオブジェクトを含む。いくつかの実施形態の描画ファイル５８５０は、クリップブラウザ又はタイムライン内に表示するためのサムネイルサイズ画像、メディアクリップのオーディオ波形表示、並びに再生中に使用されるタイムラインシーケンスの描画セグメントを含んでもよい。
【０３５２】
いくつかの実施形態において、４組のデータ５８３５〜５８５０が、物理記憶装置（例えば、内部ハードディスク、外部ハードディスクなど）に記憶される。いくつかの実施形態において、データは、複数の物理記憶装置の間で分割されてもよい。例えば、ソースファイルが、イベントデータ、プロジェクトデータと共に外部ハードディスクに記憶され、描画ファイルが、内部ドライブに記憶されてもよい。いくつかの実施形態は、イベントデータをその関連付けられたソースファイル及び描画ファイルと共に１組のフォルダに記憶し、プロジェクトデータを関連付けられた描画ファイルと共に別個の１組のフォルダに記憶する。
【０３５３】
図５８は、また、入力装置ドライバ５８６０、ディスプレイモジュール５８６５及びメディアインポートモジュール５８７０を含むオペレーティングシステム５８５５を示す。いくつかの実施形態において、図示されたように、デバイスドライバ５８６０、ディスプレイモジュール５８６５及びメディアインポートモジュール５８７０は、メディア編集アプリケーション５８００がオペレーティングシステムと別個のアプリケーションのときでもオペレーティングシステムの一部である。
【０３５４】
入力装置ドライバ５８６０は、キーボード、マウス、タッチパッド、タブレット、タッチスクリーンなどからの信号を変換するためのドライバを含むことがある。ユーザは、これらの入力装置のうちの１つ以上と対話し、これらの入力装置は、信号をその対応するデバイスドライバに送る。次に、デバイスドライバは、信号を、ＵＩ対話生成モジュール５８０５に提供されるユーザ入力データに変換する。
【０３５５】
本出願は、異なる組の動作及び機能を実行する多数の方法をユーザに提供するグラフィカルユーザインタフェースについて述べる。いくつかの実施形態において、これらの動作及び機能は、様々な入力装置（例えば、キーボード、トラックパッド、タッチパッド、マウスなど）を介してユーザから受け取った様々なコマンドに基づいて実行される。例えば、本出願は、グラフィカルユーザインタフェース内のカーソルを使用してグラフィカルユーザインタフェース内のオブジェクトを制御する（例えば、選択し、移動させる）ことを示す。しかしながら、いくつかの実施形態において、グラフィカルユーザインタフェース内のオブジェクトを、タッチ制御などの他の制御によって制御又は操作することもできる。いくつかの実施形態において、タッチ制御は、装置のディスプレイ上のタッチの存在及び位置を検出することができる入力装置によって実現される。そのような装置の一例は、タッチスクリーン装置である。いくつかの実施形態において、タッチ制御によって、ユーザは、タッチスクリーン装置のディスプレイ上に表示されたグラフィカルユーザインタフェースとの対話によって、オブジェクトを直接操作することができる。例えば、ユーザは、タッチスクリーン装置のディスプレイ上の特定のオブジェクトにタッチするだけで、グラフィカルユーザインタフェース内の特定のオブジェクトを選択することができる。したがって、タッチ制御が利用されるとき、いくつかの実施形態において、グラフィカルユーザインタフェースのオブジェクトの選択を可能にするためにカーソルが提供されなくてもよい。しかしながら、グラフィカルユーザインタフェース内にカーソルが提供されるとき、いくつかの実施形態において、タッチ制御を使用してカーソルを制御することができる。
【０３５６】
ディスプレイモジュール５８６５は、ディスプレイ装置用のユーザインタフェースの出力を変換する。即ち、ディスプレイモジュール５８６５は、何を表示すべきかを示す信号（例えば、ＵＩ対話生成モジュール５８０５から）を受け取り、それらの信号をディスプレイ装置に送られる画素情報に変換する。ディスプレイ装置は、ＬＣＤ、プラズマスクリーン、ＣＲＴモニタ、タッチスクリーンなどでよい。
【０３５７】
メディアインポートモジュール５８７０は、メディア編集アプリケーション５８００が動作する装置の１つ以上のポート（例えば、ＵＳＢポート、Ｆｉｒｅｗｉｒｅポートなど）を介して記憶装置（例えば、外部ドライブ、記録装置など）からメディアファイル（例えば、オーディオファイル、ビデオファイルなど）を受け取り、ここのメディアデータをメディア編集アプリケーションのために変換するか、又はデータを装置の記憶装置に直接記憶する。
【０３５８】
メディア編集アプリケーション５８００のＵＩ対話生成モジュール５８０５は、入力装置ドライバから受け取ったユーザ入力データを解釈し、そのデータを、メディア取り込みモジュール５８１０、編集モジュール５８１５、タイムラインジェネレータ５８２０、アングルビューワジェネレータ５８２７、レンダリングエンジン５８２５及び再生モジュール５８３０を含む様々なモジュールに渡す。ＵＩ対話モジュールは、また、メディア編集アプリケーションＧＵＩの表示を管理し、この表示情報をディスプレイモジュール５８６５に出力する。このＵＩ表示情報は、編集モジュール５８１５、タイムラインジェネレータ５８２０、アングルビューワジェネレータ５８２７、再生モジュール５８３０、データ５８３５〜５８５０などからの情報に基づいてもよい。更に、モジュール５８０５は、ユーザ入力だけに基づいて、例えば、ユーザが、ウィンドウをＵＩの一方の側から他方に移動させたり、クリップブラウザ及びクリップライブラリの相対サイズを変更したりするなどの、他のモジュールのいずれよりも表示だけに影響を及ぼすＵＩ内の項目を移動させるときに、ＵＩの一部分を生成することがある。いくつかの実施形態において、ＵＩ対話生成モジュール５８０５は、基本ＧＵＩを生成し、そのＧＵＩを他のモジュールからの情報及び記憶データでポピュレートする。
【０３５９】
メディア取り込みモジュール５８１０は、メディア編集アプリケーション５８００へのソースメディアのインポートを管理する。いくつかの実施形態は、図示されたように、オペレーティングシステム５８５５のメディアインポートモジュール５８７０からソースメディアを受け取る。メディア取り込みモジュール５８１０は、どのファイルをインポートすべきかについてＵＩモジュール５８０５を介して命令を受け取り、次にメディアインポートモジュール５８７０に指示して、（例えば、外部ドライブ、カメラなどからの）このインポートを可能にする。いくつかの実施形態のメディア取り込みモジュール５８１０は、これらのソースファイル５８３５を、アプリケーションと関連付けられた特定のファイルフォルダに記憶する。いくつかの実施形態において、メディア取り込みモジュール５８１０は、また、ソースファイルのインポート時のイベントデータ構造の作成、並びにイベントに含まれるクリップ及びアセットデータ構造の作成を管理する。
【０３６０】
編集モジュール５８１５は、クリップブラウザ並びにタイムライン内のメディアを編集するための様々なモジュールを含む。編集モジュール５８１５は、プロジェクトの作成、プロジェクトからクリップの追加及び削減、タイムライン内のトリミング若しくは他の編集処理、エフェクト及びトランジションの適用、又は他の編集処理を操作する。いくつかの実施形態において、編集モジュール５８１５は、イベントデータ１９８０とプロジェクトデータ５８４５との両方においてプロジェクト及びクリップデータ構造を作成し変更する。
【０３６１】
いくつかの実施形態の編集モジュール５８１５は、クリップ、メディアプロジェクトなどを編集するモジュールを含む。編集モジュールは、メディアプロジェクトを作成し、プロジェクト内のクリップをトリムし、クリップにエフェクトを適用し、他の操作を行う。いくつかの実施形態において、編集モジュールは、イベントデータ５８４０及びプロジェクトデータ５８４５を変更する。編集モジュール５８１５は、自動マルチカメラクリップ作成（例えば、クリップのアングルへの割り当て、アングルの順序付けと配列、及びアングルの割り当て）を実行するマルチカメラ作成モジュール５８１７を含む。更に、編集モジュール５８１５を使用して、アングルエディタでマルチカメラ参照クリップを手動で編集することができる。
【０３６２】
タイムラインジェネレータ５８２０は、要求されたメディアプロジェクト、複合クリップ、マルチカメラ参照クリップなどに基づいて、複合表示領域に表示するタイムラインを生成する。例えば、ユーザが、アングルエディタ内にマルチカメラ参照クリップを表示させることを要求したとき、タイムラインジェネレータ５８２０は、イベントデータ５８４０から参照クリップ情報を検索し、クリップの異なるアングルのトラックの表示を生成する。次に、タイムラインジェネレータ５８２０は、生成されたタイムラインを、ＵＩに組み込むためにＵＩ対話生成モジュール５８０５に渡す。
【０３６３】
アングルビューワジェネレータ５８２３は、マルチカメラ参照クリップに基づいて、ＧＵＩ内に表示するアングルビューワを生成する。アングルビューワジェネレータは、アングルエディタ内で編集されるか又はユーザがスキミングしているインスタンスクリップが参照する参照クリップのデータを要求する。参照クリップに基づいて、アングルビューワジェネレータ５８２３は、バンク及びプレビュー表示を生成し、次に再生モジュール５８３０からプレビュー表示に適切な出力画像を要求する。
【０３６４】
レンダリングエンジン５８２５は、メディア編集アプリケーション用の画像を描画を処理する。図示されたように、いくつかの実施形態のレンダリングエンジン５８２０は、レンダーグラフジェネレータ５８２１、スケジューラ５８２２、及び画像処理操作５８２３を含む。レンダリングエンジンは、メディア編集アプリケーション用の画像の作成を管理する。画像が、アプリケーション（例えば、再生モジュール５８３０、エンコーダ、解析エンジンなど）内のディスティネーションによって要求されたとき、レンダリングエンジンは、要求された画像をプロジェクト又はイベントのデータにしたがって出力する。レンダリングエンジンは、要求画像を作成する方法を特定するプロジェクトデータ又はイベントデータを検索し、レンダーグラフジェネレータ５８２１は、ソースファイル５８３５から検索する画像又は検索した画像に行う操作を特定する１連のノードであるレンダーグラフを生成する。スケジューラ５８２２は、ディスク読出し操作による必要画像の検索、及びそのような画像の復号化をスケジューリングする。画像処理動作５８２３は、出力画像を生成するために画像に行われる様々な操作である。いくつかの実施形態において、これらの操作には、混合操作、エフェクト（例えば、ボケ又は他の画素値変更操作、変形、適合エフェクトなど）、カラー空間変換などが挙げられる。いくつかの実施形態における画像処理動作５８２３は、実際に、オペレーティングシステムの一部であり、アプリケーション５８００が動作する装置のＧＰＵ又はＣＰＵによって実行される。レンダリングエンジンの出力（描画画像）は、描画ファイル５８５０に記憶されてもよく、追加の処理又は出力のためにディスティネーションに送られてもよい。
【０３６５】
再生モジュール５８３０は、（例えば、ユーザインタフェースのプレビュー表示領域内、又はアングルビューワのプレビュー表示のうちの１つのプレビュー表示内）画像の再生を処理する。いくつかの実施形態は、再生モジュールを含んでおらず、レンダリングエンジンは、その画像を、ＧＵＩに組み込むためにＵＩ対話生成モジュール５８０５に直接出力するか、又はディスプレイ装置の特定部分に表示するためにディスプレイモジュール５８６５に直接出力する。
【０３６６】
メディア編集アプリケーション５８００の特徴の多くが、１つのモジュール（例えば、ＵＩ対話生成モジュール５８０５、メディア取り込みモジュール５８１０など）によって実行されるように述べたが、当業者は、本明細書で述べた機能が複数のモジュールに分割されてもよいことを理解するであろう。同様に、複数の異なるモジュールによって実行されるように述べた機能は、いくつかの実施形態において単一モジュールによって実行されてもよい（例えば、再生モジュール５８３０、アングルビューワジェネレータ５８２７、及びタイムラインジェネレータ５８２０がすべて、ＵＩ対話生成モジュール５８０５の一部分でもよく、エフェクトが別個に記憶されるときでも単一モジュールを使用して変換並びに空間適合が実行されてもよい）。
【０３６７】
ＶＩＩＩ．電子システム
前述の機能及びアプリケーションの多くは、コンピュータ可読記憶媒体（コンピュータ可読媒体とも呼ばれる）に記録される命令セットとして指定されるソフトウェアプロセスとして実現される。これらの命令が、１つ以上の計算又は処理ユニット（例えば、１つ以上のプロセッサ、プロセッサのコア、又は他の処理ユニット）によって実行されるとき、それらの命令は、処理ユニットに、命令に示されたアクションを実行させる。コンピュータ可読媒体の例には、ＣＤ−ＲＯＭ、フラッシュドライブ、ランダムアクセスメモリ（ＲＡＭ）チップ、ハードディスク、消去可能プログラム可能な読出し専用メモリ（ＥＰＲＯＭ）、電気的消去可能プログラム可能な読み出し専用メモリ（ＥＥＰＲＯＭ）などがあるが、これらに限定されない。コンピュータ可読媒体は、無線によって又は有線接続により進行する搬送波及び電子信号を含まない。
【０３６８】
この明細書では、用語「ソフトウェア」は、プロセッサによって処理するためにメモリに読み込むことができる、読み出し専用メモリ内に存在するファームウェア又は磁気記憶装置に記憶されたアプリケーションを含む。また、いくつかの実施形態において、複数のソフトウェア発明は、別個のソフトウェア発明をそのままにしながら、より大きいプログラムの下位区分として実施されてもよい。いくつかの実施形態において、複数のソフトウェア発明を別個のプログラムとして実行することもできる。最後に、本明細書で述べたソフトウェア発明を一緒に実行する別個のプログラムの如何なる組み合わせも本発明の範囲内である。いくつかの実施形態において、ソフトウェアプログラムは、１つ以上の電子システム上で動作するようにインストールされたとき、ソフトウェアプログラムの動作を実行し行なう１つ以上の特定のマシン実装を定義する。
【０３６９】
図５９は、本発明のいくつかの実施形態が実現される電子システム５９００を概念的に示す。電子システム５９００は、コンピュータ（例えば、デスクトップコンピュータ、パーソナルコンピュータ、タブレットコンピュータなど）、電話、ＰＤＡ、又は他の種類の電子若しくはコンピューティング装置でよい。そのような電子システムは、様々なタイプのコンピュータ可読媒体、及び様々な他のタイプのコンピュータ可読媒体のためのインタフェースを含む。電子システム５９００は、バス５９０５、処理ユニット５９１０、グラフィクス処理ユニット（ＧＰＵ）５９１５、システムメモリ５９２０、ネットワーク５９２５、読み出し専用メモリ５９３０、永久記憶装置５９３５、入力装置５９４０及び出力装置５９４５を含む。
【０３７０】
バス５９０５は、電子システム５９００の多数の内部装置を通信で接続する全てのシステム、周辺装置及びチップセットバスを集合的に表す。例えば、バス５９０５は、処理ユニット５９１０を、読み出し専用メモリ５９３０、ＧＰＵ  ５９１５、システムメモリ５９２０、及び永久記憶装置５９３５と通信で連絡する。
【０３７１】
これらの様々なメモリユニットから、処理ユニット５９１０は、本発明のプロセスを実行するために実行すべき命令及び処理すべきデータを検索する。処理ユニットは、異なる実施形態において、シングルプロセッサ又はマルチコアプロセッサでよい。いくつかの命令は、ＧＰＵ  ５９１５に渡され、ＧＰＵ  ５９１５によって実行される。ＧＰＵ  ５９１５は、様々な計算をオフロードしたり、処理ユニット５９１０によって提供された画像処理を補完したりすることができる。いくつかの実施形態において、そのような機能は、ＣｏｒｅＩｍａｇｅのカーネルシェーディング言語を使用して提供されてもよい。
【０３７２】
読み出し専用メモリ（ＲＯＭ）５９３０は、処理ユニット及び５９１０電子システムの他のモジュールによって必要とされる静的データ及び命令を記憶する。他方、永久記憶装置５９３５は、読み書きメモリ装置である。この装置は、電子システム５９００がオフででも、命令及びデータを記憶する不揮発性メモリユニットである。本発明のいくつかの実施形態は、永久記憶装置５９３５として大容量記憶装置（磁気又は光ディスク、及びその対応するディスクドライブなど）を使用する。
【０３７３】
他の実施形態は、永久記憶装置としてリムーバブル記憶装置（フロッピディスク、フラッシュメモリデバイスなど、及びその対応ドライブ）を使用する。永久記憶装置５９３５と同様に、システムメモリ５９２０は、読み書きメモリ装置である。しかしながら、記憶装置５９３５と異なり、システムメモリ５９２０は、ランダムアクセスメモリなどの揮発性読み書きメモリである。システムメモリ５９２０は、実行時間にプロセッサが必要とする命令及びデータのうちのいくつかを記憶する。いくつかの実施形態において、本発明のプロセスは、システムメモリ５９２０、永久記憶装置５９３５、及び／又は読み出し専用メモリ５９３０に記憶される。例えば、様々なメモリユニットは、いくつかの実施形態によれば、マルチメディアクリップを処理する命令を含む。これらの様々なメモリユニットから、処理ユニット５９１０は、いくつかの実施形態のプロセスを実行するために実行する命令及び処理するデータを検索する。
【０３７４】
バス５９０５は、また、入力装置５９４０及び出力装置５９４５に繋がる。ユーザは、入力装置５９４０によって、電子システムに情報及び選択コマンドを送ることができる。入力装置５９４０には、英数字キーボード及びポインティングデバイス（「カーソル制御デバイス」とも呼ばれる）、カメラ（例えば、ウェブカメラ）、音声コマンドを受けるマイクロフォン又は類似の装置などが挙げられる。出力装置５９４５は、電子システムによって生成された画像を表示するか、又はデータを他の方法で出力する。出力装置５９４５には、プリンタ、陰極線管（ＣＲＴ）又は液晶ディスプレイ（ＬＣＤ）などのディスプレイ装置、並びにスピーカ又は類似のオーディオ出力装置が挙げられる。いくつかの実施形態には、入力装置と出力装置との両方として機能するタッチスクリーンなどのデバイスを含む。
【０３７５】
最後に、図５９に示されたように、バス５９０５は、ネットワークアダプタ（図示せず）を介して電子システム５９００をネットワーク５９２５に結合する。このように、コンピュータは、コンピュータのネットワークの一部（ローカルエリアネットワーク（「ＬＡＮ」）、広域ネットワーク（「ＷＡＮ」）、又はイントラネットなど）、又はインターネットなどのネットワークのネットワークでよい。電子システム５９００のいずれか又はすべてのコンポーネントが、本発明で使用されてもよい。
【０３７６】
いくつかの実施形態は、マイクロプロセッサ、マシン可読又はコンピュータ可読媒体（あるいは、コンピュータ可読記憶媒体、マシン可読媒体又はマシン可読記憶媒体と呼ばれる）にコンピュータプログラム命令を記憶する記憶装置及びメモリなどの電子構成要素を含む。そのようなコンピュータ可読媒体のいくつかの例には、ＲＡＭ、ＲＯＭ、読み出し専用コンパクトディスク（ＣＤ−ＲＯＭ）、追記型コンパクトディスク（ＣＤ−Ｒ）、書き換え可能コンパクトディスク（ＣＤ−ＲＷ）、読み出し専用多目的ディスク（例えば、ＤＶＤ−ＲＯＭ、２層ＤＶＤ−ＲＯＭ）、様々な記録可能／書き換え可能ＤＶＤ（例えば、ＤＶＤ−ＲＡＭ、ＤＶＤ−ＲＷ、ＤＶＤ＋ＲＷなど）、フラッシュメモリ（例えば、ＳＤカード、ミニＳＤカード、マイクロＳＤカードなど）、磁気及び／又はソリッドステートハードディスク、読み出し専用記録可能Ｂｌｕ−Ｒａｙ（登録商標）ディスク、超高密度光ディスク、任意の他の光学又は磁気メディア、及びフロッピディスクが挙げられる。コンピュータ可読媒体は、少なくとも１つの処理ユニットによって実行可能で、様々な操作を実行する命令セットを含むコンピュータプログラムを記憶してもよい。コンピュータプログラム又はコンピュータコードの例には、コンパイラによって作成されるようなマシンコード、及びインタープリタを使用してコンピュータ、電子構成要素又はマイクロプロセッサによって実行される高レベルコードを含むファイルが挙げられる。
【０３７７】
上記の考察は、主に、ソフトウェアを実行するマイクロプロセッサ又はマルチコアプロセッサを参照しているが、いくつかの実施形態は、特定用途向け集積回路（ＡＳＩＣ）又はフィールドプログラマブルゲートアレイ（ＦＰＧＡ）などの１つ以上の集積回路によって実行される。いくつかの実施形態において、そのような集積回路は、回路自体に記憶された命令を実行する。更に、いくつかの実施形態は、プログラマブルロジックデバイス（ＰＬＤ）、ＲＯＭ、又はＲＡＭデバイスに記憶されたソフトウェアを実行する。
【０３７８】
本出願のこの明細書及びクレームで使用されるとき、用語「コンピュータ」、「サーバ」、「プロセッサ」及び「メモリ」は全て、電子又は他の技術装置を参照する。これらの用語は、人々又は人々のグループを含まない。規定のため、用語「ディスプレイ又は表示」は、電子システム上の表示を意味する。本出願のこの明細書及びクレームで使用されるとき、用語「コンピュータ可読媒体」、「コンピュータ可読媒体」、及び「マシン可読媒体」は、コンピュータによって読み出し可能な形式で情報を記憶する有形な物理的物体に完全に制限される。これらの用語は、無線信号、有線でダウンロードされた信号、及び他の暫時信号を除外する。
【０３７９】
本発明を多数の特定の詳細に関して述べたが、当業者は、本発明を、本発明の趣旨から逸脱しない他の特定の形式で実施できることを理解するであろう。更に、いくつかの図（図１０、図１２、図１４、図１６、図１８、図２６、図４５及び図５５を含む）は、プロセスを概念的に示す。これらのプロセスの具体的な操作は、図示され記述された厳密な順序で実行されなくてもよい。具体的な操作は、１つの連続した一連の操作で実行されなくてもよく、様々な具体的な操作が、異なる実施形態で実行されてもよい。更に、プロセスは、いくつかのサブプロセスを使用して、又はより大きいマクロプロセスの一部として実施されてもよい。したがって、当業者は、本発明が、以上の実例となる詳細によって制限されず、添付の特許請求の範囲によって定義されることを理解するであろう。
【図１】
0005856690.tif 000002
【図２】
0005856690.tif 000003
【図３】
0005856690.tif 000004
【図４】
0005856690.tif 000005
【図５】
0005856690.tif 000006
【図６】
0005856690.tif 000007
【図７】
0005856690.tif 000008
【図８】
0005856690.tif 000009
【図９】
0005856690.tif 000010
【図１０】
0005856690.tif 000011
【図１１】
0005856690.tif 000012
【図１２】
0005856690.tif 000013
【図１３】
0005856690.tif 000014
【図１４】
0005856690.tif 000015
【図１５】
0005856690.tif 000016
【図１６】
0005856690.tif 000017
【図１７】
0005856690.tif 000018
【図１８】
0005856690.tif 000019
【図１９】
0005856690.tif 000020
【図２０】
0005856690.tif 000021
【図２１】
0005856690.tif 000022
【図２２】
0005856690.tif 000023
【図２３】
0005856690.tif 000024
【図２４】
0005856690.tif 000025
【図２５】
0005856690.tif 000026
【図２６】
0005856690.tif 000027
【図２７】
0005856690.tif 000028
【図２８】
0005856690.tif 000029
【図２９】
0005856690.tif 000030
【図３０】
0005856690.tif 000031
【図３１】
0005856690.tif 000032
【図３２】
0005856690.tif 000033
【図３３】
0005856690.tif 000034
【図３４】
0005856690.tif 000035
【図３５】
0005856690.tif 000036
【図３６】
0005856690.tif 000037
【図３７】
0005856690.tif 000038
【図３８】
0005856690.tif 000039
【図３９】
0005856690.tif 000040
【図４０】
0005856690.tif 000041
【図４１】
0005856690.tif 000042
【図４２】
0005856690.tif 000043
【図４３】
0005856690.tif 000044
【図４４Ａ】
0005856690.tif 000045
【図４４Ｂ】
0005856690.tif 000046
【図４４Ｃ】
0005856690.tif 000047
【図４４Ｄ】
0005856690.tif 000048
【図４５】
0005856690.tif 000049
【図４６】
0005856690.tif 000050
【図４７】
0005856690.tif 000051
【図４８】
0005856690.tif 000052
【図４９】
0005856690.tif 000053
【図５０】
0005856690.tif 000054
【図５２】
0005856690.tif 000055
【図５３】
0005856690.tif 000056
【図５４】
0005856690.tif 000057
【図５５】
0005856690.tif 000058
【図５６】
0005856690.tif 000059
【図５７】
0005856690.tif 000060
【図５８】
0005856690.tif 000061
【図５９】
0005856690.tif 000062
【図５１】
0005856690.tif 000063