(57)【要約】  信号の１つまたは複数の周波数帯域を抑制することが、音声データ通信応用においてフィードバックの発生を防ぐ。システムは、フィードバックが起きる信号内の周波数帯域を認識するか、またはフィードバックが予測される周波数帯域を予測する。この信号は、入力システムが生成する信号または出力システムがレンダーする信号を含む。システムは、周波数帯域を表す１つまたは複数のサンプリングビットを無視することにより、または１つまたは複数のフィルタを適用して、周波数帯域内の信号を減衰または除去することにより、周波数帯域内の信号を抑制する。システムは、異なるまたは追加の周波数帯域をもたらすフィードバックを識別するために信号を監視し、フィードバックが起きることを防ぐために異なるまたは追加の周波数帯域内の信号を抑制してよい。
2009522851.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータシステムの入力システムが、以前に前記入力システムにより捕獲され、前記コンピュータシステムの出力システムにより生成された信号を再捕獲することからもたらされる、音声データ通信応用におけるオーディオフィードバックを低減するコンピュータ実装の方法であって、
前記オーディオフィードバックが生じる前記信号内の周波数帯域を認識するステップと、
前記入力システムが前記周波数帯域内の前記出力装置からの前記オーディオ信号出力を再捕獲することを防ぐために、前記周波数帯域内の前記信号を少なくとも部分的に抑制するステップと
を含むことを特徴とする方法。
【請求項２】
前記信号は前記入力装置により生成される捕獲信号であり、前記捕獲信号は、前記周波数帯域内で少なくとも部分的に抑制されるようにすることを特徴とする請求項１に記載の方法。
【請求項３】
前記信号は前記出力装置に適用されるレンダー信号であり、前記レンダー信号は、前記周波数帯域内で少なくとも部分的に抑制されるようにすることを特徴とする請求項１に記載の方法。
【請求項４】
前記信号は、
前記周波数帯域内の前記信号の含量を表す前記信号のデジタル表現で少なくとも１つのデータビットを識別するステップと、
前記周波数帯域内の前記信号の前記含量を抑制するために、前記信号の前記デジタル表現で前記少なくとも１つのデータビットを抑制するステップと
により前記周波数帯域内で抑制されることを特徴とする請求項１に記載の方法。
【請求項５】
前記信号は、前記周波数帯域内の前記信号の含量を少なくとも部分的に抑制するために少なくとも１つの抑制フィルタを適用することにより、前記周波数帯域内で抑制されることを特徴とする請求項１に記載の方法。
【請求項６】
前記周波数帯域は、
前記信号の特性を監視するステップと、
フィードバックの存在または可能性を示す前記信号の特性によって前記周波数帯域を識別するステップと
により認識されることを特徴とする請求項１に記載の方法。
【請求項７】
前記信号の前記特性は、前記信号の少なくとも１つの大きさおよび強度を含むことを特徴とする請求項６に記載の方法。
【請求項８】
前記信号の前記特性がフィードバックの存在または可能性を示す追加の周波数帯域を認識するステップをさらに含むことを特徴とする請求項６に記載の方法。
【請求項９】
その周波数でオーディオフィードバックが予測されることを示す測定に基づき前記周波数帯域を前もって決定するステップをさらに含むことを特徴とする請求項１に記載の方法。
【請求項１０】
前記音声データ通信応用は、ボイスオーバーインターネットプロトコル（ＶｏＩＰ）電話通信応用を含むことを特徴とする請求項１に記載の方法。
【請求項１１】
コンピュータシステムの入力システムが、以前に前記入力システムにより捕獲され、前記コンピュータシステムの出力システムにより生成された信号を再捕獲することからもたらされる、音声データ通信応用におけるオーディオフィードバックを低減するコンピュータ実装の方法であって、
前記信号の大きさおよび前記強度の１つを監視するステップと、
前記信号の前記大きさまたは前記強度が、少なくともフィードバックの可能性を示す閾値を越える前記信号内の周波数帯域を識別するステップと、
前記周波数帯域内の音が前記信号内で少なくとも部分的に抑制されることを引き起こすステップと
を含むことを特徴とする方法。
【請求項１２】
前記周波数帯域内の前記音は前記入力装置により生成され、前記音は、前記周波数帯域内の前記入力装置により生成される捕獲信号を抑制することにより、少なくとも部分的に抑制されることを特徴とする請求項１１に記載の方法。
【請求項１３】
前記周波数帯域内の前記音は、前記出力装置により生成され、前記音は、前記周波数帯域内のレンダー信号を抑制することにより、少なくとも部分的に抑制されることを特徴とする請求項１１に記載の方法。
【請求項１４】
前記周波数帯域内の前記音は、
前記周波数帯域内の前記信号の含量を表す前記信号のデジタル表現で少なくとも１つのデータビットを識別するステップと、
前記周波数帯域内の前記信号の前記含量を抑制するために、前記信号の前記デジタル表現で前記少なくとも１つのデータビットを抑制するステップと
により前記信号内で抑制されることを特徴とする請求項１１に記載の方法。
【請求項１５】
前記周波数帯域内の前記音は、前記周波数帯域内の前記信号の含量を少なくとも部分的に抑制するために帯域抑制フィルタを適用することにより、前記信号内で抑制されることを特徴とする請求項１１に記載の方法。
【請求項１６】
前記捕獲信号内の追加の周波数帯域が前記閾値を越えることを認識するステップをさらに含むことを特徴とする請求項１１に記載の方法。
【請求項１７】
前記追加の周波数帯域内の前記出力信号の大きさが前記閾値を越える場合、周波数帯域内の前記音が前記捕獲信号内で抑制されることを引き起こすステップをさらに含むことを特徴とする請求項１１に記載の方法。
【請求項１８】
音声データ通信応用においてオーディオフィードバックを低減するシステムであって、入力装置が出力装置からの出力を捕獲することの結果としてオーディオフィードバックが予測される周波数帯域内の信号を少なくとも部分的に抑制するように構成可能なフィルタを備えることを特徴とするシステム。
【請求項１９】
フィードバックの可能性を意味する少なくとも１つの指示を識別して、前記オーディオフィードバックが予測される前記周波数帯域を識別するように構成された信号モニタをさらに備えることを特徴とする請求項１８に記載のシステム。
【請求項２０】
前記音声データ通信応用は、ボイスオーバーインターネットプロトコル（ＶｏＩＰ）電話通信応用を含むことを特徴とする請求項１８に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、音声通信における音響フィードバックの抑制を行うコンピュータシステムに関する。
【背景技術】
【０００２】
人々は、コンピューティングネットワークを介して自分の音声を通信するボイスオーバーインターネットプロトコル（ＶｏＩＰ）および他の音声データ通信応用を広く使用している。ＶｏＩＰ電話通信サービスは、例えば、広帯域インターネットアクセスを有する家庭および企業において人々が、電話線、電話サービス、または長距離サービスなしに、全二重通話を行い受信することを可能にする。
【０００３】
ＶｏＩＰソフトウェアは、ユーザが電話を使うかわりにコンピュータを用いて通話を行うことを可能にする。コンピュータがマイクロフォンおよび１つまたは複数のスピーカを備えている場合、ユーザは、コンピュータをハンズフリースピーカフォンとして使用できる。ＶｏＩＰソフトウェアは、全二重操作を可能にでき、その結果、通常の電話を用いる場合とまったく同様に、ユーザが同時に話すことと聞くことの両方ができる。
【０００４】
図１では、スピーカ１１０およびマイクロフォン１２０を備えたデスクトップコンピュータ１００を使用している女性（図示せず）が、デスクトップコンピュータ１００をハンズフリースピーカフォンとして使用している。マイクロフォン１２０は、女性の言葉を捕獲し、デスクトップコンピュータ１００上で実行しているソフトウェアが、彼女の話を第１の信号１６０に変換する。ネットワーク（図示せず）が、男性（図示せず）がスピーカフォンとして使用するポータブルコンピュータ１３０に第１の信号１６０を搬送する。第１の信号１６０により搬送された女性の話は、ポータブルコンピュータ内の内蔵スピーカ１４０によりレンダーされる。ポータブルコンピュータ１３０の内蔵マイクロフォン１５０が、男性の話を捕獲し、ポータブルコンピュータ１３０は、彼の話を第２の信号１７０に変換する。ネットワークは、第２の信号１７０をデスクトップコンピュータ１００に搬送し、デスクトップコンピュータ１００で、男性の話はスピーカ１１０によりレンダーされる。
【発明の開示】
【発明が解決しようとする課題】
【０００５】
ＶｏＩＰサービスが全二重操作を可能にし、その結果人々が同時に聞き話すことができるため、ユーザは、音響フィードバックに出くわす可能性がある。例えば、男性の話が内蔵マイクロフォン１５０により捕獲され、第２の信号１７０として送信され、スピーカ１１０によりレンダーされた後で、マイクロフォン１２０は、彼の話を再捕獲する可能性がある。第１の信号１６０は、彼の話をポータブルコンピュータ１３０に搬送し返し、彼の話が内蔵スピーカ１４０により再レンダーされる原因となる。内蔵マイクロフォン１５０は、再び彼の話を再捕獲し、それをデスクトップコンピュータ１００に送信する。彼の話の連続的な再捕獲および再レンダーは、エネルギーが１つまたは複数の周波数帯域内で高まる原因となる可能性があり、フィードバックをもたらす。
【０００６】
フィードバックを防ぐために、ＶｏＩＰユーザは、スピーカのボリュームを下げることができる。しかし、ボリュームを下げると、他の発信者を聞くことが困難になる可能性がある。ユーザはまた、マイクロフォンがスピーカによりレンダーされた音を再捕獲することを防ぐことを試みるために、自分のスピーカまたはマイクロフォンの位置を変えることができるが、これでは、この問題は解決しないかもしれない。さらに、内蔵スピーカ１４０および内蔵マイクロフォン１５０を有するポータブルコンピュータ１３０のユーザは、このような装置の位置を変えることができない。
【課題を解決するための手段】
【０００７】
信号の１つまたは複数の周波数帯域を抑制することが、音声データ通信応用においてフィードバックの発生を防ぐ。システムは、フィードバックが起きる信号内の周波数帯域を認識するか、またはフィードバックが予測される周波数帯域を予測する。この信号は、入力システムが生成するかまたは出力システムがレンダーする信号を含む。システムは、周波数帯域を表す１つまたは複数のサンプリングビットを無視することにより、または１つまたは複数のフィルタを適用して、周波数帯域内の信号を減衰または除去することにより、周波数帯域内の信号を抑制する。システムは、異なるまたは追加の周波数帯域をもたらすフィードバックを識別するために信号を監視し、フィードバックが起きることを防ぐために異なるまたは追加の周波数帯域内の信号を抑制してよい。
【０００８】
この課題を解決するための手段は、詳細な説明において以下にさらに説明される概念の選択を簡略化した形で紹介するために設けられている。この課題を解決するための手段は、特許請求の範囲の対象のキーとなる機能または基本的な機能を識別することを意図せず、特許請求の範囲の対象範囲を決定する際の助けとして用いることを意図しない。
【０００９】
同一の番号を本開示および図を通して用いて、同様の要素および機能を参照する。
【発明を実施するための最良の形態】
【００１０】
概要
以下の明細書は、システムが１つまたは複数の周波数帯域における音響フィードバックを検知または予測する場合、信号における１つまたは複数の周波数帯域を抑制することによりフィードバックを低減できるツールを説明する。信号が出力システムと入力システムの間で連続的に搬送される場合、フィードバックが起き、周波数帯域内の信号の連続的な再増幅が、信号の強度を増大させる原因となる。フィードバックを低減または除去するために、システムが、フィードバックが起きる周波数帯域または帯域群を識別または予測する。出力システムが信号から出力をレンダーするか、または出力システムから入力を取り込むかのどちらかの前に、システムは周波数帯域または帯域群内の信号を抑制する。フィードバックが起きるかまたは起きる恐れがある周波数帯域または帯域群を抑制することは、フィードバックを抑制する。
【００１１】
ツールがこれらおよび他の手法を可能にできる環境は、例示のオペレーティング環境というタイトルのセクションで以下に説明される。このセクションの後には、これらおよび他の手法を可能とする処理を説明する、フィードバックを防ぐために周波数帯域内の信号を抑制するというタイトルの別のセクションが続く。
【００１２】
例示のオペレーティング環境
本ツールを詳細に説明する前に、本ツールの様々な発明の態様が用いられることができるいくつかの方法を読者が理解することを助けるために、例示のオペレーティング環境の以下の説明が行われる。後述の環境は、１つの例を構成するのみであり、本ツールの適用を任意の１つの特定のオペレーティング環境に制限することを意図しない。他の環境が、特許請求の範囲の対象の精神および範囲から逸脱することなく使用可能である。
【００１３】
図２は、信号内の周波数帯域を抑制することによりフィードバックを低減する実施形態を実装する例示のオペレーティング環境２００を示す。信号内の周波数帯域を抑制することによりフィードバックを低減する処理は、プログラムモジュールなど、オペレーティング環境２００で実行されるコンピュータ実行可能命令の一般的なコンテキストに即して説明可能である。概して、プログラムモジュールには、特定のタスクを実行し、または特定の抽象データ型を実装する、ルーチン、プログラム、オブジェクト、コンポーネント、データ構造等が含まれる。さらに、当業者は、信号内の周波数帯域を抑制することによりフィードバックを低減する処理が、携帯端末、マルチプロセッサシステム、マイクロプロセッサベースのまたはプログラム可能な家庭用電化製品、ミニコンピュータ、メインフレームコンピュータ、等を含む、様々なコンピュータシステム構成で実行されてよいことを理解するであろう。信号内の周波数帯域を抑制することによりフィードバックを低減する処理はまた、タスクが通信ネットワークを介してリンクされるリモート制御演算装置により実行される分散コンピューティング環境で実行されてよい。分散コンピューティング環境では、プログラムモジュールは、メモリ記憶装置を含む、ローカルおよびリモートのコンピュータ記憶域媒体の両方に配置されてよい。
【００１４】
図２を参照すると、信号内の周波数帯域を抑制することによりフィードバックを低減する処理を実装する例示のオペレーティング環境２００は、コンピュータ２１０を含み、コンピュータ２１０は、処理装置２２０、システムメモリ２３０、およびシステムメモリ２３０を含む様々なシステム要素を処理装置２２０に接続するシステムバス２２１を含む。
【００１５】
コンピュータ２１０は、典型的には様々なコンピュータ可読媒体を含む。例として、コンピュータ可読媒体は、コンピュータ格納媒体および通信媒体を含んでよいが、これに制限されない。コンピュータ格納媒体の例は、ランダムアクセスメモリ（ＲＡＭ）、あるいは読み出し専用メモリ（ＲＯＭ）、あるいは電子的消去可能プログラム可能読み出し専用メモリ（ＥＥＰＲＯＭ：Ｅｌｅｃｔｒｏｎｉｃａｌｌｙ  Ｅｒａｓａｂｌｅ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、あるいはフラッシュメモリまたは他のメモリ技術、あるいはＣＤ  ＲＯＭ、デジタル多用途ディスク（ＤＶＤ）または他の光学もしくはホログラフィックのディスク記憶装置、あるいは磁気カセット、磁気テープ、磁気ディスク記憶装置または他の磁気記憶装置、あるいは所望の情報を格納するために用いられ、コンピュータ２１０によりアクセス可能な任意の他の媒体を含むが、これに制限されない。システムメモリ２３０は、ＲＯＭ２３１およびＲＡＭ２３２などの揮発性および／または不揮発性メモリの形態でのコンピュータ記憶媒体を含む。基本入力／出力システム２３３（ＢＩＯＳ）は、コンピュータ２１０内の要素同士での情報の転送を（起動中などに）助ける基本ルーチンを含むが、典型的にはＲＯＭ２３１に格納される。典型的にはＲＡＭ２３２は、処理装置２２０により即座にアクセス可能でおよび／または現在操作中のデータおよび／またはプログラムモジュールを含む。例として、図２は、オペレーティングシステム２３４、アプリケーションプログラム２３５、他のプログラムモジュール２３６、およびプログラムデータ２３７を示すが、これに制限されない。
【００１６】
コンピュータ２１０はまた、他の取り外し可能／取り外し不可能な、揮発性／非揮発性のコンピュータ格納媒体を含んでよい。単なる例として、図２は、取り外し不可能な非揮発性の磁気媒体から読み込み、またはそれに書き込むハードディスクドライブ２４１、取り外し可能な非揮発性の磁気ディスク２５２から読み込み、またはそれに書き込む磁気ディスクドライブ２５１、およびＣＤ−ＲＯＭまたは他の光学媒体などの取り外し可能な非揮発性の光学ディスク２５６から読み込み、またはそれに書き込む光学ディスクドライブ２５５を図示する。例示のオペレーティング環境で使用可能な、他の取り外し可能／取り外し不可能な、揮発性／非揮発性のコンピュータ記憶媒体は、磁気テープカセット、フラッシュメモリ装置、デジタル多用途ディスク、デジタルビデオテープ、ソリッドステートＲＡＭ、ソリッドステートＲＯＭ、等を含むが、これに制限されない。ハードディスクドライブ２４１は、典型的にはシステムバス２２１にインタフェース２４０などの取り外し不可能なメモリインタフェースを介して接続される。磁気ディスクドライブ２５１および光学ディスクドライブ２５５は、典型的にはシステムバス２２１にインタフェース２５０などの取り外し可能なメモリインタフェースにより接続される。
【００１７】
上述され、図２に図示されたドライブおよびそれらの関連したコンピュータ格納媒体は、コンピュータ可読命令、データ構造、プログラムモジュールおよび他のデータの格納をコンピュータ２１０のために行う。例えば、ハードディスクドライブ２４１は、オペレーティングシステム２４４、アプリケーションプログラム２４５、他のプログラムモジュール２４６、およびプログラムデータ２４７を格納するように示されている。これらの要素は、オペレーティングシステム２３４、アプリケーションプログラム２３５、他のプログラムモジュール２３６、およびプログラムデータ２３７と同じでも異なってもよいことに留意されたい。典型的には、ＲＡＭに格納されるオペレーティングシステム、アプリケーションプログラム等は、ハードディスクドライブ２４１から読み込まれる対応するシステム、プログラム、またはデータの部分、所望の機能に依存してサイズおよび範囲に差がある部分である。オペレーティングシステム２４４、アプリケーションプログラム２４５、他のプログラムモジュール２４６、およびプログラムデータ２４７は、少なくとも、それらが異なるコピーである可能性があることを示すために本明細書では異なる番号が与えられる。ユーザは、キーボード２６２、あるいはマウス、トラックボールまたはタッチパッドと通常呼ばれるポインティングデバイス２６１、あるいは無線入力受信部品２６３、あるいはリモート制御などの無線ソースなどの入力装置を介してコンピュータ２１０に命令および情報を入力してよい。他の入力装置（図示せず）は、マイクロフォン、ジョイスティック、ゲームパッド、パラボラアンテナ、スキャナ、等を含んでよい。これらのおよび他の入力装置は、システムバス２２１に接続されるユーザ入力インタフェース２６０を介して処理装置２２０に接続されることが多いが、パラレルポート、ゲームポート、ＩＥＥＥ２９４ポート、またはユニバーサルシリアルバス（ＵＳＢ）２９８、または赤外線（ＩＲ）バス２９９などの他のインタフェースおよびバス構造により接続されてよい。前に述べたように、入力／出力機能は、通信ネットワークを介して分散された方法で容易になってよい。
【００１８】
表示装置２９１はまた、システムバス２２１にビデオインタフェース２９０などのインタフェースを介して接続される。表示装置２９１は、モニタ、ＬＣＤスクリーン、ＴＦＴスクリーン、フラットパネルディスプレイ、従来のテレビ、またはスクリーンプロジェクタに制限されない、コンピュータ２１０の出力を表示するための任意の装置であってよい。表示装置２９１に加えて、コンピュータはまた、スピーカ２９７およびプリンタ２９６などの他の周辺出力装置を含んでよく、出力周辺インタフェース２９５を介して接続されてよい。
【００１９】
コンピュータ２１０は、リモートコンピュータ２８０などの１つまたは複数のリモートコンピュータへの論理接続を用いてネットワーク環境で動作する。リモートコンピュータ２８０は、パーソナルコンピュータであってよく、メモリ記憶装置２８１のみが図２に示されているが、典型的にはコンピュータ２１０に対して上述の多くのまたはすべての要素を含む。図２に図示された論理接続は、ローカルエリアネットワーク（ＬＡＮ）２７１および広域ネットワーク（ＷＡＮ）２７３を含むが、大都市圏ネットワーク（ＭＡＮ）、イントラネット、またはインターネットへの接続など他のネットワークも含んでよい。
【００２０】
ＬＡＮネットワーキング環境で使用されるとき、コンピュータ２１０は、ネットワークインタフェースまたはアダプタ２７０を通してＬＡＮ２７１に接続される。ＷＡＮネットワーキング環境で使用されるとき、典型的にはコンピュータ２１０は、インターネットなどのＷＡＮ２７３を介して通信を確立するモデム２７２または他の手段を含む。モデム２７２は、内蔵または外付けであってよく、ネットワークインタフェース２７０または他の適切なメカニズムを介してシステムバス２２１に接続可能である。モデム２７２は、ケーブルモデム、ＤＳＬモデム、または他の広帯域装置である可能性がある。ネットワーク環境において、コンピュータ２１０に関連して示されたプログラムモジュールまたはその一部は、リモートメモリ記憶装置内に格納されてよい。例として、図２は、リモートアプリケーションプログラム２８５をメモリ装置２８１上に常駐するものとして示すがこれに制限されない。示されたネットワーク接続は例示であり、コンピュータ間の通信リンクを確立する他の手段が用いられてよいことが理解されよう。
【００２１】
コンピュータ２１０の多くの他の内部要素は図示されないが、当業者は、このような要素および相互接続はよく知られていることを理解されよう。例えば、コンピュータ２１０内にテレビチューナーカードおよびネットワークインタフェースカードなどの様々な拡張カードを含むことは普通である。したがって、コンピュータ２１０の内部構成に関する更なる詳細は、信号内の周波数帯域を抑制することによりフィードバックを低減する処理の例示の実施形態を説明する際に開示される必要はない。
【００２２】
ＢＩＯＳ２３３は、ＲＯＭ２３１に格納されているが、コンピュータ２１０がオンになるかリセットされる場合、オペレーティングシステムまたはその必要な部分をハードディスクドライブ２４１からＲＡＭ２３２へロードするように処理装置２２０に命令する。オペレーティングシステム２４４として表されるオペレーティングシステムのコピーされた部分が、ＲＡＭ２３２中にロードされると、処理装置２２０は、オペレーティングシステムのコードを実行し、オペレーティングシステム２３４のユーザインタフェースに関連付けられる視覚要素を表示装置２９１上に表示させる。典型的には、アプリケーションプログラム２４５がユーザにより開かれる場合、プログラムコードおよび関係データがハードディスクドライブ２４１から読み込まれ、必要な部分がＲＡＭ２３２の中にコピーされ、コピーされた部分は参照番号２３５により本明細書で表される。
【００２３】
フィードバックを防ぐために周波数帯域内の信号を抑制する
以下の説明は、本ツールがフィードバックを防ぐために周波数帯域内の信号を抑制する例示の方法、および他の発明手法を説明する。本ツールは、フィードバックが起きる信号の部分を抑制することによりフィードバックを抑制する。したがって、ユーザは、マイクロフォンがスピーカによりレンダーされた音を再捕獲することを防ぐことを試みる際にスピーカのボリュームを下げることなく、またはマイクロフォンまたはスピーカを再配置することなく、マイクロフォンおよびスピーカを音声データ通信のために使用できる。
【００２４】
図３は、時間内のある瞬間の信号３１０を表すスペクトルグラフ３００である。グラフ３００は、信号３１０に対して大きさ３２０対周波数３３０をグラフ化している。信号３１０におけるスパイク３４０は、フィードバックが起きる周波数帯域３５０を示す。周波数帯域３５０では、入力システムは信号３１０を捕獲し、出力システムは信号を増幅およびレンダーし、入力システムは再び信号３１０を捕獲する。すなわち、第１の人が自分のコンピュータ付属のマイクロフォンに話す場合フィードバックが起き、第１の人の話が第２のコンピュータ上のスピーカによりレンダーされ、第２のコンピュータに付属のマイクロフォンにより再捕獲される。
【００２５】
出力システムと入力システムの間でループする周波数帯域３５０内の信号３１０は、信号３１０の大きさを増し、フィードバックの原因となる。実際に、オーディオのレンダーおよび捕獲のシステム、システムが配置されている部屋および物理環境の特性の結果、ある周波数帯域が他より大きく増幅される。したがって、レンダーおよび捕獲のシステムならびにそれが使われる環境の物理的特性が、フィードバックが起きるかまたは起きる恐れがある周波数を決定する。図３に示すように、周波数帯域３５０内の信号３１０の、出力システムと入力システムとの間のループが、信号３１０が最大の飽和値３６０に達した場合、信号３１０のクリッピングを招く可能性がある。
【００２６】
図４は、フィードバックが存在する点を識別するために信号を示す他の方法を表す。図４は、いくつかの周波数帯域４１０にわたる信号のスペクトル要素４１０の相対的強度を表す強度グラフ４００である。表された信号の増加する強度は、次第により密接に配置された横線４２０で表される。１つの最高強度領域４３０は、横線４２０が最も密接に配置されており、フィードバックが存在するか、または起きる可能性があることを強度レベルが示す高強度範囲４４０を示す。
【００２７】
図３のスペクトルグラフ３００または図４の強度グラフ４００を用いて、フィードバックが起きる周波数帯域が識別可能である。グラフ３００および４００または同様の信号表現の手作業の検査、あるいは自動の、コンピュータベースの信号の分析は、フィードバックが起きるかまたは起きる恐れがある周波数域の識別を可能にする。
【００２８】
フィードバックが起きるかまたは起きる恐れがある周波数域の識別は、いくつかの方法で実行可能である。一態様では、事前検査を用いて、フィードバックがあり得る周波数帯域を決定する。１つまたは複数の組のマイクロフォンおよび他の入力装置またはシステムならびに１つまたは複数の組のスピーカまたは他の出力装置またはシステムと、異なる構成と、異なる出力ボリュームとの組み合わせを用いて、フィードバックが通常起きる周波数帯域が識別可能である。他の態様では、コンピューティングシステムが、入力装置から捕獲される入力信号または出力装置に与えられる出力信号などの信号を動的に監視するように構成される。信号の大きさまたは強度が高い１つまたは複数の周波数帯域は識別可能である。これらの周波数帯域は、フィードバックが存在するかまたは起きる可能性がある周波数帯域として認識される。
【００２９】
図５は、ＶｏＩＰ電話通信応用などの音声データ通信応用におけるフィードバックを低減する一態様の流れ図５００である。ブロック５１０は、オーディオフィードバックが起きるかまたは予測される周波数帯域を認識する。図３および図４を参照して説明されたように、所定の大きさまたは強度の閾値に達する信号が、フィードバックが起きるかまたは起きる恐れがある周波数帯域を示す。コンピューティングシステムが、自動的に信号を監視して、フィードバックが起きるかまたは起きる恐れがある周波数帯域を識別してよい。ユーザまたはシステムは、代表的な信号を評価して、フィードバックが典型的な状態で起きる可能性がある周波数帯域を識別してよい。代替として、システムを用いて、リアルタイムで信号を監視し、フィードバックが起きる周波数帯域を識別してよい。
【００３０】
ブロック５１０が、フィードバックが起きるかまたは起きる恐れがある１つまたは複数の周波数帯域を認識すると、ブロック５２０は、識別された周波数帯域または帯域群内で少なくとも部分的に信号を抑制して、フィードバックを低減する。繰り返すと、音響フィードバックは、捕獲、増幅、再捕獲、および再増幅される信号からもたらされる。ブロック５２０は、フィードバックが起きるかまたは起きる恐れがある周波数帯域または帯域群内の信号を抑制して、信号が増幅および再捕獲されることを防ぎ、それによりフィードバックをもたらす恐れがある循環を断つ。ブロック５２０が、フィードバックが起きるかまたは起きる恐れがある周波数帯域または帯域群内の信号を抑制するため、音声データ通信を妨害する恐れがある方法ですべての周波数帯域にわたり信号の大きさまたは量を著しく低下させることなく、フィードバックを防ぐことになる。
【００３１】
図６および図７は、フィードバックを低減するために１つまたは複数の周波数帯域内の信号を抑制する、それぞれ２つの例示のシステム６００および７００のブロック図である。システム６００および７００のそれぞれは、ＶｏＩＰ応用に適しており、それにより、ユーザが、彼または彼女のコンピュータに付随するマイクロフォンおよびスピーカを用いて、コンピュータを全二重スピーカフォンとして使用できる。システム６００および７００は、それぞれ信号経路６０２および７０２を示し、これらの信号経路は、各システムで捕獲されて各システムで再レンダーされる信号を返し、場合によってはフィードバックをもたらす恐れがある。信号経路６０２および７０２は、ユーザのコンピューティングシステム、１つまたは複数のネットワーク、および通話のリモートエンドにある他のシステムまたは電話を含んでよい。
【００３２】
図６のシステム６００では、レンダーシステム６０４が、レンダー信号６０６をスピーカ１１０または他の出力システムに与える。スピーカ１１０は、レンダー信号６０６を変換し、音６０８を生成する。マイクロフォン１２０または他の入力システムは、近くのユーザ（図示せず）により話された言葉とスピーカ１１０より生ずる音６０８の両方を含む可能性がある近くの音を捕獲し、捕獲信号６１０を生成する。捕獲システム６１２は、例えば、捕獲信号６１００をデジタル化することにより、捕獲信号６１０を処理する。捕獲システム６１２は、信号経路６０２を介して送信信号６１４を送信する。
【００３３】
信号経路６０２は、少なくとも送信信号６１４の一部を含む可能性がある受信信号６１６を与え、場合によってはフィードバックの原因となる。フィードバックを防ぐために、信号経路６０２は、受信信号６１６をレンダー抑制システム６１８に渡す。レンダー抑制システム６１８は、フィードバックが起きるかまたは起きる恐れがある入力信号６１６内の１つまたは複数の周波数帯域を抑制し、抑制された信号６２０を生成する。図８を参照して以下に説明されるように、レンダー抑制システム６１８は、デジタル処理で受信６１６信号を抑制してよく、抑制された信号６２０をレンダーシステム６０４に与える。代替として、図９を参照して以下に説明されるように、レンダー抑制システム６１８は、アナログ抑制を採用してよく、この場合、レンダー抑制システム６１８は、レンダーシステム６０４の出力を受信し、レンダー信号６０６をスピーカ１１０に与える前に抑制してよい。
【００３４】
図６の実施形態では、レンダー抑制システム６１８は、抑制された信号６２０を生成し、この信号６２０で、レンダー抑制システム６１８が、フィードバックが起きるかまたは起きる恐れがある識別された周波数帯域または帯域群内の受信信号６１６を抑制する。したがって、レンダーシステム６０４は、レンダー信号６０６をスピーカ１１０に与え、レンダー信号６０６では、レンダー抑制システムが、フィードバックが起きるかまたは起きる恐れがある周波数帯域または帯域群を抑制しており、フィードバックループを断っている。
【００３５】
図７のシステム７００は、図７のシステム６００と類似している。繰り返すと、レンダーシステム６０４が、出力信号６０６をスピーカ１１０または他の出力システムに与える。スピーカ１１０は、レンダー信号６０６を変換し、音６０８を生成する。マイクロフォン１２０または他の入力システムは、近くのユーザ（図示せず）により話された言葉とスピーカ１１０より生ずる音６０８の両方を含む可能性がある近くの音を捕獲し、捕獲信号６１０を生成する。捕獲システム６１２は、捕獲信号６１０を受信し、それを送信のために処理する。
【００３６】
システム７００では、捕獲システム６１２は、送信信号６１４を捕獲抑制システム６１２に与える。捕獲抑制システム７０４の操作は、レンダー抑制システム６１８（図６）の操作に類似しており、デジタルまたはアナログの手法を用いて、フィードバックが起きるかまたは起きる恐れがある、送信信号６１４内の１つまたは複数の周波数帯域を抑制してよい。したがって捕獲抑制システム７０４は、抑制された送信信号７０６を生成し、信号経路７０２を介して抑制された送信信号７０６を送信する。
【００３７】
信号経路７０２は、フィードバックが起きるかまたは起きる恐れがある周波数帯域または帯域群が抑制されている受信信号７０８をレンダーシステム６０４に与える。捕獲抑制システム７０４は、フィードバックが起きるかまたは起きる恐れがある周波数帯域を抑制しており、したがって信号経路を介して送信された信号における起こりうるフィードバック循環を断っている。信号経路７０２は、場合によってはフィードバックの原因となる周波数帯域または帯域群がすでに抑制されている受信信号７０８をレンダーシステム６０４に与える。レンダーシステム６０４は、抑制された出力信号７１０をスピーカ１１０に与え、出力信号７１０を、スピーカは、場合によってはフィードバックの原因となる周波数帯域または帯域群が抑制されている音７１２に変換する。
【００３８】
レンダー抑制システム６１８が、信号経路６０２から受信した信号に影響を与えることにより起こりうるフィードバック循環を断つ図６のシステム６００と比べると、捕獲抑制システム７０４は、抑制された送信信号内の１つまたは複数の周波数帯域を信号経路７０２上で送信する前に抑制することにより、起こりうるフィードバック循環を断つ。抑制システムが、起こりうるフィードバック循環のなんらかの点においてフィードバック循環を断つかぎり、場合によってはフィードバックの原因となる周波数帯域内の信号を抑制する抑制システムは、フィードバックを低減または防止できる。
【００３９】
図８および図９は、フィードバックが起きるかまたは起きる恐れがある信号内の１つまたは複数の周波数帯域を抑制する際に有用である、デジタルおよびアナログの信号操作の例をそれぞれ表す。前に説明したように、デジタル操作は、捕獲システム６１２（図６および図７）が生成するデジタル信号、またはレンダーシステム６０４が受信するデジタル信号を操作するのによく適している。アナログ操作は、マイクロフォン１２０が生成するアナログ信号、またはスピーカ１１０が受信するアナログ信号を操作するのによく適している。
【００４０】
図８は、抑制システムが、フィードバックを低減するために信号のデジタルサンプリングを操作できる方法を示すグラフ８００である。グラフ８００は、信号８３０に対して大きさ８１０対周波数８２０をグラフ化している。図８はまた、デジタル処理で信号８３０を表すために使用可能な複数の周波数ベースのサンプル８４０を示す。閾値８５０は、それを越えると信号８３０がフィードバックをもたらす可能性がある所定の大きさを表す。したがって、信号８３０が閾値８５０と交差する周波数帯域８６０では、抑制システムは、フィードバックが予測される信号８３０のそのスペクトル部分を除くために、１つまたは複数のデジタルサンプル８７０を除外してよい。代替として、抑制システムは、周波数帯域内のその結果得られるサンプリングを減じて、周波数帯域８６０内の信号８３０を除去するのではなく効果的に低減させることが可能である。
【００４１】
抑制システムは、信号のサンプリングを操作し、学習データまたは仮定が、フィードバックが起こりそうであることを示す所定の周波数帯域内の信号を抑制してよい。代替として、抑制システムは、サンプリングを動的に変え、抑制システムが信号の特性に基づき検知するフィードバックの根拠としてよい。
【００４２】
また図９は、抑制システムが、１つまたは複数の帯域通過フィルタを使用し、周波数帯域８６０内の信号８３０を抑制または減衰できることを示す信号８３０のグラフ９００を示す。帯域通過フィルタは、フィードバックが起きるかまたは起きる恐れがある周波数帯域８６０内の信号８３０を遮断または減衰するために、低域通過フィルタ９１０と高域通過フィルタ９２０の組み合わせを含んでよい。信号８３０が周波数帯域８６０中へ交差する下方閾値点９４０を下回る周波数で信号８３０を減衰する周波数応答９３０を有するように低域通過フィルタ９１０を調整することは、より高い周波数で信号を抑制する。同様に、信号が周波数帯域８６０から外へ交差する上方閾値点９６０を上回る周波数で信号８３０を減衰する周波数応答９５０を有するように高域通過フィルタ９２０を調整することは、より低い周波数で信号を抑制する。並列配置９７０でフィルタ９１０および９２０を接続させることは、選択された周波数帯域８６０以外のすべての信号８３０を実質的に通過させる。抑制システムは、固定の周波数応答９３０および９５０でフィルタを使用可能であり、または抑制システムは、周波数応答の手動または自動調整を可能にしてよい。
【００４３】
フィードバックが、周波数が特定の周波数を越える周波数帯域内でのみ起きることを予想する場合、抑制システムは、単一の低域通過フィルタ９１０を使用して、その周波数を上回る周波数帯域内の信号を抑制してよい。代替として、フィードバックが、周波数が所定の周波数を下回る周波数帯域内でのみ起きることを予想する場合、抑制システムは、単一の高域通過フィルタ９２０を使用して、その周波数を下回る信号を抑制してよい。複数の、不連続の周波数帯域内のフィードバックを予想する場合、抑制システムは、複数のフィルタペアを使用して、周波数帯域のそれぞれ内の信号を抑制してよい。抑制システムは、図９で示すように各ペア内のフィルタを並列に連結し、それぞれのペアを連続して連結して、周波数帯域のそれぞれ内の信号を抑制すべきである。
【００４４】
図１０は、フィードバックを低減するために１つまたは複数の周波数帯域を動的に監視および抑制する処理の流れ図１０００である。ブロック１０１０は、フィードバックが起きるかまたは起きる恐れがある信号を受信する。信号は、ネットワークが入力として与える受信信号であってよく、または信号は、ネットワークを介して送信された送信信号であってよい。ブロック１０２０は、図３および図４を参照して前に説明したように、異常な大きさまたは強度レベルなどのフィードバックのしるし、または他の特性を求めて信号を監視する。ブロック１０３０は、任意のフィードバックのしるしが１つまたは複数の周波数帯域内に存在するかを判定する。存在する場合、ブロック１０４０は、フィードバックのしるしを与える１つまたは複数の周波数帯域内の信号を少なくとも部分的に抑制する。一方、ブロック１０３０がフィードバックのしるしを識別しない場合、またはブロック１０４０が、このようなしるしが存在する周波数帯域を抑制すると、ブロック１０５０は、レンダー、捕獲、または送信のために信号を与える。
【００４５】
抑制システムは、動的監視の処理、および１つまたは複数の固定フィルタでの抑制の処理の両方を行うことが可能である。固定フィルタを使用して、フィードバックが予想される周波数帯域内の信号を抑制でき、一方動的監視は、フィードバックが予測されない周波数帯域内のフィードバックを低減するために行うことができる。
【００４６】
結論
上述のシステムおよび方法は、フィードバックが起きるかまたは起きることを予測される信号内の周波数帯域を認識および抑制し、その結果、フィードバックを低減する。信号の周波数帯域を抑制することは、信号の大きさまたは量を全体として抑制する必要なくフィードバックを低減させる。
【００４７】
例示の実施形態が構造的な機能および／または方法論的な行為に特有な言葉で説明されてきたが、添付の特許請求の範囲は、前に説明した具体的な機能または行為に必ずしも限定されないことを理解されたい。むしろ、具体的な機能および行為は、例示の実施形態として開示される。
【図面の簡単な説明】
【００４８】
【図１】音声データ通信で用いられる２つのコンピューティングシステムを示す図である（背景技術）。
【図２】様々な実施形態が動作可能な例示のオペレーティング環境を示す図である。
【図３】フィードバックが周波数帯域で起きている信号表現の図である。
【図４】フィードバックが周波数帯域で起きている信号表現の図である。
【図５】フィードバックを回避するために信号の周波数帯域を抑制する例示の処理の図である。
【図６】フィルタを用いて、フィードバックを回避するために信号の周波数帯域を抑制する例示のシステムを示す図である。
【図７】フィルタを用いて、フィードバックを回避するために信号の周波数帯域を抑制する例示のシステムを示す図である。
【図８】信号の周波数帯域を抑制するためにサンプリングビットが無視される、デジタル処理でサンプル化した信号を示す図である。
【図９】信号の周波数帯域を抑制するためにフィルタが適用されるアナログ信号を示す図である。
【図１０】フィードバックを低減するために信号の周波数帯域を適応的に抑制する例示の処理を示す図である。
【図１】
2009522851.tif 000003
【図２】
2009522851.tif 000004
【図３】
2009522851.tif 000005
【図４】
2009522851.tif 000006
【図５】
2009522851.tif 000007
【図６】
2009522851.tif 000008
【図７】
2009522851.tif 000009
【図８】
2009522851.tif 000010
【図９】
2009522851.tif 000011
【図１０】
2009522851.tif 000012
【国際調査報告】
2009522851.tif 000013
2009522851.tif 000014