(57)【特許請求の範囲】
【請求項１】
１または複数のメディアデータ信号ストリームを格納するための複数のメモリロケーションを持つバッファおよび前記格納されたメディアデータ信号ストリームのうちの少なくとも１つに関係する算術演算を行うように構成されるアキュムレータを含むアキュムレータバッファを備え、前記算術演算の結果は前記バッファに格納され、前記アキュムレータバッファが前記アキュムレータバッファ内で複数のメディアデータ信号ストリームを混合しこれらストリームの少なくとも部分的な同期を維持するように構成される装置。
【請求項２】
前記複数のメディアデータ信号ストリームは同じサンプルレートを有する請求項１に記載の装置。
【請求項３】
前記複数のメディアデータ信号ストリームはオーディオ信号を含む請求項２に記載の装置。
【請求項４】
複数のメディアデータ信号ストリームをそれぞれ時間スケール上の特定インスタンスに対応するロケーションで処理するように結合される１つまたは複数の付加的アキュムレータバッファをさらに備え、前記１つまたは複数の付加的アキュムレータバッファは１つまたは複数の付加的サンプルレートに対応する請求項２に記載の装置。
【請求項５】
前記複数のメディアデータ信号ストリームは複数のソースによって少なくとも部分的に発生される請求項１に記載の装置。
【請求項６】
前記アキュムレータバッファは前記複数のソースのうちの少なくとも１つまたは複数に対応する読取ポインタ、書込ポインタ、およびウォーターマークのそれぞれを備える請求項５に記載の装置。
【請求項７】
１つまたは複数の後続メディアストリームを時間スケール上の特定インスタンスに対応するロケーションで処理することができるように前記アキュムレータバッファを間欠的かつ少なくとも部分的にクリアするように動作可能なコントローラをさらに備える請求項６に記載の装置。
【請求項８】
前記コントローラは前記アキュムレータバッファがクリアされた場合に表示を提供するようにさらに動作可能である請求項７に記載の装置。
【請求項９】
前記コントローラは完了した読取動作に応答して少なくとも部分的に前記複数のメディアストリームの１つまたは複数の部分をクリアするようにさらに動作可能である請求項７に記載の装置。
【請求項１０】
前記複数のメディアデータ信号ストリームのうちの前記少なくとも２つは時間に関して少なくとも部分的に重複する請求項１に記載の装置。
【請求項１１】
前記複数のメディアデータ信号ストリームはデジタルオーディオデータ、デジタル化ビデオデータ、デジタル化イメージングデータ、デジタル化無線データ、およびデジタル化テレビジョンデータのうちの少なくとも１つを備える請求項１に記載の装置。
【請求項１２】
１つまたは複数のプロセッサと、
前記プロセッサに結合され、１または複数のメディアデータ信号ストリームを格納するための複数のメモリロケーションを持つバッファおよび前記格納されたメディアデータ信号ストリームのうちの少なくとも１つに関係する算術演算を行うように構成されるアキュムレータを含むアキュムレータバッファとを備え、前記算術演算の結果は前記バッファに格納され、前記アキュムレータバッファが前記アキュムレータバッファ内で複数のメディアデータ信号ストリームを混合しこれらストリームの少なくとも部分的な同期を維持するように構成されるシステム。
【請求項１３】
前記複数のメディアデータ信号ストリームは同じサンプルレートを有する請求項１２に記載のシステム。
【請求項１４】
前記複数のメディアデータ信号ストリームはオーディオ信号を含む請求項１３に記載のシステム。
【請求項１５】
複数のメディアデータ信号ストリームをそれぞれ時間スケール上の特定インスタンスに対応するロケーションで処理するように結合される１つまたは複数の付加的アキュムレータバッファをさらに備え、前記１つまたは複数の付加的アキュムレータバッファは１つまたは複数の付加的サンプルレートに対応する請求項１３に記載のシステム。
【請求項１６】
前記複数のメディアデータ信号ストリームは前記１つまたは複数のプロセッサによって少なくとも部分的に発生される請求項１２に記載のシステム。
【請求項１７】
前記アキュムレータバッファは前記１つまたは複数のプロセッサのうちの少なくとも１つまたは複数に対応する読取ポインタ、書込ポインタ、およびウォーターマークのそれぞれを備える請求項１６に記載のシステム。
【請求項１８】
前記複数のメディアデータ信号ストリームのうちの前記少なくとも２つは時間に関して少なくとも部分的に重複する請求項１２に記載のシステム。
【請求項１９】
前記複数のメディアデータ信号ストリームはデジタル化オーディオデータ、デジタル化ビデオデータ、デジタル化イメージングデータ、デジタル化無線データ、およびデジタル化テレビジョンデータのうちの少なくとも１つを備える請求項１８に記載のシステム。
【請求項２０】
１つまたは複数の累積されたデータストリームを統合するように動作可能なミキサをさらに備える請求項１２に記載のシステム。
【請求項２１】
１つまたは複数の統合されたデータストリームを格納するように動作可能な加算バッファをさらに備える請求項２０に記載のシステム。
【請求項２２】
１つまたは複数の累積されたデータストリームを異なるサンプリングレートまたはフォーマットにリサンプリングするように動作可能な回路をさらに備える請求項２０に記載のシステム。
【請求項２３】
前記回路は少なくとも２つの累積されたデータストリームを共通のサンプリングレートまたはフォーマットにリサンプリングするようにさらに動作可能である請求項２２に記載のシステム。
【請求項２４】
１または複数のメディアデータ信号ストリームをアキュムレータバッファに含まれるバッファに格納することと、
前記アキュムレータバッファに含まれるアキュムレータを用いて前記格納されたメディアデータ信号ストリームのうちの少なくとも１つに関係する算術演算を行うことにより前記アキュムレータバッファ内で複数のメディアデータ信号ストリームを混合しこれらストリームの少なくとも部分的な同期を維持することと、
前記算術演算の結果を前記バッファに格納することと、
を備える方法。
【請求項２５】
前記アキュムレータバッファは複数のメディアデータ信号ストリームの１つまたは複数のソースに結合される請求項２４に記載の方法。
【請求項２６】
前記複数のメディアデータ信号ストリームは同じサンプルレートを有する請求項２４に記載の方法。
【請求項２７】
前記複数のメディアデータ信号ストリームはオーディオ信号を含む請求項２６に記載の方法。
【請求項２８】
複数の付加的メディアデータ信号ストリームを対応する１つまたは複数の付加的アキュムレータバッファ内において時間スケール上の特定インスタンスに対応するロケーションで処理することをさらに備え、前記１つまたは複数の付加的アキュムレータバッファは１つまたは複数の付加的サンプルレートに対応する請求項２６に記載の方法。
【請求項２９】
前記複数のメディアデータ信号ストリームは１つまたは複数のソースによって少なくとも部分的に発生される請求項２４に記載の方法。
【請求項３０】
前記アキュムレータバッファは前記１つまたは複数のプロセッサのうちの少なくとも１つまたは複数に対応する読取ポインタ、書込ポインタ、およびウォーターマークのそれぞれを備える請求項２９に記載の方法。
【請求項３１】
前記１つまたは複数のプロセッサのうちの少なくとも１つについて前記読取ポインタ、前記書込ポインタ、および前記ウォーターマークを設定することをさらに備える請求項３０に記載の方法。
【請求項３２】
前記１つまたは複数のプロセッサのうちの前記少なくとも１つに、その該当ウォーターマークに到達した場合に信号を送信することをさらに備える請求項３１に記載の方法。
【請求項３３】
前記複数のメディアデータ信号ストリームのうちの前記少なくとも２つは時間に関して少なくとも部分的に重複する請求項２４に記載の方法。
【請求項３４】
前記複数のメディアデータ信号ストリームはデジタル化オーディオデータ、デジタル化ビデオデータ、デジタル化イメージングデータ、デジタル化無線データ、およびデジタル化テレビジョンデータのうちの少なくとも１つを備える請求項３３に記載の方法。
【請求項３５】
複数のメディアデータ信号ストリームを発生するための手段と、
前記複数のメディアデータ信号ストリームのうちの少なくとも１つをアキュムレータバッファに含まれるバッファに格納するための手段と、
前記アキュムレータバッファに含まれ、前記格納されたメディアデータ信号ストリームのうちの少なくとも１つに関係する算術演算を行うアキュムレータを用いて前記複数のメディアデータ信号ストリームを混合しこれらストリームの少なくとも部分的な同期を維持するための手段と、
前記混合された複数のメディアデータ信号ストリームを前記バッファに格納する手段と、
を備えるシステム。
【請求項３６】
前記複数のメディアデータ信号ストリームは同じサンプルレートを有する請求項３５に記載のシステム。
【請求項３７】
前記複数のメディアデータ信号ストリームはオーディオ信号を含む請求項３６に記載のシステム。
【請求項３８】
複数の付加的メディアデータ信号ストリームをそれぞれ１つまたは複数の付加的アキュムレータバッファ内において時間スケール上の特定インスタンスに対応するロケーションで処理するための１つまたは複数の付加的手段をさらに備え、前記１つまたは複数の付加的アキュムレータバッファは１つまたは複数の付加的サンプルレートに対応する請求項３６に記載のシステム。
【請求項３９】
前記アキュムレータバッファは複数のメディアデータ信号ストリームを発生するための前記手段のうちの少なくとも１つまたは複数に対応する読取ポインタ、書込ポインタ、およびウォーターマークのそれぞれを備える請求項３５に記載のシステム。
【請求項４０】
前記複数のメディアデータ信号ストリームのうちの前記少なくとも２つは時間に関して少なくとも部分的に重複する請求項３５に記載のシステム。
【請求項４１】
前記複数のメディアデータ信号ストリームはデジタル化オーディオデータ、デジタル化ビデオデータ、デジタル化イメージングデータ、デジタル化無線データ、およびデジタル化テレビジョンデータのうちの少なくとも１つを備える請求項４０に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願
２００８年７月２３日に出願された「METHOD FOR MIXING AND REAL TIME PLAYBACK OF MULTIPLE INDEPENDENT AUDIO STREAM IN MULTI-PROCESSING ENVIRONMENT」と題する仮出願第６１／０８３，０５８号の利益を主張し、２００９年６月５日に出願された「SYSTEM, METHOD OR APPARATUS FOR COMBINING MULTIPLE STREAMS OF MEDIA DATA」と題する出願第１２／４７９，４９２号の優先権を主張する。
【０００２】
実施形態は、複数ストリームのメディアデータ(multiple streams of media data)を混合または統合する分野に関し、より詳細には、複数ストリームのデジタルメディアデータを統合することに関する。
【背景技術】
【０００３】
携帯電話、ＰＤＡ、コンピューティングプラットフォームなどのメディアデバイスは、いくつかの状況下で、少なくとも部分的に複数ストリームのデジタルメディアデータを同時または並行に再生または実演できる。例えば、携帯電話は、いくつかの状況下で、音楽ファイル、ボイス呼(voice call)、警報音、ゲーム音など、またはこれらのいくつかの組合せに対応する複数のオーディオストリームを少なくとも部分的に並行な形式で再生できる。
【図面の簡単な説明】
【０００４】
主題は明細書の結論部分においてとりわけて指摘されると共に明確に権利請求される。しかしながら、動作の方法および構成の両方に関する請求主題、並びにその目的、特徴、および利点は、以下の詳細な説明を添付の図面と一緒に読んで参照することによって最も良く理解されるはずである。
【図１】一実施形態に従って１つまたは複数のアキュムレータバッファを含むシステムの概略図である。
【図２】図１の実施形態の動作の１つまたは複数の態様を示す概略図である。
【図３】図１の実施形態の動作の１つまたは複数の他の態様を示す概略図である。
【図４】一実施形態に従うプロセスをフローチャート表現したものである。
【図５】一実施形態に従ってアキュムレータバッファと１つまたは複数のプロセッサとを含むシステムの概略図である。
【図６】一実施形態に従うアキュムレータバッファからの読取ポインタ読取動作の論理制御プロセスのフローチャートである。
【図７】一実施形態に従う書込ポインタ書込動作の論理制御プロセスのフローチャートである。
【図８】一実施形態に従って１つまたは複数の仮想アキュムレータバッファと１つまたは複数のプロセッサとを含むシステムの概略図である。
【発明を実施するための形態】
【０００５】
以下の詳細な説明では、多数の具体的な詳細が請求主題の完全な理解を与えるために記載される。但し、当業者であれば、請求主題がこれら具体的な詳細なしに実施できることを理解できよう。他の例において、請求主題を不明瞭にしないために、当業者に知られるような方法、手順、コンポーネント、または回路は詳細に記述されていない。
【０００６】
本明細書全体にわたる「一実施形態」または「実施形態」という言及は、この実施形態に関連して説明され特定の特徴、構造、または特性が請求主題の少なくとも１つの実施形態の中に含まれることを意味する。従って、本明細書全体にわたる様々な箇所における「一実施形態では」または「実施形態」という句の出現は、必ずしも全て同じ実施形態を指すものではない。さらに、これら特定の特徴、構造、または特性は１つまたは複数の実施形態において組み合わされてよい。
【０００７】
携帯電話、ＰＤＡ、コンピューティングプラットフォームなどのメディアデバイスは、いくつかの状況下で、少なくとも部分的に複数ストリームのデジタルメディアデータを同時または並行に再生または実演してよい。例えば、携帯電話は、いくつかの状況下で、音楽ファイル、ボイス呼、警報音、ゲーム音など、またはこれらのいくつかの組合せに対応するオーディオストリームを少なくとも部分的に同時に再生または実演してよい。本明細書で用いられるように、「デジタルメディアデータ」という用語は、例えば、オーディオデータ、ビデオデータ、画像データなどを含み、人間によって知覚可能な物理的属性(physical attributes)または物理的兆候(physical manifestations)  が表されるものである２値デジタル信号を指す。これに対する１つの可能なソリューションは、例えば、オーディオストリームなど、時間的に互いに重複するデジタルメディアストリームを加算し、加算されたオーディオストリームをデジタルアナログ変換器（ＤＡＣ）に供給するためのソフトウェアモジュールまたはハードウェアコンポーネントを採用することである。例えば、これは、オーディオストリームがマルチスレッドプロセッサを使用して再生される場合に実現できる。しかしながら、システムが、複数ストリームのデジタルメディアデータを発生する複数のプロセッサ、または複数ストリームのデジタルメディアデータを発生する単一のプロセッサを採用する場合、上で扱ったように、ソフトウェアモジュールやハードウェアコンポーネントが複数ストリームのメディアデータを適切に整合または同期させることが難しいことがある。加えて、いくつかの状況下では、様々なオーディオストリームが様々なサンプリングレートで、あるいは様々なチャネルフォーマットのために発生され得る。例として、ｍｐ３音楽ファイルの再生は４４．１ｋＨｚのサンプリングレートで２つのオーディオチャネルを用いて生起でき、通話からなどのボイスデータは８ｋＨｚのサンプリングレートで単一のオーディオチャネルを用いて生成できる。この例では、２ストリームのメディアデータが単一のサンプリングレートでリサンプリングされ、混ぜ合わせるために２オーディオチャネルフォーマットに変換できる。しかしながら、こうすることは、ハードウェアおよび／または処理のいくらかの複雑さを伴う。
【０００８】
しかしながら、一実施形態は、以下により詳細に述べるように、対照的に、複数のデジタルメディアデータストリームを定位置（in place)または原位置( in situ）で混合するように動作可能なハードウェアコンポーネントに関する。例えば、アキュムレータバッファなどのハードウェアコンポーネントは、複数のデジタルメディアデータストリームを混合し、少なくとも部分的にこれらストリームの同期を維持するように動作可能であり得る。少なくとも１つの実施形態では、１つまたは複数のハードウェアコンポーネントは、複数のデジタルメディアデータストリームを単一または共通のサンプリングレートでリサンプリングし、これらストリームの定位置または原位置(in place or in situ)での混合を可能にするために少なくとも部分的にこれらストリームを共通チャネルフォーマットに変換する。一実施形態では、例えば、アキュムレータバッファなどのハードウェアコンポーネントが、複数のプロセッサなどの複数のソースからのメディアストリームを混合するように動作可能であり、単一のプロセッサからの複数のメディアストリームを混合するようにも動作可能である。本明細書で用いられるように、「混合すること(mixing)」は２つ以上の２値デジタル信号を少なくとも部分的に統合し、合わされた信号の１つまたは複数の特性が表されるような２値デジタル信号を形成することを指す。本明細書で用いられるように、「共通チャネルフォーマット」は特定または独特なチャネル構成で再生または実演されることを意図された複数の２値デジタル信号を表現したものを指す。ここで、特定または独特なチャネル構成は限定する訳でないが左チャネルおよび右チャネルを有するようなもので、必ずしも同じソースから発生されるとは限らない複数の信号に共通する。例えば、第１の信号は左および右チャネルを有してよく、共通チャネルフォーマットを持つ第２の信号も左および右チャネルを有してよい。本明細書で用いられるように、「アキュムレータバッファ」はバッファとアキュムレータの両方の特徴を示す１つのデバイスまたはハードウェアを指す。バッファは、一般に複数の２値デジタル信号が格納される複数のメモリロケーションを含む。アキュムレータは、一般に算術演算、特に算術加算演算を行う能力を有する。後でより詳細に記述されるが、ここで述べることになる特定の実施形態については、双方の特徴を持つデバイスが定位置または原位置で複数のメディアストリームを混合するように動作可能な１つまたは複数のメモリロケーションを含んでよい。例えば、アキュムレータバッファは複数の信号源をアキュムレータバッファのメモリロケーションに書き込ませることによって少なくとも部分的に定位置または原位置で複数のメディアストリームを混合または統合するように動作可能な固体メモリバッファを備えてよい。
【０００９】
複数のデジタルメディア信号を採用する一実施形態において、複数の２値デジタル信号自体は、限定する訳でないが、例えば音などの特定の物理的属性または兆候に関係する時間における特定のインスタンスまたはサンプルに対応してよい。従って、同様に、１つまたは複数のアドレス、限定する訳でないが例えばアキュムレータバッファ内の連続アドレスは、アキュムレータバッファ内の特定ロケーションの特定アドレスが特定時間インスタンスに対応できるように時間スケールに対応してよい。従って、一実施形態では、複数のプロセッサがアキュムレータバッファのうちの任意の適切な複数のメモリロケーションに対して書込みをするもので、例えば付加的バッファを使用せずにそうするのであるが、オーディオストリームなどのデジタルメディアデータストリームのうちの複数の時間的重複部分がオーディオストリームを整合させるタイミングにする定位置または原位置で統合されるようにしてよい。少なくとも部分的に複数のストリームをアキュムレータバッファ内の適切なメモリロケーションに書き込むことによって、これらストリームはやがて特定インスタンスについて重複される複数のストリームの部分について混合されることになる。但し、これが複数のデジタルメディアデータストリームに関係する例示的な例にすぎないこと、および請求主題がこの点について限定されないことに留意されたい。
【００１０】
図１は、一実施形態に従ってアキュムレータバッファ１０２を含むシステム１００の概略図である。図１に関し、一実施形態は１つまたは複数のメモリロケーション、例えばアキュムレータバッファ１０２、１０４、および１０６などを備えてよい。加えて、一実施形態は、例えばリサンプリングまたは再フォーマットして混合するように動作可能な１つまたは複数の回路であるミキサ１０８をさらに備えてよい。さらに、一実施形態は、例えばデジタルアナログ変換（ＤＡＣ）インターフェース１１０などのＤＡＣインターフェースをさらに備えてよい。一実施形態は、例えば割込発生器１１２などの割込み発生ユニットを備えてもよい。一実施形態において、アキュムレータバッファ１０２、１０４、または１０６は、例えばバスアービタ１１６を介するなどしてシステムバス１１４に結合されてよい。一実施形態において、バス１１４は、ほんのいくつかの例を挙げれば、Ａｄｖａｎｃｅｄ  Ｍｉｃｒｏｐｒｏｃｅｓｓｏｒ  Ｂｕｓ  Ａｒｃｈｉｔｅｃｔｕｒｅ(ＡＭＢＡ)、高速バス(ＡＨＢ)、Ａｄｖａｎｃｅｄ  ｅＸｔｅｎｓｉｂｌｅ  Ｉｎｔｅｒｆａｃｅ(ＡＸＩ）、または他のバスシグナリングプロトコルのうちの少なくとも１つに対応するかまたはそれと互換性があるシグナリングを採用することになるバスを備えてよい。一実施形態において、アキュムレータバッファ１０２、１０４、および１０６は１つまたは複数のスレーブユニットとしてバス１１４に結合され、アキュムレータバッファ１０２、１０４、および１０６がシステム１００に関連付けられた１つまたは複数のプロセッサ（図示せず）に少なくとも部分的にアクセス可能にしてよい。一実施形態では、いくつかの状況下で、ミキサユニット１０８が、１つまたは複数のサンプリングレート、チャネルフォーマット等を持つ１つまたは複数のメディアストリームからのリサンプリングなどの１つまたは複数の混合タスクを行うようにシステム１００に関連付けられた１つまたは複数のプロセッサのいずれかによってプログラムされてよい。一実施形態では、サンプリングレート、チャネルフォーマット等がアキュムレータバッファのうちの特定の１つに関連付けられてよい。例えば、アキュムレータバッファ１０２は第１のサンプリングレート、第１のチャネルフォーマット等に対応してよく、アキュムレータバッファ１０４および１０６は異なるサンプリングレート、チャネル、フォーマット等に対応してよい。一実施形態において、システム１００は、例えば加算バッファ１２０などの加算バッファをさらに備えてよい。一実施形態において、ミキサ１０８は、ＤＡＣインターフェース１１０による１つまたは複数の混合サンプルへの後続アクセスのためにこれらサンプルを加算バッファ１２０に書き込んでよい。例えば、ＤＡＣインターフェース１１０は、オーディオまたはビデオシステムによる再生などのために、混合サンプルをＤＡＣ１３０に送信してよい。これらがシステムまたはシステム構成に関係する例示的な例にすぎないこと、および請求主題がこの点について限定されないことに留意されたい。
【００１１】
一実施形態において、アキュムレータバッファ１０２、１０４、および１０６は、それぞれのサンプリングレート、チャネルフォーマット等に少なくとも部分的に対応するように構成されてよい。本実施形態において、１つまたは複数のプロセッサ（図示せず）のいずれかは、メディアストリームに対応するサンプリングレート、チャネルフォーマット等を持ついずれかのアキュムレータバッファにメディアストリームを送信できる。例えばプロセッサが複数のアキュムレータバッファのうちの適切な１つに書き込むことをこの適切なアキュムレータバッファの一部に対応するバスアドレスへの書込みにより行ってよい。さらに、一時停止されたメディアストリームは、１つまたは複数の０値をアキュムレータバッファに書き込んでよい。例えば、特定のメディアストリームがユーザによってまたは少なくとも部分的にイベントに応答して一時停止された場合、特定アキュムレータバッファ内の対応読取ポインタが凍結され、このようなアキュムレータバッファからミキサへの出力が０に置き換えられてよい。この例では、一時停止がデアサート(de-asserted)された場合に、読取ポインタがこの停止されたところから続けることができる。メモリワードサイズ、オーディオストリームフォーマット、およびオーディオサンプルのチャネル当たりビットに依存し、オーディオサンプルは複数のワードで構成されるはずである。例えば３２ビットメモリワードサイズ、５．１オーディオ（６チャネル）およびチャネル当たり１６ビットの場合、各オーディオサンプルは３ワードで構成される。これら状況下では、サンプル境界が、特定のフォーマットに依存し、単数または複数のサンプルのためのワード数がバッファから読み取られたときに生じ得る。いくつかの状況下では、サンプル境界の概念は、一時停止の適用、または０の挿入、あるいは特定のオーディオソースのボリューム変更の間などに役立つことができる。一実施形態では、０の挿入やボリュームの変更が少なくとも部分的にサンプル境界に対して適用され、この変更（一時停止／ボリューム）がもたらされたサンプル内のすべてのチャネルがそのような０の挿入またはボリュームの変更を反映することを確実にすることが望ましいことがある。さらに、いくつかの状況下では、０値を挿入することが、ポップなどの音響ひずみを生じることがあるので、そのような挿入はあまり望ましくないことがある。そのような状況では、ほんのいくつかの例を挙げれば、例えば、線形、指数、対数、および／または正弦波モデルを使用して、０値まで徐々に低下させることが、後続の信号値をより徐々に低下させるために望ましいことがある。そのような手順のためのロジックは、本明細書に記述された１つまたは複数のコントローラ回路内や、代替的に、例えばその０挿入値を平滑化するための別個の回路内に存在できる。加えて、様々なチャネルまたはプロセッサソースが、特定のソースのためにより望ましいような様々なランプダウンプロセスを採用できる。サンプル境界を維持することが望ましいような別の状況は、ミキサ１０８に存在し得る。例えば、新しいストリームが混合のために有効化される場合、少なくとも部分的にサンプル境界についてのみ混合を開始し、全スト��ームからの複数の同じチャネルが一緒に付加されることを確実にすべきである。但し、これがオーディオサンプルを混合することに関係する例示的な例にすぎないこと、および請求主題がこの点について限定されないことに留意されたい。
【００１２】
一実施形態では、アキュムレータバッファ内の複数のアドレスが特定の時間スケールに対する複数の時間インスタンスに対応し、アキュムレータバッファ内のロケーションが特定の時間インスタンスに対応するようにし得る。一実施形態では、複数のプロセッサがアキュムレータバッファの１つまたは複数の部分へ書込みを行い得る。例えば、アキュムレータバッファ内の複数のメディアストリームは、少なくとも部分的に時間的に重複できる。少なくとも部分的に、複数のストリームをアキュムレータバッファ内の適切な複数のロケーションに書き込むことによって、これら複数のストリームは時間に関して重複する複数のストリームの部分について混合され得る。特定のアキュムレータバッファ内では、一実施形態において、複数のストリームが少なくとも部分的にインターリーブされたフォーマットで格納され得る。例えば、メディアストリームの１つまたは複数チャネルの後に、このメディアストリームの他の１つまたは複数チャネルが続き得る。例えば、ステレオオーディオストリームに対応する２チャネルメディアストリームを採用する。この例において、このメディアストリームはアキュムレータバッファ内にＬ０  Ｒ０  Ｌ１  Ｒ１．．．Ｌｎ  Ｒｎのように格納され得る。但し、Ｌｘは左チャネル値であり、Ｒｘは信号サンプルｘの右チャネル信号値である。一実施形態では、１つまたは複数のアキュムレータバッファが様々なサイズであってよいが、これがどうしても必要ということはない。例えば、異なるサイズのアキュムレータバッファを少なくとも部分的に持ち、１つまたは複数のバッファに書き込まれているメディアストリームの１つまたは複数の様々な態様に少なくとも部分的に適応させ、それぞれのメディアストリームに関係する１つまたは複数の待ち時間の差の問題に対処するなどすることが望ましいはずである。例えば、アキュムレータバッファ１０２が少なくとも部分的に約１９２ｋｂのサイズを持ち、このアキュムレータバッファ１０２が４８ｋＨｚでサンプリングされ１６ビットステレオフォーマットを有する１秒までのオーディオデータに適応するようにする一方で、アキュムレータバッファ１０４が少なくとも部分的に約１６００バイトのサイズを持ち、このアキュムレータバッファ１０４が１５ビットモノラルフォーマッティングされた１００ミリ秒までのデータに適応するようにできる。但し、これらがメモリユニットに関係する例示的な例にすぎないこと、および請求主題がこの点について限定されないことに留意されたい。
【００１３】
一実施形態において、システム１００は１つまたは複数のバッファ制御回路の組合せのようなバッファコントローラユニットを含んでもよい。例えば、バッファ制御ユニットが少なくとも部分的に間欠的にアキュムレータバッファをクリアするように動作可能な第１のコントローラを含み、１つまたは複数の後続メディアストリームが定位置で処理されるようにしてよい。さらなる例では、バッファ制御ユニットがこのようなアキュムレータバッファがクリアされた場合の表示を提供するように動作可能な第２のコントローラを含んでもよい。この例において、こうした表示はバッファへの書込みをする１つまたは複数のプロセッサに提供されてよい。さらに別の例として、バッファ制御ユニットが、複数のメディアストリームの１つまたは複数の部分を少なくとも部分的にクリアすることを、これらメディアストリームを保持するアキュムレータバッファの一部分の完了した読取動作に応答して行うように動作可能なさらに別のコントローラを含んでもよい。バッファ制御ユニットは、１つまたは複数の回路やユニットとして実現できることに留意されたい。例えば、別個の回路がバッファ制御ユニットの上記機能のうちの１つまたは複数を提供し、上記の機能のうちの他のものを提供する１つまたは複数の他の回路と通信するように動作可能であってもよいが、もちろん、請求主題はこの点について限定されない。一実施形態において、バッファ制御ユニットは、リセットのデアサート時、またはソフトウェアコンポーネントがバッファ制御ユニットをアクティブ化した場合に、アキュムレータバッファをクリアしてよい。一実施形態において、バッファ制御ユニットはアキュムレータバッファにおいて任意の特定ロケーションを少なくとも部分的にクリアすることを、このアキュムレータバッファのこの特定ロケーションの読取りに応答して行ってよい。加えて、このバッファ制御ユニットの１つまたは複数の部分は１つまたは複数のアキュムレータバッファ内に物理的に配置されてよい。例えば、このバッファ制御ユニット内の複数のコントローラのうちの１つまたは複数はアキュムレータバッファに関連付けられた読取回路の一部分であってよい。同様に、バッファ制御ユニットの他の複数のコントローラは、アキュムレータバッファの読取構造あるいは回路に関連付けられた読取回路あるいは回路構成の一部であってよい。
【００１４】
一実施形態において、ミキサユニット１０８は、１つまたは複数のアキュムレータバッファからのメディアデータを、特定のＤＡＣコーデックに関連付けられた特定のサンプリングレートまたはチャネルフォーマットにアップミックスまたはダウンミックスするように動作可能である。一実施形態では、例えば、オプションのボリューム制御方式がアップミキシングプロセスやダウンミキシングプロセスの前などに１つまたは複数のメディアストリームに適用されてよい。一実施形態において、アップミキシングプロセスはメディアストリームのための既存のチャネル数がこのメディアストリームのための所望のチャネル数よりも小さいプロセスを備えてよい。一実施形態において、ダウンミキシングプロセスはメディアストリームのための既存のチャネル数がこのメディアストリームのための所望のチャネル数よりも大きいプロセスを備えてよい。様々なアップミキシングプロセスまたはダウンミキシングプロセスがミキサユニット１０８によって採用されてよい。例えば、ミキサユニット１０８は、出力チャネルの信号サンプルの信号値が入力チャネルの信号サンプルの１つまたは複数の信号値の線形結合を含み得る行列変換プロセスを適用してよい。さらなる例では、他のプロセスがＨＲＴＦフィルタ、室内音響処理、ＦＩＲ、ＩＩＲなど、空間処理または他のフィルタ処理を含んでよい。但し、これらがミキサユニットに関係する例示的な例にすぎないこと、および請求主題がこの点について限定されないことに留意されたい。
【００１５】
図２は、一実施形態によるアキュムレータバッファ２００の動作の１つまたは複数の態様を示す概略図である。図２に関し、一実施形態では、例えば、読取ポインタ２０２がアキュムレータバッファ２００などの１つまたは複数のアキュムレータバッファのために維持されてよい。一実施形態において、読取ポインタ２０２は１つまたは複数のサンプルを少なくとも部分的にバッファ２００から読み出すために使用されてよい。さらに、サンプルがバッファ２００から読み出された場合、読取ポインタ２０２がアキュムレータバッファ２１０に示すように次のサンプルに移動されてよい。一実施形態では、読取要求が図１のミキサユニット１０８などの１つまたは複数のソースから発生されてよい。一実施形態において、読取ポインタ２０２は、アキュムレータバッファ２００内のメディアデータに関連付けられたチャネルフォーマット、サンプリングレート等に少なくとも部分的に基づいて、アキュムレータバッファ２００内で移動されてよい。例えば、アキュムレータバッファ２００内のチャネルフォーマットが１６ビットステレオメディアデータを含み、アキュムレータバッファ２００が複数の３２ビットロケーションを含む場合、読取要求は、完了した読取要求に応答してアキュムレータバッファ２００内において１つの３２ビットワードだけ移動した読取ポインタ２０２をもたらすことになる。さらなる例では、バッファ２００内のチャネルフォーマットが３２ビット６チャネルオーディオを含み、アキュムレータバッファ２００が複数の１６ビットメモリロケーションを含む場合、読取要求は、完了した読取要求に応答してアキュムレータバッファ２００内において１２個の１６ビットワードだけ移動した読取ポインタ２０２をもたらすことになる。本質的に、読取ポインタ２０２は、一般に、アキュムレータバッファ２００内において実質的に完了したサンプルに対応する量だけ進むことになる。但し、これがアキュムレータバッファに関係する例示的な例にすぎないこと、および請求主題がこの点について限定されないことに留意されたい。
【００１６】
一実施形態において、ミキサユニット１０８は、例えばシステム１００の場合に少なくとも部分的にＤＡＣユニット１１０と通信し、このＤＡＣインターフェースユニット１１０にオーディオ再生のために１つまたは複数のアキュムレータバッファからのサンプルを少なくとも部分的に提供するように動作可能であってよい。
【００１７】
例えば、ＤＡＣインターフェースユニット１１０は、ミキサユニット１０８からの１つまたは複数のサンプルを要求してよい。一実施形態において、ミキサユニット１０８は、１つまたは複数のアキュムレータバッファからの１つまたは複数の読取アクションを要求してよい。少なくとも１つの実施形態では、オプションのボリューム制御アクションがメディアデータの１つまたは複数のストリームに適用され、複数ストリームのメディアデータのための適切な混合をミキサユニット１０８に判断させるようにしてよい。一実施形態において、ミキサユニット１０８は、ＤＡＣコーデックに互換性のある形式で１つまたは複数のアキュムレータバッファからの１つまたは複数のサンプルをリサンプリングまたは再フォーマッティングしてよい。さらに、リサンプリングおよび再フォーマッティングされたデータはさらに混合され、ＤＡＣインターフェースユニット１１０を介してＤＡＣコーデックに通されてよい。但し、これらが複数のメディアストリームを混合することに関係する例にすぎないこと、および請求主題がこの点について限定されないことに留意されたい。一例として、デジタルメディアデータはオーディオデータ以外のものを含んでよい。
【００１８】
しかしながら、一実施形態において、ミキサユニット１０８は、ＤＡＣインターフェースユニット１１０に送信されたサンプルを、例えば加算バッファ１２０などのバッファに格納してよい。一実施形態において、アキュムレータバッファ２１０は少なくとも部分的に図１に示すバス１１４などのシステムバスに取り付けられ、１つまたは複数のプロセッサがアキュムレータバッファ２１０からの読取りまたはこれへの書込みをできるようにしてよい。一実施形態において、書込ポインタ２１２はメディアデータがアキュムレータバッファ２１０に書き込まれている場所、または書き込まれることになる場所を少なくとも部分的に表示するようにアキュムレータバッファ２１０内において維持されてよい。一実施形態では、ウォーターマーク２１４もアキュムレータバッファ２１０中で維持される。本明細書で用いられるように「ウォーターマーク」は、例えば、バッファまたはアキュムレータバッファの複数のメモリロケーション間の境界を指す。例えば、ウォーターマークは、１つまたは複数のソースからの完了したサンプルについての終了ロケーション、１つまたは複数のソースからの完了した書込動作についての終了ロケーション、または１つまたは複数のソースからの完了した読取動作についての終了ロケーションに対応するバッファ内ロケーションの表示を含んでよい。もちろん、代替の実施形態では、ウォーターマークが別の境界を表示してよい。例えば、完了したサンプルについての開始ロケーション等を表示してよい。しかしながら、本実施形態では、書込ポインタ２１２などの書込ポインタがウォーターマーク２１４に到達した場合、割込要求がバッファ２２０において示すように発生されてよい。例えば、少なくとも部分的に割込要求に応答し、プロセッサが起動し、バッファ２２０からの複数のサンプルの少なくとも一部分を読み出してよい。一実施形態において、アキュムレータバッファ２３０は、第１のプロセッサに関連付けられたウォーターマークおよび書込ポインタを越えてアキュムレータバッファ２３０内で進められ、第２のプロセッサに関連付けられたウォーターマークに向かって進む読取ポインタ２３２を示す。このような形式で、複数のプロセッサは、バッファ内のそれぞれのウォーターマークに到達する書込ポインタまたは読取ポインタに少なくとも部分的に基づいて、バッファへの書込み、バッファからの読取り、および割込要求の受信を行ってよい。加えて、図２に示すように、アキュムレータバッファは複数の書込ポインタおよび複数のウォーターマークを含んでよい。例えば、アキュムレータバッファへの書込みをする１つまたは複数のプロセッサがそれぞれ対応する複数の書込ポインタおよび複数のウォーターマークを持ち、複数の複数のプロセッサが少なくとも部分的にアキュムレータバッファへの書込みを行い、アキュムレータバッファが定位置または原位置でプロセッサからの複数のストリームを混合または処理するようにしてよい。読取ポインタがアキュムレータバッファの終端に達した場合にロールオーバし、このバッファの始端に移動してよいことに留意されたい。このような形式で、バッファは、図２に示すように、サーキュラーバッファを含み得る。但し、これらがバッファに関係する例示的な例にすぎないこと、および請求主題がこの点について限定されないことに留意されたい。
【００１９】
図３は、一実施形態による加算バッファ３００の１つまたは複数の他の態様を示す概略図である。一実施形態では、加算バッファ３００は、書込ポインタ３０２およびウォーターマーク３０４を含んでよい。図３に示すように、書込ポインタ３０２がウォーターマーク３０４に到達した場合、割込みが少なくとも部分的に加算バッファ３００からデータの読取りを開始するように１つまたは複数のプロセッサにシグナリングするために発生されてよい。加えて、加算バッファ３００からの読取りまたはこれへの書込みをするプロセッサは、新しいウォーターマークを設定してよい。この特定の実施形態において、加算バッファ３００は、書込ポインタ３０２が以前に書き込まれてまだ読み取られていないデータに進む前などのように書込ポインタ３０２が加算バッファ３００内である量だけ進む前に読み取られる必要がある。従って、データが後続の書込プロセスによって上書きされる前に、プロセッサが加算バッファ３００からそのデータを読み出すための十分な時間があるように、ウォーターマークを設定することが望ましいことがあるが、もちろん、請求主題はこの点について限定されない。
【００２０】
図４は、一実施形態によるプロセス４００をフローチャート表現したものである。ボックス４０２については、システムまたはプロセスがアキュムレータバッファにおける１つまたは複数のプロセッサに対応する１つまたは複数の読取ポインタ、書込ポインタ、またはウォーターマークを設定してよい。例えば、該当のプロセッサがアキュムレータバッファにおいてプロセッサ自体のための読取ポインタ、書込ポインタまたはウォーターマークを設定してよい。ボックス４０４については、アキュムレータバッファが定位置または原位置で複数のメディアデータ信号ストリームを処理してよい。例えば、複数のプロセッサがアキュムレータバッファに書き込む場合、バッファがこれら信号を定位置または原位置で処理または混合する一方で、これらストリームがこのバッファに書き込まれてよい。ボックス４０６については、システムまたはプロセスが定位置または原位置で複数の付加的メディアデータ信号ストリームを処理してよい。例えば、システムまたはプロセスが、図１に関して示されたような付加的アキュムレータバッファを含んでよく、これら付加的アキュムレータバッファはこれらストリームがこれら付加的アキュムレータバッファに書き込まれる間に、定位置または原位置で複数の付加的メディアデータ信号を処理または混合する。ボックス４０８については、信号が１つまたは複数のプロセッサへ、このプロセッサのためのウォーターマークに到達した場合に送られてよい。例えば、プロセッサに対応する書込ポインタがそのプロセッサに対応するウォーターマークに到達した場合、割込み発生ユニットがこのプロセッサに信号を送信し、書込アプリケーションが完了したことを少なくとも部分的にこのプロセッサに通知してよい。代替的に、プロセッサに関連付けられた読取ポインタがこのプロセッサに関連付けられたウォーターマークに到達した場合、割込発生器がこのプロセッサに信号を送信し、以前に書き込まれたデータが読み取られたことを少なくとも部分的にこのプロセッサに通知してよい。一実施形態では、少なくとも部分的に割込信号に応答して、プロセッサがプロセッサ自体のための新しい書込ポインタおよびウォーターマークをアキュムレータバッファ内において設定してよい。このプロセッサはこのアキュムレータバッファへの新しい書込動作を開始してもよい。但し、これらがシステムまたはプロセスに関係する例示的な例にすぎないこと、および請求主題がこの点について限定されないことに留意されたい。
【００２１】
図５は、一実施形態に従いハードウェアミキサユニット５０２を含むシステム５００の概略図である。図５に関し、システム５００は１つまたは複数のアキュムレータバッファを含んでよい。この実施形態において、１つまたは複数のアキュムレータバッファは、バッファまたはメモリキューなどの１つまたは複数の物理メモリデバイス５０４を備えてよい。加えて、システム５００はバッファマネージャ５０６を含んでよい。この実施形態において、バッファマネージャ５０６はメモリデバイス５０４内において１つまたは複数の仮想アキュムレータバッファを確立し維持するように動作可能であってよい。例えば、バッファマネージャ５０６はメモリデバイス５０４内において仮想アキュムレータバッファ５０８、５１０、および５１２を確立してよい。さらに、この実施形態において、仮想アキュムレータバッファ５０８、５１０および５１２は、１つまたは複数のソースからの信号をこれら仮想アキュムレータバッファ内における定位置で混合するように動作可能であってよい。例えば、仮想アキュムレータバッファは、上述のように、１つまたは複数の読取ポインタ、書込ポインタ、およびウォーターマークに関連して、プロセッサ５１４およびモデム５１６からの信号を定位置で混合するように動作可能であってよい。さらなる例において、仮想アキュムレータバッファ５１０は、上述のように、１つまたは複数の読取ポインタ、書込ポインタ、およびウォーターマークに関連して、第２のプロセッサ５１８および第３のプロセッサ５２０からの信号を定位置で混合するように、同様に動作可能であってよい。加えて、システム５００は、複数のプロセッサのうちの１つまたは複数と直接または間接的に通信するように動作可能なコントローラ５２２を含んでよい。この例において、コントローラ５２２は、図６および図７などに関して、以下に述べる読取ポインタまたは書込ポインタプロセスのうちの１つまたは複数を実現するように動作可能であってよい。さらに、ハードウェアミキサユニット５０２内に示されているが、コントローラ５２２は、代替的に、記述したプロセッサのうちの１つまたは複数において、または記述したプロセッサのうちの１つまたは複数における回路に関連して実現されてもよい。システム５００は、例えば図１に関連して論じたミキサ１０８などのミキサを使用したことによる混合信号をリサンプリングし、これらリサンプリングされた信号を加算バッファ１２０などの加算バッファに出力するように動作可能であってもよい。図１に関連して論じたように、加算されリサンプリングされた信号はＤＡＣ１３０などのデジタルオーディオコーデックによってさらに処理するためにＤＡＣインターフェース１１０などのデジタルオーディオコーデックインターフェースによって読み出されてよい。但し、これらは１つまたは複数のプロセッサからの信号を混合することに関係する例示的な例にすぎないこと、および請求主題がこの点について限定されないことに留意されたい。
【００２２】
図６は、一実施形態に従うアキュムレータバッファからの読取ポインタ６０２読取動作の論理制御のためのフローチャート６００を示す。こうした論理制御は、上述した回路などの１つまたは複数の回路によって行われてよい。ウォーターマーク６０４が図６に示すロジックを通してプロセッサによって設定され、バッファ制御ユニットによって継続的に読取ポインタと比較されてよい。この例では、図５における例によって示される複数のプロセッサのうちの１つなどのプロセッサが、１つまたは複数のオーディオサンプルをアキュムレータバッファに書き込んでよい。この例において、読取ポインタ６０２がボックス６０６などにおける「ＹＥＳ」に等しい場合、ウォーターマーク信号がボックス６１０でバッファ制御ユニットに伝達されてよい。こうしたウォーターマーク信号は、対応するプロセッサが電源投入されるべきであることを示してよい。こうしたウォーターマークは、信号Ｖ＿ｕｐを使用し、対応するプロセッサの動作電圧が上昇されるべきであることを電力マネージャに示してもよい。対応するプロセッサは、この後、通常のオーディオビットストリーム復号を開始してよい。読取ポインタがウォーターマークに等しくない場合、読取ポインタがボックス６０８でインクリメント(incremented)され、読取ポインタが特定のアキュムレータバッファまたは仮想アキュムレータバッファの最大アドレスに到達した場合に０に戻すように設定されてよい。
【００２３】
図７は、一実施形態による、ウォーターマークおよび書込ポインタの論理制御のためのフローチャート７００を示す。こうした論理制御は、上述したコントローラのうちの１つまたは複数によって行われてよい。ロジックは、特定のプロセッサがオンであるかどうかを判断するためにブロック７０２でチェックをすべきである。特定のプロセッサがオンでない（「NO」）場合、特定のプロセッサがオン（「YES」）になるまで、ブロック７０２での検査が１回または複数回追加して行われてよい。特定のプロセッサがオンである場合には、このプロセッサがオーディオ出力を通常のビットストリーム復号し例えば図１に示すアキュムレータバッファ１０４などの特定のアキュムレータバッファに書き込む処理中であることになる。もしそうであれば、書込ポインタ７０４がこのプロセッサによってアキュムレータバッファに供給された付加的オーディオ出力を反映するためにインクリメントされてよい。加えて、書込ポインタ７０４および読取ポインタ６０２がブロック７０６で比較されてよい。例えば、これらポインタ６０２および７０４が等しい（「YES」）場合、信号Ｖ＿ｄｏｗｎがブロック７０８でこの特定のプロセッサに関連付けられた電力マネージャに送信されてよい。こうしたＶ＿ｄｏｗｎ信号は、エネルギーを節約するために、特定のプロセッサの動作電圧が低下されるべきであることを示す。しかしながら、書込ポインタ７０４が読取ポインタ６０２に等しくない場合、プロセッサがより多くのオーディオサンプルをアキュムレータバッファに書き込み、書込ポインタ７０４がブロック７１０でインクリメントされ、特定のアキュムレータバッファまたは仮想アキュムレータバッファの最大アドレスに到達した場合に０に戻すように設定されてよい。こうしたアキュムレータバッファ内の次のウォーターマークは書込ポインタ−最大メモリアドレス＋オフセットに等しくなり、このウォーターマークが特定のアキュムレータバッファまたは仮想アキュムレータバッファの最大アドレスに到達した場合に、ブロック７１２で０に戻すように設定されてよい。一実施形態において、こうしたオフセットは、特定のプロセッサに関連付けられた電力マネージャに送られた信号Ｖ＿ｕｐと、この電力マネージャが特定のプロセッサの動作電圧を上昇させるために必要な時間との間におけるある量の待ち時間を考慮してよい。図６に示すように、ウォーターマークは、いつ特定のプロセッサの動作電圧を上昇させるか、すなわち、いつ特定のプロセッサが起動されるかを少なくとも部分的に制御するために読取ポインタとの比較に使用されてよい。
【００２４】
図８は、ハードウェアミキサユニット８０２を含むシステム８００の概略図である。図８に関し、ハードウェアミキサユニット８０２は、構造および機能において、図１に示すハードウェアミキサユニット、システム１００と類似するものであってよい。この実施形態では、１つまたは複数のプロセッサがハードウェアミキサユニット８０２に動作可能に結合されてよい。例えば、１つまたは複数のプロセッサは、デジタル信号プロセッサ８０４およびストリーミングオーディオソース８０６を含んでよい。この実施形態では、ストリーミングオーディオソース８０６がアナログディジタル変換器８０５によって信号を処理されるマイクロフォンなどのオーディオソースを備えてよい。さらに、この実施形態において、デジタル信号プロセッサ８０４およびストリーミングオーディオソース８０６は、ハードウェアミキサユニット８０２による受信の前の１つまたは複数のマルチプレクサ８０７と組み合わされてよい。システム８００は、ほんのいくつかの例を挙げれば、デジタルブロードキャストフォーマットに対応する信号を提供する１つまたは複数のプロセッサなどである１つまたは複数のＢＤＢＴプロセッサ８０８、ＢｌｕｅＴｏｏｔｈ(登録商標)デバイス８１０、ＭＩＤＩハードウェアプロセッサ８１２、または１つまたは複数のＵＳＢ互換オーディオソースなどであるＵＳＢデバイス８１４をさらに含んでよい。上述のように、これらソースのうちの１つまたは複数からの信号は、例えばミキサおよび加算バッファと一緒に１つまたは複数のアキュムレータバッファまたは仮想アキュムレータバッファを採用することなどによってハードウェアミキサユニット８０２内の定位置で統合されてよい。しかしながら、これらがハードウェアミキサによって処理される１つまたは複数の信号のソースに関係する例示的な例にすぎないこと、および請求主題がこの点について限定されるべきでないことに留意されたい。
【００２５】
上記のシステム、方法、またはプロセスの態様が特定の順序で述べられたが、これらの例で与えられた特定の順序は非限定的であることに留意されたい。また、本明細書で述べたシステム、方法、またはプロセスは、１つまたは複数のコンピューティングプラットフォームによって行われることが可能であることに留意されたい。加えて、本明細書で述べた方法またはプロセスは、実行された場合にコンピューティングプラットフォームに１つまたは複数のアクションを行わせる１つまたは複数の機械可読命令またはソフトウェア命令として記憶媒体に格納可能であってよい。本明細書で言及する「記憶媒体」は、１つまたは複数のデバイスや機械上で動作したりこれらによって実行されたりできる情報または命令を格納することが可能な媒体に係る。例えば、記憶媒体は、機械可読命令または情報を格納するための１つまたは複数の記憶デバイスを備えてよい。こうした記憶デバイスは、例えば、磁気、光学または半導体記憶媒体を含む、いくつかの媒体タイプのうちのいずれか１つを備えてよい。さらなる例では、例えば、１つまたは複数のコンピューティングプラットフォームが本明細書で述べた方法またはプロセスなど、請求主題に従う１つまたは複数のプロセスまたは方法を行うように適合されてよい。但し、これらは、記憶媒体およびコンピューティングプラットフォームに関係する例にすぎず、請求主題はこれらの点について限定されない。
【００２６】
同様に、本明細書で用いられるように「および」、「および／または」、および「または」という用語は、その用語が使用されるコンテキストに少なくとも部分的に依存する様々な意味を含み得る。一般に、「および／または」ならびに「または」は、Ａ、ＢまたはＣなどの一覧を連携して使用すれば、包含的な意味で使用された場合にＡ、Ｂ、およびＣを意味し、排他的な意味で使用された場合にＡ、ＢまたはＣを意味するものとする。さらに、本明細書で用いられるように「１つまたは複数」という用語は、単数形の任意の機能、構造、または特性について記述するために用いることができ、または機能、構造または特性の何らかの組合せについて記述するために用いることもできる。しかし、これは例示的な例にすぎないこと、および請求主題がこの例に限定されないことに留意されたい。
【００２７】
上記の詳細な説明のいくつかの部分は、特定の装置または専用コンピューティングデバイス、装置、またはプラットフォームのメモリ内に格納される２値デジタル信号に対する演算のアルゴリズムまたは記号表現に関して提示する。この特定の明細書のコンテキストでは、特定の装置、専用コンピューティングデバイスなどの用語は、プログラムソフトウェアからの命令に従って特定の関数を行うようにプログラムされた汎用コンピュータ、または携帯情報端末、携帯電話、セルラー電話、スマートフォンなどの他のコンピューティングデバイスを含む。アルゴリズムの説明または記号表現は、信号処理または関連技術において当業者が、これらの仕事の本質を他の当業者に伝達するために使用する技法の例である。アルゴリズムは、本明細書では、また一般に、所望の結果をもたらす自己矛盾のない一連の演算または同様の信号処理であると考えられる。このコンテキストでは、演算または処理は物理量の物理操作に関係する。必ずしもそうとは限らないが、一般に、そのような量は、格納、転送、組合せ、比較、または他の操作が可能な、電気信号または磁気信号の形態をとる。主に一般的な用法という理由で、そのような信号をビット、データ、値、要素、記号、文字、項、数、数字などと呼ぶことは時々便利であることがわかっている。但し、これらおよび同様の用語はすべて、適切な物理量に関連すべきものであり、便利なラベルにすぎないことを理解されたい。別段に明記されていない限り、以下の説明から明らかなように、本明細書全体にわたって、「処理する」、「算出する」、「計算する」、「判断する」、「混合する」などの用語を利用する説明は、専用コンピュータ、専用計算装置、または同様の専用電子コンピューティングデバイスなど、特定の装置の動作またはプロセスを指すことを理解されたい。従って、本明細書のコンテキストで、専用コンピュータまたは同様の専用電子コンピューティングデバイスは、専用コンピュータまたは同様の専用電子コンピューティングデバイスのメモリ、レジスタ、または他の情報記憶デバイス、送信デバイス、専用コンピュータまたは同様の専用電子コンピューティングデバイスのオーディオデバイス、またはディスプレイデバイス内の電子的または磁気的な物理量として一般に表される信号を操作または変換することが可能である。
【００２８】
上記の記述では、請求主題の様々な態様について述べた。説明の目的で、請求主題の完全な理解を与えるために、特定の数、システムまたは構成を記載した。但し、請求主題は、具体的な詳細なしに実施できることが、本開示の恩恵を受ける当業者には明らかであろう。他の例では、請求主題を不明瞭にしないように、当業者に理解されるであろう機能は省略または簡素化した。いくつかの機能を本明細書で例示または説明したが、次に、多くの修正、置換、変更または等価物が当業者によって行われるであろう。従って、添付の特許請求の範囲が、請求主題の真の趣旨内に入るすべてのそのような修正または変更をカバーするものとすることを理解されたい。
以下に本願発明の当初の特許請求の範囲に記載された発明を付記する。
［Ｃ１］
複数のメディアデータ信号ストリームを定位置で処理するように結合されるアキュムレータバッファを備える装置。
［Ｃ２］
前記複数のメディアデータ信号ストリームは同じサンプルレートを有するＣ１に記載の装置。
［Ｃ３］
前記複数のメディアデータ信号ストリームはオーディオ信号を含むＣ２に記載の装置。
［Ｃ４］
複数のメディアデータ信号ストリームをそれぞれ定位置で処理するように結合される１つまたは複数の付加的アキュムレータバッファをさらに備え、前記１つまたは複数の付加的アキュムレータバッファは１つまたは複数の付加的サンプルレートに対応するＣ２に記載の装置。
［Ｃ５］
前記複数のメディアデータストリームは少なくとも部分的に複数のソースによって発生されるＣ１に記載の装置。
［Ｃ６］
前記アキュムレータバッファは前記複数のソースのうちの少なくとも１つまたは複数に対応する読取ポインタ、書込ポインタ、およびウォーターマークのそれぞれを備えるＣ５に記載の装置。
［Ｃ７］
１つまたは複数の後続メディアストリームを定位置で処理することができるように少なくとも部分的に前記アキュムレータバッファを間欠的にクリアするように動作可能なコントローラをさらに備えるＣ６に記載の装置。
［Ｃ８］
前記コントローラは前記アキュムレータバッファがクリアされた場合に表示を提供するようにさらに動作可能であるＣ７に記載の装置。
［Ｃ９］
前記コントローラは完了した読取動作に少なくとも部分的に応答して前記複数のメディアストリームの１つまたは複数の部分をクリアするようにさらに動作可能であるＣ７に記載の装置。
［Ｃ１０］
前記複数のメディアデータストリームのうちの前記少なくとも２つは時間に関して少なくとも部分的に重複するＣ１に記載の装置。
［Ｃ１１］
前記複数のメディアデータストリームはデジタルオーディオデータ、デジタル化ビデオデータ、デジタル化イメージングデータ、デジタル化無線データ、およびデジタル化テレビジョンデータのうちの少なくとも１つを備えるＣ１に記載の装置。
［Ｃ１２］
１つまたは複数のプロセッサと、
複数のメディアデータ信号ストリームを定位置で処理するように結合されるアキュムレータバッファと、
を備えるシステム。
［Ｃ１３］
前記複数のメディアデータ信号ストリームは同じサンプルレートを有するＣ１２に記載のシステム。
［Ｃ１４］
前記複数のメディアデータ信号ストリームはオーディオ信号を含むＣ１３に記載のシステム。
［Ｃ１５］
複数のメディアデータ信号ストリームをそれぞれ定位置で処理するように結合される１つまたは複数の付加的アキュムレータバッファをさらに備え、前記１つまたは複数の付加的アキュムレータバッファは１つまたは複数の付加的サンプルレートに対応するＣ１３に記載のシステム。
［Ｃ１６］
前記複数のメディアデータストリームは少なくとも部分的に前記１つまたは複数のプロセッサによって発生されるＣ１２に記載のシステム。
［Ｃ１７］
前記アキュムレータバッファは前記１つまたは複数のプロセッサのうちの少なくとも１つまたは複数に対応する読取ポインタ、書込ポインタ、およびウォーターマークのそれぞれを備えるＣ１６に記載のシステム。
［Ｃ１８］
前記複数のメディアデータストリームのうちの前記少なくとも２つは時間に関して少なくとも部分的に重複するＣ１２に記載のシステム。
［Ｃ１９］
前記複数のメディアデータストリームはデジタル化オーディオデータ、デジタル化ビデオデータ、デジタル化イメージングデータ、デジタル化無線データ、およびデジタル化テレビジョンデータのうちの少なくとも１つを備えるＣ１８に記載のシステム。
［Ｃ２０］
１つまたは複数の累積されたデータストリームを統合するように少なくとも部分的に動作可能なミキサをさらに備えるＣ１２に記載のシステム。
［Ｃ２１］
１つまたは複数の統合されたデータストリームを格納するように少なくとも部分的に動作可能な加算バッファをさらに備えるＣ２０に記載のシステム。
［Ｃ２２］
１つまたは複数の累積されたデータストリームを異なるサンプリングレートまたはフォーマットにリサンプリングするように少なくとも部分的に動作可能なリサンプラをさらに備えるＣ２０に記載のシステム。
［Ｃ２３］
前記リサンプラは少なくとも２つの累積されたデータストリームを共通のサンプリングレートまたはフォーマットにリサンプリングするようにさらに動作可能であるＣ２２に記載のシステム。
［Ｃ２４］
複数のメディアデータ信号ストリームをアキュムレータバッファ内の定位置で処理することを備える方法。
［Ｃ２５］
前記アキュムレータバッファは複数のメディアデータ信号ストリームの１つまたは複数のソースに結合されるＣ２４に記載の方法。
［Ｃ２６］
前記複数のメディアデータ信号ストリームは同じサンプルレートを有するＣ２４に記載の方法。
［Ｃ２７］
前記複数のメディアデータ信号ストリームはオーディオ信号を含むＣ２６に記載の方法。
［Ｃ２８］
複数の付加的メディアデータ信号ストリームを対応する１つまたは複数の付加的アキュムレータバッファ内の定位置で処理することをさらに備え、前記１つまたは複数の付加的アキュムレータバッファは１つまたは複数の付加的サンプルレートに対応するＣ２６に記載の方法。
［Ｃ２９］
前記複数のメディアデータストリームは少なくとも部分的に１つまたは複数のソースによって発生されるＣ２４に記載の方法。
［Ｃ３０］
前記アキュムレータバッファは前記１つまたは複数のプロセッサのうちの少なくとも１つまたは複数に対応する読取ポインタ、書込ポインタ、およびウォーターマークのそれぞれを備えるＣ２９に記載の方法。
［Ｃ３１］
前記１つまたは複数のプロセッサのうちの少なくとも１つについて前記読取ポインタ、前記書込ポインタ、および前記ウォーターマークを設定することをさらに備えるＣ３０に記載の方法。
［Ｃ３２］
前記１つまたは複数のプロセッサのうちの前記少なくとも１つに、その該当ウォーターマークに到達した場合に信号を送信することをさらに備えるＣ３１に記載の方法。
［Ｃ３３］
前記複数のメディアデータストリームのうちの前記少なくとも２つは時間に関して少なくとも部分的に重複するＣ２４に記載の方法。
［Ｃ３４］
前記複数のメディアデータストリームはデジタル化オーディオデータ、デジタル化ビデオデータ、デジタル化イメージングデータ、デジタル化無線データ、およびデジタル化テレビジョンデータのうちの少なくとも１つを備えるＣ３３に記載の方法。
［Ｃ３５］
複数のメディアデータ信号ストリームを発生するための手段と、
複数のメディアデータ信号ストリームをアキュムレータバッファ内の定位置で処理するための手段と、
を備えるシステム。
［Ｃ３６］
前記複数のメディアデータ信号ストリームは同じサンプルレートを有するＣ３５に記載のシステム。
［Ｃ３７］
前記複数のメディアデータ信号ストリームはオーディオ信号を含むＣ３６に記載のシステム。
［Ｃ３８］
複数の付加的メディアデータ信号ストリームをそれぞれ１つまたは複数の付加的アキュムレータバッファ内の定位置で処理するための１つまたは複数の付加的手段をさらに備え、前記１つまたは複数の付加的アキュムレータバッファは１つまたは複数の付加的サンプルレートに対応するＣ３６に記載のシステム。
［Ｃ３９］
前記アキュムレータバッファは複数のメディアデータ信号ストリームを発生するための前記手段のうちの少なくとも１つまたは複数に対応する読取ポインタ、書込ポインタ、およびウォーターマークのそれぞれを備えるＣ３５に記載のシステム。
［Ｃ４０］
前記複数のメディアデータストリームのうちの前記少なくとも２つは時間に関して少なくとも部分的に重複するＣ３５に記載のシステム。
［Ｃ４１］
前記複数のメディアデータストリームはデジタル化オーディオデータ、デジタル化ビデオデータ、デジタル化イメージングデータ、デジタル化無線データ、およびデジタル化テレビジョンデータのうちの少なくとも１つを備えるＣ４０に記載のシステム。
【図１】
0005539350.tif 000002
【図２】
0005539350.tif 000003
【図３】
0005539350.tif 000004
【図４】
0005539350.tif 000005
【図５】
0005539350.tif 000006
【図６】
0005539350.tif 000007
【図７】
0005539350.tif 000008
【図８】
0005539350.tif 000009