(57)【要約】  本発明の実施形態は、グローバルコンピュータネットワークを介してデータ信号をリアルタイムで処理するシステム及び方法に関する。より詳細には、本発明の実施形態は、データ信号を処理するシステム及び方法であって、第１のクライアントから受信される第１のデータ信号と、第２のクライアントから受信される第２のデータ信号と、第１のデータ信号と第２のデータ信号とをミキシングするミキサーと、ミキサーによって生成される、第１のクライアントのための第１の固有のデータミックスと、ミキサーによって生成される、第２のクライアントのための第２の固有のデータミックスと、を備えている、システム及び方法、に関する。本発明の更なる実施形態は、第１のデータ信号を含んでいない第１の固有のデータミックスと、第２のデータ信号を含んでいない第２の固有のデータミックスとを備えている、システム、を更に提供する。【選択図】  図２
2009535988.tif 000002
【特許請求の範囲】
【請求項１】
データ信号を処理するシステムであって、
第１のクライアントから受信される第１のデータ信号と、
第２のクライアントから受信される第２のデータ信号と、
前記第１のデータ信号と前記第２のデータ信号とをミキシングするミキサーと、
前記ミキサーによって生成される、前記第１のクライアントのための第１の固有のデータミックスと、
前記ミキサーによって生成される、前記第２のクライアントのための第２の固有のデータミックスと、
を備えている、システム。
【請求項２】
前記第１の固有のデータミックスが前記第１のデータ信号を含んでおらず、前記第２の固有のデータミックスが前記第２のデータ信号を含んでいない、請求項１に記載のシステム。
【請求項３】
前記ミキサーがリモートサーバーのロケーションに位置している、請求項１に記載のシステム。
【請求項４】
前記第１のデータ信号及び前記第２のデータ信号を記録する記録装置、
を更に備えている、請求項１に記載のシステム。
【請求項５】
前記第１のデータ信号及び前記第２のデータ信号から作成される第３の固有のデータミックス、
を更に備えている、請求項４に記載のシステム。
【請求項６】
前記第３の固有のデータミックスが、少なくとも１つのクライアントからのエンハンストデータ信号を備えており、前記第１の固有のデータミックス及び前記第２の固有のデータミックスが、前記エンハンストデータ信号を含んでいない、請求項５に記載のシステム。
【請求項７】
前記第１のデータ信号及び前記第２のデータ信号がマルチメディアデータを備えている、請求項１に記載のシステム。
【請求項８】
前記マルチメディアデータが、オーディオデータ又はビデオデータのうちの少なくとも一方を備えている、請求項７に記載のシステム。
【請求項９】
少なくも前記第１の固有のデータミックスを制御するミキシングコントローラであって、前記第１のクライアントに位置しているミキシングコントローラ、
を更に備えている、請求項１に記載のシステム。
【請求項１０】
データ信号を処理する方法であって、
第１のクライアントから第１のデータ信号を生成するステップと、
第２のクライアントから第２のデータ信号を生成するステップと、
前記第１のデータ信号及び前記第２のデータ信号をミキサーに送信するステップと、
第１の固有のミックスと第２の固有のミックスとを作成するステップと、
前記第１の固有のミックスを前記第１のクライアントに送るステップと、
前記第２の固有のミックスを前記第２のクライアントに送るステップと、
を含んでいる、方法。
【請求項１１】
前記第１の固有のミックスが前記第１のデータ信号を含んでおらず、前記第２の固有のミックスが前記第２のデータ信号を含んでいない、請求項１０に記載の方法。
【請求項１２】
前記第１のデータ信号及び前記第２のデータ信号を記録するステップ、
を更に含んでいる、請求項１０に記載の方法。
【請求項１３】
前記第１のデータ信号及び前記第２のデータ信号を取り出すステップと、
前記第１のデータ信号及び前記第２のデータ信号から第３の固有のミックスを作成するステップと、
を更に含んでいる、請求項１２に記載の方法。
【請求項１４】
前記第１のデータ信号及び前記第２のデータ信号がマルチメディアデータを備えている、請求項１０に記載の方法。
【請求項１５】
前記マルチメディアデータが、少なくともオーディオデータ又はビデオデータを備えている、請求項１４に記載の方法。
【請求項１６】
少なくとも前記第１の固有のデータミックスを、前記第１のクライアントに位置しているミキサーコントローラによって制御するステップ、
を更に含んでいる、請求項１０に記載の方法。
【請求項１７】
リアルタイムのマルチメディアデータ信号をグローバルコンピュータネットワークを介して送信する方法であって、
複数のクライアントからの複数のマルチメディアデータ信号を生成するステップと、
前記複数のマルチメディアデータ信号を、サーバーに位置しているミキサーに送信するステップと、
複数の固有のマルチメディアデータミックスを作成するステップと、
前記複数の固有のマルチメディアデータミックスを前記複数のクライアントに送信するステップと、
を含んでおり、
個々のクライアントに送信される個々の固有のマルチメディアデータミックスが、前記個々のクライアントによって生成された前記マルチメディアデータ信号を含んでいない、
【請求項１８】
前記マルチメディアデータ信号が、オーディオデータ又はビデオデータのうちの少なくとも一方を備えている、請求項１７に記載の方法。
【請求項１９】
前記複数のマルチメディアデータ信号を記録するステップ、
を更に含んでいる、請求項１７に記載の方法。
【請求項２０】
前記記録された複数のマルチメディアデータ信号を取り出すステップと、
前記記録された複数のマルチメディアデータ信号から少なくとも一つの固有のミックスを作成するステップと、
を更に含んでいる、請求項１９に記載の方法。
【請求項２１】
実行可能なコードを有するコンピュータプログラムを備えているコンピュータ可読媒体であって、
前記コンピュータプログラムが、リアルタイムのマルチメディアデータのミキシングを可能にし、
前記コンピュータプログラムが、
第１のクライアントから第１のデータ信号をミキサーにおいて受信する命令と、
第２のクライアントから第２のデータ信号を前記ミキサーにおいて受信する命令と、
第１の固有のミックスと第２の固有のミックスとを作成する命令と、
前記第１の固有のミックスを前記第１のクライアントに送る命令と、
前記第２の固有のミックスを前記第２のクライアントに送る命令と、
を備えている、
コンピュータ可読媒体。
【請求項２２】
前記第１の固有のミックスが前記第１のデータ信号を含んでおらず、前記第２の固有のミックスが前記第２のデータ信号を含んでいない、請求項２１に記載のコンピュータ可読媒体。
【請求項２３】
前記コンピュータプログラムが、
前記第１のデータ信号及び前記第２のデータ信号を記録する命令、
を更に備えている、請求項２１に記載のコンピュータ可読媒体。
【請求項２４】
前記第１のデータ信号及び前記第２のデータ信号がマルチメディアデータを備えている、請求項２１に記載のコンピュータ可読媒体。
【請求項２５】
前記マルチメディアデータが、少なくともオーディオデータ又はビデオデータを備えている、請求項２４に記載のコンピュータ可読媒体。
【発明の詳細な説明】
【関連出願の相互参照】
【０００１】
[0001]本出願は、その開示が本出願の全体において参考として組み込まれている米国仮特許出願第６０／７９６，３９６号「オーディオ信号を伝送するシステム及び方法（Ｓｙｓｔｅｍ  ａｎｄ  Ｍｅｔｈｏｄ  ｆｏｒ  Ｔｒａｎｓｍｉｔｔｉｎｇ  Ａｕｄｉｏ  Ｓｉｇｎａｌｓ）」（出願日：２００６年５月１日）の利益を享受する。更に、本出願は、それらの開示が本出願の全体において参考として組み込まれている米国仮特許出願第６０／８８６，５１０号（出願日：２００７年１月２５日）、米国仮特許出願第６０／８８６，７２３号（出願日：２００７年１月２６日）、米国仮特許出願第６０／８８７，７８４号（出願日：２００７年２月１日）、及び米国仮特許出願第６０／８９２，８１０号（出願日：２００７年３月２日）の利益を享受する。
【発明の分野】
【０００２】
[0002]本発明の実施形態は、データ信号を処理するシステム及び方法に関する。より詳細には、本発明の実施形態は、グローバルコンピュータネットワークを介してリアルタイムでデータ信号を処理するシステム及び方法に関する。
【発明の背景】
【０００３】
[0003]最近、すべてのミュージシャンが１つのレコーディングスタジオに集まる必要なしに音楽作品を創ることに、ミュージシャンの関心が高まっている。１つのオプションは、ミュージシャンがグローバルコンピュータネットワークを介してコラボレートして、音楽作品を創ることである。従来、複数の異なるミュージシャン、ボーカリスト、又はその他のオーディオソースからのオーディオ信号を一カ所において個別に録音して中央のロケーションに送信し、後から一緒にミキシングして音楽作品を作る。その後、その音楽作品をミュージシャンに送り返すことができる。しかしながら、この作業はリアルタイムで、又は実質的にリアルタイムで行うことはできず、双方向性の欠如やタイミングの問題は音楽作品をミキシング、録音及び製作することを困難にした。
【０００４】
[0004]類似するシステムでは、遠隔地間でのコラボレートにより音楽作品を作るために、プログラムサーバーが、グローバルコンピュータネットワークとインタフェースをとることを求めると共に、複数の異なる場所における複数のミュージシャンがＭＩＤＩオーディオストリームをそのサーバーに送るようにさせる。サーバーは、オーディオソースをＭＩＤＩマージ機能を使用してミキシングし、マージされたＭＩＤＩ信号を、参加しているミュージシャンにフィードバックする。この処理は、ネットワークサーバーをバイパスしてピーアツーピア方式にて行うことができ、ミュージシャンそれぞれのコンピュータに、自分以外のすべてのユーザから受信されるストリームをミキシングさせる。しかしながら、このシステムは、演奏中に生のフィードバックをミュージシャンに提供することはできないことが多く、また、ＭＩＤＩに対応していない膨大な楽器及びボーカルはサポートしていない。
【０００５】
[0005]これらの問題を認識したうえで、グローバルコンピュータネットワークを介してほぼリアルタイムでの音楽コラボレートを可能とするシステム及び方法が開発された。例えば、Ｃｕｒｔｉｎ（発行日：２００５年５月２４日）に記載された米国特許第６，８９８，６３７号明細書には、様々な場所における複数のミュージシャンが音楽作品をコラボレートすることができ、コラボレート作品のフィードバックをほぼリアルタイムでミュージシャンに提供する方法及び装置が開示されている。Ｃｕｒｔｉｎに開示されているこのシステムは、サーバーと、複数のミュージシャン／クライアントとを提供する。クライアントのそれぞれがオーディオ信号を生成してサーバーに送信し、サーバーでは、信号のそれぞれを一緒にミキシングし、ミュージシャン／クライアントのすべてにコラボレート作品として送り返す。結果として、ミュージシャンのそれぞれが、すべての個々のオーディオ信号のオーディオミックスを、ほぼリアルタイムで受信して聞くことができる。
【０００６】
[0006]しかしながら、Ｃｕｒｔｉｎに開示されているシステムでは、グローバルコンピュータネットワークを介してリアルタイムでデータをコラボレートするうえでの新たな一連の問題が生じる。例えば、Ｃｕｒｔｉｎは、ミュージシャンのそれぞれが、ミュージシャン自身のオーディオ信号を含む、個々のオーディオ信号すべてを含んでいるコラボレート作品を受信することを開示している。結果として、ミュージシャン（例えば、エレキギタリスト）は、楽器を演奏するとき、演奏に伴ってその楽器が聞こえる。しかしながら、信号伝送における時間的遅延のため、ミュージシャンはコラボレート作品をわずかに遅れて受信する。従って、ミュージシャンは、自分の楽器が最初に聞こえた直後にその楽器からの信号を聞くため、おそらくは、望ましくないエコー効果が生じる。更に、ミュージシャンのそれぞれは、自分以外の全員の同じミックスを聞かなければならず、各自の好みに合うように、或いは創造性が最大になるように、ミックスを調整することはできない。
【０００７】
[0007]従って、グローバルコンピュータネットワークを介してデータ信号をリアルタイムで処理するための改良されたシステム及び方法のニーズが存在する。
【発明の概要】
【０００８】
[0008]本発明の実施形態は、データ信号を処理するシステムであって、第１のクライアントから受信される第１のデータ信号と、第２のクライアントから受信される第２のデータ信号と、第１のデータ信号と第２のデータ信号とをミキシングするミキサーと、ミキサーによって生成される第１のクライアントのための第１の固有のデータミックスと、ミキサーによって生成される第２のクライアントのための第２の固有のデータミックスとを備えている、システムに関する。本発明の更なる実施形態は、第１のデータ信号を含んでいない第１の固有のデータミックスと、第２のデータ信号を含んでいない第２の固有のデータミックスとを備えているシステム、を更に提供する。
【０００９】
[0009]本発明の更なる実施形態は、リアルタイムのマルチメディアデータ信号をグローバルコンピュータネットワークを介して送信する方法であって、複数のクライアントからの複数のマルチメディアデータ信号を生成するステップと、複数のマルチメディアデータ信号を、サーバーに位置しているミキサーに送信するステップと、複数の固有のマルチメディアデータミックスを作成するステップと、複数の固有のマルチメディアデータミックスを複数のクライアントに送信するステップと、を含んでおり、個々のクライアントに送信される個々の固有のマルチメディアデータミックスが、個々のクライアントによって生成されたマルチメディアデータ信号を含んでいない、方法、に関する。
【００１０】
[0010]本発明の別の実施形態は、実行可能なコードを有するコンピュータプログラムを備えているコンピュータ可読媒体であって、コンピュータプログラムが、リアルタイムのマルチメディアデータのミキシングを可能にし、コンピュータプログラムが、第１のクライアントから第１のデータ信号をミキサーにおいて受信する命令と、第２のクライアントから第２のデータ信号をミキサーにおいて受信する命令と、第１の固有のミックスと第２の固有のミックスとを作成する命令と、第１の固有のミックスを第１のクライアントに送る命令と、第２の固有のミックスを第２のクライアントに送る命令と、を備えている、コンピュータ可読媒体、に関する。
【００１１】
[0011]本発明の上述した特徴を詳しく理解することができるように、以下では、上に簡潔に要約した本発明の実施形態について、実施形態を参照することによって更に具体的に説明する。実施形態のいくつかは、添付の図面に記載してある。しかしながら、添付の図面は、本発明の範囲内に含まれる実施形態のうち代表的な実施形態のみを示しており、従って、本発明を制限するようには解釈されないものとし、本発明は、同等の効果を有する別の実施形態もその範囲に含む。
【００１２】
[0017]本文書において使用している見出しは、編成上の目的に過ぎず、説明又は請求項の範囲を制限する目的に使用しているものではない。本出願の全体を通じて使用している語「することができる」は、必須（すなわち、「ねばならない」）の意味ではなく、許可（すなわち、する可能性がある）の意味において使用している。同様に、「を含む」及びその語句の活用形は、含んでいるがそれらに限定されないことを意味する。複数の図面に共通する同等の要素は、理解を容易にするため、可能な場合には同じ参照数字を使用して表してある。
【詳細な説明】
【００１３】
[0018]図１は、本発明の一実施形態に係る汎用コンピュータシステムのブロック図を示している。コンピュータシステム１００は、一般的には、コンピュータ１０２を備えている。コンピュータ１０２は、例示を目的として、プロセッサ（処理装置）１０４と、メモリ１１０と、様々なサポート回路１０８と、Ｉ／Ｏインタフェース１０６と、ストレージシステム（記憶システム）１１１とを備えている。プロセッサ１０４は、１つ以上のマイクロプロセッサを含むものとすることができる。プロセッサ１０４のサポート回路１０８は、従来のキャッシュ、電源、クロック回路、データレジスタ、Ｉ／Ｏインタフェース、その他を含んでいる。Ｉ／Ｏインタフェース１０６は、メモリ１１０と直接的に又はプロセッサ１０４を介して結合され得る。また、Ｉ／Ｏインタフェース１０６は、ネットワーク装置、様々な記憶装置、マウス、キーボード、ディスプレイ及びその他のような、入力装置１０７及び／又は出力装置１０９と通信するように構成することもできる。ストレージシステム１１１は、ディスクドライブシステムのような、ブロックベースの任意のタイプの１つ以上の記憶装置を備えていることができる。
【００１４】
[0019]メモリ１１０は、プロセッサが実行することのできる命令と、プロセッサ１０４が実行及び使用することのできるデータとを格納する。プロセッサが実行可能なこれらの命令は、例えば、ハードウェア、ファームウェア、ソフトウェア及びその他、又はこれらの任意の組合せを備えるものとすることができる。メモリ１１０に格納されていると共にプロセッサが実行することのできる命令を有するモジュールは、キャプチャモジュール１１２を含んでいることができる。コンピュータ１０２は、オペレーティングシステム（ＯＳ）１１３によってプログラムすることができる。オペレーティングシステム１１３は、様々なプラットフォームのうち、ＯＳ／２、Ｊａｖａ  Ｖｉｒｔｕａｌ  Ｍａｃｈｉｎｅ、Ｌｉｎｕｘ、Ｓｏｌａｒｉｓ、Ｕｎｉｘ、ＨＰＵＸ、ＡＩＸ、Ｗｉｎｄｏｗｓ、ＭａｃＯＳを含んでいることができる。オペレーティングシステム１１３の少なくとも一部は、メモリ１１０に格納され得る。メモリ１１０は、例えば、ランダムアクセスメモリ、読み出し専用メモリ、磁気抵抗式の読み出し／書き込みメモリ、光学式の読み出し／書き込みメモリ、キャッシュメモリ、磁気式の読み出し／書き込みメモリ及びその他のうちの１つ以上を含んでいることができる。
【００１５】
[0020]図２は、本発明の一実施形態に係るシステムのブロック図を示している。システム２００は、一般的には、第１のクライアントコンピュータ２０２と、第２のクライアントコンピュータ２０４と、クライアントコンピュータＮ  ２０６までの更なるクライアントコンピュータとを備えている。ここで、Ｎは、本発明の実施形態を動作させるうえで実用的な、クライアントコンピュータの任意の数を表している。更に、システム２００は、ネットワーク２０８と、サーバー２１０と、ミキサー２１２と、任意であるが、複数の更なるサーバーＮ（例えば、Ｎは２１４及び２１６）とを、含んでいる。ネットワーク２０８は、本発明の実施形態に適する任意のネットワークであることができる。ネットワーク２０８は、グローバルコンピュータネットワーク、内部ネットワーク、ローカルエリアネットワーク、ワイヤレスネットワークを含むが、これらに限定されない。
【００１６】
[0021]第１のクライアントコンピュータ２０２は、クライアントアプリケーション２０３を備えている。クライアントアプリケーション２０３は、一般的には、第１のクライアントコンピュータ２０２が適切なネットワーク２０８に接続することを少なくとも可能にすることができるソフトウェア又は類似するコンピュータ可読媒体である。一実施形態においては、クライアントアプリケーション２０３は、ニュージャージー州ティントンフォールズ所在のＬｉｇｈｔｓｐｅｅｄ  Ａｕｄｉｏ  Ｌａｂｓ社により市販されているソフトウェアである。別の実施形態においては、クライアントアプリケーション２０３は、アナログ及びデジタルの両方の様々な入力（図示していない）のための命令を更に提供し、また、スピーカーモニター（図示していない）又はその他の出力装置を含む様々な出力（図示していない）のための命令を提供する。第２のクライアントコンピュータ２０４及びクライアントコンピュータＮ  ２０６も、それぞれのクライアントアプリケーション（２０５，２０７）を備えている。
【００１７】
[0022]サーバー２１０は、本発明の実施形態に適する任意のタイプのサーバーであるものとすることができる。一実施形態においては、サーバー２１０は、遠隔の送信先に位置しているネットワークベースのサーバー（すなわち、リモートサーバー）である。別の実施形態においては、サーバー２１０は、１つ以上のクライアントコンピュータによってホストされ得る。本発明の更なる実施形態においては、サーバー２１０は、インターネットサービスプロバイダ又はその他のプロバイダに位置しており、任意の瞬間において複数のクライアントの送信を処理することができる。
【００１８】
[0023]サーバー２１０は、サーバープリケーション（図示していない）をも備えていることができる。サーバープリケーションは、クライアントが適切なネットワークに接続することを少なくとも可能にすることができる、ソフトウェア又は類似するコンピュータ可読媒体を備えていることができる。一実施形態においては、サーバープリケーションは、ニュージャージー州ティントンフォールズ所在のＬｉｇｈｔｓｐｅｅｄ  Ａｕｄｉｏ  Ｌａｂｓ社により市販されているソフトウェアである。任意であるが、サーバープリケーションは、複数のクライアントからデータ信号を受信する命令と、それらのデータ信号を例えば固有のパラメータに従ってコンパイルする命令と等を備えていることができる。
【００１９】
[0024]ミキサー２１２は、任意の瞬間において複数のデータ信号をミキシング、マージング、又は組み合わせることのできる任意のミキシング装置とすることができる。一実施形態においては、ミキサーは、図１に示された汎用コンピュータである。別の実施形態においては、ミキサー２１２は、複数のデータ信号を複数の異なるミキシングパラメータに従ってミキシングすることができ、結果として、様々な固有のミックスが生成される。ミキサー２１２は、一般的には、本発明のいくつかの実施形態に従って、サーバー２１０に位置している。代替的な実施形態においては、ミキサー２１２は、サーバーの位置には無関係にクライアントコンピュータに位置している。
【００２０】
[0025]この技術分野における通常の知識を有する者に理解されるように、特定の制約が存在するとき、複数のクライアントの間で通信するための最も効率的な方法として、複数のサーバーが挙げられる。一実施形態においては、特定のセッションにおいて複数のクライアントがサポートされるように、複数のサーバーが提供される。例えば、一実施形態においては、第１のセッションにおいて、３つのクライアントのグループが第１のサーバー２１０を通じて接続されている。第２のセッションにおいては、５つのクライアントのグループが参加することを望んでいるが、第１のサーバー２１０の容量がほぼ限界である。従って、５つのクライアントのグループは、セッションを行うことができるように第２のサーバー２１４を通じて接続される。
【００２１】
[0026]例えば、別の実施形態においては、システム２００には、ミキサー２１２をホストするサーバー２１０が提供されている。複数のクライアントの送信によってサーバー２１０が混雑したとき、クライアントのうちのいくつかを第２のサーバー２１４に渡して、サーバー２１０上の帯域幅を軽減することができるようにすることは有利である。第２のサーバー２１４と第１のサーバー２１０とは、ネットワーク、及び／又は最も効率的な通信方法を提供する別の任意の公知の通信手段によって、互いに接続され得る。必要な場合、追加のサーバーＮ  ２１６を利用することもできる。ここで、Ｎは、本発明の実施形態を動作させるうえで実用的な任意のサーバー数を表している。
【００２２】
[0027]図３は、本発明の一実施形態に係るシステムのブロック図を示している。システム３００は、少なくとも、第１のクライアント３１０と、第２のクライアント３３０と、サーバー３５０とを備えている。任意であるが、本発明の実施形態の構造から逸脱することなく、複数の更なるクライアント（図示していない）又はサーバー（図示していない）が提供され得る。
【００２３】
[0028]一実施形態においては、第１のクライアント３１０は、入力装置３１２と、出力装置３２６と、サーバー３５０に接続するためのインタフェース３１８とを備えている。第１のクライアント３１０は、更に、入力サンプルレートコンバータ３１４と、オーディオエンコーダ３１６と、エラー軽減機能を有するオーディオデコーダ３２２と、出力サンプルレートコンバータ３２４とを、備えていることができる。任意であるが、第１のクライアント３１０は、グラフィカルユーザインタフェースを有するミックスコントローラ３２０を備えている。
【００２４】
[0029]入力装置３１２は、任意の楽器（例えば、ギター、ドラム、ベース、マイクロフォン等）、楽器以外の生のオーディオデータ又は以前に録音されたオーディオデータ（例えば、デジタルオーディオ、コンパクトディスク、カセット、ストリーミングラジオ、ライブコンサート、（１つ以上の）声／ボーカル等）、生のビジュアルデータ又は以前に録画されたビジュアルデータ（例えば、ウェブカム、以前に録画されたビデオ等）、他のマルチメディアデータ等のうちの少なくとも１つを備えている。出力装置３２６は、ヘッドフォン、（１つ以上の）スピーカー、ビデオモニター、記録装置（例えば、ＣＤ／ＤＶＤバーナー、デジタルサウンドレコーダー等）、別の場所に送る手段及びその他のうちの少なくとも１つを備えている。
【００２５】
[0030]第２のクライアント３３０は、同様に、入力装置３３２と、出力装置３４６と、サーバー３５０と通信するためのインタフェース３３８と、入力サンプルレートコンバータ３３４と、オーディオエンコーダ３３６と、エラー軽減機能を有するオーディオデコーダ３４２と、出力サンプルレートコンバータ３４４とを備えている。任意であるが、第２のクライアント３３０は、グラフィカルユーザインタフェースを有するミックスコントローラ３４０を備えている。入力装置３３２及び出力装置３４６は、それぞれ、第１のクライアントの入力装置３１２及び出力装置３２６に実質的に類似している。
【００２６】
[0031]サーバー３５０は、第１のクライアント３１０と通信するための第１のインタフェース３５２と、第２のクライアント３３０と通信するための第２のインタフェース３５４と、ミキサー３７０とを備えている。更に、サーバー３５０は、エラー軽減機能を有する第１及び第２のオーディオデコーダ３５６，３５８と、ミキシングパラメータ命令を処理する第１及び第２のコントローラ３６０，３６２と、第１及び第２のオーディオエンコーダ３６４，３６６と、ステータスコンソール３６８とを備えるものとすることができる。ステータスコンソール３６８は、動作中の任意の時点においてシステム３００の状態のビジュアル表示及び／又はオーディオ表示を提供する。
【００２７】
[0032]ミキサー３７０は、複数のクライアントのデータ信号から単一信号、ステレオ信号、又はマルチチャンネル信号（例えば、５．１チャンネルサウンド）へのミキシングを実行するために提供されている。オーディオ信号の場合、ミキシングは、一般的には波形の加算又は融合として理解される。ミキサー３７０は、一般的には、任意の時点においてサーバー３５０と通信するクライアントの数に少なくとも等しい複数の入力チャネル及び出力チャネルを備えている。
【００２８】
[0033]図４は、本発明の一実施形態に係るデータ信号を処理する方法の流れ図を示している。方法４００について、図３に開示してあるシステム３００に関連して説明する。本明細書に記載されている、任意の１つのクライアントにおいて行われるプロセスの説明すべては、本発明の実施形態に基づいて更なるクライアントのいずれか又はすべてに適用されるものとする。
【００２９】
[0034]方法４００は、本発明の実施形態においては、「リアルタイム」で行われるものと理解される。リアルタイムとは、この業界においては、ネットワーク送信及びコンピュータの処理機能に起因するわずかな遅延を前提とするほぼ即時として認識され、様々な入力データストリーム及び出力データストリームをサポートすることができる。
【００３０】
[0035]方法４００はステップ４１０において始まり、このステップにおいては、クライアント３１０，３３０における入力装置３１２，３３２から複数のデータ信号が生成される。一実施形態においては、データ信号は、様々な楽器からの複数の可聴サウンドを備えている。別の実施形態においては、データ信号は、マルチメディアデータの任意のバリエーション又はサンプリングを備えることができる。
【００３１】
[0036]ステップ４２０においては、データ信号を標準的な通信方法によってサーバー３５０に位置しているミキサー３７０に送信する。このステップを達成するため、最初に、各クライアント、例えば３１０は、入力装置３１２を介してデータ信号を集める。このデータをサンプルレートコンバータ３１４に渡し、サンプルレートコンバータ３１４は、クライアントそれぞれの内部クロック（図示していない）の非同期タイミングに対応して処理する。
【００３２】
[0037]サンプルレートコンバータ３１４からデータをオーディオエンコーダ３１６に渡し、オーディオエンコーダ３１６は、サーバー３５０に効率的に送信する目的でデータを圧縮する。一実施形態においては、符号化はブロック処理アルゴリズムを使用して実行され、このアルゴリズムでは、データを所定の時間長だけバッファリングし、それをパケット又はブロックとして送信することができる。
【００３３】
[0038]クライアント３１０からサーバー３５０への送信は、それぞれのインタフェース３１８，３５２を通じて行われる。インタフェース３１８，３５２は、ＴＣＰ／ＩＰ及び／又はＵＤＰを含む任意の公知の送信プロトコルＴを処理する能力を有することができる。それ以外の使用可能な送信プロトコルは、ＦＴＰ、ＡＴＭ、フレームリレー、イーサネット等を含む。サーバー３５０においてデータを受信すると、エラー軽減機能を有するオーディオデコーダ３５６に渡し、オーディオデコーダ３５６では、ミキサー３７０によってミキシングすることができるように、データを解凍する。エラー軽減機能によれば、任意のデータパケットエラー（例えば、遅延パケット、その他の何らかの理由で利用できないパケット、又は、その他の起こりうる送信エラー又はデータエラー）を訂正、又は、その他修正若しくはフィリング又はスキップすることができる。
【００３４】
[0039]例えば、パケット消失に起因してエラー軽減が必要である場合、オーディオデコーダ３５６はエラーコンシールメント方法を実施する。エラーコンシールメント方法としては、以前のパケットの反復、消失パケットの線形推定（先行するパケットデータ又は後のパケットデータに基づく）、モデルに基づく消失パケットの推定、ゼロパケットの挿入（すなわち、データをゼロとして推定する効果）などが挙げられる。一実施形態においては、エラーコンシールメント方法は、消失データパケットの周波数領域において線形予測推定を実行するステップを含んでいる。周波数領域において線形予測推定を実行することによって、一般的には正確な近似が得られる。
【００３５】
[0040]ステップ４３０において、データ信号をミキサー３７０に送り、ミキサー３７０において、このデータを、他のクライアントから送られたデータ信号とミキシングして、１つ又は複数の固有のミックスを形成する。固有のミックスとは、個々のクライアントに対して、そのクライアントからの特定のミキシング命令に基づいて作成されるミックスである。本発明の実施形態においては、１つのセッションにおいて複数（Ｎ個）のクライアントがサーバーに接続されているならば、そのセッション中、少なくともＮ個の固有のミックスが作成される。
【００３６】
[0041]クライアント３１０のための固有のミックスを作成するためのミキシング命令は、クライアント３１０によって設定され得る。一実施形態においては、グラフィカルユーザインタフェースを有するミックスコントローラ３２０により、クライアント３１０のための固有のミックスを操作する能力がクライアント３１０に提供される。ミックスコントローラ３２０は、各インタフェース３１８，３５２と、ミキシングパラメータ命令を処理するコントローラ３６０とを介して、ミキサーと通信する。
【００３７】
[0042]ミックスコントローラ３２０は、ミキサー３７０に送られる個々のデータ信号それぞれのゲイン／レベル、バランス／パン、イコライジング、リバーブ、トーン及び／又はダイナミクスを制御することができる。本発明のいくつかの実施形態においては、ミックスコントローラ３２０は、標準的なチャンネルストリップを通じて処理することのできる、個々のマルチメディア信号の任意の態様を制御することができる。例えば、一実施形態においては、セッション中にギタリスト、ボーカリスト、ドラマー、及びベーシストが、いずれも異なるクライアント場所からミキサーにデータ信号を送る。ギタリストは、ドラマーとベーシストを聞くことのみを望み、ミックスコントローラにおいてゲインレベルを変更することによって、自分の固有のミックスに入るデータ信号を操作する。同様に、ドラマーは、すべてのデータ信号が存在することを望み、ただし、ベースのみが右チャンネル出力において存在し、ボーカルがギターよりも大きいことを望む。このドラマーは、このような好みに応じてデータ信号を操作し、自分の固有のミックスを受信することができる。クライアントのそれぞれにミックスコントローラを提供することによって、クライアントのそれぞれが、自分にとって望ましい固有のミックスを受信することができる。
【００３８】
[0043]本発明の一実施形態においては、クライアントそれぞれの固有のミックスから、クライアント自身のデータ信号が除外されるように初期設定されている。クライアント自身のデータ信号を除外することによって、クライアントにおける個人が、自身の声のエコーを聞くことが回避される。本発明の実施形態は、そのようなデータを処理するリアルタイムの方法及びシステムを提供するが、場合によってはたとえ遅延が１０ｍｓ又はそれ以下のオーダーであっても、わずかな遅延がクライアントには認識されうる。従って、歌いながら、又は話しながら自分自身の声を聞くことができるミュージシャン（例：ボーカリスト）は、自身の固有のミックスの中で自分の声を聞くことを望まない。
【００３９】
[0044]しかしながら、クライアントが、生成される自身のデータ信号を固有のミックスの中で受信することを望む場合には、出力装置の直前にそのクライアントにおいてそのクライアント自身のデータ信号を再挿入することができる。例えば、クライアントにおけるミュージシャンが電子鍵盤楽器を演奏している場合には、そのミュージシャンは、自分が演奏しているときに鍵盤楽器自体からの出力を聞くことができない。このような状況においては、そのクライアントによって受信される固有のミックスに、そのクライアント自身のデータ信号を入れることが望ましい。一実施形態においては、クライアントの自身のデータ信号は、データ信号の生成と出力における信号の生成との間の時間的遅延が最小となるように、クライアントにおいて固有のミックスに再挿入される。
【００４０】
[0045]図５は、クライアントとミキサーとの間の連続的なリアルタイムのデータフローを示している。システム５００は、第１のクライアント５３０と、第２のクライアント５５０と、第３のクライアント５７０と、ミキサー５２０をホストするサーバー５１０とを備えている。第１のクライアント５３０は、クライアントコンピュータ５３６と、入力装置５３８と、出力装置５４０とを備えている。入力装置５３８は、マルチメディア信号を生成することのできる任意の装置とすることができる。例えば、一実施形態においては、入力装置５３８はギターである。別の例示的な入力装置としては、例えば、マイクロフォン、ピアノ、ドラム、その他のアコースティック楽器及び／又は電子楽器が挙げられる。同様に、第２のクライアント５５０及び第３のクライアント５７０は、それぞれのクライアントコンピュータ５５６，５７６と、それぞれの入力装置５５８，５７８と、それぞれの出力装置５６０，５８０とを備えている。
【００４１】
[0046]入力装置５３８からのマルチメディア信号５３２を、第１のクライアントのコンピュータ５３６を介して、サーバー５１０におけるミキサー５２０に送信することができる。同様に、第２のクライアント５５０は、マルチメディア信号５５２をミキサー５２０に提供する。第３のクライアント５７０も、マルチメディア信号５７２をミキサー５２０に提供する。従って、図５に示した実施形態においては、ミキサー５２０は、３つの独立したマルチメディア信号５３２，５５２，５７２を受信する。
【００４２】
[0047]固有のミックスデータは、ミキサー５２０からクライアントのそれぞれにリアルタイムで送られる。一実施形態においては、ミキサー５２０からの固有のミックスのそれぞれは、他の固有のミックスとは異なる。従って、第１のクライアント５３０への固有のミックス５３４は、第２のクライアント５５０への固有のミックス５５４とは異なり、この固有のミックス５５４は、第３のクライアント５７０への固有のミックス５７４とは異なる。別の実施形態においては、クライアントそれぞれの自身のマルチメディアデータをそのクライアントの固有のミックスから除外することによって、固有のミックスのそれぞれは互いに異なっている。例えば、第１のクライアント５３０のための固有のミックス５３４は、第２のクライアント５５０及び第３のクライアント５７０からのマルチメディアデータのミックスを備えているのみとすることができる。同様に、第２のクライアント５５０のための固有のミックス５５４は、第１のクライアント５３０及び第３のクライアント５７０からのマルチメディアデータのミックスを備えているのみとすることができる。第３のクライアント５７０のための固有のミックス５７４は、第１のクライアント５３０及び第２のクライアント５５０からのマルチメディア信号のミックスを備えているのみとすることができる。
【００４３】
[0048]図４に戻り、ステップ４４０において、固有のミックスを各クライアントに送り返す。固有のミックスをミキサー３７０からオーディオエンコーダ３６４に送り、オーディオエンコーダ３６４においては、クライアントに送り返すことができるように固有のミックスデータを圧縮する。サーバーのインタフェース３５２から固有のミックスデータをクライアントのインタフェース３１８に送信する。クライアント３１０において受信されると、固有のミックスデータを、エラー軽減機能を有するオーディオデコーダ３２２に渡す。クライアントのオーディオデコーダ３２２は、サーバーのオーディオデコーダ３５６に類似して、データパケットエラーが生じた場合にエラーコンシールメント方法を実施することができる。
【００４４】
[0049]解凍された固有のミックスデータをサンプルレートコンバータ３２４に渡し、クライアントの内部クロック及びサーバー３５０の非同期タイミングに対応して処理する。サンプルレートコンバータ３２４からデータを出力装置３２６に送る。クライアント３１０は、固有のミックスを外部装置（例えば、二次ミキサー、スピーカーのボリューム）によって更に調整することができる。
【００４５】
[0050]ここまで、方法４００について、オーディオ信号に関連して全般的に説明したが、本発明の実施形態において、方法４００は、例えば、オーディオ、ビデオ等を含む任意のマルチメディアデータ信号にも等しく適用可能であることを理解されたい。
【００４６】
[0051]本発明の代替的な実施形態は、上記の実施形態において説明した構造及び方法を、僅かな追加及び／又は変更を伴って組み込んでいる。以下に挙げる実施形態は、本明細書に含まれている他の実施形態とは独立して、又は組合せとして、考慮することができる。
【００４７】
[0052]一実施形態において、ミキサーはメモリ及び／又は記録装置（図示していない）を備えている。メモリは、１つのセッションにおけるクライアントそれぞれからの個々のデータ信号のそれぞれを格納してアーカイブを形成することができ、従って、後からアーカイブの中の個々のデータ信号を取り出して利用することができる。従って、クライアント又は製作者は、後から個々のデータ信号のそれぞれを取り出してこれらの信号を再ミキシングし、プロレベル又はレコード品質のコラボレート作品を得ることができる。更に別の実施形態においては、クライアントは、自身に位置しているミックスコントローラを利用して、アーカイブされているセッションの個々のデータ信号を操作することができる。
【００４８】
[0053]別の実施形態においては、リアルタイムのミックスの作成中には利用することができない追加の情報によって、記録装置を更新することができる。例えば、消失したパケット、エラーのある受信パケット、又はその他の何らかの理由で使用不可能なパケットについて、クライアントからの再送信をアーカイブから要求することができる。到着はしたが、リアルタイムのミックスに含めるには遅れすぎて到着したパケットは、アーカイブに追加することができる。このようにして、アーカイブされた情報を、元のミックスにおける情報よりも高い品質とすることができる。
【００４９】
[0054]別の実施形態においては、データの送信時、マルチメディアデータの２つのストリームをクライアントによって符号化する。ベースレイヤーとして知られている第１の層は、マルチメディア信号のリアルタイムのミキシングにおいて利用する。エンハンスメントレイヤーとして知られている第２の層は、任意であるが、ベースレイヤーに追加し、ベースレイヤーの品質を高めることができる。エンハンスメントレイヤーは、ベースレイヤーの上のアーカイブ中に加えることができ、従って、後から取り出すマルチメディアデータ信号は、ベースレイヤー及びエンハンスメントレイヤーの両方から構成されている。
【００５０】
[0055]別の実施形態においては、クライアントのそれぞれは、公称の仮想サンプリング周波数に対して潜在的な誤差を有する独立したオーディオサンプリングクロックを有する個別のサウンドカードを備えている。従って、クライアントの符号器（エンコーダ）及び復号器（デコーダ）は、部分的サンプルレート変換（ｆｒａｃｔｉｏｎａｌ  ｓａｍｐｌｅ  ｒａｔｅ  ｃｏｎｖｅｒｓｉｏｎ）を利用して、すべてのクライアントにとってほぼ同じである仮想サンプリングクロックを生成する。サーバーは、クライアントの仮想サンプリングクロックを単一の公称クロック値とすることを許可する情報を、クライアントに送る。しかしながら、バッファのオーバーフロー及びアンダーフローを最小にするため、クライアントそれぞれのサンプリングにおける、公称サンプリング周波数に対するローカルな誤差を抑制しなければならない。
【００５１】
[0056]別の実施形態においては、クライアントの信号のアーカイブをサーバーが格納する。サンプルレートコンバータを有するアーカイブを使用することにより、オーバーフロー及びアンダーフローの問題が克服される。これは、個々のデータパケットの送信が遅延したり、クライアントの信号のサンプリングクロックが異なっていても、マルチメディアデータが適切に格納されるためである。従って、後から取り出すとき、正しく再構築されたミックスが利用可能である。
【００５２】
[0057]別の実施形態においては、ミキサーは、ある時刻（通常では仮想サンプリングクロックによってタイムスタンプが付されている）から表されるすべてのマルチメディアデータを一緒にミキシングする。クライアントは、自身のマルチメディアデータ信号を同期させずにフレームに形成することがしばしばあり、ミキサーがデータ信号をミキシングするときのタイムアライメントの誤差が、フレーム期間の半分にも及ぶことがある。この問題を克服するため、クライアントは、仮想サンプリング周波数と仮想フレーム境界信号とを利用することによって、同じタイミングに始まる入力信号をフレーム化し、タイムアライメントの誤差が最小になる。
【００５３】
[0058]別の実施形態においては、リアルタイムのセッション中、サーバーは、様々なクライアントからの符号化されたブロックを入力バッファの中に集め、クライアントは、サーバーからの符号化されたブロックを出力バッファの中に集める。このようなバッファを、一般的にはジッターバッファと称する。バッファのサイズは、システム内のラウンドトリップ遅延に直接相関し、すなわち、バッファのサイズが大きいほど遅延も大きい。しかしながら、バッファサイズが大きいと、必要とされるときに個々のパケットを利用することができない可能性が小さくなる。従って、システムは、パケットエラーの低い確率が維持されて、結果として、リアルタイムの送信遅延とオーディオ品質との間のトレードオフが最適となるように、これらのバッファのサイズを動的に調整する。
【００５４】
[0059]ここまでの説明は、本発明の実施形態を対象としているが、本発明の基本的な範囲から逸脱することなく、本発明の更なる実施形態を創案することができる。具体的には、本発明の実施形態はかなりスケーラブルであり、特定のアプリケーションにおいて要求されるときにクライアント及びサーバーを追加することができる。
【図面の簡単な説明】
【００５５】
【図１】本発明の一実施形態に係る汎用コンピュータシステムのブロック図を示している。
【図２】本発明の一実施形態に係るシステムのブロック図を示している。
【図３】本発明の一実施形態に係るシステムのブロック図を示している。
【図４】本発明の一実施形態に係る、データ信号を処理する方法のフローチャートを示している。
【図５】本発明の一実施形態に係るシステムのブロック図を示している。
【図１】
2009535988.tif 000003
【図２】
2009535988.tif 000004
【図３】
2009535988.tif 000005
【図４】
2009535988.tif 000006
【図５】
2009535988.tif 000007
【国際調査報告】
2009535988.tif 000008
2009535988.tif 000009