(57)【要約】      （修正有）【課題】同期メディア・プロジェクト、同期ＳＤＫ及び同期サービスが、複数のユーザが共同してメディア構成を制作する方法を提供する。【解決手段】同期ＳＤＫは、複数のアプリケーションが、プロジェクトの内部編成とは独立してメディア・プロジェクトを編集することを可能にする。プロジェクト同期サービスは、クライアントに配置されたメディア・プロジェクトのコピーを、サーバ・ベース・バージョン・マスタ・プロジェクトと同期させる。ユーザ選択可能なプロジェクト同期モードが、メディア・プロジェクト・アセットがクライアント、サーバ又は双方に格納されているのか、そしていつメディア・アセットが移されるか判定を行う。同期メディア・プロジェクトは、構成アセットを固有フォーマットおよび相互動作可能フォーマットとする。相互動作可能構成アセットは、トラック毎に、固有構成アセットからレンダリングされる。【選択図】図１
2015216630.tif 000002
【特許請求の範囲】
【請求項１】
少なくとも部分的にクライアントに格納されたメディア・プロジェクトを編集する方法であって、前記メディア・プロジェクトが、構成アセットおよびメディア・アセットの内少なくとも１つを含み、
前記クライアントにおいて実行するアプリケーションのユーザが、前記アプリケーションを使用して前記メディア・プロジェクトを編集することを可能にするステップであって、前記アプリケーションが前記メディア・プロジェクトの内部編成とは独立して前記メディア・プロジェクトを編集できるように、前記アプリケーションが前記メディア・プロジェクトとソフトウェア開発キットを介して通信するステップと、
構成アセットがサーバではなくて前記クライアントにおいて格納されるのか、前記クライアントではなくて前記サーバに格納されるのか、または前記クライアントおよび前記サーバ双方に格納されるのか、および
メディア・アセットが、前記サーバではなくて前記クライアントに格納されるのか、前記クライアントではなくて前記サーバに格納されるのか、または前記クライアントおよび前記サーバ双方に格納されるのか、
を指定する同期モードを前記メディア・プロジェクトに指定するステップと、
プロジェクト同期サービスを提供するステップであって、前記クライアントに格納された前記メディア・プロジェクトおよび前記サーバに格納された前記メディア・プロジェクトのコピーが、前記指定された同期モードにしたがって、互いに同期される、ステップと、
を含む、方法。
【請求項２】
請求項１記載の方法において、前記メディア・プロジェクトが、前記アプリケーションに固有のフォーマットで構成アセットを含む、方法。
【請求項３】
請求項１記載の方法において、前記メディア・プロジェクトが、相互動作可能なフォーマットで構成アセットを含む、方法。
【請求項４】
請求項１記載の方法において、前記同期モードが、
前記クライアントがネットワークから切断された後に、前記ネットワークに接続されたとき、および
前記クライアントがネットワークに接続された後に、前記ネットワークから切断されたとき、
の内少なくとも１つのときに、自動的に変更される、方法。
【請求項５】
請求項１記載の方法であって、更に、第２クライアントにおいて実行するアプリケーションのユーザが、前記アプリケーションを使用して、前記第２クライアントに少なくとも部分的に格納された前記メディア・プロジェクトのコピーを編集することを可能にするステップを含み、前記メディア・プロジェクトのコピーに指定された同期モードにしたがって、前記同期サービスを使用して、前記メディア・プロジェクトのコピーが、前記サーバによって、前記最初に述べたメディア・プロジェクトと同期される、方法。
【請求項６】
請求項１記載の方法において、前記指定された同期モードが、前記メディア・アセットが前記サーバに格納され前記クライアントには格納されないことを指定し、更に、メディア・アセットが前記アプリケーションによって要求されたときに、前記クライアントにメディア・アセットをストリーミングするステップを含む、方法。
【請求項７】
請求項１記載の方法であって、更に、メディア・アセットが前記アプリケーションによって要求されたが前記クライアントには存在しないときに、前記メディア・アセットを前記クライアントにストリーミングするステップを含む、方法。
【請求項８】
請求項１記載の方法において、前記メディア・プロジェクトが複数のバージョンを含む、方法。
【請求項９】
請求項１記載の方法において、前記相互動作可能構成アセットが、プレイリストを参照する、方法。
【請求項１０】
請求項１記載の方法において、前記アプリケーションが、メディア・アセットが前記クライアントに存在するか否か判定することができる、方法。
【請求項１１】
同期メディア・プロジェクトの格納方法であって、
クライアントにおいて、前記同期メディア・プロジェクトについてのメタデータを格納するステップであって、前記メタデータが、
構成参照マップを含み、この構成参照マップが、
１組のアセット・レコードであって、各々、対応するアセットについての位置および同期状態を指す、アセット・レコードと、
同期モードと、
を指す、ステップと、
クライアントにおいて、双方向プロジェクト同期サービスを提供するステップであって、前記同期サービスが、前記クライアントに格納された前記同期メディア・プロジェクトのアセットと前記サーバに格納された前記同期メディア・プロジェクトのアセットとの間で同期を維持するために、データおよび通知をサーバに出し、前記サーバからデータおよび通知を受信する、ステップと、
前記クライアントによってホストされたアプリケーションのユーザが、前記同期メディア・プロジェクトに対する前記同期モードを選択することを可能にするステップであって、前記同期モードが、
前記双方向プロジェクト同期サービスが、前記１つ以上の構成アセットのクライアント・コピーおよびサーバ・コピー間で同期を維持するか否か、および
前記双方向プロジェクト同期サービスが、前記メディア・アセットのクライアント・コピーおよびサーバ・コピー間で同期を維持するか否か、
指定する、ステップと、
を含む、方法。
【請求項１２】
請求項１１記載の方法において、前記アプリケーションが、前記同期メディア・プロジェクトの前記アセットの記憶位置には独立した態様で、前記同期メディア・プロジェクトから読み取り、前記同期メディア・プロジェクトに書き込むことができる、方法。
【請求項１３】
請求項１１記載の方法において、前記アプリケーションが、任意の所与のアセットが前記クライアントに格納されているかまたは前記サーバに格納されているかには独立した態様で、前記メディア・プロジェクトから読み取り、前記メディア・プロジェクトから書き込むことができる、方法。
【請求項１４】
請求項１１記載の方法において、前記同期メディア・プロジェクトの前記アセットが、前記アプリケーションに固有なフォーマットで構成アセットを含む、方法。
【請求項１５】
請求項１１記載の方法において、前記同期メディア・プロジェクトの前記アセットが、相互動作可能構成アセットを含む、方法。
【請求項１６】
請求項１１記載の方法において、前記同期メディア・プロジェクトの前記アセットが、少なくとも１つの固有フォーマット構成アセットと、少なくとも１つの相互動作可能構成アセットとを含む、方法。
【請求項１７】
クライアント・システムであって、
コンピュータ読み取り可能命令を格納するメモリと、
前記メモリに接続されたプロセッサと、
を含み、前記プロセッサが、前記コンピュータ読み取り可能命令を実行すると、前記クライアント・システムに、前記クライアント・システムに少なくとも部分的に格納されたメディア・プロジェクトを編集する方法を実行させ、前記メディア・プロジェクトが、構成アセットおよびメディア・アセットの内少なくとも１つを含み、前記方法が、
前記クライアント・システムにおいて実行するアプリケーションのユーザが、前記アプリケーションを使用して前記メディア・プロジェクトを編集することを可能にするステップであって、前記アプリケーションが前記メディア・プロジェクトの内部編成とは独立して前記メディア・プロジェクトを編集できるように、前記アプリケーションが前記メディア・プロジェクトとソフトウェア開発キットを介して通信するステップと、
構成アセットがサーバではなくて前記クライアントにおいて格納されるのか、前記クライアントではなくて前記サーバに格納されるのか、または前記クライアントおよび前記サーバ双方に格納されるのか、および
メディア・アセットが、前記サーバではなくて前記クライアントに格納されるのか、前記クライアントではなくて前記サーバに格納されるのか、または前記クライアントおよび前記サーバ双方に格納されるのか、
を指定する同期モードを前記メディア・プロジェクトに指定するステップと、
プロジェクト同期サービスを提供するステップであって、前記クライアントに格納された前記メディア・プロジェクトおよび前記サーバに格納された前記メディア・プロジェクトのコピーが、前記指定された同期モードにしたがって、互いに同期される、ステップと、
を含む、クライアント・システム。  
【請求項１８】
コンピュータ・プログラム製品であって、
コンピュータ・プログラム命令がエンコードされた非一時的コンピュータ読み取り可能媒体であって、前記コンピュータ・プログラム命令がクライアントによって処理されると、前記クライアントに、該クライアントに少なくとも部分的に格納されたメディア・プロジェクトを編集する方法を実行するように命令し、前記メディア・プロジェクトが、構成アセットおよびメディア・アセットの内少なくとも１つを含み、前記方法が、
前記クライアントにおいて実行するアプリケーションのユーザが、前記アプリケーションを使用して前記メディア・プロジェクトを編集することを可能にするステップであって、前記アプリケーションが前記メディア・プロジェクトの内部編成とは独立して前記メディア・プロジェクトを編集できるように、前記アプリケーションが前記メディア・プロジェクトとソフトウェア開発キットを介して通信するステップと、
構成アセットがサーバではなくて前記クライアントにおいて格納されるのか、前記クライアントではなくて前記サーバに格納されるのか、または前記クライアントおよび前記サーバ双方に格納されるのか、および
メディア・アセットが、前記サーバではなくて前記クライアントに格納されるのか、前記クライアントではなくて前記サーバに格納されるのか、または前記クライアントおよび前記サーバ双方に格納されるのか、
を指定する同期モードを前記メディア・プロジェクトに指定するステップと、
プロジェクト同期サービスを提供するステップであって、前記クライアントに格納された前記メディア・プロジェクトおよび前記サーバに格納された前記メディア・プロジェクトのコピーが、前記指定された同期モードにしたがって、互いに同期される、ステップと、
を含む、コンピュータ・プログラム製品。
【発明の詳細な説明】
【背景技術】
【０００１】
関連出願に対する相互引用
[0001]  本願は、２０１４年４月４日に出願された米国仮特許出願第６１／９７５，５４８号のＵ．Ｓ．Ｃ．＄１１９（ｅ）に基づく優先権および利益を主張する。
【０００２】
[0002]  メディア制作は、増々複雑になりつつある。メディア・キャプチャ・デバイスや撮影場所(location)が豊富になり、増々多くのタイプのメタデータがメディアと関連付けて追加され、メディア消費に関連する対象ユーザ、撮影場所、およびプラットフォームの多様性が広がりつつある。時間に敏感な制作環境では、現場における取り込みから、編集およびレンダリング段階を経て、消費者にブロードキャストまたはストリーミングするまでのワークフローを完遂するときにメディアに期待される速度が、更に別の課題になっている。これらの課題を克服する(meet)ために、メディア制作チームは、増々分散して作業し、種々の撮影現場から作業するが、現場の中には低帯域幅接続のみによって配給されるところもある。遠くに散らばった(far-flung)チームが一緒に効果的にそして迅速に作業することを可能にするためには、同期、メディア共有、およびメディア統合に関係する種々の課題を克服しなければならない。
【発明の概要】
【課題を解決するための手段】
【０００３】
[0003]  一般に、本明細書において説明する方法、システム、およびコンピュータ・プログラム製品は、メディア構成チームによって使用されるクリエーティブ・アプリケーションに対して透過的な方法で、同期メディア・プロジェクトのためのメディア・アセットを統合、同期、およびストリーミングする方法を提供する。互いに離れた複数のユーザが、共同してメディア・プロジェクトを生成し、構成およびメディア・アセットを共有することができる。
【０００４】
[0004]  一般に、１つの形態では、少なくとも部分的にクライアントに格納されたメディア・プロジェクトを編集する方法であって、このメディア・プロジェクトは、構成アセットおよびメディア・アセットの内少なくとも１つを含む。この方法は、クライアントにおいて実行するアプリケーションのユーザが、このアプリケーションを使用してメディア・プロジェクトを編集することを可能にするステップであって、このアプリケーションがメディア・プロジェクトの内部編成とは独立してメディア・プロジェクトを編集できるように、当該アプリケーションがメディア・プロジェクトとソフトウェア開発キットを介して通信するステップと、構成アセットがサーバではなくてクライアントにおいて格納されるのか、クライアントではなくてサーバに格納されるのか、またはクライアントおよびサーバ双方に格納されるのか、およびメディア・アセットが、サーバではなくてクライアントに格納されるのか、クライアントではなくてサーバに格納されるのか、またはクライアントおよびサーバ双方に格納されるのかを指定する同期モードをメディア・プロジェクトに指定するステップと、プロジェクト同期サービスを提供するステップであって、クライアントに格納されたメディア・プロジェクトおよびサーバに格納されたメディア・プロジェクトのコピーが、指定された同期モードにしたがって、互いに同期される、ステップとを含む。
【０００５】
[0005]  種々の実施形態は、以下の特徴の内１つ以上を含む。メディア・プロジェクトは、アプリケーションに固有のフォーマットで構成アセットを含む。メディア・プロジェクトは、相互動作可能なフォーマットで構成アセットを含む。同期モードは、クライアントがネットワークから切断された後に、ネットワークに接続されたとき、およびクライアントがネットワークに接続された後に、ネットワークから切断されたときの内少なくとも１つのときに、自動的に変更される。第２クライアントにおいて実行するアプリケーションのユーザが、アプリケーションを使用して、第２クライアントに少なくとも部分的に格納されたメディア・プロジェクトのコピーを編集することを可能にし、メディア・プロジェクトのコピーに指定された同期モードにしたがって、同期サービスを使用して、メディア・プロジェクトのコピーが、サーバによって、最初に述べたメディア・プロジェクトと同期される。指定された同期モードは、メディア・アセットがサーバに格納されクライアントには格納されないことを指定し、更に、メディア・アセットがアプリケーションによって要求されたときに、クライアントにメディア・アセットをストリーミングするステップを含む。メディア・アセットがアプリケーションによって要求されたがクライアントには存在しないときに、メディア・アセットをクライアントにストリーミングする。メディア・プロジェクトは、複数のバージョンを含む。相互動作可能構成アセットは、プレイリストを参照する。アプリケーションは、メディア・アセットがクライアントに存在するか否か判定することができる。
【０００６】
[0006]  一般に、他の形態において、同期メディア・プロジェクトの格納方法は、クライアントにおいて、同期メディア・プロジェクトについてのメタデータを格納するステップであって、このメタデータが構成参照マップを含み、この構成参照マップが、１組のアセット・レコードであって、各々、対応するアセットについての位置および同期状態を指す、アセット・レコードと、同期モードとを指す、ステップと、クライアントにおいて、双方向プロジェクト同期サービスを提供するステップであって、この同期サービスが、クライアントに格納された同期メディア・プロジェクトのアセットとサーバに格納された同期メディア・プロジェクトのアセットとの間で同期を維持するために、データおよび通知をサーバに出し、このサーバからデータおよび通知を受信する、ステップと、クライアントによってホストされたアプリケーションのユーザが、同期メディア・プロジェクトに対する同期モードを選択することを可能にするステップであって、双方向プロジェクト同期サービスが１つ以上の構成アセットのクライアントおよびサーバ・コピー間で同期を維持するか否か、および双方向プロジェクト同期サービスが、メディア・アセットのクライアントおよびサーバ・コピー間で同期を維持するか否か、同期モードが指定する、ステップとを含む。
【０００７】
[0007]  種々の実施形態は、以下の特徴の内１つ以上を含む。アプリケーションは、同期メディア・プロジェクトのアセットの記憶位置には独立した態様で、同期メディア・プロジェクトから読み取り、同期メディア・プロジェクトに書き込むことができる。アプリケーションは、任意の所与のアセットがクライアントに格納されているかまたはサーバに格納されているかには独立した態様で、メディア・プロジェクトから読み取り、メディア・プロジェクトから書き込むことができる。同期メディア・プロジェクトのアセットは、アプリケーションに固有なフォーマットで構成アセットを含む。同期メディア・プロジェクトのアセットは、相互動作可能な構成アセットを含む。同期メディア・プロジェクトのアセットは、少なくとも１つの固有フォーマット構成アセットと、少なくとも１つの相互動作可能構成アセットとを含む。
【０００８】
[0008]  一般に、更に他の形態では、クライアント・システムは、コンピュータ読み取り可能命令を格納するメモリと、このメモリに接続されたプロセッサとを含み、このプロセッサが、コンピュータ読み取り可能命令を実行すると、クライアント・システムに、クライアント・システムに少なくとも部分的に格納されたメディア・プロジェクトを編集する方法を実行させる。メディア・プロジェクトは、構成アセットおよびメディア・アセットの内少なくとも１つを含む。この方法は、クライアントにおいて実行するアプリケーションのユーザが、このアプリケーションを使用してメディア・プロジェクトを編集することを可能にするステップであって、このアプリケーションがメディア・プロジェクトの内部編成とは独立してメディア・プロジェクトを編集できるように、このアプリケーションがメディア・プロジェクトとソフトウェア開発キットを介して通信するステップと、構成アセットがサーバではなくてクライアントにおいて格納されるのか、クライアントではなくてサーバに格納されるのか、またはクライアントおよびサーバ双方に格納されるのか、およびメディア・アセットが、サーバではなくてクライアントに格納されるのか、クライアントではなくてサーバに格納されるのか、またはクライアントおよびサーバ双方に格納されるのかを指定する同期モードをメディア・プロジェクトに指定するステップと、プロジェクト同期サービスを提供するステップであって、クライアントに格納されたメディア・プロジェクトおよびサーバに格納されたメディア・プロジェクトのコピーが、指定された同期モードにしたがって、互いに同期される、ステップとを含む。  
【０００９】
[0009]  一般に、更に他の形態では、コンピュータ・プログラム製品は、コンピュータ・プログラム命令がエンコードされた非一時的コンピュータ読み取り可能媒体であって、このコンピュータ・プログラム命令がクライアントによって処理されると、当該クライアントに少なくとも部分的に格納されたメディア・プロジェクトを編集する方法を実行するようにこのクライアントに命令し、メディア・プロジェクトは、構成アセットおよびメディア・アセットの内少なくとも１つを含む。この方法は、クライアントにおいて実行するアプリケーションのユーザが、このアプリケーションを使用してメディア・プロジェクトを編集することを可能にするステップであって、このアプリケーションがメディア・プロジェクトの内部編成とは独立してメディア・プロジェクトを編集できるように、このアプリケーションがこのメディア・プロジェクトとソフトウェア開発キットを介して通信するステップと、構成アセットがサーバではなくてこのクライアントにおいて格納されるのか、このクライアントではなくてこのサーバに格納されるのか、またはこのクライアントおよびこのサーバ双方に格納されるのか、およびメディア・アセットが、このサーバではなくてこのクライアントに格納されるのか、このクライアントではなくてこのサーバに格納されるのか、またはこのクライアントおよびこのサーバ双方に格納されるのかを指定する同期モードをこのメディア・プロジェクトに指定するステップと、プロジェクト同期サービスを提供するステップであって、このクライアントに格納されたこのメディア・プロジェクトおよびこのサーバに格納されたこのメディア・プロジェクトのコピーが、この指定された同期モードにしたがって、互いに同期される、ステップとを含む。
【図面の簡単な説明】
【００１０】
【図１】図１は、同期メディア・プロジェクトのコンテンツの上位概念図である。
【図２】図２は、同期メディア・プロジェクトの共同編集のアーキテクチャを示す。
【図３】図３は、プロジェクト同期メタデータのデータ構造を示す。
【図４】図４は、１つのクライアントにおける２つの同期メディア・プロジェクトの共同編集を示す。
【図５】図５は、同期メディア・プロジェクトのデータ・モデルを示す。
【図６】図６は、相互動作可能構成(composition)アセットのデータ・モデルを示す。
【図７】図７は、固有構成から相互動作可能構成を生成するためのユーザ・インターフェースの模式スクリーン・ショットである。
【図８】図８は、相互動作可能構成に対して種々の設定値を選択するためのユーザ・インターフェースの模式スクリーン・ショットである。
【図９】図９は、メタデータを相互動作可能構成に追加するためのユーザ・インターフェースの模式スクリーン・ショットである。
【発明を実施するための形態】
【００１１】
[0019]  メディア・プロジェクトの制作が、種々のデバイスおよびクリエーティブ・アプリケーション(creative application)を使用して、更にデバイス間で種々の帯域幅接続によって、様々な撮影現場においてチーム・メンバにわたって分散されるとき、複数の問題が生ずる。第１に、このような設定では、メディア・アセットが編集チームのメンバの誰のところにも揃ってしないかもしれず、代わりに多様な場所に格納されているかもしれない。メディア制作および編集アプリケーションは、通例、メディア制作に使用される構成およびアセットを参照する、それら自体の相互交換不可能な方法を有する。各アプリケーションは、作業中の構成およびその関連するアセットを、当該アプリケーションをホストするローカル・クライアント・マシンであれ、または１つ以上の他の場所であれ、そのアプリケーションによって指定される場所に置く。プロジェクト・データが他のアプリケーションおよび共同作業者と共有されなければならない場合、構成およびソース・アセットを、データの実際の記憶場所とは独立した統合構造形態(consolidated structural form)で格納しなければならない。その記憶場所は、他の場合では、ローカル・ファイル・システムまたはリモート・オブジェクト・データベースに関して指定されることになる。
【００１２】
[0020]  制作コンテンツをアプリケーション間で、物理的な媒体を使用してまたは相互接続ネットワークによって、移送しなければならないとき、別の課題が生ずる。これは、アプリケーションがコンテンツを扱う方法が、アプリケーション間で異なることから生ずる。例えば、あるアプリケーションは制作コンテンツを、単一ファイルｚｉｐバンドルのような、１つの単位としてアドレスするが、他のアプリケーションは、一連の１組の個別構成オブジェクトとしてコンテンツを扱い、これらのオブジェクトが一旦受信されると、元の形態に再現される。送信側アプリケーションおよび受信側アプリケーションが異なるコンテンツ・アドレシング方法を採用すると、制作コンテンツの移送および交換を首尾一貫したものにする解決手段が必要になる。既存の解決手段は、アセット間において予め定められた構造的関係の使用を伴う。この構造的関係は、制作アセットに対して動作するプロセスが、個々のアセットを突き止め操作するのを補助しつつ、この構造の基礎となるデータ・モデルによって定められる規則を厳守する。これによって、制作においてアセットの増分追加(incremental addition)、増分更新、合併、または削除を実行しつつ、構造のコヒーレンシを維持することが可能になる。
【００１３】
[0021]  複数のアプリケーションまたはクライアント・マシンが、同じ制作において互いに並列に作業するために使用されるとき、同期の課題が生ずる。クライアントの各々は、コンテンツがローカル・ファイル・システムにあっても、またはサーバ・ベースのオブジェクト・データベースにあっても、制作コンテンツの統合された最新ビューを視認することができなければならない。更に、各クライアントは、構成に組み込まれるべき各アセットの現行の更新バージョンにアクセスできなければならない。
【００１４】
[0022]  更に、帯域幅が関与する別の課題がある。特にアプリケーションが低帯域幅の接続を有するとき、プロジェクト共同制作者間でメディア・アセットのコピー全体を共有すると、容認できないレイテンシを招き、利用可能な帯域幅全てを消費し、場合によっては接続コストを押し上げる可能性がある。
【００１５】
[0023]  本明細書において説明する方法では、プロジェクト同期方法を使用して、これらの共同メディア・プロジェクトの課題に取り組む。このプロジェクト同期方法は、プロジェクト同期サービスを伴い、各クライアントにおいて実行し、バック・エンド・サーバとのデータおよび通知の交換を管理する。更に、プロジェクト同期ソフトウェア開発キット（ＳＤＫ）が、メディア制作および編集アプリケーションが、同期されたメディア・プロジェクトと相互作用することを可能にする。これらの方法は、既存のメディア・プロジェクト・フォーマットに適用することもでき、ＭＸＦ、ＩＭＦ、ＤＣＰ、Ｓｏｎｙ（登録商標）のＸＤＣＡＭ（登録商標）、およびＡＶＣＨＤのＡＭＷＡ  ＡＳ−０２用実現例というような規格に基づくフォーマットが含まれる。しかしながら、このようなメディアおよび構成交換フォーマットは、通例、カメラ取り込み、配信、および物理ストレージにおけるメディア相互動作可能性というような、非常に制約された使用事例にしか該当しない。また、本方法は、ビデオ編集アプリケーション、またはディジタル・オーディオ・ワークステーションのような、特定のメディア編集アプリケーションによって構造が決定されるメディア・プロジェクトにも適用することができる。本明細書において使用する場合、ビデオ編集アプリケーションとは、クライアントおよび／またはサーバにおいて実行し、ユーザがディジタル・ビデオおよびそれに関連するオーディオ、特殊エフェクト、およびメタデータを作り、編集し、インポートし、エクスポートし、そして格納することを可能にするソフトウェア・アプリケーションを指す。このようなビデオ編集アプリケーションの一例に、マサチューセッツ州、BurlingtonのAvid（登録商標）TechnologyからのMedia Composer（登録商標）がある。これは、部分的に、米国特許第５，２６７，３５１号、第５，３５５，４５０号、および第５，９３０，４４５号に記載されている。これらの特許をここで引用したことにより、その内容が本願にも含まれるものとする。本明細書において使用する場合、ディジタル・オーディオ・ワークステーションとは、ディジタル・オーディオを記録、編集、および格納するためのソフトウェア・アプリケーションおよび／またはハードウェア・システムを指す。このようなディジタル・オーディオ・ワークステーションの一例に、同様にAvid Technology, Inc.からのPro Tools（登録商標）がある。メディア編集アプリケーションは、ローカルにクライアントにおいて、あるいはクライアント・サーバまたはクラウド・ベース環境においてホストされてもよい。
【００１６】
[0024]  更に、説明する方法は、特定の会社の共同アセット(collaboration assets)を作り上げる仕方を、その種々のメディア編集またはメディア管理アプリケーション間で必要とするメディア・プロジェクトにも適用することができる。本明細書において使用する場合、アセットとは、メディア・プロジェクトの一部を形成するエレメントを指し、他のアセットを参照するメタデータ・ファイルであってもよい構成(composition)、ビデオ・クリップ、オーディオ・クリップ、グラフィクスを含んでもよいメディア、および特殊エフェクト・データを含む。一例には、Avid Technology, Inc.からのInterplay（登録商標）|Production and Interplay（登録商標）|MAMのような、メディア・アセット管理システムによるメディア・プロジェクトおよびアセットの構造化(structuring)が含まれる。
【００１７】
[0025]  説明するプロジェクト共同および同期方法は、更に、予め指定された規格に基づくフォーマットや固有のメディア・プロジェクト・フォーマットに準拠しない汎用フォーマットで内部的に編成されたメディア・プロジェクトにも適用することができる。この汎用フォーマットは、種々の創作ツール構成、アセット、およびメタデータ・エレメントの構造化表現を、メディア生産環境に最適化された形態で提供する。このような汎用メディア・プロジェクト・フォーマットの一例に、Avid Technology Inc.からのProduction Exchange Format（ＰＸＦ）がある。この名称が暗示するように、このフォーマットは、通例、メディア創作の制作前段階、制作段階、および制作後段階の一部である複数のアプリケーション間におけるコンテンツの交換および保存のために設計される。既存のメディア・プロジェクト・フォーマットは、これらの制作段階の間に使用される特定のクリエーティブ・アプリケーションとは独立である必要性によって制約されるが、ＰＸＦはこれらのフォーマットを、アプリケーション依存アセットを含むように拡張する。ＰＸＦによって、構成要素であるオブジェクトは他のオブジェクトを参照する。例えば、構成は、これらが使用する物理アセットを参照する。このような間接参照のレベルは、絶え間ない変更が行われているメディア制作環境においては貴重な柔軟性を与える。
【００１８】
[0026]  一旦メディア・プロジェクトがサーバに登録され、説明するメディア・プロジェクト同期方法に従うようになると、種々の利点が得られる。これらには、以下が含まれる。同じメディア位置が複数のクリエーティブ・アプリケーションによって使用されてもよいので、メディアの重複を避ける。新たなアセット毎に複数のバージョンを作る。各クリエーティブ・アプリケーションは、他の構成および他のメディアが存在することを意識せずに、それ自体の固有の構成で作業することができる。所与のクリエーティブ・アプリケーションのユーザに、他のクリエーティブ・アプリケーションによって使用されるメディアへのアクセスを与える。相互動作可能な構成に対して作業を行い、その結果を新たな相互動作可能構成として、各クリエーティブ・アプリケーション内部からレンダリングする。各クリエーティブ・アプリケーションの物理アセットを、バック・エンド・サーバおよび／または他のクライアントに同期する。
【００１９】
[0027]  概念レベルでは、メディア・プロジェクトは、予め指定されたフォーマットを有しても、またはＰＸＦフォーマットのような制作最適化汎用フォーマットを有しても、図１に示すエレメントの内１つ以上を含むことができるが、メディア・プロジェクトは、図示するエレメントのいずれかが存在しなくても、定めることができる。メディア・プロジェクトの内部構造についての更なる詳細、およびその要素構成(constituent composition)については、図５および図６に関連付けて以下で説明する。
【００２０】
[0028]  図１を参照すると、同期メディア・プロジェクト１０２は、１つ以上の固有フォーマット構成１０４を含むことができる。これらは、ビデオ編集アプリケーション、ディジタル・オーディオ・ワークステーション、または特殊エフェクト・アプリケーションのような、クリエーティブ・アプリケーションにネーティブなフォーマットで、メディア構成のデータ・モデル全体を含む。通例、これらは、特定のアプリケーションによってのみ使用することができるデータを含む。対照的に、相互動作可能フォーマット構成１０６は、ある種のトラックを除外することによって、または他のトラックをレンダリングまたは冷凍する(freezing)ことによってというようにして、固有フォーマット構成からその構成の簡略化バージョンをレンダリングすることによって作られる。１つよりも多い相互動作可能構成があってもよい。このような構成は、再生可能であるように設計され、それを創作／編集するために使用された１つ以上のアプリケーションに加えて、恐らくはある範囲のアプリケーションによってもある程度編集されるように設計される。また、メディア・プロジェクトは、メディア・ファイル１０８および補助ファイル１１０のようなアセットも含むことができる。メディア・プロジェクト１０２に含まれる前に、このようなアセットは、バンドル−タイプのフォルダ構造に編成されてもよく、あるいはビデオ・クリップ、オーディオ・クリップ、文書、または画像のような、任意のタイプの個別オブジェクトとして、ローカル・ファイル・システムまたは他のクライアントまたはクラウド・ベース・サーバにおける種々の位置に存在してもよい。一旦本明細書において説明するプロジェクト同期方法がメディア・プロジェクト登録プロセスによって呼び出されると、このような個別オブジェクトおよび／またはバンドルは、メディア・プロジェクトの一部となり、以下で説明するように、共同して同期、共有、および編集することができる。
【００２１】
[0029]  プロジェクト共同作業者間におけるメディア・プロジェクト同期のための例示的アーキテクチャを図２に示す。クラウド・ベース・サーバ２０２は、クライアント・ワークステーション２０４および２０６において編集されるメディア・プロジェクトを同期および格納するためのバック・エンドとして機能する。クライアントＡ２０４において、ユーザは、ディジタル・オーディオ・ワークステーション２１０、ビデオ編集アプリケーション２１２、およびビデオ・エフェクト・アプリケーション２１４のような１つ以上のクリエーティブ・アプリケーションを使用して、同期メディア・プロジェクト２０８を編集することができる。各アプリケーションは、プロジェクト同期ＳＤＫ２１６を介して、同期メディア・プロジェクト２０８と相互作用する。これは、同期メディア・プロジェクト内部における実際の表現およびデータの位置を抽象化し、クリエーティブ・アプリケーション２１０、２１２、および２１４がユーザにとって透過的であるが、同期メディア・プロジェクトの内部構造を維持するように、同期メディア・プロジェクト２０８と相互作用（読み取りおよび書き込みを含む）することを可能にする１組のアプリケーション・プログラム・インターフェース（ＡＰＩ）を含む。先に説明したように、内部構造は予め指定されていても、汎用でもよい。加えて、プロジェクト同期ＳＤＫ２１６は、ＡＰＩと一緒に作業するクリエーティブ・アプリケーション毎にリーダ／ライタモジュールを含む。リーダ・モジュールを使用して、クリエーティブ・アプリケーションは、それ自体の固有構成（図１、１０４）だけでなく、相互動作可能な構成（１０６）も、ビデオ、オーディオ、およびデータ・トラックのようなそれらの要素パーツ(component parts)と共に読み出すことができる。また、これらのリーダ／ライタ・モジュールは、相互動作可能な構成をアプリケーションの固有構成に変換することもできる。書き込みモジュールは、以下で説明するように、新たな相互動作可能構成をアプリケーションの固有構成からレンダリングするために使用される。
【００２２】
[0030]  同期メディア・プロジェクトの内部構造を指定するメタデータは、アセットおよびそれらの記憶位置のリストと共に、そして同期メディア・プロジェクトの状態および同期モードを指定する他のデータは、プロジェクト同期メタデータ２１８として、各同期メディア・プロジェクトの統合部分であるファイルまたはフォルダとして格納される。同期メディア・プロジェクト２０８に変更が行われる毎に、プロジェクト同期ＳＤＫはプロジェクト同期メタデータ２１８を更新する。例えば、アセットを同期メディア・プロジェクトに書き込むためにクリエーティブ・アプリケーションが使用される場合、プロジェクト同期ＳＤＫは、プロジェクト同期メタデータを、新たなアセットに対する識別子および位置で更新する。図３は、プロジェクト同期メタデータ２１８のデータ構造を示す。これは、構成参照マップ３０２を含む。構成参照マップ３０２は、アセット３０４がある場合、同期メディア・プロジェクト２０８の一部であるアセット３０４を参照する。アセット毎に、メタデータはそのアセットの位置３０６およびその現在の同期状態３０８も含む。アセットの現在の同期状態は、同期モード（表１）によって指定された所望の状態に未だ対応しないかもしれない。同期サービスは、現在の同期状態を所望の同期状態に一致させるように機能する。記憶位置に対するエントリは、同じアセットについて１つよりも多いエントリを有しても良い。同じアセットに対する複数のロケータの使用については、以下で説明する。加えて、プロジェクト同期メタデータ２１８は、同期メディア・プロジェクトが割り当てられる同期モード３１０のレコードも含む。アセット同期状態よびモードについては、以下で説明する。
【００２３】
[0031]  所与のクライアントは、ユーザが１つよりも多い同期メディア・プロジェクトで共同作業しているときには、１つよりも多い同期メディア・プロジェクトを含むこともできる。１組の共同作業者、同期状態、および同期モードは、メディア・プロジェクトの各々に対して特定であり、各プロジェクトはそれ自体のプロジェクト同期メタデータと、同期メディア・プロジェクト・データとを有する。この状況を図４に示す。図４は、クライアント４０６における、２つの同期メディア・プロジェクト４０２および４０４を示す。
【００２４】
[0032]  所与の同期メディア・プロジェクトは、１つのアセット・フォルダやバンドル構造に制限されず、１つのルートの元で編成される複数の個別フォルダまたはバンドルを指し示すこともできる。言い換えると、１束のバンドル構造を有することもできる。更に、各個別フォルダまたはバンドルが、最初に、同期メディア・プロジェクトが存在するクライアント外部の位置に参照されてもよく、後に同期メディア・プロジェクトが統合されるときに、共通ファイル・システムのルート位置の下に移動させられてもよい。統合については以下で説明する。
【００２５】
[0033]  メディア・プロジェクトの同期は、サーバ２０２における各メディア・プロジェクトのマスタ・コピーを維持するプロジェクト同期サービス２２６によって実行される。このマスタ・コピーは、サーバにおける１つ以上のアセット・データベース２２０、２２２によって追跡され、一方バージョニング・サービス(versioning service)２２４は、行われた変更を追跡し続け、早期バージョンに対する改訂(reversion)をサポートする。つまり、各メディア・プロジェクトのコピーは、サーバに配置されたデータベース内にレコードの形態で格納することができる。サーバ・ベース・メディア・プロジェクト・コピーは、いずれの所与の時点でも、プロジェクト毎に選択された同期モードによっては、同期サービスが種々の同期メディア・コピーの実際の状態を、該当する同期モードによって指定される、その所望の状態にこれまで一致させることができたという点から、クライアントにローカルに格納されているコピーと一致しないこともある。また、バージョニング・サービスは、現在各同期メディア・プロジェクトを参照しているクライアント・システムのレコードも維持し、こうして、登録されたクライアント・システムに対する変更の通知をサーバに出させることができる。一方、同期メディア・プロジェクトがある各クライアントは、それ自体のローカル・プロジェクト同期サービス２２６を有し、このプロジェクト同期サービス２２６が中央マスタ・アセット・データベース（１つまたは複数）２２０、２２２を監視し、ローカル同期メディア・プロジェクト２０８内にあるオブジェクトを同期する（即ち更新する）必要があるか否か判定する。更新が必要な場合、改訂バージョンがクライアントに送られ、ローカル同期メディア・プロジェクト２０８のフォルダ階層に追加され、プロジェクト同期メタデータ２１８が、ローカル同期メディア・プロジェクト・コンテンツおよび状態を反映するように更新される。ローカル・ファイルを上書きするのではなく追加することによって、同期リードおよびライト中に起こり得る問題を回避するのに役立つ。新たなアセットまたは更新されたアセットが、中央サーバとの同期の結果、同期メディア・プロジェクトに追加されればよい。一方、アセットは、他のクライアントとの同期の結果、既に中央サーバにアップロードされている。つまり、同期メディア・プロジェクトを見ているローカル・プロジェクト同期サービスは、アクションを誘起することによって、または変更についてそれに接続されたアプリケーションに通知することによって、変更に対して反応することができる。オペレーティング・システムのファイル・システムによって実行されるフォルダ監視／変更通知プロセスとは異なり、プロジェクト同期サービスに登録されたアプリケーションは、アセットのローカル表現が未だ存在しなくても、サーバにおいて発生するアセットに対する変更の通知を受ける。これによって、サーバおよびローカル・ファイル・システムの双方において変更を傍聴する(listen to)必要があるか否かアプリケーションが判定する必要性がなくなる。何故なら、プロジェクト同期サービスは、このプロセスを抽象化し、アセットの位置に関係なく、アプリケーションが必要とするものを提供���るからである。
【００２６】
[0034]  同期メディア・プロジェクトは、当該メディア・プロジェクト内部にあるオブジェクト間の関係を判定する、予め定められた内部関係を使用する。これらの関係は、３つのタイプのロケータ・データをメディア・プロジェクト階層内部に格納することによって、メディア・プロジェクトに対する参照、およびその要素アセット・オブジェクトを抽象化する。３つのタイプのロケータ・データとは、アプリケーションによってマウントされたローカル・パスに対して解明されるメディア・プロジェクト・ルート位置に関するローカル・パス、オブジェクトの実際の位置を調べるためにインデックスとして使用される一意のマテリアルＩＤ（例えば、構成ファイルまたはソース・メディア・ファイル）、ならびに中央サーバに配置されたオブジェクトおよびファイル・システムの他の部分にあるオブジェクトを含むオブジェクトのリモート位置を指すユニフォーム・リソース識別子（ＵＲＩ）である。メディア・プロジェクト内部に配置されていないアセットをメディア・プロジェクトにコピーするかまたはストリーミングするかは、指定された同期モード３１０によって決定されるプロジェクト同期サービスの側面(aspect)である。
【００２７】
[0035]  メディア・プロジェクトにおける構成アセットは、比較的サイズが小さい。何故なら、これらは種々のパラメータと、構成の一部を形成するメディア・アセットを直接または間接的に指し示すデータから成るからである。一方、メディア・アセット自体、即ち、ビデオおよびオーディオ・ファイルは大きい傾向がある。この理由のために、説明するプロジェクト同期サービスは、構成アセットをメディア・アセットとは異なる扱いをすることができ、場合によっては、前者をアップロードし、ダウンロードし、コピーを作るが、後者には行わない。
【００２８】
[0036]  以上で説明した方法を使用すると、同期メディア・プロジェクトは、種々の状態で存在することができるが、メディア・プロジェクト内部にあるアセットの現在の状態についてはっきりしない(agnostic)アプリケーションによって、なおも調査および操作することもできる。同期モードは、一般に同期メディア・プロジェクトに対して作業するユーザによって選択され、メディア・プロジェクトが格納される状態、ならびにクライアントおよびサーバの構成およびメディア・アセットが同期される状況を決定する。アプリケーションは、アセットの実際の位置を知ることなく、制作における個々の構成およびメディア・アセット情報を使って作業することができる。同期メディア・プロジェクト・モードは、以下を含む。（ｉ）ローカル同期メディア・プロジェクトは、クライアントが切断モードで作業しているときは、ローカル・ファイル・システム・ベースの表現を与える。（ｉｉ）サーバ・ベース・リモート・メディア・プロジェクト同期モードは、アプリケーションが、ローカル・ファイル・システムのコピーを取ることなく、オブジェクトに直接リモート・サーバからアクセスすることを可能にする。（ｉｉｉ）リモート・サーバ・ベース・メディア・プロジェクトに同期されたローカル同期メディア・プロジェクトは、クライアントおよびサーバ・ベース・オブジェクトを同期させ続けるために、プロジェクト同期サービスを使用する。構成およびメディア・アセット双方が同期されるが、メディア転送を最小限にするために、オンデマンド同期を行っても良い。（ｉｖ）複数の他のコンピュータと同期されたローカル同期メディア・プロジェクトは、ローカル・オブジェクトをサーバ・ベース・マスタ・バージョン・データベースと同期させ続けるために、クライアントの各々においてプロジェクト同期サービスを使用する。（ｖ）リモートにストリーミングされたメディア・アセットとローカル構成のみ同期されたメディア・プロジェクト・同期の間、メディア・ファイルはローカルに配信されない。代わりに、必要に応じて、そして必要なときに、サーバからアプリケーションに直接メディア・アセットをストリーミングするために、リモートＵＲＩが使用される。種々のモードおよび対応する同期メディア・プロジェクト状態を表１に纏める。
【００２９】
【表１】
2015216630.tif 000003
【００３０】
[0037]  ユーザが同期メディア・プロジェクトの構成に対して編集動作を実行するとき、システムは、メディア・プロジェクトに指定されたモードに依存するように応答する。ローカル・メディア・プロジェクト（即ち、上のモード（ｉ））では、ローカルに格納された構成アセットを更新するために、全ての変更が適用される。メディア・アセットは既にローカル・クライアントに存在し、更なるアクションは必要ない。編集の結果、以前に使用されなかったメディアを構成に追加することになった場合、新たなメディア・ファイルは既にダウンロードされローカルに格納されている。
【００３１】
[0038]  同期メディア・プロジェクトがサーバ・ベース・モード（即ち、モード（ｉｉ））で維持されている場合、編集命令がサーバに送られ、これらが直接リモート構成アセットに適用され、ローカル・コピーは格納されない。被参照メディア・アセットは、既にサーバに存在する。現在の編集の結果参照される新たなメディアはいずれも、以前にアップロードされたことがあるか、またはリモート・サーバに入手可能になっている。共同作業者もメディア・プロジェクトを編集している場合、彼らの変更もサーバ・ベース同期メディア・プロジェクトに反映され、同期は必要でない。
【００３２】
[0039]  リモート・サーバ・ベース・メディア・プロジェクトに同期されたローカル同期メディア・プロジェクトの場合（即ち、上のモード（ｉｉｉ））、クライアントにおいて変更が行われるとき、構成アセットのローカル・コピーに直接実行される。続いて、プロジェクト同期サービスが、同期メディア・プロジェクトに対する変更を、リモート・サーバにコピーする。また、あらゆる必要なアップロードまたはダウンロードを実行することによって、新たに編集された構成アセットによって参照されるメディア・ファイルはいずれも、クライアントおよびサーバ双方に存在することを保証する。帯域幅およびストレージの要件を最小限にするために、メディア・アセットの一部または全部が、オンデマンドでのみ同期されるようにしてもよいが、アセットが移されるときは、ローカル・コピーが格納される。
【００３３】
[0040]  同期メディア・プロジェクトが複数の他のクライアントと同期されるモードでは（上のモード（ｉｖ））、複数のクライアントの内任意の１つにおいて構成アセットに対して行われる変更は、クライアントのローカル・コピーに対しても行われ、このローカル・コピーは構成によって参照されるメディア・ファイルのコピーも有する。次いで、変更は、マスタ・サーバ・ベース同期メディア・プロジェクトにコピーされる。メディア・プロジェクト構成アセットがクライアントの内任意の１つによって変更される毎に、新たなバージョンが作られ、サーバ・ベース同期メディア・プロジェクトに格納される。これは、異なるクライアントにおけるユーザが同時に作業しているときに作業が失われないことを保証する。プロジェクト同期サービスは、クライアントの１つにおいて実行された構成アセットおよびメディア・アセット双方に対する変更を、他のクライアントの各々に、マスタ・サーバ・ベース同期メディア・プロジェクトを介してコピーし、こうして全体的な同期を維持する。以上で説明した１つのクライアントに関して（モード（ｉｉｉ））、メディア・アセット同期のタイミングは、帯域幅およびストレージ要件を最小限にするように選択するとよい。プロジェクト同期サービスは、異なる共同作業者によって実行され、サーバ・ベース・マスタ同期メディア・プロジェクトにおいて異なるバージョンとして書き込まれた変更を合併することもできる。矛盾の可能性に取り組むために、構成の所与の部分の編集が１人の共同作業者に限定されるように、施錠手順を設けてもよい。あるいは、並列編集を許可するとき、プロジェクト同期サービスは、矛盾する変更を識別し拒絶してもよい。
【００３４】
[0041]  メディア・アセットがリモートでストリーミングされる、ローカル構成のみのメディア・プロジェクトでは（先のモード（ｖ））、クライアントにおいて行われた変更はローカル・コピーに書き込まれ、続いてプロジェクト同期サービスによってサーバ・ベース同期メディア・プロジェクトと同期される。１組の参照されたメディア・アセットが変更された場合、新たなアセットをサーバに提示しなければならず、ローカル・コピーは維持されない。他のクライアントにおいて作られている構成アセットに対する変更は、サーバと同期され、次いで、サーバ・ベース・プロジェクト同期サービスは、この変更を構成アセットのローカル・コピーにも書き込むが、メディア・アセットのローカル同期は実行されない。メディア・アセットがクライアントにおいて必要とされるとき、これらはサーバから要求に応じてストリーミングされる。
【００３５】
[0042]  適したメディア・プロジェクト同期モードの選択は、使用シナリオに基づく。編集者がネットワークへの接続を有しないシステムにおいて作業しているとき、ローカルに格納されたメディア・プロジェクトが必要になる。これは、実用的な理由、例えば、ネットワークが利用できないため、そしてセキュリティ上の理由の双方から生ずる可能性がある。例えば、構成およびアセットを含むメディア・プロジェクトが彼のプロジェクトのために入手できるようになったことが共同作業者に通知されたが、彼はコンテンツをクライアントに移すために時間を費やすことなく、または帯域幅やローカル・ディスク空間を消費する必要なくコンテンツを見直すまたはコンテンツの作業を行うことを望むとき、サーバ・ベース・リモート同期メディア・プロジェクトが適した選択肢となり得る。リモート・サーバ・ベース同期メディア・プロジェクトに同期されたローカル同期メディア・プロジェクトは、以下のシナリオにおいて、適したものになり得る。第１クライアントにおいて作業するユーザが、彼がバンドルに編集している構成およびアセットの増分バージョンを保存する。続いて、同じユーザが、恐らくは異なる場所にある異なる第２クライアントにおいて作業をし続ける。第２クライアントにもプロジェクト同期サービスがインストールされている。第２クライアントは、サーバへの接続を行い、ユーザは彼の最後のバージョンから取り上げた同じ構成に対する作業を継続することを選択する。ユーザは、同じ同期メディア・プロジェクトを選択し、プロジェクト同期サービスはローカル・ディスクに、最後のバージョンに関係する構成および関連するアセットのみをダウンロードし、他の全ての構成およびソース・アセットをサーバに保持する。ローカル構成のみが同期され、メディア・アセットがリモートにストリーミングされるメディア・プロジェクトのモードも、この使用事例には適している場合がある。この場合、構成アセットのみがダウンロードされ、アプリケーションがこれらを参照するときだけ、即ち、要求に応じて適時配信(just-in-time delivery)で、ソース・アセットが移される。複数の他のコンピュータと同期されたローカル同期メディア・プロジェクトは、２人以上の編集者が共同作業しているときに、展開される。例えば、第１共同作業者がメディア・プロジェクトに対して作業を行い、構成の新たなバージョンを保存しているか、または制作に関係する新たなソース・アセットを追加しているとき、第２共同作業者は、これらの変更が制作同期メディア・プロジェクトの彼のローカル・コピーにおいて動的に現れるのを見る。
【００３６】
[0043]  メディア・プロジェクト記憶モードは、ある種の条件が満たされるときに自動的に変更することができる。例えば、編集者は、ネットワーク接続せずに作業を開始し、アセットをローカル同期メディア・プロジェクトに保存することができる。後にネットワークに接続されると、同期状態のチェックと、モード（ｉｉｉ）への切り替えとを誘起することができる。モード（ｉｉｉ）において、ローカル同期メディア・プロジェクトはリモート・サーバ／クラウドに同期される。他のシナリオでは、構成のあるセクションのためにメディアが未だダウンロードされていない間、メディアがダウンロードされているセクションに対して、または編集者が他のセクションに切り替えることを望む場合にはそのセクションに対して、ストリーミング・モードを自動的にアクティブ化することもできる。
【００３７】
[0044]  以上で説明した使用シナリオの各々において、各バージョンは、所与の最終製品を念頭に入れて行われる増分編集変更に対応することができる。例えば、編集者がビデオ・クリップに対して色補正を行い、望まないオブジェクトを除去し、あるクリップを別のクリップと交換するのでもよい。加えて、バージョンは、所与の構成に属するバージョンのファミリーにおける異なる最終製品に対応することもできる。例えば、バージョンは、ディレクタのバージョン、劇場バージョン、ＴＶバージョン、外国語バージョン、飛行機バージョン、または移動体デバイスにおいてストリーミングするのに適したバージョンに対応してもよい。種々のシナリオにおいて、同期メディア・プロジェクトは、様々な最終製品バージョンの各々に対して１組の増分編集バージョンを含むこともできる。特に、異なるチームが作業するときには、各最終製品に対応するバージョンを、異なる同期メディア・プロジェクトに分けることが望ましい場合もある。バージョン管理は、固有データ・モデルおよび相互動作可能データ・モデルの双方に適用される。マスタ・バージョン(master versioned)サーバ・ベース・メディア・プロジェクトは全てのバージョンを保持するが、クライアント・ベース同期メディア・プロジェクトは、サーバにおいて入手可能な完全なバージョン集合の内一部のみを受信および／または保持すればよい。
【００３８】
[0045]  各クライアントにおけるローカル・プロジェクト同期サービスは、ローカル同期メディア・プロジェクトからサーバ・ベース・リモート同期メディア・プロジェクトまでの所望のタイプのメディア・プロジェクト同期モード、あるいは前述の混成選択肢にしたがって、ローカル・メディア・プロジェクトを更新する役割を果たす。先に説明したように、プロジェクト同期サービスは、アプリケーションがそれと通信することを可能にするＡＰＩを露出する。例えば、アプリケーションはオブジェクトの状態を、同期メディア・プロジェクト内部において整列することができる。このような整列の結果は、ユーザに表示することができ、各オブジェクトの状態は、図式で示されるか、または各オブジェクトに関連するメディア・ステータス・フィールド内においてテキスト注釈と共に示される。例えば、緑色のアイコンは、メディアがローカルにクライアントにおいて存在することを示すのでもよく、黄色は、メディアがサーバにあることを示すのでもよい。ＡＰＩを介して、クリエーティブ・アプリケーションの各々は、同期モードを自動的にまたはユーザの制御の下で制御することもできる。特定のアプリケーションが、特定の同期モードを規定してもよい。例えば、ストリーミングされた情報を読むことができないクリエーティブ・アプリケーションが、メディアがローカルに存在することを要求してもよい。ウェブ・ベース編集システムのような他のアプリケーションが、常にメディアがストリーミングされることを要求するのでもよい。混成アプリケーションでは、同期モードの選択がユーザによって制御されてもよい。例えば、ユーザのクライアントがネットワークから切断される前に、ユーザがメディアをローカルにキャッシュすることを要求してもよい。高ネットワーク帯域幅が利用できないときに迅速な編集を行う必要がある場合、ユーザはストリーミグ同期モードを選択してもよい。あるいは、ユーザは、プロジェクト同期サービスに、どのようにメディアを同期するかについてそれ自体の判定を行わせることを選択することもできる。同期メディア・プロジェクトがどのように同期されたかに依存して、サービスは、所与のクリエーティブ・アプリケーションによって要求されたメディアが、ローカルに読み取るために利用可能か、リモート位置からストリーミングされるか、または要求に応じて取り込まれるのか判定する。
【００３９】
[0046]  前述のように、同期メディア・プロジェクトは、２つの基本的な種類のデータ・モデル、即ち、固有および相互動作可能（図１の１０４および１０６）の内１つによって表される構成を含む。固有データ・モデルは、非線形ビデオ編集アプリケーション（図２の２１２）、ディジタル・オーディオ・ワークステーション（２１０）、またはビデオ・エフェクト・アプリケーション（２１４）のような、特定のクリエーティブ・アプリケーションにネーティブな形態で構成を表す。相互動作可能データ・モデルは、シーケンス、トラック、クリップ、およびそれらのソースの時間ベース表現で構成された最小公分母構成形態(lowest common denominator compositional form)に容易にマッピングする単純な形態にレンダリングされた、構成の簡略化バージョンを含む。これらの相互動作可能データ・モデルは、このモデルをサポートする他のアプリケーションが、編集、共有、保管の簡略化の目的で、互換性のないネーティブ構成データ・モデルを有する他のシステムにおいて、再生のために結果を変換し易くする。また、相互動作可能データ・モデルは、マスタリング設備(mastering facility)、レコード会社、長期保管、ダウンストリーム投稿者(downstream contributor)、マーケットプレースへの配信のために生成することもできる。所与のメディア・プロジェクトが、このようなモデルを含まなくても、１つ含んでも、または複数の相互動作可能データ・モデルを含んでもよい。相互交換可能構成を固有構成から生成する方法について、以下で説明する。
【００４０】
[0047]  メディア・プロジェクトのデータ・モデルを図５に示す。同期メディア・プロジェクト５０２は、１組の異なるバージョン５０４、５０６、５０８を含み、その各々は、当該バージョンが対応する編集セッションの後におけるメディア・プロジェクトのコンテンツを表す。つまり、各編集セッションの後、新たなバージョンが作られる。各バージョンは、１つ以上の相互動作可能構成レコード５１０と、１つ以上の固有構成レコード５１２とを含む（が、含まなくてもよい）。このデータ・モデルでは、構成レコードが、例えば、拡張可能マークアップ言語（ＸＭＬ）で格納された、特定のオブジェクトについてのテキスト・ベースの記述である。各構成レコードは、対応する構成アセットを指し示す、一意のＩＤまたはＵＲＬのような、ロケータ・ポインタを含む。図に示すように、相互動作可能構成レコード５１０は、以下で図６を参照して説明するような標準的な構成プレイリストの形態で、簡略化されたデータ・モデルによって表される、相互動作可能構成アセット５１４を指し示す。固有構成アセット５１６は、それを作ったもの以外のアプリケーションには不透明である構造的メタデータを含み、メディア・アセット間に任意の関係を含むことができる。同期メディア・プロジェクトは、固有構成アセットにアクセスしそして要求されたメディア・アセットを使用することができるためには、対応する固有アプリケーションが実行していなければならない。利用可能な固有アプリケーションがなくても、固有構成についてのプロジェクト同期メタデータにおけるレコード・エントリは、それが使用する物理アセットのロケータを格納する。これによって、メディア・プロジェクトのユーザは、このような関係を導くために構成を開くことができなくても、各構成の物理アセットを追跡することが可能になる。これは、アセット管理の改善をやりやすくする。例えば、ローカルに同期された物理媒体は、他の構成アセットによって参照される場合、削除されない。加えて、共同作業が強化される。これの一例は、コピーを作る必要なく、他の固有構成によって参照されたメディア・アセットを再利用する能力である。
【００４１】
[0048]  アセットとは、一般に、編集アプリケーションによって制作において使用されるデータを含むファイルを指すが、メディア・ファイルおよび他のデータ・ファイルもアセットとして格納される。各アセットには一意のＩＤが与えられ、この一意のＩＤは、ランダムに生成することができ、アセットを参照するためそしてアセットをメディア・プロジェクトにリンクするために使用される。また、構成は、対応するプレビュー・アセット５１８、被参照アセット５２０、および補助アセット５２２を指し示す。また、各バージョンは、メディア５２４のリストを含み、プレビュー・アセット５１８、被参照アセット５２０、および補助アセット５２２も参照する。
【００４２】
[0049]  相互動作可能構成アセットに使用されるプレーリスト・データ・モデルを図６に示す。相互動作可能構成アセットはプレイリストを参照する。例えば、相互動作可能構成アセット５１４は、トラック６０６、６０８、および６１０を含むプレイリスト６０４を参照する。トラックは、ビデオ、オーディオ、またはデータ（即ち、非メディア・データ）を含むことができる。各トラックは、図６においてクリップ１  ６１２、クリップ２  ６１４、およびクリップ３  ６１６として示されている、１組のクリップを参照する。一方、各クリップは、対応するメディア・アセット６１８、６２０、６２２を、あるオフセットおよび期間で参照する。プレイリストは、ＸＭＬファイルにおいて構成アセットとして格納され、構成からＩＤによって参照されてもよい。メディア・プロジェクトを解析することができる任意のアプリケーションも、相互動作可能構成アセットを解析することができる。次いで、アプリケーションは、プロジェクト同期ＳＤＫを使用して相互動作可能構成をそれ自体の形態に作り直し、トラック、クリップ、およびメディア参照をそれ自体の固有構成形態に変換することができる。構成を編集した後、アプリケーションはＳＤＫを使用して、相互動作可能構成の新たなバージョンを、その固有バージョンに加えてまたはその代わりに書き込むことができる。このメカニズムを使用して、多様な１組のクリエーティブ・アプリケーションを使用して、変更を行い次いで元の構成から新たな配信可能ファイル(deliverable)を生成することができる。相互動作可能構成を解析することによって、アプリケーションは、構成において用いられる物理メディア・アセットを識別することができる。アプリケーションが相互動作可能構成を解析して物理アセット参照を引き出すことができない場合、それでもなおプロジェクト同期メタデータを使用してその情報を得ることができる。プロジェクト同期メタデータは、相互動作可能構成によって使用された物理アセットを記録する。
【００４３】
[0050]  種々の実施形態において、メディア・プロジェクトは、構成および／またはメディアが存在する前にフレームワークとして作ることができる。例えば、全体の編集または混合が行われる前にメディア・インジェスト動作が開始したばかりである、メディア・プロジェクトの開始時には、構成は存在することはできない。
【００４４】
[0051]  １つのシナリオでは、クラウド・ベース共同同期メディア・プロジェクトを設定し、その中でメディアを取り込みクラウドにプッシュし、一方編集者はクラウドから入手可能なメディアを、彼のローカル同期メディア・プロジェクトに同期し、入手可能なメディアを使用して編集を開始する。次いで、編集者は、ローカル構成のあるバージョンをクラウド・ベース・メディア・プロジェクトにプッシュすることができ、クラウド・ベース・メディア・プロジェクトにおいて、ローカル構成は、共同作業者がそれを見直すことおよび／または更に編集を行うことができるように、必要に応じて、クラウド・ベース・メディア・プロジェクトおよび他のクライアントに同期される。
【００４５】
[0052]  他の使用事例では、制作前過程(pre-production)の一部として、いずれのメディアもストーリーボード・フェーズの一部として存在する前に、構成のあるバージョンを生成することもできる。ストーリーボード・フェーズでは、メディアのないダミー編集が「平坦な」タイムライン上に置かれる。このタイムラインは、ローカル同期メディア・プロジェクト内に置かれ、クラウドに同期される。一方、これは、共同作業者によるアクションによって、または自動インジェスト・プロセスによって、メディア・インジェストを誘起することができる。自動インジェスト・プロセスの一例では、タイムラインにおけるクリップのＩＤと一致する全てのメディアをクラウド・アーカイブから引き出すことを伴う。クラウドにおけるインジェストの後、編集者のメディア・プロジェクトに指定された同期モードに依存して、メディアをクライアント編集者(client editor)のローカル同期メディア・プロジェクトと同期させることができる。
【００４６】
[0053]  同期メディア・プロジェクトの編集中における任意の時点において、統合動作を実行することができる。これは、プロジェクトに必要とされる全てのアセットを、プロジェクトの所与のインスタンスに、例えば、ユーザに対してローカルなクライアントにおいてコピーする機能を果たす。引き出されたアセットは、サーバ２０２（図２０）のようなバック・エンド／クラウド・サーバにおけるアセットや、同期メディア・プロジェクトに指定された同期モードにしたがってローカルにコピーされなかった他のクライアントにおけるアセットを含むことができる。例えば、統合がクライアントＡ（図２の２０４）において実行されており、同期メディア・プロジェクト２０８が、クライアントＢ（２０６）にある、登録された同期メディア・プロジェクト２２８におけるアセットを参照した場合、この統合は、このアセットを同期メディア・プロジェクト２０８にサーバ２０２を介してコピーさせる。統合の後、同期メディア・プロジェクトをパッケージ化し、他の位置への配給および／または下流側制作のために、電子的に転送する、あるいはソリッド・ステート・メモリ、光ドライブ、または磁気ドライブのような可搬型記憶媒体にコピーすることができる。
【００４７】
[0054]  固有構成のあるバージョンを相互動作可能構成にレンダリングするとき、ユーザに、図７に示すような、インターフェースが提示され、ユーザが、含ませるコンポーネント（即ち、図示例におけるトラック）を選択し、含まれるトラックの形態を指定することも可能にする。トラック毎に、トラックが含まれないのか、相互動作可能フォーマットで含まれるのか、含まれ凍結されるのか、あるいは含まれコミットされるのか、ユーザは指定することができる。
【００４８】
[0055]  「含む」選択肢は、トラックを相互動作可能フォーマットでレンダリングさせる。これは損失のあるプロセスであり、新たな生メディア・ファイルだけが、レンダリングされるトラックにコピーされる。レンダリングされるトラックは、メディア・ファイルを参照するクリップを参照するトラック内にあるプレイリストのみをサポートする。エフェクト、自動化、またはルーティングのような他の種類のデータは、サポートされず、変換プロセスにおいて破棄される。
【００４９】
[0056]  「凍結」(freeze)選択肢は、元のトラックにある全てのデータを、オーディオ・ファイルまたはビデオ・ファイルにレンダリングさせる。元のトラックおよびメディア・データは保持されるが、事実上隠される。この変換は、トラックが「解凍されなく」てもよいことから、損失がなく、プロセスは元のトラックおよびメディア・データを隠さず、レンダリングされたメディア・ファイルを削除する。トラックを凍結することが有用なのは、デフォルトでアプリケーションにインストールされていないかもしれずそのトラックにおいて使用されるオーディオ処理プラグインを有していない共同作業者と、固有データ・モデルを共有するときである。受信側アプリケーションは、レンダリングされたメディア・ファイルを使用してトラックを再生することができ、一方固有データ・モデルに必要なデータは、必要なプラグインが装備された共同作業者との今後の使用のために、背景に存在する。
【００５０】
[0057]  凍結選択肢と同様、「コミット」選択肢もトラックおよびメディア・データ全体をメディア・ファイルにレンダリングするが、これらのメディア・ファイルを参照する新たなトラックだけが作られる。ファイルをレンダリングするために使用される様々の種類のトラックおよびメディア・データは、新たに作成されるトラックにはコピーされず、破棄される。レンダリングは、トラック、およびこのトラック内にありメディア・ファイルを参照するプレイリストのみをサポートする。
【００５１】
[0058]  加えて、ユーザには、図８に示すように、サンプル・レート、ビット深度、およびオーディオ・ファイル・タイプのような、設定を選択する機会も与えることができる。また、ユーザには、図９に示すように、プロジェクト名称、プロジェクト・タイプ、主アーティスト、クリエータ、アルバム・タイトル、および主演アーティスト(featured artist)というような、追加のメタデータを簡略化バージョンと関連付けるために含ませる機会も与えることができる。
【００５２】
[0059]  本明細書において説明したシステムの種々のコンポーネントは、汎用コンピュータ・システムを使用するコンピュータ・プログラムとして実現することができる。このようなコンピュータ・システムは、通例、情報をユーザに表示する出力デバイスと入力をユーザから受ける入力デバイスとの双方に接続された主要ユニットを含む。この主要ユニットは、一般に、相互接続メカニズムを介してメモリ・システムに接続されたプロセッサを含む。また、入力デバイスおよび出力デバイスも、相互接続メカニズムを介して、プロセッサおよびメモリ・システムに接続される。
【００５３】
[0060]  リモート・サーバまたはクラウド・ベースの装備では、コンピュータ・システムがネットワークにおける１つ以上のリモート・サーバに実現されてもよい。クライアントは、ワイド・エリア・ネットワークを介して、１つ以上のサーバに接続することができる。
【００５４】
[0061]  １つ以上の出力デバイスがコンピュータ・システムに接続されてもよい。出力デバイスの例には、液晶ディスプレイ（ＬＣＤ）、プラズマ・ディスプレイ、ビューアめがねを必要とするディスプレイおよびめがね不要ディスプレイを含む種々の立体視ディスプレイ、陰極線管、ビデオ投影システム、および他のビデオ出力デバイス、プリンタ、ネットワーク・インターフェース・デバイス、ケーブル・モデムを含む、低または高帯域幅ネットワークを介して通信するデバイス、ならびにディスクまたはテープのような記憶デバイスが含まれるが、これらに限定されるのではない。１つ以上の入力デバイスがコンピュータ・システムに接続されてもよい。入力デバイスの例には、キーボード、キーパッド、トラック・ボール、マウス、ペンおよびタブレット、タッチスクリーン、カメラ、通信デバイス、およびデータ入力デバイスが含まれるが、これらに限定されるのではない。本発明は、コンピュータ・システムと組み合わせて使用される特定の入力または出力デバイスにも、本明細書において説明したものにも限定されない。
【００５５】
[0062]  コンピュータ・システムは、コンピュータ・プログラミング言語、スクリプティング言語、またはアセンブリ言語さえも使用してプログラム可能な、汎用コンピュータ・システムでもよい。また、コンピュータ・システムは、特別にプログラミングされた特殊目的ハードウェアでもよい。汎用コンピュータ・システムでは、プロセッサが市販のプロセッサであることが通例である。また、汎用コンピュータは、通例、オペレーティング・システムを有する。オペレーティング・システムは、他のコンピュータ・プログラムの実行を制御し、スケジューリング、デバッギング、入力／出力制御、アカウンティング、コンパイル、ストレージ割り当て、データ管理およびメモリ管理、ならびに通信制御および関係するサービスを提供する。コンピュータ・システムは、ローカル・ネットワーク、および／またはインターネットのようなワイド・エリア・ネットワークに接続されてもよい。接続されたネットワークは、コンピュータ・システムにおよびコンピュータ・システムから、コンピュータにおける実行のためのプログラム命令、ビデオ・データ、静止画像データ、またはオーディオ・データ、メタデータ、メディア組成(composition)についてのレビューおよび承認情報、メディア注釈、ならびに他のデータというようなメディア・データを転送することができる。
【００５６】
[0063]  メモリ・システムは、通例、コンピュータ読み取り可能媒体を含む。媒体は、揮発性または不揮発性、書き込み可能または書き込み不可、および／または書き換え可能または書き換え不可でもよい。メモリ・システムは、通例、データを二進形態で格納する。このようなデータは、マイクロプロセッサによって実行されるアプリケーション・プログラム、またはアプリケーション・プログラムによって処理されディスクに格納される情報を定めることができる。本発明は、特定のメモリ・システムに限定されない。時間ベース媒体(time-based media)が磁気、光、またはソリッド・ステート・ドライブに格納され、そこから入力されてもよい。ドライブは、ローカルまたはネットワーク接続ディスクのアレイを含んでもよい。
【００５７】
[0064]  本明細書において説明したようなシステムは、ソフトウェア、ハードウェア、ファームウェア、またはこれら３つの組み合わせで実現することができる。このシステムの種々のエレメントは、個別または組み合わせのいずれでも、１つ以上のコンピュータ・プログラム製品として実現することができ、この場合、コンピュータ・プログラム命令が、コンピュータによる実行のためにコンピュータ読み取り可能媒体に格納され、接続されたローカル・エリアまたはワイド・エリア・ネットワークを介してコンピュータ・システムに転送される。プロセスの種々のステップは、このようなコンピュータ・プログラム命令を実行するコンピュータによって実行することができる。コンピュータ・システムは、マルチプロセッサ・コンピュータ・システムでもよく、またはコンピュータ・ネットワークを介して接続された複数のコンピュータを含んでもよい。本明細書において説明したコンポーネントは、コンピュータ・プログラムの別々のモジュールであってもよく、または別々のコンピュータ・プログラムでもよく、別々のコンピュータにおいて動作可能であってもよい。これらのコンポーネントによって生成されたデータは、メモリ・システムに格納されても、キャリア信号のような種々の通信媒体によってコンピュータ・システム間で送信されてもよい。
【００５８】
[0065]  以上、実施形態例について説明したが、以上のことは単なる例示であって限定ではなく、一例として紹介したに過ぎないことは、当業者には明白なはずである。多くの変更および他の実施形態も、当業者の範囲内であり、本発明の範囲に該当すると見なすこととする。
【図１】
2015216630.tif 000004
【図２】
2015216630.tif 000005
【図３】
2015216630.tif 000006
【図４】
2015216630.tif 000007
【図５】
2015216630.tif 000008
【図６】
2015216630.tif 000009
【図７】
2015216630.tif 000010
【図８】
2015216630.tif 000011
【図９】
2015216630.tif 000012
【外国語明細書】
2015216630000001.pdf