特許第6242798号(P6242798)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ ヴィヴォーム インコーポレイテッドの特許一覧

特許6242798ビジュアルエフェクトのネットワークに基づくレンダリング及びステアリング
<>
  • 特許6242798-ビジュアルエフェクトのネットワークに基づくレンダリング及びステアリング 図000002
  • 特許6242798-ビジュアルエフェクトのネットワークに基づくレンダリング及びステアリング 図000003
  • 特許6242798-ビジュアルエフェクトのネットワークに基づくレンダリング及びステアリング 図000004
  • 特許6242798-ビジュアルエフェクトのネットワークに基づくレンダリング及びステアリング 図000005
  • 特許6242798-ビジュアルエフェクトのネットワークに基づくレンダリング及びステアリング 図000006
  • 特許6242798-ビジュアルエフェクトのネットワークに基づくレンダリング及びステアリング 図000007
  • 特許6242798-ビジュアルエフェクトのネットワークに基づくレンダリング及びステアリング 図000008
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6242798
(24)【登録日】2017年11月17日
(45)【発行日】2017年12月6日
(54)【発明の名称】ビジュアルエフェクトのネットワークに基づくレンダリング及びステアリング
(51)【国際特許分類】
   H04N 21/234 20110101AFI20171127BHJP
【FI】
   H04N21/234
