(57)【要約】クライアント／サーバ又はクラウドベースのシステムにおいてビデオにビジュアルエフェクトを適用するシステム及び方法が説明される。ウェブブラウザを用いて、例えば、ユーザは、クライアント側ソフトウェアをダウンロードすることなく動的なリアルタイムプレビューと共に簡単且つ洗練されたエフェクトを適用及び制御することができる。エフェクトのレンダリング及びプレビューはサーバで行われ、レンダリングされたイメージは、迅速に連続してクライアントに送信することができ、簡単なリアルタイムのフィードバック及び制御が可能となる。技術の他の態様も説明される。【特許請求の範囲】
【請求項１】
ビデオデータにビジュアルエフェクトを適用するためのプロセッサを有するコンピューティングシステムによって行われる方法であって、
第１のビデオ取り込みソースから、１つ以上のビデオフレームを含むビデオデータを受信することと、
前記１つ以上のビデオフレームの少なくとも一部をリモートレンダリングサーバに送信することと、
前記リモートレンダリングサーバから、前記ビデオデータにビジュアルエフェクトを適用するための１つ以上の制御を指定するウェブページを受信することと、
前記コンピューティングシステムのプロセッサ上で実行するブラウザで、
前記受信したビデオデータに適用可能な１つ以上のビジュアルエフェクトの指標を表示用に提供することと、
ユーザから、前記ビデオデータに適用する、少なくとも１つの関連する制御可能なパラメータを有する少なくとも１つのビジュアルエフェクトの選択を受信することと、
前記ビデオデータに前記少なくとも１つのビジュアルエフェクトを適用するように構成される前記リモートレンダリングサーバに、前記ビデオデータに適用する前記選択された少なくとも１つのビジュアルエフェクトの指標を送信することと、
前記リモートレンダリングサーバから、前記選択された少なくとも１つのビジュアルエフェクトに基づいて修正された１つ以上のビデオフレームを含む修正されたビデオデータを受信することと、
前記修正されたビデオデータを表示用に提供することと、
前記修正されたビデオデータが表示されている状態で、
前記ユーザから、前記少なくとも１つのビジュアルエフェクトに関連する前記少なくとも１つの制御可能なパラメータを修正する指標を受信することと、
前記リモートレンダリングサーバに、前記少なくとも１つのビジュアルエフェクトに関連する前記少なくとも１つの制御可能なパラメータを修正する前記指標を送信することと、
前記少なくとも１つのビジュアルエフェクトに関連する前記修正された少なくとも１つの制御可能なパラメータに基づいて第２の修正されたビデオデータを受信することと、
これにより、前記ユーザが前記リモートレンダリングサーバによるビデオデータへの前記少なくとも１つのビジュアルエフェクトの適用をリアルタイムで動的にステアリングすることができることと、
前記第２の修正されたビデオデータを表示用に提供することと、
を含む方法。
【請求項２】
前記コンピューティングシステムがモバイル電話であり、前記ビデオ取り込みソースが前記モバイル電話のカメラである、請求項１に記載の方法。
【請求項３】
前記少なくとも１つのビジュアルエフェクトが、ブラー、ワープ、レイ、シェイクリダクション、色変換、フェード、ワイプ、二軸ワイプ、又は静止画像挿入エフェクトのうちの少なくとも１つである、請求項１に記載の方法。
【請求項４】
前記ビデオデータが関連するオーディオデータを有し、前記方法がさらに、
前記ビデオデータに関連する前記オーディオデータに適用可能な１つ以上のオーディオエフェクトの指標を表示用に提供することと、
前記ユーザから、前記ビデオデータに関連する前記オーディオデータに適用する少なくとも１つのオーディオエフェクトの選択を受信することと、
前記リモートレンダリングサーバに、前記ビデオデータに関連する前記オーディオデータに適用する前記少なくとも１つのオーディオエフェクトの前記受信した指標を送信することと、
前記リモートレンダリングサーバから、前記少なくとも１つのオーディオエフェクトに基づいて修正されたオーディオデータを受信することと、
を含む、請求項１に記載の方法。
【請求項５】
前記少なくとも１つのオーディオエフェクトが、残響、フィルタリング、ノイズリダクション、又はゲインのうちの少なくとも１つである、請求項４に記載の方法。
【請求項６】
前記少なくとも１つの制御可能なパラメータが、輝度、彩度、強度、又は位置である、請求項１に記載の方法。
【請求項７】
前記少なくとも１つの制御可能なパラメータが、ディテール、速さ、ランダムネス、色合い、ブラー量、幅、長さ、品質、ズーム、色、混色、イネーブル、角度、結合、反転、不透明度、リバース、バリエーション、スタイル、又は鮮明化のうちの少なくとも１つを含む、請求項１に記載の方法。
【請求項８】
コンピューティングシステムによって実行される場合に、
リモートレンダリングサーバに、１つ以上のビデオフレームを含むビデオデータの少なくとも一部を送信することと、
前記リモートレンダリングサーバから、前記ビデオデータにビジュアルエフェクトを適用するための１つ以上の制御を指定するウェブページを受信することと、
前記コンピューティングシステムのプロセッサ上で実行するブラウザで、
前記ビデオデータに適用可能な１つ以上のビジュアルエフェクトの指標を表示用に提供することと、
ユーザから、前記ビデオデータに適用する、少なくとも１つの関連する制御可能なパラメータを有する少なくとも１つのビジュアルエフェクトの選択を受信することと、
前記ビデオデータに前記少なくとも１つのビジュアルエフェクトを適用するように構成される前記リモートレンダリングサーバに、前記ビデオデータに適用する前記選択された少なくとも１つのビジュアルエフェクトの指標を送信することと、
前記リモートレンダリングサーバから、前記選択された少なくとも１つのビジュアルエフェクトに基づいて修正された１つ以上のビデオフレームを含む第１の修正されたビデオデータを受信することと、
を含む動作を前記コンピューティングシステムに行わせる命令を格納するコンピュータ可読媒体。
【請求項９】
前記動作がさらに、
前記第１の修正されたビデオデータが表示されている状態で、
前記ユーザから、前記少なくとも１つのビジュアルエフェクトに関連する前記少なくとも１つの制御可能なパラメータを修正する指標を受信することと、
前記リモートレンダリングサーバに、前記少なくとも１つのビジュアルエフェクトに関連する前記少なくとも１つの制御可能なパラメータを修正する前記指標を送信することと、
前記少なくとも１つのビジュアルエフェクトに関連する前記修正された少なくとも１つの制御可能なパラメータに基づいて第２の修正されたビデオデータを受信することと、
これにより、前記ユーザが前記リモートレンダリングサーバによるビデオデータへの前記少なくとも１つのビジュアルエフェクトの適用をリアルタイムで動的にステアリングすることができることと、
前記第２の修正されたビデオデータを表示用に提供することと、
を含む、請求項８に記載のコンピュータ可読媒体。
【請求項１０】
前記動作がさらに、
ビデオデータの修正された第１のフレームを格納することと、
前記少なくとも１つの制御可能なパラメータに関する第１の値を前記格納したビデオデータの修正された第１のフレームと関連付けることと、
ビデオデータの修正された第２のフレームを格納することと、
前記少なくとも１つの制御可能なパラメータに関する第２の値を前記格納したビデオデータの修正された第２のフレームと関連付けることと、
を含む、請求項８に記載のコンピュータ可読媒体。
【請求項１１】
前記動作がさらに、
前記第１の値に設定される前記少なくとも１つの制御可能なパラメータの組を有する前記第１のフレームに前記少なくとも１つのビジュアルエフェクトを適用する要求を受信することに応答して、前記格納したビデオデータの修正された第１のフレームを検索することと、
前記第２の値に設定される前記少なくとも１つの制御可能なパラメータの組を有する前記第２のフレームに前記少なくとも１つのビジュアルエフェクトを適用する要求を受信することに応答して、前記格納したビデオデータの修正された第２のフレームを検索することと、
を含む、請求項１０に記載のコンピュータ可読媒体。
【請求項１２】
前記ビデオデータが関連するオーディオデータを有し、前記動作がさらに、
前記ビデオデータに関連する前記オーディオデータに適用可能な１つ以上のオーディオエフェクトの指標を表示用に提供することと、
前記ユーザから、前記ビデオデータに関連する前記オーディオデータに適用する少なくとも１つのオーディオエフェクトの選択を受信することと、
前記リモートレンダリングサーバに、前記ビデオデータに関連する前記オーディオデータに適用する前記少なくとも１つのオーディオエフェクトの前記受信した指標を送信することと、
前記リモートレンダリングサーバから、前記少なくとも１つのオーディオエフェクトに基づいて修正されたオーディオデータを受信することと、
を含む、請求項８に記載のコンピュータ可読媒体。
【請求項１３】
前記動作がさらに、
前記第１の修正されたビデオデータが表示されている状態で、前記修正されたビデオデータの各制御及び各フレームに関する設定されたパラメータ値に基づいて前記ビデオデータにビジュアルエフェクトを適用するための１つ以上の制御の前記表示を操作することを含む、請求項８に記載のコンピュータ可読媒体。
【請求項１４】
前記動作がさらに、
前記コンピューティングシステムのプロセッサ上で実行する前記ブラウザで、
前記ユーザから、前記ビデオデータに適用する少なくとも１つのビジュアルエフェクトの第２の選択を受信することと、
前記リモートレンダリングサーバに、前記ビデオデータに適用する前記第２の選択された少なくとも１つのビジュアルエフェクトの指標を送信することと、
前記リモートレンダリングサーバから、第２の修正されたビデオデータを受信することと、
前記第１の修正されたビデオデータ及び前記第２の修正されたビデオデータを前記ブラウザ内での同時表示用に提供することと、
前記ユーザから、好ましい修正されたビデオデータの選択を受信することと、
を含む、請求項８に記載のコンピュータ可読媒体。
【請求項１５】
システムであって、
リモートクライアントコンピュータから、ビデオデータの１つ以上のビデオフレームを受信するように構成されたコンポーネントと、
前記リモートクライアントコンピュータに、前記ビデオデータにビジュアルエフェクトを適用するための１つ以上の制御を指定するウェブページを送信するように構成されたコンポーネントと、
前記リモートクライアントコンピュータ上で実行するブラウザから、前記ビデオフレームに適用する、少なくとも１つの関連する制御可能なパラメータを有する少なくとも１つのビジュアルエフェクトの選択を受信するように構成されたコンポーネントと、
修正されたビデオデータを生成するために前記ビデオフレームに前記選択された少なくとも１つのビジュアルエフェクトを適用するように構成されたコンポーネントと、
前記リモートクライアントコンピュータに、前記生成された修正されたビデオデータを送信するように構成されたコンポーネントと、
を備えるシステム。
【請求項１６】
前記修正されたビデオデータが表示されている状態で、
ユーザから、前記少なくとも１つのビジュアルエフェクトに関連する前記少なくとも１つの制御可能なパラメータを修正する指標を受信し、
前記リモートクライアントコンピュータから、前記少なくとも１つのビジュアルエフェクトに関連する前記少なくとも１つの制御可能なパラメータを修正する指標を受信し、
第２の修正されたビデオデータを生成するために前記少なくとも１つのビジュアルエフェクトに関連する前記修正された少なくとも１つの制御可能なパラメータに基づいて前記ビデオフレームに前記選択された少なくとも１つのビジュアルエフェクトを適用し、
前記リモートクライアントコンピュータに、前記生成された第２の修正されたビデオデータを送信し、
これにより、前記ユーザが前記システムによるビデオデータへの前記少なくとも１つのビジュアルエフェクトの適用をリアルタイムで動的にステアリングすることができるように構成されたコンポーネントと、
前記リモートクライアントコンピュータに、前記生成された第２の修正されたビデオデータを送信するように構成されたコンポーネントと、
をさらに備える、請求項１５に記載のシステム。
【請求項１７】
前記ビデオデータの付加的なビデオフレームを識別するように構成されたコンポーネントと、
第３の修正されたビデオデータを生成するために前記識別された付加的なビデオフレームに前記少なくとも１つのビジュアルエフェクトを思索的に適用するように構成されたコンポーネントと、
をさらに備える、請求項１５に記載のシステム。
【請求項１８】
前記少なくとも１つのビジュアルエフェクトに関連する前記少なくとも１つの制御可能なパラメータが修正されているという判定に応答して第３の修正されたビデオデータを削除するように構成されたコンポーネントをさらに備える、請求項１７に記載のシステム。
【請求項１９】
前記リモートクライアントコンピュータから、１つ以上のビジュアルエフェクトに基づいて前記全ビデオデータをレンダリングする要求を受信するように構成されたコンポーネントと、
前記全ビデオデータがレンダリングされているという判定に応答して、ユーザに知らせるテキストメッセージ、電子メール、又はソーシャルメディアのうちの少なくとも１つを含む通知を送信するように構成されたコンポーネントと、
をさらに備える、請求項１５に記載のシステム。
【請求項２０】
前記ビデオデータが３Ｄモデルを含む、請求項１５に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
（関連出願への相互参照）
本願は、参照により本明細書に組み込まれる２０１１年１０月１０日に出願された「Ｍｅｔｈｏｄ  Ｆｏｒ  Ｎｅｔｗｏｒｋ−Ｂａｓｅｄ  Ｒｅｎｄｅｒｉｎｇ  Ａｎｄ  Ｓｔｅｅｒｉｎｇ  Ｏｆ  Ｖｉｓｕａｌ  Ｅｆｆｅｃｔｓ」と題する米国特許仮出願第６１／５４５，３３０号（代理人整理番号７０７５５．８００２．ＵＳ００）の優先権を主張するものである。
【背景技術】
【０００２】
ビジュアルエフェクトは、フィルム及び／又はビデオデータ上でイメージが作成及び／又は操作される種々のプロセスを含む。ビジュアルエフェクトは、ビデオの連続フレーム又は走査されたフィルム素材を処理することによってデジタル方式でしばしば実施される。デジタル化されたビデオの各フレーム又はフレームの組は、当該エフェクトによって処理される入力フレームに対応する出力フレームを生成するコンピュータアルゴリズムによって処理される。１つ以上のエフェクトの集合体が本明細書でルックとして定義される。
【０００３】
ビジュアルエフェクトは、通常、フレームがディスク又は記憶装置からコンピュータに読み込まれ、フレームが処理され、同じ又は異なる記憶装置に書き出される、コンピュータシステムにおいて適用される。エフェクトは、ユーザ（ビデオクリエータ）によって対話式で、又は予め定義されたスクリプトを用いるバッチで制御される。
【０００４】
対話式の場合、ビデオクリエータは、（ａ）エフェクトを適用する一連のフレームを識別する、（ｂ）エフェクトを選択する、（ｃ）エフェクトの最終ルックを制御する種々のパラメータを設定する、及び（ｄ）一連のフレームにおけるすべてのフレームに対してイメージ処理アルゴリズムを行うことによってエフェクトをレンダリングするために、Ａｄｏｂｅ  Ａｆｔｅｒ  Ｅｆｆｅｃｔｓ、Ａｕｔｏｄｅｓｋ  Ｆｌａｍｅ、Ａｖｉｄ  Ｍｅｄｉａ  Ｃｏｍｐｏｓｅｒ、若しくは類似のビデオ編集又は合成アプリケーションなどの「ホスト」アプリケーションを用いる。制御は、ブラー量、イメージシフト、色補正の強度、オーバーレイイメージを適用する位置、及びルックによって必要とされる多くの他のものを含む可能性がある。
【発明の概要】
【０００５】
（ビジュアルエフェクト）
出願人の発明の種々の例をここで説明する。以下の説明は、これらの例の十分な理解のための及び説明を可能にするための特定の具体的な詳細を提供する。当業者は、しかしながら、本発明がこれらの詳細の多くを伴わずに実施されてもよいことを理解するであろう。同様に、当業者はまた、本発明が本明細書で詳細に説明されない多くの他の明白な特徴を含んでもよいことを理解するであろう。さらに、種々の例の該当する説明を不必要に不明瞭にすることを避けるために、いくつかの周知の構造又は機能は図示されない又は以下で詳細に説明されないことがある。
【０００６】
以下で用いられる用語は、本発明の特定の具体例の詳細な説明と併せて用いられていても、その最も広い妥当な様態で解釈されるべきである。実際には、特定の用語は、以下で強調されることもあるが、しかしながら、任意の制約された様態で解釈されるように意図されるどのような用語も、以下でそのようにはっきりと具体的に定義されることになる。
【０００７】
（クライアント／サーバビデオ）
ビデオが格納され、世界中のユーザにストリーミングされる、例えばＶｉｍｅｏ（登録商標）、ＹｏｕＴｕｂｅ（登録商標）、及び多くの他のものを含むクラウドベースのウェブサーバに、ビデオクリエータがビデオをアップロードすることが増えてきている。これらのクラウドベースのシステムは、クリエータ及び開発者がネットワーク（例えば、インターネット）上のサービスとして提供される分散型ハードウェア及び／又はソフトウェア計算リソースを活用することを可能にする。オンラインアプリケーションを用いるビデオの編集及び合成は、Ｃｌｅｓｈ、ＹｏｕＴｕｂｅ  Ｖｉｄｅｏ  Ｅｄｉｔｏｒ、及びＫａｌｔｕｒａなどのシステムで行われ始めたばかりである。本明細書で詳細に説明される本システムは、オンライン作成及び編集プロセスの自然な部分として、これらのシステムに洗練されたビジュアルエフェクト能力を付加するための機構を提供する。現在のオンライン及びクラウドベースのビデオ編集システムは、顕著なエフェクトを含まないか、若しくはレンダリングするのに数秒もかからない非常に単純な又は低品質のエフェクトのみを含み、そしてまたユーザがそれらを制御又はステアリングする能力も提供しない。
【０００８】
開示される技術は、前述の状況を改善しようとするものである。クライアントコンピュータ上で処理されるエフェクトは、ビデオがクライアントにダウンロードされ、完了時に再びアップロードされることを必要とし、これは本システムでの方法に比べて非能率的である。クライアントデバイスにおいて標準ソフトウェア及びハードウェアコンポーネントを用いながらクラウドベースのサーバ上で効果的に且つ効率よく処理するための技術は、本明細書に記載のシステム及び方法のような、クライアントとサーバとの間の対話及びデータ交換の洗練された組に依拠する。
【０００９】
クライアント／サーバ又はクラウドベースのシステムにおいてビデオに高品質のエフェクトを適用する、並びに適用を制御又はステアリングするためのシステム及び方法が開示される。高品質のエフェクト（例えば、ブラー、ワーピング、レイ、及びシェイクリダクション）は、通常、より洗練されており、より低品質のエフェクト（例えば、単色変換）よりもフレームあたりの計算時間がより多くかかり、しばしばより大きい可制御性を有する。高品質のエフェクトのいくつかの際立った特徴は、基となるコンピュータアルゴリズムがアンチエイリアス処理される（「階段状のギザギザ」又は「ピクセル化」が無い）こと、浮動小数点演算などのほぼ無制限の色空間を使用すること、正確な演色を提供すること、及び進歩した計算アルゴリズムによって、より低品質のアルゴリズムよりもリアルな外観の結果をもたらすことである。高品質のエフェクトで用いられるような進歩したコンピュータコードは、エフェクトのルックのより融通性のある制御をしばしば可能にして、リアル感、したがって知覚される視覚品位を高める。
【図面の簡単な説明】
【００１０】
【図１】開示される技術が動作し得る環境を示すブロック図である。
【図２】それを通じてユーザがビデオクリップにエフェクトを適用し、ビデオクリップ及び／又はエフェクトの調整を行うことができるユーザインターフェースを示す表示ページの図である。
【図３】開示される技術によって採用され得るソフトウェアアーキテクチャを示すブロック図である。
【図４】クライアントブラウザとサーバの種々のコンポーネントとの間のトランザクションを示すタイミング図である。
【図５】対話セッションの処理を示す流れ図である。
【図６Ａ】開示される技術が動作し得る、同じ場所に存在するビデオエディタ及びエフェクトサーバを含む環境を示すブロック図である。
【図６Ｂ】開示される技術が動作し得る、異なるネットワークに存在するビデオエディタ及びエフェクトサーバを含む環境を示すブロック図である。
【発明を実施するための形態】
【００１１】
図１で見られる一実施形態では、ビデオクリエータデスクトップユーザＡ（１００）は、Ｆｉｒｅｆｏｘ（登録商標）、Ｉｎｔｅｒｎｅｔ  Ｅｘｐｌｏｒｅｒ、又はＧｏｏｇｌｅ  Ｃｈｒｏｍｅ（登録商標）（１０２）などの標準ウェブブラウザでデスクトップコンピュータ（１０１）を使用する。ブラウザは、インターネット、若しくはモバイルデータネットワーク又はプライベートネットワークなどの任意の類似のネットワーク（１０３）を介して、クラウドサーバファーム（１０５）に接続する。ユーザは、ブラウザで実行するウェブページによって、ビデオフレームの組にエフェクトを適用し、これらのエフェクトの制御を動的にリアルタイムで調整することができる。例えば、エフェクトは、レンズフレア、シェイク付加、古いフィルムスタイル、古いＴＶスタイル、トランジション、スタイルのレンダリング（ハーフトーン、スケッチ、油絵など）、漫画ルック、グロー、ビデオフィードバック、モーションブラー、フレームレート変換、鮮明化、ビネット、万華鏡、エンボス、テクスチャ付加、自然現象模擬（稲妻、火、スモーク、雨、雪、オーロラ、虹など）等を含んでもよい。本システムは、ユーザがそれらの調整の効果を直ちに（又はほぼリアルタイムで）見る、並びに多数のビデオフレームのバッチレンダリングを開始及び制御することを可能にする。ビデオクリエータユーザ（１００）はまた、同様にブラウザでモバイルデバイス（１０４）を用いてもよい。
【００１２】
図２を参照すると、一実施形態では、ユーザは、ビデオクリップにエフェクトを適用し、動的に（自由に）調整を行うのに標準ウェブブラウザ（２０１）を用いる。ビデオプレビューウィンドウ（２０２）にビデオが現れ、再生ボタン（２０３ａ、２０３ｂ）を用いて再生することができる。サムネイルパネル（２０４）にエフェクトが現れ、ユーザは、該パネルからビデオクリップ（２０５）に適用されるべき１つ以上のエフェクトを選んでもよい。エフェクトを調整又はステアリングするために、１つ以上のエフェクト制御スライダ（２０６）が提供され、ユーザは、それらをドラッグし、リアルタイムで結果をビデオプレビューウィンドウで見ることができる。ユーザは、エフェクトに満足するときに、ビデオレンダリングボタン（２０７）を用いて完成したビデオをレンダリングしてもよい。代替的に、システムが、ユーザの介入なしにビデオのすべて又は一部を思索的にレンダリングしてもよい。場合によっては、ユーザは、ビデオが再生されている最中にエフェクト制御スライダをドラッグすることができ、ビデオを再生する際に、変更されたエフェクトが直ちに又は短い遅延内で見えるようになり、制御によってもたらされる変化に対するリアルタイムのフィードバックがユーザに与えられる。
【００１３】
図３のソフトウェアアーキテクチャ図は、アプリケーションの１つの可能な全体構造を説明する（しかし可能な唯一のものではなく、他のものが当業者には明白である）。クライアント（３０１）（デスクトップ及び／又はモバイルデバイス上で実行してもよい）は、そのウェブブラウザ又は類似のアプリケーションを通じてＴＣＰ／ＩＰ及びＨＴＴＰなどの一組の標準インターネットプロトコルを介して１つ以上のサーバコンピュータ上で走るリモートサーバプログラム（３０２）に接続する。１つ以上のサーバプロセスは、ウェブページコンテンツ（３０３）を生成する機能及び／又はモジュール、並びに、エフェクトをレンダリング及びステアリングするためのユーザインターフェース（３０４）、Ａｐａｃｈｅ（登録商標）又はＭｉｃｒｏｓｏｆｔ  Ｉｎｔｅｒｎｅｔ  Ｉｎｆｏｒｍａｔｉｏｎ  Ｓｅｒｖｅｒ又は他のものなどの標準ウェブサーバ（３０７）、エフェクト処理及びレンダリングコードを含むレンダライブラリ（３０５）を作成及び管理する機能及び／又はモジュールを含む。これはまた、正常動作の一部としてウェブフレームワーク（３０６）などの種々の他のモジュールを含んでもよい。このシステムの特徴は、クライアントユーザが、アプリケーションを実行するために、最新のコンピュータですでに見受けられる普通のオペレーティングシステム及びウェブブラウザ以外のどのような特別なソフトウェアもインストールする必要がないことである。
【００１４】
ブラウザクライアントにウェブページ（ＨＴＭＬ及びＣＳＳ）並びにブラウザにおいて実行されるべきＪａｖａＳｃｒｉｐｔ（登録商標）（ＪＳ）コードを配信するのにＨＴＭＬ／ＣＳＳページ生成コード（３０３）が用いられる。ＨＴＭＬ／ＣＳＳページ生成コードは、ｓｔａｔｉｃ  ＨＴＭＬ、若しくはＰＨＰ、ＪａｖａＳｃｒｉｐｔ、Ｊａｖａ（登録商標）、Ｐｙｔｈｏｎ、又は他のものなどの任意のウェブサーバ側言語を用いて実装されてもよい。レンダインターフェースコード（３０４）は、ブラウザ（３０１）とレンダライブラリコード（３０５）との間の仲介役として用いられ、ブラウザからの非同期性の要求に応答し、レンダライブラリコードを管理し、ブラウザへの配信用にメッセージをフォーマットする。レンダライブラリコード（３０５）は、エフェクトの処理を実施し、ユーザによって提供される選択されたエフェクト及びパラメータを用いて各フレームに関するビデオピクセルデータを処理する。
【００１５】
イベントの可能性のあるタイムラインを説明する図４の対話図を参照すると、第１の列は、ブラウザで起こるイベントを示す。右の３つの列は、サーバソフトウェアの３つの別個の部分を示す。この図は、単なる例証用であって、例えば、異なる数のサーバプロセスを用いる、レンダインターフェースコードを省略する、及びこれをレンダライブラリコード又は異なるスタイル及び数の交換されるメッセージにフォールディングする、多くの他の類似の実施形態が可能である。
【００１６】
ブラウザ（３０１）が、例えばＨＴＴＰ  ＧＥＴコマンド（４０１）を介してサーバコード（３０７）との会話を開始する。サーバが、ユーザのビデオ及び適用する可能なルックの選択肢を示すために、ブラウザによって解釈されるコード（例えば、ＨＴＭＬ＋ＣＳＳ＋ＪａｖａＳｃｒｉｐｔ）を戻す（４０２）。ユーザが、例えばポインティングすること、ドラッグアンドドロップすること、又は類似の手段によって、ビデオフレームの特定の組に特定のルックを適用する意思を示す。メッセージ（４０３）がサーバに送信され、サーバは、ビデオフレームを収集し、ルック及び随意的に適用されるべきルックを記述するもう１つのテキスト又はバイナリプリセットファイル並びにルックについての種々のメタデータを適用するためにレンダライブラリソフトウェアを呼び出す（４０４、４０５）。これは、次いで、ユーザに送信される１つ以上のテストフレームをレンダリングし（４０６）、これはほぼ直ちに起こることがある。サーバはまた、ルックをステアリング又は調整するのに利用可能な制御の記述をブラウザに送信する（４０６）。ブラウザは、該記述を解釈し、制御を表示し、これは、例えばビデオフレームに対するＸ，Ｙ空間位置を示す若しくはパラメータ値を調整又は制御するのにノブ、ボタン、スライダ、メニュー、又は他の共通の制御、並びにマウス又はタッチスクリーン入力を用いる画面上の直接操作の形態をとってもよい。例えば、パラメータ値は、輝度、彩度、強度、位置（例えば、Ｘ／Ｙ制御に関する）、幅、長さ、品質、ズーム、色（例えば、カラーチューザ又はカラーピッカでの）、ディテール、速さ、ランダムネス、色合い、ブラー量、混色、イネーブル（例えば、ｙｅｓ／ｎｏチェックボックス）、角度、結合、閾値、反転、不透明度、リバース、バリエーション、スタイル、鮮明化などを含んでもよい。
【００１７】
ユーザは、次いで、これらのスライダ又は制御とリアルタイムで対話してもよく（４０７）、制御の各更新がサーバに送信され（４０８）、サーバは、１つ以上のフレームをレンダリングし（４０９）、それらをブラウザに直ちに送信して（４１０、４１１、４１２）、該制御のエフェクトについてのほぼ即時のフィードバックをユーザに提供する。この対話は迅速に起こり、そのためビデオフレームは、ユーザがスライダ又は制御を動かす際のその変化の結果を反映するように見える。ステップ４０７〜４１２からなる全ループ（４１２）が迅速に繰り返される。
【００１８】
クライアントとサーバとの間のサンプル対話が以下に提供される。
【００１９】
ユーザが、ブラウザを開き、ビデオサーバのＵＲＬ（例えば、：ｈｔｔｐ：／／ｖｉｄｅｏ．ｇｅｎａｒｔｓ．ｃｏｍ）を選択する（４０１）。
【００２０】
サーバが、ブラウザで実行するＨＴＭＬテキスト、イメージ、カスケーディングスタイルシート（ＣＳＳ）スタイリング、及びＪａｖａＳｃｒｉｐｔ（ＪＳ）又は他のスクリプト言語コードを含む最初のウェブページコンテンツ（４０２）で応答する。
【００２１】
ＪａｖａＳｃｒｉｐｔ（ＪＳ）コードは、現在のエフェクト及び任意のプリセットパラメータを設定するために情報をサーバに非同期的に送信する（４０３）。
【００２２】
サーバ上のレンダコードが、エフェクトレンダリングライブラリを初期化し、所与のパラメータを有するエフェクトをレンダリングするようにライブラリを設定し、制御定義からユーザに見える制御を作成する（４０４、４０５、４０６ａ、４０６ｂ）。
【００２３】
残りの対話は、例えば非常に迅速なループで起こる（４１３）。
【００２４】
ユーザが、ブラウザウェブページにおけるスクロールバーをドラッグする（４０７）。
【００２５】
ＪＳコードが、ユーザのアクションの通知を受けて、スクロールバー値によって表される新たに修正されたパラメータを有するビデオの現在のフレームをレンダリングするようにサーバに告げる非同期のサーバ要求を開始する（４０８）。
【００２６】
サーバが、新しいパラメータデータを受信し、メモリの中のフレームをレンダリングする（４０９、４１０）。
【００２７】
サーバが、メモリの中のイメージデータ及び任意の他のメタデータを用いてＨＴＴＰ応答パケットを作成し、このパケットは、イメージデータ（この例ではＰＮＧ形式）を含む複数の要素からなることがある（４１１）。
【００２８】
応答パケットがブラウザのＪＳコードに配信され、これによりブラウザが新しいイメージをレンダリングする（４１２）。ユーザへの結果は、イメージ又はビデオの動的なほぼリアルタイムの制御及び更新である。
【００２９】
本明細書に記載のシステムは、通常、より大きいビデオストレージ、トランスコーディング、及びプレイバックシステム内で機能する。このコンテキストを説明するために、図５のフローチャートを参照しながら対話セッションの一例（単なる例証用）が提供される。
【００３０】
ユーザが、ビデオ取り込みソースを備えるカメラ又はモバイルデバイスでビデオ素材をとる（５００）。
【００３１】
ユーザが、ウェブブラウザを用いて生ビデオをサーバにアップロードする（５０１）。
【００３２】
ウェブブラウザが、ユーザのビデオを示し、編集及びエフェクト処理モードを提供する（５０２）。
【００３３】
ユーザが、多数のクリップを選択して連結し、合うようにトリムし、ビデオエフェクト及びトランジションを付加し始める（５０３）。
【００３４】
この時点（５０４）で、図３のソフトウェアアーキテクチャ及び図４に示されるメッセージ及びデータ交換を用いる、本明細書に記載のシステムは、ユーザが本明細書に記載の様態でエフェクトを付加することを可能にする。
【００３５】
ユーザが結果に満足する場合（５０５）、最終レンダリングがバックグラウンドで（ユーザ対話なしに）自動的に起こるか、又はユーザがサーバに最終レンダリングを開始するように明示的に信号を送る（５０６）。
【００３６】
レンダリングが完了した後で、処理されたビデオは、見る及び随意的なダウンロード又は配信の準備ができた状態となる（５０７）。
【００３７】
付加的な特徴／実施形態
【００３８】
随時、ユーザは、ビデオをプレイバックし、又は仮想再生ヘッドの位置を示すタイムバーなどの種々の標準タイムライン技術を用いてその中で検索することができる。いつでも、ユーザは、ビデオに適用された現在のエフェクトを見ることができる。
【００３９】
所望のエフェクトがビデオクリップ間のトランジションに関係するケースでは、ユーザがトランジションポイント（２つのビデオセグメント間の切れ目）を選択し、次いで、サーバが（再びブラウザを通じて）可能なトランジションエフェクトの選択肢を示してもよい。ユーザは、１つを選択し、本明細書に記載の方法を用いて結果を直ちに見ることができる。
【００４０】
前述の方法でエフェクトをステアリング又は制御するために、スライダ及び／又は数値パラメータと共に随意的な「進歩した」モードを利用できる可能性があることに留意されたい。
【００４１】
ユーザが新しいルック又はトランジションを選択する若しくは任意のパラメータを調整するときにはいつでも、サーバは、このシステムの方法を用いて直ちに通知を受けることができ、サーバは、ほぼ即時の応答を提供するために過剰な計算を避ける及び対話型応答を改善するのにもしかするとキャッシング及びルックアヘッド方法を用いて、選択されたエフェクトをビデオ上にレンダリングする。キャッシングは、以前にレンダリングされたフレームをメモリに又はディスク上に格納し、ユーザが同じパラメータ値を有する同じフレームを将来要求する場合にこれらのフレームを迅速にまた呼び出すことができるようにこれらのフレームに適切なパラメータ値を関連付けることによって達成される。ルックアヘッドは、ユーザがおそらくこれらのフレームを見ることを望むと予想して、現在の再生ヘッド位置の前で思索的にレンダリングするのに用いられる。アイドルサーバキャパシテを検出すること及びアイドルＣＰＵを用いて１又は２秒前にレンダリングすることなどの種々の統計的方法又は発見的方法をこれのために用いることができる。
【００４２】
サーバは、処理されたビデオをこのプロセス中にクライアントに連続的にストリーミングしてもよく、そのため、ユーザもストリーミングの最中に流れているビデオストリームの処理を自分で効果的に変更するモードでこのシステムを用いることができることに留意されたい。このモードでは、クライアントがフィードバックをクラウドに提供し、更新されたビデオを（ほぼ）リアルタイムで受信する、連続フィードバックループが存在し、これは、ユーザが精細に制御された調整を行い、これらの調整の結果を迅速に見ることを可能にする。本システムでは同じフレームを繰り返し処理する必要はなく、そのためこれは自然な向上である。図４のメッセージング及びデータフローは、大いには変化しないが、エフェクトメッセージは、プレイアウトされているビデオフレームとインターリーブされることになる。
【００４３】
特に、サーバが処理されたビデオを連続的にストリーミングしているケースでは、サーバは、スライダ位置、したがって関連するパラメータの変化を後の時点で又はレンダリング中に再現できるような方法で、各ビデオフレーム時間が表示されている時点でのスライダ制御値を記録してもよいことに留意されたい。これは、ユーザが、ビデオが再生されている最中に（例えば）エフェクトをフェードイン又はフェードアウトするようにスライダ値をアニメーション化することを可能にする。
【００４４】
ユーザが電話又はタブレットなどのモバイルデバイス上でブラウザを用いてもよいことに留意されたい。このシステムは、詳細なイメージ処理のほとんどがクラウド（例えば、モバイルデバイスから遠隔の１つ以上のデバイス）で行われるので、デバイス上で直接エフェクトをレンダリングすることに比べてより低性能の又はより小型のクライアントデバイスで使用可能である。これはまた、クライアントへの固定のフレームレートを維持しながら、計算上より費用がかかる、より一層計算が複雑なエフェクト及びより高い視覚的忠実度を有するエフェクトを可能にする。クライアントが非常に単純なまま低いリソース要件を有する状態で、任意の複雑さのエフェクトを計算するのにより多くのサーバリソースを動的に割り当てることができる。
【００４５】
ユーザが、後の通知を伴う一連のフレームの全てのバッチモードでのレンダリングをサーバに随時要求してもよいことに留意されたい。例えば、ユーザは、レンダリング完了時にテキストメッセージ、ポップアップウィンドウ、又は他の手段を介して通知されることを選んでもよい。通知は、修正されたビデオにアクセスするためにＵＲＬを含んでもよい。これは、ユーザが電話でとられたビデオをアップロードするモバイルデバイスで特に有用である場合があり、ビデオを処理するのにデバイスのＣＰＵ（したがってそのバッテリ電力）を使用する必要はない。ユーザはデバイスを完全にオフにし、完了通知を待つことができる。
【００４６】
ユーザはまた、同じビデオを異なるエフェクトで処理し、視聴者の視聴時間を測るのに結果を並べて又は分析を用いることによって比較してもよい。これは、例えば、適用されるルックを選択すること、及びこれをユーザによって選択された又はサーバ上のアルゴリズムによって推奨された代替ルックに置き換えることによって、ブラウザで行うことができる。視聴者が好みのバージョンを選択するために何らかの方法（例えばブラウザにおけるボタン）でビデオの２つ以上のバージョンを並べて又は順次に視聴者に示すことができる可能性がある。代替的に、特定のエフェクトに関するユーザの好みを測るために異なるエフェクトが適用されたビデオの異なるバージョンを異なるユーザに示すことができる可能性がある。
【００４７】
ユーザはまた、エフェクトの同じ組を用いていくつかのビデオを処理してもよく、このシステムの特徴は、ユーザが一組のビデオクリップに適用される１つ以上のルック及びトランジションを選択し、それらを後で用いるために格納し、ルック及びトランジションの同じ組をビデオクリップの異なる組に適用することを可能にするであろう。例えば、広告に関するシナリオでは、多くの広告が同じ基本テンプレートを共有してもよい。この特徴は、ユーザが広告のすべてにルックの同じ組を迅速且つ容易に適用して、それらに一貫したルックを与え、したがって所望のブランディングを通信することを可能にするであろう。
【００４８】
ビデオフレームがユーザのブラウザにおいてではなくサーバ上でレンダリングされるという事実は、一般に、こうしたレンダリングのためにより一層多くの計算機能力が利用できることを意味し、これは、ブラウザにおいて又はモバイルデバイス上で直接フレームをレンダリングするシステムに比べて、はるかに多大な複雑さ及び美しさのエフェクトが用いられることを可能にすることに留意されたい。一実施形態では、ビデオフレームは、レンダリングのための複数の物理的サーバに分散され、一連のビデオフレームのすべてをレンダリングする総時間が減少する。これはまた、処理時間／レンダリング時間をユーザのデバイスの処理パワーとは無関係にし、そのため単純な移動電話が非常に複雑なエフェクトを作成することができる。異なるサーバが、グラフィックス処理ユニット、より高速の浮動小数点ハードウェア、又は増加したメモリなどの異なる能力を有するハードウェアで構成されてもよく、これは、これらのサーバがそれらの能力を利用した特定のエフェクトを処理するのに用いられることを可能にするであろう。
【００４９】
システムの別の実施形態では、レンダリングタスクとプレイバックタスクは、クライアントとサーバとの間で分割することができる。クライアントは、より高品質のイメージを非同期的にレンダリングする命令をサーバに送信しながら、あまり複雑でないエフェクト又は低解像度のプロキシイメージをレンダリングしてもよい。これらのより高品質のイメージは、準備が整ったときに、デバイスによってレンダリングされたより低品質のものと置き換わることができる。代替的に、制約された帯域幅の状況では、デバイスは、サーバから常時ストリーミングするのではなくキャッシュされたレンダリング済みフレームのローカルプレイバックを行ってもよい。
【００５０】
別の実施形態では、図６を参照すると、ユーザの対話を管理し、ＡＰＩを通じてサーバとの間で命令を受け渡しするオンライン（クラウドベースの）ビデオ編集又は合成アプリケーション６０１が、ユーザ（１００）と本明細書に記載のエフェクトサーバ（１０４）との間に存在してもよい。この実施形態では、オンラインアプリケーションは、オンライン編集アプリケーションとのユーザの対話と協調して又は対話から独立して、対話モード又はバッチモードで命令及びデータを送信し、命令及びデータをサーバから受信してもよい。図６ａは、ビデオエディタとエフェクトサーバが同じ場所に存在する実施形態を示し、図６ｂは、ビデオエディタとエフェクトサーバが異なるネットワーク上にある実施形態を示す。
【００５１】
いくつかの例では、ブラウザイメージの忠実度は、クライアント（ブラウザ）とサーバとの間の帯域幅に依存することがある。より高帯域幅の接続は、より高品質（より少ない圧縮アーチファクトを含む）及びより高解像度のイメージとより高速のフレームレート（フレーム数／秒）との両方を可能にする。イメージ忠実度におけるこれらのバリエーションは、接続帯域幅を測定するシステムによって動的に及び自動的に調整できる可能性があり、及び／又はユーザによって物理的デバイスの限界まで指定されることが可能である。ローカルデバイスの解像度は最終出力の解像度又は品質に影響しないことに留意されたい。サーバは、最終出力のための高品質のイメージを同時に又は順次にレンダリングしながら、ユーザのデバイスに送信するプレビューとして低品質のイメージをレンダリングしてもよい。こうした解像度の切換えは、例えば、より短い待ち時間のフィードバックが達成されるようにエフェクトを調整しながら、小型のモバイルデバイスにより低解像度のイメージを送信し、デスクトップに高解像度のイメージを送信するために、若しくは低解像度又は低品質の高度に圧縮されたプレビューを送信するために用いることができる可能性がある。サーバは、ユーザ介入なしに、デバイス能力及びネットワーク能力に問い合わせることに基づいてこの切換えを行うことができる。
【００５２】
最終的なレンダリングされたビデオの忠実度は、サーバリソースに依存することがある。場合によっては、ユーザは、彼らの使用モデルに適した品質レベルを選択してもよく、これは、より多くのサーバプロセッサを用いることによって品質（例えば解像度）を改善する又は処理時間を短縮するために、より多くの計算リソースにより多く支払うことを含む可能性がある。
【００５３】
Ａｐａｃｈｅ又はＩＩＳウェブサーバ、ＰＨＰ、又はＰｙｔｈｏｎコンピュータ言語などの標準技術、及び／又はＩｎｔｅｒｎｅｔ  Ｅｘｐｌｏｒｅｒ、Ｆｉｒｅｆｏｘ、又はＣｈｒｏｍｅなどのウェブブラウザの使用は、ユーザがカスタムアプリケーションをダウンロード及びインストールする、すなわちサーバ上で実行しているエフェクトの高度に対話型のステアリングをする必要なしに、革新的なユーザ経験を可能にする。
【００５４】
ユーザがブラウザと対話しておらず、且つサーバがアイドルであるときに、サーバは、ユーザが現在のパラメータ設定を用いて他の近くの（通常、後続の）ビデオフレームを見ることを望む場合の対話型応答を改善するために、他のビデオフレームを思索的にレンダリングしてもよい。これらのキャッシュされたフレームは、ユーザがその後、他のパラメータ設定を変えるときに保たれてもよいし、又は削除されてもよい。サーバは、最大限の利用のために複数の処理スレッドを走らせてもよい。思索的レンダリングスレッドは、より低い優先度を有することになり、そのためそれらはより高い優先度を有するものが実行される必要がないときにだけ走る。
【００５５】
本明細書で開示される技術は、オーディオエフェクトに適用されてもよく、この場合、オーディオは、サーバからストリーミングされ、オーディオが再生されている間又はオクターブ、振幅、周波数などの調節可能又は制御可能なパラメータを有する短いサンプルがループされている間に、ユーザが、残響、フィルタリング、ノイズリダクション、及びゲインなどのオーディオエフェクトの種々のパラメータを操作する。これは、コアサーバレンダリングライブラリを、オーディオエフェクトを作成及びレンダリングするための類似のライブラリと置き換えること、及びシステムの他の部分のほとんどを変更されていない状態に保ちながらデータ伝達プロトコルを拡張することに関係するであろう。
【００５６】
本明細書で開示される技術は、フィルム又はビデオ、ゲーム、アーキテクチャルレンダリング、又は他の用途に用いられる現実的な及び／又は非現実的なシーンの３Ｄレンダリング及びモデリングに適用されてもよい。ユーザは、実際のモデリング、アニメーション、及びレンダリングがサーバ又はサーバ上で起こる状態で、ブラウザを介してこうしたシーンの作成、モデリング、アニメーション、及びレンダリングを制御することができる。これは、コアサーバレンダリングライブラリを、３Ｄシーンをモデリング、アニメーティング、及び／又はレンダリングするための類似のライブラリと置き換えること、及びシステムの他の部分のほとんどを変更されていない状態に保ちながらデータ伝達プロトコルを拡張することに関係するであろう。
【００５７】
結言
本発明はインターネットアプライアンス、ハンドヘルドデバイス、装着可能コンピュータ、セルラ電話又は移動電話、マルチプロセッサシステム、マイクロプロセッサベースの消費者向け電気製品又はプログラム可能な消費者向け電気製品、セットトップボックス、ネットワークＰＣ、ミニコンピュータ、メインフレームコンピュータなどを含む種々のコンピュータシステム構成で実施できることが当業者には分かるであろう。本発明は、以下で詳述されるコンピュータで実行可能な命令のうちの１つ又は複数を行うために専用にプログラムされ、構成され、又は構築される特殊用途コンピュータ又はデータプロセッサにおいて具体化することができる。実際には、本明細書で一般に用いられる場合の「コンピュータ」という用語は、上記のデバイスのいずれか、並びに任意のデータプロセッサ、又はゲームデバイス、モバイルデバイス（例えば、移動電話）、カメラ、ビデオ取り込みデバイス又はソース、若しくはプロセッサ及び他のコンポーネント、例えば、ネットワーク通信回路を有する他の電子デバイスなどの消費者向け電子物品を含む、ネットワークと通信できる任意のデバイスを指す。
【００５８】
後述の本発明の態様は、磁気的及び光学的に可読のリムーバブルコンピュータディスクを含むコンピュータ可読媒体上に格納又は分散され、チップ（例えばＥＥＰＲＯＭチップ）にファームウェアとして格納され、並びにインターネット上で又は他のネットワーク（無線ネットワークを含む）上で電子的に分散されてもよい。本発明の態様に特有のデータ構造及びデータの伝送もまた本発明の範囲内に包含される。
【００５９】
一般に、本発明の実施形態の詳細な説明は、網羅的となること又は本発明を上記で開示された正確な形態に限定することを意図されない。本発明の具体的な実施形態及び例が、示す目的で上記で説明されるが、当業者が認識するであろう本発明の範囲内で種々の等価な修正が可能である。例えば、プロセス又はブロックが所与の順番で提示されているが、代替的な実施形態は、異なる順番で、ステップを有するルーチンを行ってもよく、又はブロックを有するシステムを採用してもよく、いくつかのプロセス又はブロックは、削除、移動、付加、細分化、結合、及び／又は修正されてもよい。これらのプロセス又はブロックのそれぞれは、種々の異なる方法で実施されてもよい。また、プロセス又はブロックは、時には直列に実行さるものとして示されるが、これらのプロセス又はブロックは、代わりに並列に実行されてもよく、又は異なる時点で実行されてもよい。
【００６０】
本発明の態様は、磁気的に及び光学的に可読のコンピュータディスク、配線で接続された又は予めプログラムされたチップ（例えば、ＥＥＰＲＯＭ半導体チップ）、ナノテクノロジーメモリ、生物学的メモリ、又は他のデータ記憶媒体などのコンピュータ可読記憶媒体を含むコンピュータ可読媒体上に格納又は分散されてもよい。実際には、コンピュータで実施される命令、データ構造、画面表示、及び本発明の態様の下での他のデータは、インターネット上で又は他のネットワーク（無線ネットワークを含む）上で、特定の時間期間にわたってコンピュータ可読伝搬媒体又は伝送媒体（例えば、電磁波、音波など）で伝搬される信号で配信されてもよく、又はそれらは、任意のアナログ又はデジタルネットワーク（パケット交換、回路交換、又は他の方式）で提供されてもよい。当業者は、本発明の一部がサーバコンピュータ上に常駐するが、対応する部分はモバイルデバイス又はポータブルデバイスなどのクライアントコンピュータ上に常駐し、したがって、特定のハードウェアプラットフォームが本明細書に記載されているが、本発明の態様は、ネットワーク上のノードに等しく適用可能であることを認識するであろう。
【００６１】
本発明の例の上記の詳細な説明は、網羅的となること又は本発明を上記で開示された正確な形態に限定することを意図されない。本発明の具体例が示す目的で上記で説明されるが、当業者が認識するであろう本発明の範囲内で種々の等価な修正が可能である。例えば、プロセス又はステップが所与の順番で提示されているが、代替的な実装が異なる順番で実施されてもよく、代替又はサブコンビネーションを提供するためにいくつかのプロセス又はステップが削除、移動、付加、細分化、結合、及び／又は修正されてもよい。これらのプロセス又はステップのそれぞれは、種々の異なる方法で実施されてもよい。また、プロセス又はステップは、時には直列に実行されるものとして示されるが、これらのプロセス又はブロックは、代わりに並列に実行又は実施されてもよく、又は異なる時点で実行されてもよい。
【００６２】
本明細書で提供される本発明の教示は、必ずしも前述のシステムにではなく他のシステムにも適用することができる。前述の種々の例の要素及び作用は、本発明のさらなる実装を提供するために組み合わせることができる。本発明のいくつかの代替的な実装は、上述のこれらの実装への付加的な要素を含むことがあるだけでなく、より少ない要素を含むことがある。
【００６３】
添付の出願書類で挙げられるあらゆるものを含む上述のあらゆる特許及び出願並びに他の参照特許が、参照により本明細書に組み込まれる。本発明の態様は、必要であれば、本発明のさらに別の実装を提供するために前述の種々の参照特許のシステム、機能、及び概念を採用するように修正することができる。
【００６４】
これらの及び他の変化を上記の詳細な説明に照らして本発明に加えることができる。上記の説明は、本発明の特定の例を説明し、及び考慮されるベストモードを説明するが、上記のことが本文にどんなに詳しく表されようとも、本発明は多くの方法で実施することができる。例えば、当業者は、本明細書に記載の視覚的エフェクト及びオーディオエフェクトに加えて、本明細書に記載の技術を、ビデオ及びオーディオデータに他の視覚的エフェクト及びオーディオエフェクトを適用するのに用いることができることを理解するであろう。システムの詳細は、本明細書で開示された本発明に依然として包含されている状態で、その具体的な実装においてかなり変化し得る。上記のように、本発明の特定の特徴又は態様を説明するときに用いられる特定の用語は、該用語がそれに関連付けられるどのような具体的特色、特徴、又は本発明の態様にも制約されるように本明細書で再定義されていることを含意するように受け取られるべきではない。一般に、以下の請求項で用いられる用語は、上記の詳細な説明がこうした用語を明示的に定義しない限り、本発明を本明細書で開示される具体例に限定するように解釈されるべきではない。
【図１】
2015502678.tif 000002
【図２】
2015502678.tif 000003
【図３】
2015502678.tif 000004
【図４】
2015502678.tif 000005
【図５】
2015502678.tif 000006
【図６Ａ】
2015502678.tif 000007
【図６Ｂ】
2015502678.tif 000008
【国際調査報告】
2015502678.tif 000009
2015502678.tif 000010