(58)【調査した分野】(Int.Cl.,DB名)
第1フォーマットのサンプルの前記バッファが、既知の起点に対して定義されたシーク位置を示す位置データを含み、かつ、(ii)が、対応する第2フォーマットのサンプルの前記セットを前記マルチチャネルオーディオファイル内の対応するシーク位置から得ることを含む、請求項1に記載の方法。
前記グラフィカルレイアウトが、x軸およびy軸を含み、かつ(b)が、ユーザー入力に基づき、各軸に対してそれぞれのオートメーショントラックを定義し、各オートメーショントラックがメディアタイムラインに対してその軸に対する時間特定値を定義する、請求項8に記載の方法。
前記第1フォーマットのサンプルのセットと関連付けられたユーザー定義のテンポパラメータtを判断することであって、前記セットが、s個のサンプルによって定義されている、ユーザー定義のテンポパラメータtを判断することと、
前記テンポパラメータtに基づき、前記マルチチャネルオーディオファイルから取得されるサンプル数s´を判断して、前記s´個のサンプルを前記マルチチャネルオーディオファイルから得ることと、
前記得られた第2フォーマットのサンプルをミキシングパラメータの前記セットに基づいてミックスし、それにより、前記第2フォーマットのサンプルの前記ミキシングから生じたs´個の第1フォーマットのサンプルの新しいバッファを定義することと、
テンポ変換プロセスを前記s´個の第1フォーマットのサンプルに適用し、それによりs個の第1フォーマットのサンプルを定義することと、
s個の第1フォーマットのサンプルの前記新しいバッファを出力することと
を含む、請求項1に記載の方法。
【発明の概要】
【発明が解決しようとする課題】
【0004】
従来技術の欠点の少なくとも1つを克服するか、もしくは改善すること、または役立つ代替手段を提供することが、本発明の目的である。
【課題を解決するための手段】
【0005】
一実施形態は、メディアデータを処理するための方法を提供し、本方法は、以下を含む:
【0006】
(i)第1フォーマットのサンプルのバッファを、メディア編集プラットフォーム内に置かれているオーディオトラックから受信すること;
【0007】
(ii)受信された第1フォーマットのサンプルに応答して、対応する第2フォーマットのサンプルのセットをマルチチャネルオーディオファイルから得ること;および
【0008】
(iii)ミキシングパラメータのセットに基づいて、得られた第2フォーマットのサンプルをミックスし、それにより、第2フォーマットのサンプルのミキシングから生じた第1フォーマットのサンプルの新しいバッファを定義すること;および
【0009】
(iv)第1フォーマットのサンプルの新しいバッファを出力すること。
【0010】
一実施形態は、マルチチャネルファイルのミキシングを可能にするための方法を提供し、本方法は、以下を含む:
【0011】
(a)複数の空間を含む、グラフィカルレイアウトを定義することであって、各空間が、以下のいずれかに対応する;
【0012】
(i)マルチチャネルファイルの単一のチャネル;または
【0013】
(ii)マルチチャネルファイルのチャネルの組合せ;
【0014】
(b)ユーザー入力に基づき、1つ以上のオートメーショントラックを定義することであって、各オートメーショントラックが、ミキシング制御を容易にするために時間特定値(time−specific value)を定義すること;および
【0015】
(c)時間特定値に基づきマルチチャネルファイルをミックスして、チャネルの相対強度が時間特定値を判断できるようにすること。
【0016】
一実施形態は、ミックスされるトラックの動的なテンポ制御を可能にするためのコンピュータ実装方法を提供することであって、本方法は、以下を含む:
【0017】
タイムラインセグメントに対してミキシングプロセスから出力される必要があるサンプル数sを判断すること;
【0018】
タイムラインセグメントと関連付けられたテンポパラメータtを判断すること;
【0019】
ソースファイルからのs*t個のサンプルをミックスし、それによりs*tのミックスされたサンプルを定義すること;
【0020】
テンポ圧縮プロセスを実行し、それによりs*t個のミックスされたサンプルを、テンポパラメータと関連付けられたテンポを有するs個のミックスされたサンプルに変換すること。
【0021】
一実施形態は、本明細書で説明するような方法を実行するためのコンピュータプログラム製品を提供する。
【0022】
一実施形態は、プロセッサ上で実行される場合に、プロセッサに、本明細書で説明するような方法を実行させる、コンピュータ実行可能コードを保持するための非推移的キャリア媒体を提供する。
【0023】
一実施形態は、本明細書で説明するような方法を実行するために構成されたシステムを提供する。
【0024】
本明細書を通して、「一実施形態」、「いくつかの実施形態」または「1つの実施形態」の参照は、その実施形態に関連して説明される、特定の特徴、構造または特性が、本発明の少なくとも1つの実施形態に含まれることを意味する。従って、本明細書を通して、句「一実施形態では」、「いくつかの実施形態では」または「1つの実施形態では」の様々な位置における出現は、必ずしも、同じ実施形態を指すとは限らないが、指すこともある。さらに、特定の特徴、後続または特性は、本開示から当業者には明らかであり得るように、1つ以上の実施形態において、任意の適切な方法で組み合され得る。
【0025】
本明細書では、特別の定めのない限り、共通のオブジェクトを記述するための、順序の形容詞「第1の」、「第2の」、「第3の」などの使用は、同様のオブジェクトの異なるインスタンスが参照されていることを示すのに過ぎず、そのように記述されたオブジェクトが、時間的、空間的、ランキングにおいて、または任意の他の方法のいずれかで、所与の順番でなければならないことを暗示することを意図するのではない。
【0026】
以下の請求項および本明細書の記述では、用語「〜を包含する(comprising)」、「〜から成る(comprised of)」、または「それを含む(which comprises)」のいずれも、少なくともそれに先行する要素/特徴を含むが、他を除外しないことを意味する、制限のない用語である。従って、用語「〜を包含する」は、請求項で使用される場合、その前にリストされた手段または要素またはステップに制限されると解釈されるべきではない。例えば、AおよびBを含む装置という表現の範囲は、要素AおよびBのみから成る装置に制限されるべきではない。本明細書では、用語「〜を含む(including)」または「それを含む(which includes)」または「それを含む(that includes)」も、少なくともその用語に先行する要素/特徴を含むが、他を除外しないことを意味する、制限のない用語である。従って、「〜を含む」は、「〜を包含する」と同義語であり、包含することを意味する。
【0027】
本明細書では、用語「例示的な」は、特質を示すのとは対照的に、例を提供するという意味で使用される。すなわち、「例示的な実施形態」は、必然的に例示的な特質の実施形態であるのとは対照的に、例として提供された実施形態である。
【0028】
本発明の実施形態が、添付の図を参照して、ほんの一例として、ここで説明される。
【発明を実施するための形態】
【0030】
本明細書では、マルチチャネルメディアファイルとのやり取りを可能にするためのシステムおよび方法が説明される。例えば、実施形態は、メディア編集ソフトウェア(例えば、ビデオ編集スイート)のコンテキストで実装される、コンピュータ実装方法を含む。いくつかの場合には、本方法は、プラグインによって実行され、それは、既存のメディア編集ソフトウェアの動作を修正する。他の場合には、本方法はメディア編集ソフトウェアに統合される。代替実施態様アプローチも使用され得、それにより対応する機能を達成する。
【0031】
概略
本明細書で使用される技術および方法は、主として、ビデオ編集のコンテキストで、ユーザーがマルチチャネルオーディオファイルを利用するのを可能にすることを対象とする。
【0032】
本明細書では、用語「マルチチャネルファイル」は、各々がそれぞれの音楽態様(musical aspect)に対応する複数のチャネルがある、オーディオファイルを指す(また、「複数の音楽態様チャネルファイル」と呼ばれ得る)。例えば、音楽態様は、楽器、ある楽器によって演奏される音楽的役割、打楽器態様(例えば、バスパーカッション、スネア、グリッチパーカッションなど)、および様々な他の音楽的アーチファクトの参照によって定義され得る。音楽態様を定義することは、最初にマルチチャネルファイルを作成する際に実行される主観的(かつ、主に芸術的)なタスクであることが理解されよう。
【0033】
従来のオーディオファイル(WAVまたはMP3ファイルなど)は、例えば、ステレオファイル、またはサラウンド音響プロトコルに従って定義されたファイルのコンテキストにおいて、複数の「スピーカーチャネル」を有し得ることが理解されよう。それらは、本明細書で説明するような「マルチチャネルファイル」であるとは考えられず、代わりに、「多重スピーカーチャネルファイル」と見なされる。用語「マルチチャネルファイル」は、かかる追加の具体的な明確さが必要な場合、用語「マルチ音楽態様チャネルファイル」と置き換えられ得る。いくつかの実施形態では、マルチチャネルファイルは、約20チャネルを含むが、理論的には、任意の数のチャネルが使用できることが理解されよう。
【0034】
基礎となる原理は、かかるマルチチャネルオーディオファイルは、先進のミキシング技術の対象となり得、それにより、ビデオプロジェクトに良く適するオーディオトラックを提供することである。例えば、マルチチャネルファイルは、個々の音楽態様に対して別個のチャネルを有し得、それらは、様々な方法でミックスすることが可能であり、それにより芸術的/劇的効果を提供する。
【0035】
いくつかの実施形態では、技術および方法は、ビデオ編集ソフトウェアが、ステレオまたはモノ(または、いくつかの場合には、サラウンド音響プロトコルの観点から定義された)のいずれかであり得る、従来のオーディオファイルのみを扱うように構成されている状況を対象とする。かかる場合には、必要に応じて、マルチチャネルファイルのリアルタイムミキシングを可能にする、プラグインが提供され得る。以下でさらに説明する実施形態では、これは、参照ファイルをミキシングに対するプロンプトとして使用することを含む。
【0036】
いくつかの実施形態では、技術および方法は、ビデオ編集ソフトウェアが、マルチチャネルオーディオファイルで動作するようにネイティブに適合されている状況で追加として動作することに向けられる。この状況に関連する技術の態様は、ミキシング技術およびユーザーインタフェースを含む。
【0037】
例示的なフレームワーク
図1Aは、一実施形態に従ったフレームワークを示す。これは、例示的なメディア編集ソフトウェア製品を、大まかに記述されたエディタ101の形で含むが、それは、簡略化された概念的なスクリーンショットで示されている。エディタ101は、実質的には、任意のデジタルオーディオワークステーション、非線形フィルム編集ソフトウェアパッケージビデオ/オーディオシーケンス処理ソフトウェア、または同様のものを表すことを意図する。簡略のため、エディタ101の2、3の重要な特徴のみが示されている。これらは以下を含む:
・ビデオトラック102。これは、ビデオトラックを含む、ユーザーインタフェースの構成要素であり、それは、1つ以上のビデオファイルのビデオ成分への参照によって定義され得る。これらは、編集の過程で、トリミング、カット、結合され、かつ/または他のビデオ編集技術を適用され得る。基本的に、ビデオトラックは、進行中のプロジェクトに対してビデオフレームのタイムラインを提供する。
・ビデオプレビューウィンドウ103。これは、ビデオトラック102内のビデオフレームのプレビュー(例えば、プレビューのプリレンダリング)を提供する。
・一次オーディオトラック104a。これは、ビデオトラックと関連付けられたオーディオトラックを含む、ユーザーインタフェース内の構成要素である。オーディオトラックは、好ましくは、ビデオトラックに対応する方法で、自動的に、トリミング、カット、結合され、かつ/または他の編集技術を適用される。すなわち、ビデオトラックがカットされる場合、オーディオおよびビデオが同期されたままになるように、対応するカットが一次アンドゥトラックに対して行われる。
・二次オーディオトラック104b。これは、例えば、.WAVオーディオファイルへの参照によって、ユーザーが選択したオーディオトラックを含む、ユーザーインタフェース内の構成要素である。オーディオトラックも、編集の過程で、トリミング、カット、結合され、かつ/または他の編集技術を適用され得る。以下でさらに説明するように、オーディオトラックは、本明細書で説明するように、マルチチャネルミキシングの目的で使用される「参照ファイル」であり得る。
・オートメーショントラック105。これは、例えば、オートメーショントラックから入力を受け入れるように構成されている、プラグインおよび/または他の処理機能のコンテキストで、オートメーションを駆動するために使用される。いくつかの実施形態では、複数のオートメーショントラックがある。例えば、以下で2つのオートメーショントラックをさらに検討する実施形態は、音楽ミキシングのx軸およびy軸をそれぞれ制御するために使用される。
・コントロール106、これは、全体として、エディタ101によって利用可能にされる、様々なユーザーインタフェースのコントロールを記述する。
【0038】
この実施形態のコンテキストでは、マルチチャネルオーディオは、(好ましくは、.WAVファイルなどの、従来のファイルである)参照ファイル111およびマルチチャネルファイル112によって管理される。これに関して、各マルチチャネルファイルは、それぞれ関連付けられた参照ファイルを有する。これらは、各々メディアライブラリ内に格納され、それは、ローカル(
図1Bに示すように、クライアントメディアライブライ110内など)またはリモート(例えば、クラウドベースのメディアサービスにより、またはコンテンツサーバーからのダウンロードにより)のいずれかに基づき得る。いくつかの実施形態では、参照ファイルは、必要に応じて、定義され得る。
【0039】
図1Aの例では、参照ファイルは、好ましくは、従来の技術を使用して、標準的なオーディオトラック104bにインポートされるように構成される。それに応じて、参照ファイルは、好ましくは、標準的な.WAVファイルヘッダーを含み、一実施形態では、以下の属性を有する:
・サンプリングレート=48kHz。
・ビット深度=24ビット。
・チャネル=2。
【0040】
他の属性がさらなる実施形態で使用され得る(例えば、16ビットのビット深度、より高いサンプリングレート、など)ことが理解されよう。いくつかの実施形態では、操作を容易にするために、参照ファイルは、それが参照する、参照源のマルチチャネルファイルの波形の表現を含む。すなわち、それは、マルチチャネルファイルの正規化された(すなわち、ミックスされていない)バージョンを表す波形を含み、それは、スタンドアロンの再生に適している(すなわち、それは、従来のステレオオーディオファイルとして動作および実行する)。
【0041】
各マルチチャネルファイルは、それぞれ関連付けられた参照ファイルを有するが、いくつかの実施形態では、以下で説明するように、ユーザーは、トラック104b内の参照ファイルを変更することなく、マルチチャネルファイル間で切り替えることが可能である。
【0042】
図1Aは、(コンピュータ実行可能コードによって定義され、論理的に識別可能なソフトウェアモジュールへの参照によって示される)マルチチャネルオーディオプラグイン130も示す。このプラグインは、メディア編集ソフトウェア101とともに動作し、それにより、そのソフトウェアアプリケーションに対してネイティブでない機能を提供する。プラグイン130の複数のバージョンが、異なるメディア編集ソフトウェアパッケージで動作するように、それらのパッケージのそれぞれのプラグイン要件および統合プロトコルに基づいて、生成され得ることが理解されよう。
【0043】
プラグイン130は、入力モジュール131を含み、それは、メディア編集ソフトウェア101から入力を受信するように構成される。例えば、エディタ101は、参照ファイルのs個のサンプルをトラック104bから取得し、これらは、レンダリング時またはプレビューレンダリング時のいずれかに(好ましくは、プレビューおよび最終レンダリングの両方で)、(好ましくは、プラグインチェーン内の第1のプラグインとなるように構成される)プラグイン130に送信される。ライブラリアクセスモジュール133は、入力131に提供された参照ファイルのバッファを復号するように構成され、それにより位置およびファイル名情報を取得する。ファイル名情報は、(使用中の参照ファイルと関連付けられたマルチチャネルファイルである)正しいマルチチャネルファイルを選択するために使用される。制御モジュール132は、以下でさらに詳細に説明するように、ユーザーが、マルチチャネルオーディオミキシングと関連付けられたパラメータを制御するのを可能にする。これは、ユーザーの定義済みパラメータに従って、適切なマルチチャネルファイルをミックスし、その際にステレオバッファを生成するように、ミキシングモジュール134を構成する。このステレオバッファは、出力モジュール135を介して、エディタ101に返される。
【0044】
図1Bの実施形態では、メディア編集ソフトウェア101は、プラグイン130とは対照的に、マルチチャネルオーディオ制御モジュール136を含む。これにより、エディタ101は、プラグイン130の機能に対応する機能を提供するようにネイティブに構成される。
【0045】
プラグイン130または制御モジュール136の動作に関する追加の詳細が、以下でさらに説明される。
【0046】
例示的な方法
図2Aは、一実施形態に従った方法200を示す。この方法は、任意選択で、メディア編集ソフトウェアを介して(例えば、プラグイン130などのプラグインと組み合わせて、または
図1Bに類似した構成を介して)実行される。方法200のステップは、好ましくは、コンピュータシステムの1つ以上のプロセッサを介して、コンピュータ実行可能コード(すなわち、ソフトウェア命令)の実行により実行される。
【0047】
機能ブロック201は、参照ファイル111を二次オーディオトラック104b内に置くことを含む、プロセスを表す。これが実行される正確な方法は、編集ソフトウェアの特質によって決まる。例えば、いくつかの場合には、参照ファイルなどの、オーディオファイルは、オーディオトラック104bへの「ドラッグアンドドロップ」によって操作することが可能である。機能ブロック201は、編集ソフトウェア内で、複数のトラック(例えば、ビデオおよびオーディオ)または二次オーディオトラックを個々に、のいずれかで、メディアの再生またはレンダリングのための命令を受信することを含む。これは、サブプロセス200aを(例えば、プラグイン130、または対応するネイティブプロセスに配信されている二次オーディオトラックのサンプルに基づいて)トリガーする。
【0048】
機能ブロック201および202によって表されるプロセスは、相互に時間的に近接して実行される必要がなく、これらは、ユーザーの裁量で実行されることが理解されよう。
【0049】
機能ブロック210は、ミキシングパラメータの設定を含むプロセスを表す。例えば、これは、ミキシングパラメータモジュール、例えば、
図4(以下でさらに詳細に説明する)のスクリーンショットに示されるものと類似した特性を有するモジュール、とのユーザーインタラクションの結果である。概要として、ユーザーは、例えば、様々な個々のチャネルがどのように結合されて、強調されるべきか、などに関して、自動化ミキシングを制御するパラメータを選択する。いくつかの実施形態では、自動化ミキシングは、オートメーショントラック(トラック105など)または他のオートメーションパラメータによって駆動される。かかるオートメーショントラック/パラメータは、好ましくは、タイムラインへの参照によって定義され、それによりイベントまたはフレーズを編集されたメディア内に挿入する。例えば、「強度ライン」は、編集されたメディアにわたって、所望の音楽的強度における変動を指定するために使用され得る。オートメーションパラメータはキューも含み得、それは、メディアタイムラインに対して定義されたイベントであり、特定のパラメータ変更および/または効果を駆動するために使用され得る。
図2Aのコンテキストでは、機能ブロック211は、(プラグイン130、追加的なプラグイン、またはメディア編集ソフトウェアにネイティブな機能を使用して生じ得る)オートメーションパラメータの設定を含むプロセスを表す。
【0050】
機能ブロック210および211によって表されるプロセスは、ユーザーが選んだ時間にユーザーの裁量で実行されることが理解されよう。点線は、それらのプロセスの結果が、機能ブロック206で表される下流のプロセスに影響を及ぼすことを示すために使用される。
【0051】
機能ブロック203は、参照ファイルのサンプルの受信を含むプロセスを表す。バッファサイズに応じて、エディタは、参照ファイルのs個のサンプルをt
s秒ごとに送信する。機能ブロック204は、マルチチャネルファイルの識別を含むプロセスを表す。デフォルト設定により、これは、好ましくは、提供されたサンプルから復号された情報に基づき識別され、それは、参照トラックと関連付けられたマルチチャネルファイルに対するファイル位置を識別する。
【0052】
機能ブロック205は、識別されたマルチチャネルファイルからサンプルを取得することを含むプロセスを表す。いくつかの実施形態では、これは、受信されたサンプルを処理し、それにより位置情報を判断することを含む。この位置情報は、参照ファイルの位置を(通常、事前に定義された開始点への参照によって)定義し、それは、マルチチャネルファイルと相互に関連付けられることが可能である。例えば、参照ファイルからのサンプルが、参照ファイル内の時間X:YZに関連している場合、マルチチャネルファイル内の時間X:YZにおけるサンプルがそれに応じて取得される。
【0053】
機能ブロック206は、210で定義されたミキシングパラメータおよび211で定義されたオートメーションパラメータに基づき、取得されたサンプルをミキシングすることを含むプロセスを表す。例えば、これは、マルチチャネルファイル内の様々なチャネルの相対強度の変動、およびチャネル間のクロスフェードなどを含み得る。
【0054】
機能ブロック208は、ミキシングに基づき、ミックスされたステレオバッファ(すなわち、ステレオサンプル)を出力することを含むプロセスを表す。すなわち、実質的に、ミックスされたマルチチャネルオーディオサンプルは、ステレオサンプルに「均される(flattened)」。これらは、プレビューとして出力されるか、またはミキサー、追加のプラグイン、もしくは同様のものに送信されるかの、いずれかである。結果として、メディアエディタ内のメディアが再生されるか、またはレンダリングされる場合、二次オーディオトラック104bのオーディオが、(参照ファイルのレンダリングとは対照的に)出力されたミックス済みステレオバッファによって定義される。
【0055】
いくつかの実施形態では、方法200aの間に、ユーザーがそれによって、代替マルチチャネルファイルを指定できるようにする、機能が提供される。これは、オーディオトラック104b内の参照ファイルを置き換える必要なく、マルチチャネルファイル間での切り替えを可能にする。例えば、ユーザーは最初は、第1のマルチチャネルファイルを選択し、そのファイルに基づいて、ミキシングおよびオートメーションパラメータを定義する。次いで、方法200aの実行中に、ユーザーは第2のマルチチャネルファイルを指定する。参照ファイルは、変更されないままであり、第1のファイルに対して定義されたオートメーションおよびミキシングパラメータが、第2のファイルに関して適用される(これは、2つのマルチチャネルファイルがそれに応じて番号付けされたチャネル、例えば、共通のバスパーカッションチャネル番号、および共通のグリッチパーカッションチャネルを有する場合に最も効果的であることが理解されよう)。実際には、かかる機能は、新しく指定されたファイルがなければ、ブロック205のそれに対応するプロセスを実行することによって達成されることが理解されよう。いくつかの場合には、これは、「マニュアルオーバーライド」機能として提供されて、あらかじめ指定されたマルチチャネルファイルのマニュアルオーバーライドを可能にする。その機能は、好ましくは、リアルタイムでアクセス可能であり、それにより異なるミックスされた(共通のミキシングパラメータおよび共通のオートメーショントラックに従ってミックスされた)トラックのオンザフライでのプレビューを可能にする。
【0056】
図3は、さらなる実施形態に従った代替プロセスフローの表現を提供する。これは、s個のサンプルのステレオバッファが送信されて、s個のサンプルのステレオバッファが、参照ファイルから生じている前のサンプルおよびマルチチャネルファイルのミキシングから生じている後のサンプルとともに返される、プロセスを明瞭に示す。
【0057】
例示的なミキシング技術
図4Aは、一実施形態に従ったプラグインからの例示的なスクリーンショットを提供する。このスクリーンショットに表示されているインタフェースオブジェクトも、エディタアプリケーションでネイティブに提供され得る。
【0058】
オブジェクト401は、個々のチャネル、またはチャネルの組合せを表すグリッドを表示する。
図4Aの例では、オブジェクト401内に、各々がチャネルまたはチャネルの組合せと関連している、9個のボックスがある。これらは、例として、以下の音楽態様を表し得る:
・高パッド。
・中パッド。
・低パッド。
・バスパーカッション。
・スネア。
・グリッチパーカッション。
・高音長音符。
【0059】
他の例が、
図4Bおよび
図4Cに提供されている。
【0060】
グリッドは、音楽的な観点から、音楽的「密度」がy軸402に沿って増加し、音楽的「テンション」がx軸403に沿って増加するように、配置されている。例えば、低パッドを提供するチャネル(複数可)のみが再生された場合、それは、低密度、低テンションの音楽的アレンジを作り出すであろう。他方、強いトレモロは、高テンションおよび高密度の両方に大いに寄与する。x軸403(テンション)およびy軸402(密度)上のスライダの位置が、マルチチャネルファイルのミキシングを制御する。ミキシングは、複数の「ミックスモード」を定義する、ミックスモードコントローラ404によっても制御される。これらの「ミックスモード」は、x軸およびy軸のいずれかに沿った動きの効果を、特に、その動きがコンビネーション(すなわち、軸に沿ってチャネルを混合する、例えば、x軸に沿って動く場合、グリッチパーカッションを低パッドに加える)またはフォーカシング(すなわち、一度に1つのチャネルのみを使用する、例えば、x軸に沿って動く場合に、低パッドをグリッチパーカッションと置き換える)となるかどうか、決定する。ミックスモードは:「混合X、フォーカスY」、「フォーカスX、混合Y」、「フォーカスX、フォーカスY」、および「混合X、混合Y」を含み得る。好ましくは、所与の軸に沿った動きは、クロスフェードおよび/または相対強度管理を使用する、ミキシング効果に関して漸進的である。例えば、混合xモードにおいて、
図1のx軸に沿った50%の位置は、低パッドの100%密度およびグリッチパーカッションの50%の密度を表し得る。
【0061】
概要として、オートメーショントラックは、好ましくは、x軸およびy軸上の位置をビデオトラックに対して経時的に制御する(従って、チャネルのミキシングを制御する)ために使用される。例えば、ユーザーは、各軸に対して独立して、線グラフオートメーショントラックを定義し得る。いくつかの実施形態では、ユーザーは、ビデオおよびマルチチャネルファイルのプレビュー再生中に、x軸および/またはy軸上でスライダを手動で操作することにより、かかるオートメーショントラックをリアルタイムで定義することが可能である。すなわち、ユーザーは、ビデオ再生のプレビューを見ながら、同時に、そのビデオ中に、音楽効果を制御するためにスライダの1つを操作し、ユーザーの手動のインタラクションが(後に、手動で微調整され得る)オートメーショントラックとして保存される。
【0062】
いくつかの実施形態では、キューがオートメーショントラックに追加され、それにより
図4の機能を制御し得、例えば、キューは、ビデオファイルに対してある特定の時点で、ミックスモードにおける変更をトリガーするか、オーディオフィルタを追加するか、または他のパラメータを調整する。
【0063】
他のグラフィカル手段(例えば、追加の軸、複数の単一/多重軸オブジェクトの使用など)が使用され得、それによりチャネルのミキシングを表すことが理解されよう。グリッドが使用されるいくつかの場合、ユーザーは、各グリッド位置によって表されるチャネルを修正することが可能である。
【0064】
グリッドベースのミキシング
前述の例に続いて、一実施形態は、マルチチャネルファイルのミキシングを可能にするための方法を提供する。本方法は、x軸およびy軸を有するグリッドを定義することを含む。グリッドは、複数の空間によって定義され、各空間は、マルチチャネルファイルの単一のチャネル;またはマルチチャネルファイルのチャネルの組合せのいずれかに対応する。いくつかの場合には、ユーザーは、グリッドの構成を修正するのを(例えば、各グリッド位置に対して、特定のチャネルまたはチャネルの組合せを指定することにより)可能にされる。本方法は、ユーザー入力に基づき、各軸に対してそれぞれのオートメーショントラックを定義することをさらに含む。例えば、これは、線グラフの形をとり得る。各オートメーショントラックは、メディアタイムライン(例えば、オーディオ、ビデオを同期させるために使用されるメディアタイムライン)に対して、その軸に対する時間特定値を定義する。本方法は、次いで、時間特定値に基づき、マルチチャネルファイルをミキシングして、チャネルの相対強度が時間特定値に基づき判断されるようにすることを含む。このように、本方法は、そこで検討される他の方法に対してミキシングパラメータを提供し得る。いくつかの実施形態では、ミキシングは、ユーザーが選択したミックスモードにさらに応答し、ミックスモードは、所与の軸に沿った、ある空間から別の空間への進行が、対応するチャネルの混合、または対応するチャネルのクロスフェードとなるかを定義する。スライダは、好ましくは、各軸に対して提供され、スライダは、ユーザーによって操作され、それによりミキシングをリアルタイムで制御するように構成される。ユーザーによるスライダの所与の1つの操作で、そのユーザー操作に基づき、関連付けられた軸に対するオートメーショントラックが生成される。
【0065】
テンポ制御
いくつかの実施形態では、前述の技術は、テンポ制御、好ましくは、動的な(リアルタイム)テンポ制御を可能にするように強化される。
【0066】
好ましいアプローチは、他のミキシングパラメータが制御されるアプローチに類似した方法でテンポに対する制御を可能にすることである。すなわち、ユーザーインタフェースのコントロールオブジェクトが、オートメーショントラックと組み合わせて提供される(例えば、スライダ)。そのため、例えば、ユーザーは、コントロールオブジェクトを操作し、それにより、タイムラインに対してマルチチャネルファイル再生の所望のテンポを(例えば、BPMで定義され得る、ファイルに対して定義された基準の元のテンポの百分率として)修正する。このように、テンポは、オートメーショントラックによって定義されるとおり、タイムライン内の様々な時点で増加および/または減少し得る。
【0067】
図2Aを参照して前述したように、様々な実施形態は、203における参照ファイルのサンプルの受信、および205におけるその後のマルチチャネルファイルからのサンプルの取得を含むプロセスを利用する。取得されたサンプルは206でミックスされて、出力が提供される。テンポ制御への対応は、任意選択で、テンポパラメータの使用によって達成され、それは、ユーザーにより、例えば、オートメーショントラックを用いて設定されて、
図2Bのステップ250でソフトウェアによって識別され、それにより205においてマルチチャネルファイルから取得されるサンプル数を制御する。具体的には、203で、s個のサンプルが参照ファイルから受信されると仮定すると、205で、s*t個のサンプルがマルチチャネルファイルから取得され、ここでtは、ユーザー入力によって(例えば、オートメーショントラックに対してテンポを定義するコンテキストで)定義されたテンポパラメータである。例えば、ユーザーが半分の速度のテンポを設定している場合、tは0.5に設定されて、半分の数のサンプルが取得される。ユーザーが2倍のテンポを設定している場合、tは2に設定されて、2倍の数のサンプルが取得される。その上、(追加される)
図2Bに示すように、追加のテンポ圧縮プロセス251が(好ましくは、図のように、ミキシングに続いて)実行され、それにより、s*t個のサンプルがs個のサンプルに変換され(ピッチ調整のないテンポ圧縮)、それにより、オーディオデータがユーザーが望むテンポで出力される。
【0068】
例として、1024個のサンプルが参照ファイルから受信され、テンポパラメータが2と仮定すると、2048個のサンプルがマルチチャネルファイルから取得されて、ミキシングパラメータに従ってミックスされ、再生(または同様のもの)用に1024個のミックスされたサンプルを返すために圧縮する。
【0069】
この形式のテンポ制御は、さらに他の状況で使用され得、それにより、オートメーショントラックを使用したリアルタイムのテンポ制御を可能にすることが理解されよう。通常、プラグインが1024個のサンプルを受信して、テンポを2倍にするように指示される場合、512個のサンプルが、残りの時間を埋める手段なしで返されることが理解されよう。本アプローチにより、圧縮前に、追加のサンプルが取得され(かつ、任意選択で、ミックスされ)て、完全な1024個のサンプルが返されるのを可能にする。
【0070】
結論および解釈
前述の開示は、マルチチャネルメディアファイルとのやり取りを可能にするための様々な特筆すべきシステムおよび方法を提供することが理解されよう。
【0071】
特に指定のない限り、以下の説明から明らかなように、本明細書を通して、「処理すること」、「計算すること(computing)」、「計算すること(calculating)」、「判断すること」、「分析すること」または同様のものは、電子などの、物理量で表されるデータを操作し、かつ/または物理量で同様に表される他のデータに変換する、コンピュータもしくはコンピューティングシステム、または同様の電子計算装置の動作および/またはプロセスを指すことが理解される。
【0072】
同様に、用語「プロセッサ」は、例えば、レジスタおよび/またはメモリからの電子データを処理して、その電子データを、例えば、レジスタおよび/またはメモリに格納され得る他の電子データに変換する、任意の装置または装置の一部を指し得る。「コンピュータ」または「計算機」または「コンピューティングプラットフォーム」は、1つ以上のプロセッサを含み得る。
【0073】
本明細書で説明する方法は、一実施形態では、プロセッサの1つ以上で実行される場合に、本明細書で説明する方法の少なくとも1つを実施する命令のセットを含む、コンピュータ可読(マシン可読とも呼ばれる)コードを受け入れる1つ以上のプロセッサによって実行可能である。行われる動作を指定する命令のセットを(順次または他の方法で)実行可能な任意のプロセッサが含まれる。従って、一例は、1つ以上のプロセッサを含む典型的な処理システムである。各プロセッサは、CPU、グラフィック処理装置、およびプログラム可能DSP装置のうちの1つ以上を含み得る。処理システムは、メインRAMおよび/もしくはスタティックRAM、ならびに/またはROMを含む、メモリサブシステムをさらに含み得る。バスサブシステムが、構成要素間の通信用に含まれ得る。処理システムはさらに、ネットワークで結合されたプロセッサを有する分散処理システムであり得る。処理システムがディスプレイを必要とする場合、例えば、液晶ディスプレイ(LCD)またはブラウン管(CRT)ディスプレイなどの、かかるディスプレイが含まれ得る。手動のデータ入力が必要とされる場合、処理システムは、キーボードなどの英数字入力装置、マウスなどのポインティング制御デバイスなど、のうちの1つ以上などの、入力装置も含む。メモリ装置という用語は、本明細書では、コンテキストから明らかであって、特に断らない限り、ディスクドライブ装置などの記憶システムも包含する。処理システムは、いくつかの構成では、音響出力装置、およびネットワークインタフェース装置を含み得る。メモリサブシステムは、従って、1つ以上のプロセッサによって実行される場合に、本明細書で説明する方法の1つ以上を実行させる命令のセットを含む、コンピュータ可読コード(例えば、ソフトウェア)を保持する、コンピュータ可読キャリア媒体を含む。本方法が、いくつかの要素、例えば、いくつかのステップを含む場合、かかる要素の順序付けは、特に明記しない限り、暗示されていないことに留意されたい。ソフトウェアは、ハードディスクに常駐し得るか、または、コンピュータシステムによるその実行中に、完全にもしくは少なくとも一部、RAM内および/またはプロセッサ内にも常駐し得る。従って、メモリおよびプロセッサも、コンピュータ可読コードを保持するコンピュータ可読キャリア媒体を構成する。
【0074】
その上、コンピュータ可読キャリア媒体は、コンピュータプログラム製品を形成し得るか、またはその中に含まれ得る。
【0075】
代替実施形態では、1つ以上のプロセッサが、スタンドアロン装置として動作するか、またはネットワーク化された配備内の他のプロセッサ(複数可)と接続され(例えば、ネットワーク接続され)得、1つ以上のプロセッサは、サーバー・ユーザーネットワーク環境におけるサーバーもしくはユーザーマシンとして、またはピアツーピアもしくは分散ネットワーク環境におけるピアマシンとして、動作し得る。1つ以上のプロセッサは、パーソナルコンピュータ(PC)、タブレットPC、セットトップボックス(STB)、携帯情報端末(PDA)、携帯電話、ウェブアプライアンス、ネットワークルーター、スイッチもしくはブリッジ、またはそのマシンによって行われる動作を指定する命令のセットを(順次または他の方法で)実行可能な任意のマシンを形成し得る。
【0076】
概略図は、単一のプロセッサおよびコンピュータ可読コードを保持する単一のメモリのみを示すが、当業者は、発明的態様を曖昧にしないために明示的に示されていないか、または説明されていないが、前述した構成要素の多くが含まれることを理解することに留意されたい。例えば、単一のマシンのみが例示されているが、用語「マシン」は、本明細書で説明する方法の任意の1つ以上を実行するための命令のセット(または複数のセット)を個別にまたは一緒に実行する、マシンの任意の集合を含むとも解釈されるべきである。
【0077】
従って、本明細書で説明する方法の各々の一実施形態は、1つ以上のプロセッサ、例えば、ウェブサーバー構成の一部である1つ以上のプロセッサ上での実行のための命令のセット、例えば、コンピュータプログラムを保持するコンピュータ可読キャリア媒体の形である。従って、当業者によって理解されるように、本発明の実施形態は、方法、専用装置などの装置、データ処理システムなどの装置、またはコンピュータ可読キャリア媒体、例えば、コンピュータプログラム製品として具現化され得る。コンピュータ可読キャリア媒体は、1つ以上のプロセッサ上で実行される場合に、そのプロセッサまたは複数のプロセッサに方法を実装させる命令のセットを含む、コンピュータ可読コードを保持する。それに応じて、本発明の態様は、方法、完全にハードウェアの実施形態、完全にソフトウェアの実施形態または、ソフトウェアおよびハードウェアの態様を結合する実施形態の形をとり得る。さらに、本発明は、媒体内に具現化されたコンピュータ可読プログラムコードを保持するキャリア媒体(例えば、コンピュータ可読記憶媒体上のコンピュータプログラム製品)の形をとり得る。
【0078】
ソフトウェアはさらに、ネットワークインタフェース装置を経由して、ネットワークを通して送信または受信され得る。キャリア媒体は、例示的な実施形態では、単一の媒体として示されているが、用語「キャリア媒体」は、命令の1つ以上のセットを格納する単一の媒体または複数の媒体(例えば、集中型もしくは分散型データベース、ならびに/または関連付けられたキャッシュおよびサーバー)を含むと解釈されるべきである。用語「キャリア媒体」は、プロセッサのうちの1つ以上による実行のための命令のセットを格納、符号化、または保持することが可能であり、1つ以上のプロセッサに、本発明の方法の任意の1つ以上を実行させる、任意の媒体を含むとも解釈されるべきである。キャリア媒体は、不揮発性媒体、揮発性媒体、および伝達媒体を含むが、それらに制限されない、多数の形をとり得る。不揮発性媒体は、例えば、光、磁気ディスク、および光磁気ディスクを含む。揮発性媒体は、メインメモリなどの、ダイナミックメモリを含む。伝達媒体は、バスサブシステムを包含するワイヤーを含む、同軸ケーブル、銅線および光ファイバーを含む。伝達媒体は、無線波および赤外線データ通信中に生成されるものなどの、音波または光波の形も取り得る。例えば、用語「キャリア媒体」は、その結果、ソリッドステートメモリ、光および磁気媒体内に具現化されたコンピュータ製品を含むが、それらに制限されないと解釈されるべきであり;媒体は、1つ以上のプロセッサのうちの少なくとも1つのプロセッサによって検出可能であり、実行される際に、方法を実装する命令のセットを表す伝搬信号を有し;また、ネットワーク内の伝達媒体は、1つ以上のプロセッサのうちの少なくとも1つのプロセッサによって検出可能であり、命令のセットを表す伝搬信号を有する。
【0079】
説明した方法のステップは、一実施形態では、記憶装置内に格納された命令(コンピュータ可読コード)を実行する処理(すなわち、コンピュータ)システムの適切なプロセッサ(または複数のプロセッサ)によって実行されることが理解されよう。本発明は、任意の特定の実施態様またはプログラミング技術に限定されないこと、および本発明は、本明細書で説明する機能を実装するための任意の適切な技術を使用して実装され得ることも理解されよう。本発明は、任意の特定のプログラミング言語またはオペレーティングシステムに限定されない。
【0080】
本発明の例示的な実施形態の前述の説明では、本開示を簡素化すること、および様々な発明的態様の1つ以上の理解に役立つことを目的として、本発明の様々な特徴が、時々、単一の実施形態、図、またはその説明にまとめられることが理解されるべきである。しかし、開示のこの方法は、請求項に係る発明が、各請求項内で明示的に列挙されているよりも多くの特徴を必要とするという意図を反映していると解釈されるべきでない。むしろ、以下の請求項が反映するように、発明的態様は、単一の前述の開示された実施形態の全ての特徴より少ない。従って、「発明を実施するための形態」に続く請求項は、これによって、この「発明を実施するための形態」に明示的に組み込まれ、各請求項は、本発明の別個の実施形態として権利を主張する。
【0081】
さらに、本明細書で説明するいくつかの実施形態は、他の実施形態に含まれている他の特徴ではない、いくつかの他の特徴を含み、異なる実施形態の特徴の組合せは、本発明の範囲内であることを意味し、当業者によって理解され得るように、異なる実施形態を形成する。例えば、以下の請求項では、請求された実施形態のいずれも任意の組合せで使用できる。
【0082】
その上、実施形態のうちのいくつかは、本明細書では、コンピュータシステムのプロセッサによるか、またはその機能を実行する他の手段によって実装できる、方法または方法の要素の組合せとして記述される。従って、かかる方法または方法の要素を実施するために必要な命令を有するプロセッサは、その方法または方法の要素を実施するための手段を形成する。また、装置実施形態の本明細書で説明する要素は、本発明の実施を目的として、要素によって実行される機能を実行するための手段の一例である。
【0083】
本明細書で提供する記述では、多数の具体的詳細が記載されている。しかし、本発明の実施形態は、これらの具体的詳細なしで実施され得ることを理解されたい。他の場合には、周知の方法、構造および技術が、本記述の理解を曖昧にしないために、詳細には示されていない。
【0084】
同様に、用語「結合された」は、請求項で使用される場合、直接接続のみに制限されるとして解釈されるべきでないことに注意されたい。用語「結合された」および「接続された」が、それらの派生物とともに、使用され得る。これらの用語は互いに同義語として意図されないことが理解されるべきである。従って、「装置Bに結合された装置A」という表現の範囲は、装置Aの出力が装置Bの入力に直接接続されている、装置またはシステムに制限されるべきでない。それは、他の装置または手段を含む経路であり得る、Aの出力とBの入力との間の経路が存在することを意味する。「結合された」は、2つ以上の要素が、直接物理的に、もしくは電気的に、のいずれかで接続されていること、または2つ以上の要素が互いに直接接続されていないが、なお互いに協働またはやり取りすることを意味し得る。
【0085】
このように、本発明の好ましい実施形態であると信じられているものを説明してきたが、当業者は、他およびさらなる修正が、本発明の精神から逸脱することなくそれらに対して行われ得、全てのかかる変更および修正は本発明の範囲内に含まれるとして請求すると意図されることを理解するであろう。例えば、上述した任意の計算式は、使用され得る手続きの代表に過ぎない。機能がブロック図に追加されるか、またはブロック図から削除され得、動作は機能ブロック間で入れ替えられ得る。ステップは、本発明の範囲内で、説明した方法に追加されるか、または削除され得る。