【請求項の数】20
【全頁数】19
(21)【出願番号】特願2014-535819(P2014-535819)
(86)(22)【出願日】2012年10月10日
(65)【公表番号】特表2015-502678(P2015-502678A)
(43)【公表日】2015年1月22日
(86)【国際出願番号】US2012059572
(87)【国際公開番号】WO2013055802
(87)【国際公開日】20130418
【審査請求日】2014年4月28日
【審判番号】不服2016-10686(P2016-10686/J1)
【審判請求日】2016年7月14日
(31)【優先権主張番号】61/545,330
(32)【優先日】2011年10月10日
(33)【優先権主張国】US
(73)【特許権者】
【識別番号】515026111
【氏名又は名称】ヴィヴォーム インコーポレイテッド
(74)【代理人】
【識別番号】110001243
【氏名又は名称】特許業務法人 谷・阿部特許事務所
(72)【発明者】
【氏名】ゲイリー シー.オバーブランナー
(72)【発明者】
【氏名】キャサリン ヘイズ
(72)【発明者】
【氏名】デービッド スターマン
【合議体】
【審判長】 篠原 功一
【審判官】 冨田 高史
【審判官】 鳥居 稔
(56)【参考文献】
【文献】 特開2009−71699(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04N7/23
(57)【特許請求の範囲】
【請求項1】
ビデオデータにビジュアルエフェクトを適用するためのプロセッサを有するコンピューティングシステムによって行われる方法であって、
第1のビデオ取り込みソースから、1つ以上のビデオフレームを含むビデオデータを受信することと、
前記1つ以上のビデオフレームの少なくとも一部をリモートレンダリングサーバに送信することと、
前記リモートレンダリングサーバから、前記ビデオデータにビジュアルエフェクトを適用するための1つ以上の制御を指定するウェブページを受信することと、
前記コンピューティングシステムのプロセッサ上で実行するブラウザに前記受信したビデオデータが表示されている状態で
前記受信したビデオデータに適用可能な1つ以上のビジュアルエフェクトの指標を表示用に提供することと、
ユーザから、前記ビデオデータに適用する、少なくとも1つの関連する制御可能なパラメータを有する少なくとも1つのビジュアルエフェクトの選択を受信することと、
前記ビデオデータに前記少なくとも1つのビジュアルエフェクトを適用するように構成される前記リモートレンダリングサーバに、前記ビデオデータに適用する前記選択された少なくとも1つのビジュアルエフェクトの指標を送信することと、
前記リモートレンダリングサーバから、前記選択された少なくとも1つのビジュアルエフェクトに基づいて修正された1つ以上のビデオフレームを含む修正されたビデオデータを受信することと、
前記修正されたビデオデータを表示用に提供することと、
前記受信したビデオデータに代えて、前記ブラウザに前記修正されたビデオデータが表示されている状態で、
前記ユーザから、前記少なくとも1つのビジュアルエフェクトに関連する前記少なくとも1つの制御可能なパラメータを修正する指標を受信することと、
前記リモートレンダリングサーバに、前記少なくとも1つのビジュアルエフェクトに関連する前記少なくとも1つの制御可能なパラメータを修正する前記指標を送信することと、
前記少なくとも1つのビジュアルエフェクトに関連する前記修正された少なくとも1つの制御可能なパラメータに基づいて第2の修正されたビデオデータを受信することと、
前記第2の修正されたビデオデータを表示用に提供することと、
を含む方法。
【請求項2】
前記コンピューティングシステムがモバイル電話であり、前記ビデオ取り込みソースが前記モバイル電話のカメラである、請求項1に記載の方法。
【請求項3】
前記少なくとも1つのビジュアルエフェクトが、ブラー、ワープ、レイ、シェイクリダクション、色変換、フェード、ワイプ、二軸ワイプ、又は静止画像挿入エフェクトのうちの少なくとも1つである、請求項1に記載の方法。
【請求項4】
前記ビデオデータが関連するオーディオデータを有し、前記方法がさらに、
前記ビデオデータに関連する前記オーディオデータに適用可能な1つ以上のオーディオエフェクトの指標を表示用に提供することと、
前記ユーザから、前記ビデオデータに関連する前記オーディオデータに適用する少なくとも1つのオーディオエフェクトの選択を受信することと、
前記リモートレンダリングサーバに、前記ビデオデータに関連する前記オーディオデータに適用する前記少なくとも1つのオーディオエフェクトの前記受信した指標を送信することと、
前記リモートレンダリングサーバから、前記少なくとも1つのオーディオエフェクトに基づいて修正されたオーディオデータを受信することと、
を含む、請求項1に記載の方法。
【請求項5】
前記少なくとも1つのオーディオエフェクトが、残響、フィルタリング、ノイズリダクション、又はゲインのうちの少なくとも1つである、請求項4に記載の方法。
【請求項6】
前記少なくとも1つの制御可能なパラメータが、輝度、彩度、強度、又は位置である、請求項1に記載の方法。
【請求項7】
前記少なくとも1つの制御可能なパラメータが、ディテール、速さ、ランダムネス、色合い、ブラー量、幅、長さ、品質、ズーム、色、混色、イネーブル、角度、結合、反転、不透明度、リバース、バリエーション、スタイル、又は鮮明化のうちの少なくとも1つを含む、請求項1に記載の方法。
【請求項8】
コンピューティングシステムによって実行される場合に、
リモートレンダリングサーバに、1つ以上のビデオフレームを含むビデオデータの少なくとも一部を送信することと、
前記リモートレンダリングサーバから、前記ビデオデータにビジュアルエフェクトを適用するための1つ以上の制御を指定するウェブページを受信することと、
前記コンピューティングシステムのプロセッサ上で実行するブラウザで前記ビデオデータが表示されている状態で
前記ビデオデータに適用可能な1つ以上のビジュアルエフェクトの指標を表示用に提供することと、
ユーザから、前記ビデオデータに適用する、少なくとも1つの関連する制御可能なパラメータを有する少なくとも1つのビジュアルエフェクトの選択を受信することと、
前記ビデオデータに前記少なくとも1つのビジュアルエフェクトを適用するように構成される前記リモートレンダリングサーバに、前記ビデオデータに適用する前記選択された少なくとも1つのビジュアルエフェクトの指標を送信することと、
前記リモートレンダリングサーバから、前記選択された少なくとも1つのビジュアルエフェクトに基づいて修正された1つ以上のビデオフレームを含む第1の修正されたビデオデータを受信することと、
前記ビデオデータに代えて、前記第1の修正されたビデオデータを前記ブラウザに表示することと、
を含む動作を前記コンピューティングシステムに行わせる命令を格納するコンピュータ可読媒体。
【請求項9】
前記動作がさらに、
前記第1の修正されたビデオデータが表示されている状態で、
前記ユーザから、前記少なくとも1つのビジュアルエフェクトに関連する前記少なくとも1つの制御可能なパラメータを修正する指標を受信することと、
前記リモートレンダリングサーバに、前記少なくとも1つのビジュアルエフェクトに関連する前記少なくとも1つの制御可能なパラメータを修正する前記指標を送信することと、
前記少なくとも1つのビジュアルエフェクトに関連する前記修正された少なくとも1つの制御可能なパラメータに基づいて第2の修正されたビデオデータを受信することと、
これにより、前記ユーザが前記リモートレンダリングサーバによるビデオデータへの前記少なくとも1つのビジュアルエフェクトの適用をリアルタイムで動的にステアリングすることができることと、
前記第2の修正されたビデオデータを表示用に提供することと、
を含む、請求項8に記載のコンピュータ可読媒体。
【請求項10】
前記動作がさらに、
ビデオデータの修正された第1のフレームを格納することと、
前記少なくとも1つの制御可能なパラメータに関する第1の値を前記格納したビデオデータの修正された第1のフレームと関連付けることと、
ビデオデータの修正された第2のフレームを格納することと、
前記少なくとも1つの制御可能なパラメータに関する第2の値を前記格納したビデオデータの修正された第2のフレームと関連付けることと、
を含む、請求項8に記載のコンピュータ可読媒体。
【請求項11】
前記動作がさらに、
前記第1の値に設定される前記少なくとも1つの制御可能なパラメータの組を有する前記第1のフレームに前記少なくとも1つのビジュアルエフェクトを適用する要求を受信することに応答して、前記格納したビデオデータの修正された第1のフレームを検索することと、
前記第2の値に設定される前記少なくとも1つの制御可能なパラメータの組を有する前記第2のフレームに前記少なくとも1つのビジュアルエフェクトを適用する要求を受信することに応答して、前記格納したビデオデータの修正された第2のフレームを検索することと、
を含む、請求項10に記載のコンピュータ可読媒体。
【請求項12】
前記ビデオデータが関連するオーディオデータを有し、前記動作がさらに、
前記ビデオデータに関連する前記オーディオデータに適用可能な1つ以上のオーディオエフェクトの指標を表示用に提供することと、
前記ユーザから、前記ビデオデータに関連する前記オーディオデータに適用する少なくとも1つのオーディオエフェクトの選択を受信することと、
前記リモートレンダリングサーバに、前記ビデオデータに関連する前記オーディオデータに適用する前記少なくとも1つのオーディオエフェクトの前記受信した指標を送信することと、
前記リモートレンダリングサーバから、前記少なくとも1つのオーディオエフェクトに基づいて修正されたオーディオデータを受信することと、
を含む、請求項8に記載のコンピュータ可読媒体。
【請求項13】
前記動作がさらに、
前記第1の修正されたビデオデータが表示されている状態で、前記修正されたビデオデータの各制御及び各フレームに関する設定されたパラメータ値に基づいて前記ビデオデータにビジュアルエフェクトを適用するための1つ以上の制御の前記表示を操作することを含む、請求項8に記載のコンピュータ可読媒体。
【請求項14】
前記動作がさらに、
前記コンピューティングシステムのプロセッサ上で実行する前記ブラウザで、
前記ユーザから、前記ビデオデータに適用する少なくとも1つのビジュアルエフェクトの第2の選択を受信することと、
前記リモートレンダリングサーバに、前記ビデオデータに適用する前記第2の選択された少なくとも1つのビジュアルエフェクトの指標を送信することと、
前記リモートレンダリングサーバから、第2の修正されたビデオデータを受信することと、
前記第1の修正されたビデオデータ及び前記第2の修正されたビデオデータを前記ブラウザ内での同時表示用に提供することと、
前記ユーザから、好ましい修正されたビデオデータの選択を受信することと、
を含む、請求項8に記載のコンピュータ可読媒体。
【請求項15】
システムであって、
リモートクライアントコンピュータから、ビデオデータの1つ以上のビデオフレームを受信するように構成されたコンポーネントと、
前記リモートクライアントコンピュータに、前記ビデオデータにビジュアルエフェクトを適用するための1つ以上の制御を指定するウェブページを送信するように構成されたコンポーネントと、
前記リモートクライアントコンピュータ上で実行し、および前記ビデオデータを表示しているブラウザから、前記ビデオフレームに適用する、少なくとも1つの関連する制御可能なパラメータを有する少なくとも1つのビジュアルエフェクトの選択を受信するように構成されたコンポーネントと、
修正されたビデオデータを生成するために前記ビデオフレームに前記選択された少なくとも1つのビジュアルエフェクトを適用するように構成されたコンポーネントと、
前記リモートクライアントコンピュータに、前記生成された修正されたビデオデータを送信するように構成されたコンポーネントと、
前記ビデオデータに代えて、前記修正されたビデオデータを前記ブラウザに表示するように構成されたコンポーネントと、
を備えるシステム。
【請求項16】
前記修正されたビデオデータが表示されている状態で、
ユーザから、前記少なくとも1つのビジュアルエフェクトに関連する前記少なくとも1つの制御可能なパラメータを修正する指標を受信し、
前記リモートクライアントコンピュータから、前記少なくとも1つのビジュアルエフェクトに関連する前記少なくとも1つの制御可能なパラメータを修正する指標を受信し、
第2の修正されたビデオデータを生成するために前記少なくとも1つのビジュアルエフェクトに関連する前記修正された少なくとも1つの制御可能なパラメータに基づいて前記ビデオフレームに前記選択された少なくとも1つのビジュアルエフェクトを適用し、
前記リモートクライアントコンピュータに、前記生成された第2の修正されたビデオデータを送信し、
これにより、前記ユーザが前記システムによるビデオデータへの前記少なくとも1つのビジュアルエフェクトの適用をリアルタイムで動的にステアリングすることができるように構成されたコンポーネントと、
前記リモートクライアントコンピュータに、前記生成された第2の修正されたビデオデータを送信するように構成されたコンポーネントと、
をさらに備える、請求項15に記載のシステム。
【請求項17】
前記ビデオデータの付加的なビデオフレームを識別するように構成されたコンポーネントと、
第3の修正されたビデオデータを生成するために前記識別された付加的なビデオフレームに前記少なくとも1つのビジュアルエフェクトを思索的に適用するように構成されたコンポーネントと、
をさらに備える、請求項15に記載のシステム。
【請求項18】
前記少なくとも1つのビジュアルエフェクトに関連する前記少なくとも1つの制御可能なパラメータが修正されているという判定に応答して第3の修正されたビデオデータを削除するように構成されたコンポーネントをさらに備える、請求項17に記載のシステム。
【請求項19】
前記リモートクライアントコンピュータから、1つ以上のビジュアルエフェクトに基づいて前記ビデオデータ全体をレンダリングする要求を受信するように構成されたコンポーネントと、
前記ビデオデータ全体がレンダリングされているという判定に応答して、ユーザに知らせるテキストメッセージ、電子メール、又はソーシャルメディアのうちの少なくとも1つを含む通知を送信するように構成されたコンポーネントと、
をさらに備える、請求項15に記載のシステム。
【請求項20】
前記ビデオデータが3Dモデルを含む、請求項15に記載のシステム。
【発明の詳細な説明】
【技術分野】
【0001】
(関連出願への相互参照)
本願は、参照により本明細書に組み込まれる2011年10月10日に出願された「Method For Network−Based Rendering And Steering Of Visual Effects」と題する米国特許仮出願第61/545,330号(代理人整理番号70755.8002.US00)の優先権を主張するものである。
【背景技術】
【0002】
ビジュアルエフェクトは、フィルム及び/又はビデオデータ上でイメージが作成及び/又は操作される種々のプロセスを含む。ビジュアルエフェクトは、ビデオの連続フレーム又は走査されたフィルム素材を処理することによってデジタル方式でしばしば実施される。デジタル化されたビデオの各フレーム又はフレームの組は、当該エフェクトによって処理される入力フレームに対応する出力フレームを生成するコンピュータアルゴリズムによって処理される。1つ以上のエフェクトの集合体が本明細書でルックとして定義される。
【0003】
ビジュアルエフェクトは、通常、フレームがディスク又は記憶装置からコンピュータに読み込まれ、フレームが処理され、同じ又は異なる記憶装置に書き出される、コンピュータシステムにおいて適用される。エフェクトは、ユーザ(ビデオクリエータ)によって対話式で、又は予め定義されたスクリプトを用いるバッチで制御される。
【0004】
対話式の場合、ビデオクリエータは、(a)エフェクトを適用する一連のフレームを識別する、(b)エフェクトを選択する、(c)エフェクトの最終ルックを制御する種々のパラメータを設定する、及び(d)一連のフレームにおけるすべてのフレームに対してイメージ処理アルゴリズムを行うことによってエフェクトをレンダリングするために、Adobe After Effects、Autodesk Flame、Avid Media Composer、若しくは類似のビデオ編集又は合成アプリケーションなどの「ホスト」アプリケーションを用いる。制御は、ブラー量、イメージシフト、色補正の強度、オーバーレイイメージを適用する位置、及びルックによって必要とされる多くの他のものを含む可能性がある。
【発明の概要】
【0005】
(ビジュアルエフェクト)
出願人の発明の種々の例をここで説明する。以下の説明は、これらの例の十分な理解のための及び説明を可能にするための特定の具体的な詳細を提供する。当業者は、しかしながら、本発明がこれらの詳細の多くを伴わずに実施されてもよいことを理解するであろう。同様に、当業者はまた、本発明が本明細書で詳細に説明されない多くの他の明白な特徴を含んでもよいことを理解するであろう。さらに、種々の例の該当する説明を不必要に不明瞭にすることを避けるために、いくつかの周知の構造又は機能は図示されない又は以下で詳細に説明されないことがある。
【0006】
以下で用いられる用語は、本発明の特定の具体例の詳細な説明と併せて用いられていても、その最も広い妥当な様態で解釈されるべきである。実際には、特定の用語は、以下で強調されることもあるが、しかしながら、任意の制約された様態で解釈されるように意図されるどのような用語も、以下でそのようにはっきりと具体的に定義されることになる。
【0007】
(クライアント/サーバビデオ)
ビデオが格納され、世界中のユーザにストリーミングされる、例えばVimeo(登録商標)、YouTube(登録商標)、及び多くの他のものを含むクラウドベースのウェブサーバに、ビデオクリエータがビデオをアップロードすることが増えてきている。これらのクラウドベースのシステムは、クリエータ及び開発者がネットワーク(例えば、インターネット)上のサービスとして提供される分散型ハードウェア及び/又はソフトウェア計算リソースを活用することを可能にする。オンラインアプリケーションを用いるビデオの編集及び合成は、Clesh、YouTube Video Editor、及びKalturaなどのシステムで行われ始めたばかりである。本明細書で詳細に説明される本システムは、オンライン作成及び編集プロセスの自然な部分として、これらのシステムに洗練されたビジュアルエフェクト能力を付加するための機構を提供する。現在のオンライン及びクラウドベースのビデオ編集システムは、顕著なエフェクトを含まないか、若しくはレンダリングするのに数秒もかからない非常に単純な又は低品質のエフェクトのみを含み、そしてまたユーザがそれらを制御又はステアリングする能力も提供しない。
【0008】
開示される技術は、前述の状況を改善しようとするものである。クライアントコンピュータ上で処理されるエフェクトは、ビデオがクライアントにダウンロードされ、完了時に再びアップロードされることを必要とし、これは本システムでの方法に比べて非能率的である。クライアントデバイスにおいて標準ソフトウェア及びハードウェアコンポーネントを用いながらクラウドベースのサーバ上で効果的に且つ効率よく処理するための技術は、本明細書に記載のシステム及び方法のような、クライアントとサーバとの間の対話及びデータ交換の洗練された組に依拠する。
【0009】
クライアント/サーバ又はクラウドベースのシステムにおいてビデオに高品質のエフェクトを適用する、並びに適用を制御又はステアリングするためのシステム及び方法が開示される。高品質のエフェクト(例えば、ブラー、ワーピング、レイ、及びシェイクリダクション)は、通常、より洗練されており、より低品質のエフェクト(例えば、単色変換)よりもフレームあたりの計算時間がより多くかかり、しばしばより大きい可制御性を有する。高品質のエフェクトのいくつかの際立った特徴は、基となるコンピュータアルゴリズムがアンチエイリアス処理される(「階段状のギザギザ」又は「ピクセル化」が無い)こと、浮動小数点演算などのほぼ無制限の色空間を使用すること、正確な演色を提供すること、及び進歩した計算アルゴリズムによって、より低品質のアルゴリズムよりもリアルな外観の結果をもたらすことである。高品質のエフェクトで用いられるような進歩したコンピュータコードは、エフェクトのルックのより融通性のある制御をしばしば可能にして、リアル感、したがって知覚される視覚品位を高める。
【図面の簡単な説明】
【0010】
図1】開示される技術が動作し得る環境を示すブロック図である。
図2】それを通じてユーザがビデオクリップにエフェクトを適用し、ビデオクリップ及び/又はエフェクトの調整を行うことができるユーザインターフェースを示す表示ページの図である。
図3】開示される技術によって採用され得るソフトウェアアーキテクチャを示すブロック図である。
図4】クライアントブラウザとサーバの種々のコンポーネントとの間のトランザクションを示すタイミング図である。
図5】対話セッションの処理を示す流れ図である。
図6A】開示される技術が動作し得る、同じ場所に存在するビデオエディタ及びエフェクトサーバを含む環境を示すブロック図である。
図6B】開示される技術が動作し得る、異なるネットワークに存在するビデオエディタ及びエフェクトサーバを含む環境を示すブロック図である。
【発明を実施するための形態】
【0011】
図1で見られる一実施形態では、ビデオクリエータデスクトップユーザA(100)は、Firefox(登録商標)、Internet Explorer、又はGoogle Chrome(登録商標)(102)などの標準ウェブブラウザでデスクトップコンピュータ(101)を使用する。ブラウザは、インターネット、若しくはモバイルデータネットワーク又はプライベートネットワークなどの任意の類似のネットワーク(103)を介して、クラウドサーバファーム(105)に接続する。ユーザは、ブラウザで実行するウェブページによって、ビデオフレームの組にエフェクトを適用し、これらのエフェクトの制御を動的にリアルタイムで調整することができる。例えば、エフェクトは、レンズフレア、シェイク付加、古いフィルムスタイル、古いTVスタイル、トランジション、スタイルのレンダリング(ハーフトーン、スケッチ、油絵など)、漫画ルック、グロー、ビデオフィードバック、モーションブラー、フレームレート変換、鮮明化、ビネット、万華鏡、エンボス、テクスチャ付加、自然現象模擬(稲妻、火、スモーク、雨、雪、オーロラ、虹など)等を含んでもよい。本システムは、ユーザがそれらの調整の効果を直ちに(又はほぼリアルタイムで)見る、並びに多数のビデオフレームのバッチレンダリングを開始及び制御することを可能にする。ビデオクリエータユーザ(100)はまた、同様にブラウザでモバイルデバイス(104)を用いてもよい。
【0012】
図2を参照すると、一実施形態では、ユーザは、ビデオクリップにエフェクトを適用し、動的に(自由に)調整を行うのに標準ウェブブラウザ(201)を用いる。ビデオプレビューウィンドウ(202)にビデオが現れ、再生ボタン(203a、203b)を用いて再生することができる。サムネイルパネル(204)にエフェクトが現れ、ユーザは、該パネルからビデオクリップ(205)に適用されるべき1つ以上のエフェクトを選んでもよい。エフェクトを調整又はステアリングするために、1つ以上のエフェクト制御スライダ(206)が提供され、ユーザは、それらをドラッグし、リアルタイムで結果をビデオプレビューウィンドウで見ることができる。ユーザは、エフェクトに満足するときに、ビデオレンダリングボタン(207)を用いて完成したビデオをレンダリングしてもよい。代替的に、システムが、ユーザの介入なしにビデオのすべて又は一部を思索的にレンダリングしてもよい。場合によっては、ユーザは、ビデオが再生されている最中にエフェクト制御スライダをドラッグすることができ、ビデオを再生する際に、変更されたエフェクトが直ちに又は短い遅延内で見えるようになり、制御によってもたらされる変化に対するリアルタイムのフィードバックがユーザに与えられる。
【0013】
図3のソフトウェアアーキテクチャ図は、アプリケーションの1つの可能な全体構造を説明する(しかし可能な唯一のものではなく、他のものが当業者には明白である)。クライアント(301)(デスクトップ及び/又はモバイルデバイス上で実行してもよい)は、そのウェブブラウザ又は類似のアプリケーションを通じてTCP/IP及びHTTPなどの一組の標準インターネットプロトコルを介して1つ以上のサーバコンピュータ上で走るリモートサーバプログラム(302)に接続する。1つ以上のサーバプロセスは、ウェブページコンテンツ(303)を生成する機能及び/又はモジュール、並びに、エフェクトをレンダリング及びステアリングするためのユーザインターフェース(304)、Apache(登録商標)又はMicrosoft Internet Information Server又は他のものなどの標準ウェブサーバ(307)、エフェクト処理及びレンダリングコードを含むレンダライブラリ(305)を作成及び管理する機能及び/又はモジュールを含む。これはまた、正常動作の一部としてウェブフレームワーク(306)などの種々の他のモジュールを含んでもよい。このシステムの特徴は、クライアントユーザが、アプリケーションを実行するために、最新のコンピュータですでに見受けられる普通のオペレーティングシステム及びウェブブラウザ以外のどのような特別なソフトウェアもインストールする必要がないことである。
【0014】
ブラウザクライアントにウェブページ(HTML及びCSS)並びにブラウザにおいて実行されるべきJavaScript(登録商標)(JS)コードを配信するのにHTML/CSSページ生成コード(303)が用いられる。HTML/CSSページ生成コードは、static HTML、若しくはPHP、JavaScript、Java(登録商標)、Python、又は他のものなどの任意のウェブサーバ側言語を用いて実装されてもよい。レンダインターフェースコード(304)は、ブラウザ(301)とレンダライブラリコード(305)との間の仲介役として用いられ、ブラウザからの非同期性の要求に応答し、レンダライブラリコードを管理し、ブラウザへの配信用にメッセージをフォーマットする。レンダライブラリコード(305)は、エフェクトの処理を実施し、ユーザによって提供される選択されたエフェクト及びパラメータを用いて各フレームに関するビデオピクセルデータを処理する。
【0015】
イベントの可能性のあるタイムラインを説明する図4の対話図を参照すると、第1の列は、ブラウザで起こるイベントを示す。右の3つの列は、サーバソフトウェアの3つの別個の部分を示す。この図は、単なる例証用であって、例えば、異なる数のサーバプロセスを用いる、レンダインターフェースコードを省略する、及びこれをレンダライブラリコード又は異なるスタイル及び数の交換されるメッセージにフォールディングする、多くの他の類似の実施形態が可能である。
【0016】
ブラウザ(301)が、例えばHTTP GETコマンド(401)を介してサーバコード(307)との会話を開始する。サーバが、ユーザのビデオ及び適用する可能なルックの選択肢を示すために、ブラウザによって解釈されるコード(例えば、HTML+CSS+JavaScript)を戻す(402)。ユーザが、例えばポインティングすること、ドラッグアンドドロップすること、又は類似の手段によって、ビデオフレームの特定の組に特定のルックを適用する意思を示す。メッセージ(403)がサーバに送信され、サーバは、ビデオフレームを収集し、ルック及び随意的に適用されるべきルックを記述するもう1つのテキスト又はバイナリプリセットファイル並びにルックについての種々のメタデータを適用するためにレンダライブラリソフトウェアを呼び出す(404、405)。これは、次いで、ユーザに送信される1つ以上のテストフレームをレンダリングし(406)、これはほぼ直ちに起こることがある。サーバはまた、ルックをステアリング又は調整するのに利用可能な制御の記述をブラウザに送信する(406)。ブラウザは、該記述を解釈し、制御を表示し、これは、例えばビデオフレームに対するX,Y空間位置を示す若しくはパラメータ値を調整又は制御するのにノブ、ボタン、スライダ、メニュー、又は他の共通の制御、並びにマウス又はタッチスクリーン入力を用いる画面上の直接操作の形態をとってもよい。例えば、パラメータ値は、輝度、彩度、強度、位置(例えば、X/Y制御に関する)、幅、長さ、品質、ズーム、色(例えば、カラーチューザ又はカラーピッカでの)、ディテール、速さ、ランダムネス、色合い、ブラー量、混色、イネーブル(例えば、yes/noチェックボックス)、角度、結合、閾値、反転、不透明度、リバース、バリエーション、スタイル、鮮明化などを含んでもよい。
【0017】
ユーザは、次いで、これらのスライダ又は制御とリアルタイムで対話してもよく(407)、制御の各更新がサーバに送信され(408)、サーバは、1つ以上のフレームをレンダリングし(409)、それらをブラウザに直ちに送信して(410、411、412)、該制御のエフェクトについてのほぼ即時のフィードバックをユーザに提供する。この対話は迅速に起こり、そのためビデオフレームは、ユーザがスライダ又は制御を動かす際のその変化の結果を反映するように見える。ステップ407〜412からなる全ループ(412)が迅速に繰り返される。
【0018】
クライアントとサーバとの間のサンプル対話が以下に提供される。
【0019】
ユーザが、ブラウザを開き、ビデオサーバのURL(例えば、:http://video.genarts.com)を選択する(401)。
【0020】
サーバが、ブラウザで実行するHTMLテキスト、イメージ、カスケーディングスタイルシート(CSS)スタイリング、及びJavaScript(JS)又は他のスクリプト言語コードを含む最初のウェブページコンテンツ(402)で応答する。
【0021】
JavaScript(JS)コードは、現在のエフェクト及び任意のプリセットパラメータを設定するために情報をサーバに非同期的に送信する(403)。
【0022】
サーバ上のレンダコードが、エフェクトレンダリングライブラリを初期化し、所与のパラメータを有するエフェクトをレンダリングするようにライブラリを設定し、制御定義からユーザに見える制御を作成する(404、405、406a、406b)。
【0023】
残りの対話は、例えば非常に迅速なループで起こる(413)。
【0024】
ユーザが、ブラウザウェブページにおけるスクロールバーをドラッグする(407)。
【0025】
JSコードが、ユーザのアクションの通知を受けて、スクロールバー値によって表される新たに修正されたパラメータを有するビデオの現在のフレームをレンダリングするようにサーバに告げる非同期のサーバ要求を開始する(408)。
【0026】
サーバが、新しいパラメータデータを受信し、メモリの中のフレームをレンダリングする(409、410)。
【0027】
サーバが、メモリの中のイメージデータ及び任意の他のメタデータを用いてHTTP応答パケットを作成し、このパケットは、イメージデータ(この例ではPNG形式)を含む複数の要素からなることがある(411)。
【0028】
応答パケットがブラウザのJSコードに配信され、これによりブラウザが新しいイメージをレンダリングする(412)。ユーザへの結果は、イメージ又はビデオの動的なほぼリアルタイムの制御及び更新である。
【0029】
本明細書に記載のシステムは、通常、より大きいビデオストレージ、トランスコーディング、及びプレイバックシステム内で機能する。このコンテキストを説明するために、図5のフローチャートを参照しながら対話セッションの一例(単なる例証用)が提供される。
【0030】
ユーザが、ビデオ取り込みソースを備えるカメラ又はモバイルデバイスでビデオ素材をとる(500)。
【0031】
ユーザが、ウェブブラウザを用いて生ビデオをサーバにアップロードする(501)。
【0032】
ウェブブラウザが、ユーザのビデオを示し、編集及びエフェクト処理モードを提供する(502)。
【0033】
ユーザが、多数のクリップを選択して連結し、合うようにトリムし、ビデオエフェクト及びトランジションを付加し始める(503)。
【0034】
この時点(504)で、図3のソフトウェアアーキテクチャ及び図4に示されるメッセージ及びデータ交換を用いる、本明細書に記載のシステムは、ユーザが本明細書に記載の様態でエフェクトを付加することを可能にする。
【0035】
ユーザが結果に満足する場合(505)、最終レンダリングがバックグラウンドで(ユーザ対話なしに)自動的に起こるか、又はユーザがサーバに最終レンダリングを開始するように明示的に信号を送る(506)。
【0036】
レンダリングが完了した後で、処理されたビデオは、見る及び随意的なダウンロード又は配信の準備ができた状態となる(507)。
【0037】
付加的な特徴/実施形態
【0038】
随時、ユーザは、ビデオをプレイバックし、又は仮想再生ヘッドの位置を示すタイムバーなどの種々の標準タイムライン技術を用いてその中で検索することができる。いつでも、ユーザは、ビデオに適用された現在のエフェクトを見ることができる。
【0039】
所望のエフェクトがビデオクリップ間のトランジションに関係するケースでは、ユーザがトランジションポイント(2つのビデオセグメント間の切れ目)を選択し、次いで、サーバが(再びブラウザを通じて)可能なトランジションエフェクトの選択肢を示してもよい。ユーザは、1つを選択し、本明細書に記載の方法を用いて結果を直ちに見ることができる。
【0040】
前述の方法でエフェクトをステアリング又は制御するために、スライダ及び/又は数値パラメータと共に随意的な「進歩した」モードを利用できる可能性があることに留意されたい。
【0041】
ユーザが新しいルック又はトランジションを選択する若しくは任意のパラメータを調整するときにはいつでも、サーバは、このシステムの方法を用いて直ちに通知を受けることができ、サーバは、ほぼ即時の応答を提供するために過剰な計算を避ける及び対話型応答を改善するのにもしかするとキャッシング及びルックアヘッド方法を用いて、選択されたエフェクトをビデオ上にレンダリングする。キャッシングは、以前にレンダリングされたフレームをメモリに又はディスク上に格納し、ユーザが同じパラメータ値を有する同じフレームを将来要求する場合にこれらのフレームを迅速にまた呼び出すことができるようにこれらのフレームに適切なパラメータ値を関連付けることによって達成される。ルックアヘッドは、ユーザがおそらくこれらのフレームを見ることを望むと予想して、現在の再生ヘッド位置の前で思索的にレンダリングするのに用いられる。アイドルサーバキャパシテを検出すること及びアイドルCPUを用いて1又は2秒前にレンダリングすることなどの種々の統計的方法又は発見的方法をこれのために用いることができる。
【0042】
サーバは、処理されたビデオをこのプロセス中にクライアントに連続的にストリーミングしてもよく、そのため、ユーザもストリーミングの最中に流れているビデオストリームの処理を自分で効果的に変更するモードでこのシステムを用いることができることに留意されたい。このモードでは、クライアントがフィードバックをクラウドに提供し、更新されたビデオを(ほぼ)リアルタイムで受信する、連続フィードバックループが存在し、これは、ユーザが精細に制御された調整を行い、これらの調整の結果を迅速に見ることを可能にする。本システムでは同じフレームを繰り返し処理する必要はなく、そのためこれは自然な向上である。図4のメッセージング及びデータフローは、大いには変化しないが、エフェクトメッセージは、プレイアウトされているビデオフレームとインターリーブされることになる。
【0043】
特に、サーバが処理されたビデオを連続的にストリーミングしているケースでは、サーバは、スライダ位置、したがって関連するパラメータの変化を後の時点で又はレンダリング中に再現できるような方法で、各ビデオフレーム時間が表示されている時点でのスライダ制御値を記録してもよいことに留意されたい。これは、ユーザが、ビデオが再生されている最中に(例えば)エフェクトをフェードイン又はフェードアウトするようにスライダ値をアニメーション化することを可能にする。
【0044】
ユーザが電話又はタブレットなどのモバイルデバイス上でブラウザを用いてもよいことに留意されたい。このシステムは、詳細なイメージ処理のほとんどがクラウド(例えば、モバイルデバイスから遠隔の1つ以上のデバイス)で行われるので、デバイス上で直接エフェクトをレンダリングすることに比べてより低性能の又はより小型のクライアントデバイスで使用可能である。これはまた、クライアントへの固定のフレームレートを維持しながら、計算上より費用がかかる、より一層計算が複雑なエフェクト及びより高い視覚的忠実度を有するエフェクトを可能にする。クライアントが非常に単純なまま低いリソース要件を有する状態で、任意の複雑さのエフェクトを計算するのにより多くのサーバリソースを動的に割り当てることができる。
【0045】
ユーザが、後の通知を伴う一連のフレームの全てのバッチモードでのレンダリングをサーバに随時要求してもよいことに留意されたい。例えば、ユーザは、レンダリング完了時にテキストメッセージ、ポップアップウィンドウ、又は他の手段を介して通知されることを選んでもよい。通知は、修正されたビデオにアクセスするためにURLを含んでもよい。これは、ユーザが電話でとられたビデオをアップロードするモバイルデバイスで特に有用である場合があり、ビデオを処理するのにデバイスのCPU(したがってそのバッテリ電力)を使用する必要はない。ユーザはデバイスを完全にオフにし、完了通知を待つことができる。
【0046】
ユーザはまた、同じビデオを異なるエフェクトで処理し、視聴者の視聴時間を測るのに結果を並べて又は分析を用いることによって比較してもよい。これは、例えば、適用されるルックを選択すること、及びこれをユーザによって選択された又はサーバ上のアルゴリズムによって推奨された代替ルックに置き換えることによって、ブラウザで行うことができる。視聴者が好みのバージョンを選択するために何らかの方法(例えばブラウザにおけるボタン)でビデオの2つ以上のバージョンを並べて又は順次に視聴者に示すことができる可能性がある。代替的に、特定のエフェクトに関するユーザの好みを測るために異なるエフェクトが適用されたビデオの異なるバージョンを異なるユーザに示すことができる可能性がある。
【0047】
ユーザはまた、エフェクトの同じ組を用いていくつかのビデオを処理してもよく、このシステムの特徴は、ユーザが一組のビデオクリップに適用される1つ以上のルック及びトランジションを選択し、それらを後で用いるために格納し、ルック及びトランジションの同じ組をビデオクリップの異なる組に適用することを可能にするであろう。例えば、広告に関するシナリオでは、多くの広告が同じ基本テンプレートを共有してもよい。この特徴は、ユーザが広告のすべてにルックの同じ組を迅速且つ容易に適用して、それらに一貫したルックを与え、したがって所望のブランディングを通信することを可能にするであろう。
【0048】
ビデオフレームがユーザのブラウザにおいてではなくサーバ上でレンダリングされるという事実は、一般に、こうしたレンダリングのためにより一層多くの計算機能力が利用できることを意味し、これは、ブラウザにおいて又はモバイルデバイス上で直接フレームをレンダリングするシステムに比べて、はるかに多大な複雑さ及び美しさのエフェクトが用いられることを可能にすることに留意されたい。一実施形態では、ビデオフレームは、レンダリングのための複数の物理的サーバに分散され、一連のビデオフレームのすべてをレンダリングする総時間が減少する。これはまた、処理時間/レンダリング時間をユーザのデバイスの処理パワーとは無関係にし、そのため単純な移動電話が非常に複雑なエフェクトを作成することができる。異なるサーバが、グラフィックス処理ユニット、より高速の浮動小数点ハードウェア、又は増加したメモリなどの異なる能力を有するハードウェアで構成されてもよく、これは、これらのサーバがそれらの能力を利用した特定のエフェクトを処理するのに用いられることを可能にするであろう。
【0049】
システムの別の実施形態では、レンダリングタスクとプレイバックタスクは、クライアントとサーバとの間で分割することができる。クライアントは、より高品質のイメージを非同期的にレンダリングする命令をサーバに送信しながら、あまり複雑でないエフェクト又は低解像度のプロキシイメージをレンダリングしてもよい。これらのより高品質のイメージは、準備が整ったときに、デバイスによってレンダリングされたより低品質のものと置き換わることができる。代替的に、制約された帯域幅の状況では、デバイスは、サーバから常時ストリーミングするのではなくキャッシュされたレンダリング済みフレームのローカルプレイバックを行ってもよい。
【0050】
別の実施形態では、図6を参照すると、ユーザの対話を管理し、APIを通じてサーバとの間で命令を受け渡しするオンライン(クラウドベースの)ビデオ編集又は合成アプリケーション601が、ユーザ(100)と本明細書に記載のエフェクトサーバ(104)との間に存在してもよい。この実施形態では、オンラインアプリケーションは、オンライン編集アプリケーションとのユーザの対話と協調して又は対話から独立して、対話モード又はバッチモードで命令及びデータを送信し、命令及びデータをサーバから受信してもよい。図6aは、ビデオエディタとエフェクトサーバが同じ場所に存在する実施形態を示し、図6bは、ビデオエディタとエフェクトサーバが異なるネットワーク上にある実施形態を示す。
【0051】
いくつかの例では、ブラウザイメージの忠実度は、クライアント(ブラウザ)とサーバとの間の帯域幅に依存することがある。より高帯域幅の接続は、より高品質(より少ない圧縮アーチファクトを含む)及びより高解像度のイメージとより高速のフレームレート(フレーム数/秒)との両方を可能にする。イメージ忠実度におけるこれらのバリエーションは、接続帯域幅を測定するシステムによって動的に及び自動的に調整できる可能性があり、及び/又はユーザによって物理的デバイスの限界まで指定されることが可能である。ローカルデバイスの解像度は最終出力の解像度又は品質に影響しないことに留意されたい。サーバは、最終出力のための高品質のイメージを同時に又は順次にレンダリングしながら、ユーザのデバイスに送信するプレビューとして低品質のイメージをレンダリングしてもよい。こうした解像度の切換えは、例えば、より短い待ち時間のフィードバックが達成されるようにエフェクトを調整しながら、小型のモバイルデバイスにより低解像度のイメージを送信し、デスクトップに高解像度のイメージを送信するために、若しくは低解像度又は低品質の高度に圧縮されたプレビューを送信するために用いることができる可能性がある。サーバは、ユーザ介入なしに、デバイス能力及びネットワーク能力に問い合わせることに基づいてこの切換えを行うことができる。
【0052】
最終的なレンダリングされたビデオの忠実度は、サーバリソースに依存することがある。場合によっては、ユーザは、彼らの使用モデルに適した品質レベルを選択してもよく、これは、より多くのサーバプロセッサを用いることによって品質(例えば解像度)を改善する又は処理時間を短縮するために、より多くの計算リソースにより多く支払うことを含む可能性がある。
【0053】
Apache又はIISウェブサーバ、PHP、又はPythonコンピュータ言語などの標準技術、及び/又はInternet Explorer、Firefox、又はChromeなどのウェブブラウザの使用は、ユーザがカスタムアプリケーションをダウンロード及びインストールする、すなわちサーバ上で実行しているエフェクトの高度に対話型のステアリングをする必要なしに、革新的なユーザ経験を可能にする。
【0054】
ユーザがブラウザと対話しておらず、且つサーバがアイドルであるときに、サーバは、ユーザが現在のパラメータ設定を用いて他の近くの(通常、後続の)ビデオフレームを見ることを望む場合の対話型応答を改善するために、他のビデオフレームを思索的にレンダリングしてもよい。これらのキャッシュされたフレームは、ユーザがその後、他のパラメータ設定を変えるときに保たれてもよいし、又は削除されてもよい。サーバは、最大限の利用のために複数の処理スレッドを走らせてもよい。思索的レンダリングスレッドは、より低い優先度を有することになり、そのためそれらはより高い優先度を有するものが実行される必要がないときにだけ走る。
【0055】
本明細書で開示される技術は、オーディオエフェクトに適用されてもよく、この場合、オーディオは、サーバからストリーミングされ、オーディオが再生されている間又はオクターブ、振幅、周波数などの調節可能又は制御可能なパラメータを有する短いサンプルがループされている間に、ユーザが、残響、フィルタリング、ノイズリダクション、及びゲインなどのオーディオエフェクトの種々のパラメータを操作する。これは、コアサーバレンダリングライブラリを、オーディオエフェクトを作成及びレンダリングするための類似のライブラリと置き換えること、及びシステムの他の部分のほとんどを変更されていない状態に保ちながらデータ伝達プロトコルを拡張することに関係するであろう。
【0056】
本明細書で開示される技術は、フィルム又はビデオ、ゲーム、アーキテクチャルレンダリング、又は他の用途に用いられる現実的な及び/又は非現実的なシーンの3Dレンダリング及びモデリングに適用されてもよい。ユーザは、実際のモデリング、アニメーション、及びレンダリングがサーバ又はサーバ上で起こる状態で、ブラウザを介してこうしたシーンの作成、モデリング、アニメーション、及びレンダリングを制御することができる。これは、コアサーバレンダリングライブラリを、3Dシーンをモデリング、アニメーティング、及び/又はレンダリングするための類似のライブラリと置き換えること、及びシステムの他の部分のほとんどを変更されていない状態に保ちながらデータ伝達プロトコルを拡張することに関係するであろう。
【0057】
結言
本発明はインターネットアプライアンス、ハンドヘルドデバイス、装着可能コンピュータ、セルラ電話又は移動電話、マルチプロセッサシステム、マイクロプロセッサベースの消費者向け電気製品又はプログラム可能な消費者向け電気製品、セットトップボックス、ネットワークPC、ミニコンピュータ、メインフレームコンピュータなどを含む種々のコンピュータシステム構成で実施できることが当業者には分かるであろう。本発明は、以下で詳述されるコンピュータで実行可能な命令のうちの1つ又は複数を行うために専用にプログラムされ、構成され、又は構築される特殊用途コンピュータ又はデータプロセッサにおいて具体化することができる。実際には、本明細書で一般に用いられる場合の「コンピュータ」という用語は、上記のデバイスのいずれか、並びに任意のデータプロセッサ、又はゲームデバイス、モバイルデバイス(例えば、移動電話)、カメラ、ビデオ取り込みデバイス又はソース、若しくはプロセッサ及び他のコンポーネント、例えば、ネットワーク通信回路を有する他の電子デバイスなどの消費者向け電子物品を含む、ネットワークと通信できる任意のデバイスを指す。
【0058】
後述の本発明の態様は、磁気的及び光学的に可読のリムーバブルコンピュータディスクを含むコンピュータ可読媒体上に格納又は分散され、チップ(例えばEEPROMチップ)にファームウェアとして格納され、並びにインターネット上で又は他のネットワーク(無線ネットワークを含む)上で電子的に分散されてもよい。本発明の態様に特有のデータ構造及びデータの伝送もまた本発明の範囲内に包含される。
【0059】
一般に、本発明の実施形態の詳細な説明は、網羅的となること又は本発明を上記で開示された正確な形態に限定することを意図されない。本発明の具体的な実施形態及び例が、示す目的で上記で説明されるが、当業者が認識するであろう本発明の範囲内で種々の等価な修正が可能である。例えば、プロセス又はブロックが所与の順番で提示されているが、代替的な実施形態は、異なる順番で、ステップを有するルーチンを行ってもよく、又はブロックを有するシステムを採用してもよく、いくつかのプロセス又はブロックは、削除、移動、付加、細分化、結合、及び/又は修正されてもよい。これらのプロセス又はブロックのそれぞれは、種々の異なる方法で実施されてもよい。また、プロセス又はブロックは、時には直列に実行さるものとして示されるが、これらのプロセス又はブロックは、代わりに並列に実行されてもよく、又は異なる時点で実行されてもよい。
【0060】
本発明の態様は、磁気的に及び光学的に可読のコンピュータディスク、配線で接続された又は予めプログラムされたチップ(例えば、EEPROM半導体チップ)、ナノテクノロジーメモリ、生物学的メモリ、又は他のデータ記憶媒体などのコンピュータ可読記憶媒体を含むコンピュータ可読媒体上に格納又は分散されてもよい。実際には、コンピュータで実施される命令、データ構造、画面表示、及び本発明の態様の下での他のデータは、インターネット上で又は他のネットワーク(無線ネットワークを含む)上で、特定の時間期間にわたってコンピュータ可読伝搬媒体又は伝送媒体(例えば、電磁波、音波など)で伝搬される信号で配信されてもよく、又はそれらは、任意のアナログ又はデジタルネットワーク(パケット交換、回路交換、又は他の方式)で提供されてもよい。当業者は、本発明の一部がサーバコンピュータ上に常駐するが、対応する部分はモバイルデバイス又はポータブルデバイスなどのクライアントコンピュータ上に常駐し、したがって、特定のハードウェアプラットフォームが本明細書に記載されているが、本発明の態様は、ネットワーク上のノードに等しく適用可能であることを認識するであろう。
【0061】
本発明の例の上記の詳細な説明は、網羅的となること又は本発明を上記で開示された正確な形態に限定することを意図されない。本発明の具体例が示す目的で上記で説明されるが、当業者が認識するであろう本発明の範囲内で種々の等価な修正が可能である。例えば、プロセス又はステップが所与の順番で提示されているが、代替的な実装が異なる順番で実施されてもよく、代替又はサブコンビネーションを提供するためにいくつかのプロセス又はステップが削除、移動、付加、細分化、結合、及び/又は修正されてもよい。これらのプロセス又はステップのそれぞれは、種々の異なる方法で実施されてもよい。また、プロセス又はステップは、時には直列に実行されるものとして示されるが、これらのプロセス又はブロックは、代わりに並列に実行又は実施されてもよく、又は異なる時点で実行されてもよい。
【0062】
本明細書で提供される本発明の教示は、必ずしも前述のシステムにではなく他のシステムにも適用することができる。前述の種々の例の要素及び作用は、本発明のさらなる実装を提供するために組み合わせることができる。本発明のいくつかの代替的な実装は、上述のこれらの実装への付加的な要素を含むことがあるだけでなく、より少ない要素を含むことがある。
【0063】
添付の出願書類で挙げられるあらゆるものを含む上述のあらゆる特許及び出願並びに他の参照特許が、参照により本明細書に組み込まれる。本発明の態様は、必要であれば、本発明のさらに別の実装を提供するために前述の種々の参照特許のシステム、機能、及び概念を採用するように修正することができる。
【0064】
これらの及び他の変化を上記の詳細な説明に照らして本発明に加えることができる。上記の説明は、本発明の特定の例を説明し、及び考慮されるベストモードを説明するが、上記のことが本文にどんなに詳しく表されようとも、本発明は多くの方法で実施することができる。例えば、当業者は、本明細書に記載の視覚的エフェクト及びオーディオエフェクトに加えて、本明細書に記載の技術を、ビデオ及びオーディオデータに他の視覚的エフェクト及びオーディオエフェクトを適用するのに用いることができることを理解するであろう。システムの詳細は、本明細書で開示された本発明に依然として包含されている状態で、その具体的な実装においてかなり変化し得る。上記のように、本発明の特定の特徴又は態様を説明するときに用いられる特定の用語は、該用語がそれに関連付けられるどのような具体的特色、特徴、又は本発明の態様にも制約されるように本明細書で再定義されていることを含意するように受け取られるべきではない。一般に、以下の請求項で用いられる用語は、上記の詳細な説明がこうした用語を明示的に定義しない限り、本発明を本明細書で開示される具体例に限定するように解釈されるべきではない。
図1
図2
図3
図4
図5
図6A
図6B