(57)【要約】音響エコーキャンセルを実行する技術は、スピーカから出力される入力オーディオ信号の振幅が指定の閾値よりも小さい場合に第１のフィルタリング処理を実行し、入力オーディオ信号の振幅が閾値よりも大きい場合に第２のフィルタリング処理を実行する二方式振幅フィルタリング処理を提供する。第１のフィルタリング処理は、入力オーディオ信号と第１のインパルス応答関数との間の畳み込みの形態をとり得る。第２のフィルタリング処理は、入力オーディオ信号の非線形関数と第２のインパルス応答関数との間の畳み込みの形態を取り得る。そのような畳み込みの場合、二方式振幅フィルタリング処理は、入力オーディオ信号の複数のサンプルを指定の時間ウィンドウに亘って入力オーディオ信号として提供することを含む。第１および第２のインパルス応答関数は、マイクロフォンに入力される入力信号から決定され得る。
2019512947.tif 000002
【特許請求の範囲】
【請求項１】
スピーカおよびマイクロフォンを含むオーディオシステムにおける音響エコーを低減するように構成された処理回路が、前記オーディオシステムから離れたソース位置からのオーディオ信号を前記オーディオシステムの前記スピーカにおいて受信するステップと、
前記処理回路が、前記オーディオ信号の振幅と閾値振幅との比較処理を実行して比較結果を生成するステップと、
前記オーディオ信号の振幅が前記閾値振幅よりも小さいことを示す比較結果に応答して、
前記処理回路が、前記オーディオシステムの前記マイクロフォンへの入力信号に対して第１のフィルタリング処理を実行して、第１のフィルタリングされた入力信号を生成するステップと、
前記処理回路が、前記第１のフィルタリングされた入力信号を前記ソース位置まで送信するステップと、
前記オーディオ信号の振幅が前記閾値振幅よりも大きいことを示す比較結果に応答して、
前記処理回路が、前記オーディオシステムの前記マイクロフォンへの入力信号に対して第２のフィルタリング処理を実行して、前記第１のフィルタリングされた入力信号とは異なる第２のフィルタリングされた入力信号を生成するステップと、
前記処理回路が、前記第２のフィルタリングされた入力信号を前記ソース位置まで送信するステップと
を含む、方法。
【請求項２】
前記第１のフィルタリング処理の実行は、
指定の時間ウィンドウに亘って前記オーディオ信号をサンプリングして、ウィンドウ化されたオーディオ信号を生成することと、
前記マイクロフォンに入力される前記入力信号に基づいて第１のインパルス応答関数を生成することと、
前記ウィンドウ化されたオーディオ信号と前記第１のインパルス応答関数との畳み込みをして、第１のフィルタリングされた入力信号を生成することと
を含む、請求項１に記載の方法。
【請求項３】
前記マイクロフォンに入力される前記入力信号に基づく前記第１のインパルス応答関数の生成は、残差信号のパワーを最適化するインパルス応答関数を前記第１のインパルス応答関数として生成することを含み、前記残差信号は、前記マイクロフォンに入力される前記入力信号と前記ウィンドウ化されたオーディオ信号および汎用的なインパルス応答関数の畳み込みとの間の差に等しく、
前記第１のフィルタリングされた入力信号の前記ソース位置への送信は、パワーが最適化された残差信号を前記第１のフィルタリングされた入力信号として送信することを含み、前記パワーが最適化された残差信号は、前記マイクロフォンに入力される前記入力信号と前記ウィンドウ化されたオーディオ信号および前記第１のインパルス応答関数の畳み込みとの間の差に等しい、請求項２に記載の方法。
【請求項４】
前記第１のインパルス応答関数は複数の高調波の加重和であり、各高調波は基本周波数の倍数に等しい周波数を有する、請求項２に記載の方法。
【請求項５】
前記第１のフィルタリング処理の実行は、
前記第１のインパルス応答関数の生成後の指定時間後に、別の第１のインパルス応答関数を生成することをさらに含む、請求項２に記載の方法。
【請求項６】
前記ウィンドウ化されたオーディオ信号は、前記オーディオ信号の複数のサンプルを含み、前記複数のサンプルの各々は、前記指定の時間ウィンドウ内に生じる時間における前記オーディオ信号の値であり、
前記オーディオ信号の振幅と前記閾値振幅との比較処理の実行は、
前記オーディオ信号の複数のサンプルの各々の絶対値を生成して、複数の絶対値を生成することと、
前記複数の絶対値のうち最大のものを前記オーディオ信号の振幅として生成することと
を含む、請求項２に記載の方法。
【請求項７】
前記第２のフィルタリング処理の実行は、
ウィンドウ化されたオーディオ信号の非線形関数を生成することと、
前記マイクロフォンに入力される前記入力信号に基づいて第２のインパルス応答関数を生成することと、
（ｉ）前記ウィンドウ化されたオーディオ信号の非線形関数と（ｉｉ）第１のインパルス応答関数との畳み込みをして、第１のフィルタリングされた入力信号を生成することと
を含む、請求項１に記載の方法。
【請求項８】
ウィンドウ化されたオーディオ信号の非線形関数の生成は、前記ウィンドウ化されたオーディオ信号の振幅を二乗することを含む、請求項７に記載の方法。
【請求項９】
前記マイクロフォンに入力される入力信号に基づく前記第２のインパルス応答関数の生成は、残差信号のパワーを最適化する汎用的なインパルス応答関数を前記第２のインパルス応答関数として生成することを含み、前記残差信号は、前記マイクロフォンに入力される前記入力信号と前記ウィンドウ化されたオーディオ信号の非線形関数および前記汎用的なインパルス応答関数の畳み込みとの間の差に等しく、
前記第２のフィルタリングされた入力信号の前記ソース位置への送信は、パワーが最適化された残差信号を前記第２のフィルタリングされた入力信号として送信することを含み、前記パワーが最適化された残差信号は、前記マイクロフォンに入力される前記入力信号と前記ウィンドウ化されたオーディオ信号の非線形関数および前記第２のインパルス応答関数の畳み込みとの間の差に等しい、請求項７に記載の方法。
【請求項１０】
前記第１のフィルタリング処理の実行は、
ウィンドウ化されたオーディオ信号の第１の非線形関数を生成することと、ここで、前記第１の非線形関数は前記非線形関数とは異なり、
前記マイクロフォンに入力される前記入力信号に基づいて第１のインパルス応答関数を生成することと、
（ｉ）前記ウィンドウ化されたオーディオ信号の第１の非線形関数と（ｉｉ）前記第１のインパルス応答関数との畳み込みをして、第１のフィルタリングされた入力信号を生成することと
を含む、請求項７に記載の方法。
【請求項１１】
前記第２のフィルタリング処理の実行は、
第２のインパルス応答関数の生成後の指定時間後に、別の第３の応答関数を生成することをさらに含む、請求項６に記載の方法。
【請求項１２】
前記方法は、
前記オーディオ信号の振幅が前記閾値振幅よりも大きくかつ第２の閾値振幅よりも大きいことを示す比較結果に応答して、
前記処理回路が、前記オーディオシステムの前記マイクロフォンへの入力信号に対して第３のフィルタリング処理を実行して、第２のフィルタリングされた入力信号を生成するステップであって、第３のフィルタリングされた入力信号は、前記第１のフィルタリングされた入力信号および前記第２のフィルタリングされた入力信号とは異なり、
前記処理回路が、前記第３のフィルタリングされた入力信号を前記ソース位置まで送信するステップと
をさらに含む、請求項１に記載の方法。
【請求項１３】
非一時的な記憶媒体を備えるコンピュータプログラム製品であって、前記コンピュータプログラム製品はコードを含み、前記コードは、スピーカおよびマイクロフォンを含むオーディオシステムにおける音響エコーを低減するように構成された処理回路により実行されたときに、
前記オーディオシステムから離れたソース位置からのオーディオ信号を前記オーディオシステムの前記スピーカにおいて受信するステップと、
前記オーディオ信号の振幅と閾値振幅との比較処理を実行して比較結果を生成するステップと、
前記オーディオ信号の振幅が前記閾値振幅よりも小さいことを示す比較結果に応答して、
前記オーディオシステムの前記マイクロフォンへの入力信号に対して第１のフィルタリング処理を実行して、第１のフィルタリングされた入力信号を生成するステップと、
前記第１のフィルタリングされた入力信号を前記ソース位置まで送信するステップと、
前記オーディオ信号の振幅が前記閾値振幅よりも大きいことを示す比較結果に応答して、
前記オーディオシステムの前記マイクロフォンへの入力信号に対して第２のフィルタリング処理を実行して、前記第１のフィルタリングされた入力信号とは異なる第２のフィルタリングされた入力信号を生成するステップと、
前記第２のフィルタリングされた入力信号を前記ソース位置まで送信するステップと
を含む方法を前記処理回路に実行させる、コンピュータプログラム製品。
【請求項１４】
前記第１のフィルタリング処理の実行は、
指定の時間ウィンドウに亘って前記オーディオ信号をサンプリングして、ウィンドウ化されたオーディオ信号を生成することと、
前記マイクロフォンに入力される前記入力信号に基づいて第１のインパルス応答関数を生成することと、
前記ウィンドウ化されたオーディオ信号と前記第１のインパルス応答関数との畳み込みをして、第１のフィルタリングされた入力信号を生成することと
を含む、請求項１３に記載のコンピュータプログラム製品。
【請求項１５】
前記マイクロフォンに入力される前記入力信号に基づく前記第１のインパルス応答関数の生成は、残差信号のパワーを最適化するインパルス応答関数を前記第１のインパルス応答関数として生成することを含み、前記残差信号は、前記マイクロフォンに入力される前記入力信号と前記ウィンドウ化されたオーディオ信号および汎用的なインパルス応答関数の畳み込みとの間の差に等しく、
前記第１のフィルタリングされた入力信号の前記ソース位置への送信は、パワーが最適化された残差信号を前記第１のフィルタリングされた入力信号として送信することを含み、前記パワーが最適化された残差信号は、前記マイクロフォンに入力される前記入力信号と前記ウィンドウ化されたオーディオ信号および前記第１のインパルス応答関数の畳み込みとの間の差に等しい、請求項１４に記載のコンピュータプログラム製品。
【請求項１６】
前記ウィンドウ化されたオーディオ信号は、前記オーディオ信号の複数のサンプルを含み、前記複数のサンプルの各々は、前記指定の時間ウィンドウ内に生じる時間における前記オーディオ信号の値であり、
前記オーディオ信号の振幅と前記閾値振幅との比較処理の実行は、
前記オーディオ信号の複数のサンプルの各々の絶対値を生成して、複数の絶対値を生成することと、
前記複数の絶対値のうち最大のものを前記オーディオ信号の振幅として生成することと
を含む、請求項１４に記載のコンピュータプログラム製品。
【請求項１７】
前記第２のフィルタリング処理の実行は、
ウィンドウ化されたオーディオ信号の非線形関数を生成することと、
前記マイクロフォンに入力される前記入力信号に基づいて第２のインパルス応答関数を生成することと、
（ｉ）前記ウィンドウ化されたオーディオ信号の非線形関数と（ｉｉ）第１のインパルス応答関数との畳み込みをして、第１のフィルタリングされた入力信号を生成することと
を含む、請求項１３に記載のコンピュータプログラム製品。
【請求項１８】
前記マイクロフォンに入力される入力信号に基づく前記第２のインパルス応答関数の生成は、残差信号のパワーを最適化する汎用的なインパルス応答関数を前記第２のインパルス応答関数として生成することを含み、前記残差信号は、前記マイクロフォンに入力される前記入力信号と前記ウィンドウ化されたオーディオ信号の非線形関数および前記汎用的なインパルス応答関数の畳み込みとの間の差に等しく、
前記第２のフィルタリングされた入力信号の前記ソース位置への送信は、パワーが最適化された残差信号を前記第２のフィルタリングされた入力信号として送信することを含み、前記パワーが最適化された残差信号は、前記マイクロフォンに入力される前記入力信号と前記ウィンドウ化されたオーディオ信号の非線形関数および前記第２のインパルス応答関数の畳み込みとの間の差に等しい、請求項１７に記載のコンピュータプログラム製品。
【請求項１９】
前記第２のフィルタリング処理の実行は、
前記第２のインパルス応答関数の生成後の指定時間後に、別の第３のインパルス応答関数を生成することをさらに含む、請求項１７に記載のコンピュータプログラム製品。
【請求項２０】
スピーカおよびマイクロフォンを含むオーディオシステムにおける音響エコーを低減するように構成された電子装置であって、前記電子装置は、
メモリと、
前記メモリに接続された制御回路と
を備え、前記制御回路は、
前記オーディオシステムから離れたソース位置からのオーディオ信号を前記オーディオシステムの前記スピーカにおいて受信し、
前記オーディオ信号の振幅と閾値振幅との比較処理を実行して比較結果を生成し、
前記オーディオ信号の振幅が前記閾値振幅よりも小さいことを示す比較結果に応答して、
前記オーディオシステムの前記マイクロフォンへの入力信号に対して第１のフィルタリング処理を実行して、第１のフィルタリングされた入力信号を生成し、かつ、
前記第１のフィルタリングされた入力信号を前記ソース位置まで送信し、
前記オーディオ信号の振幅が前記閾値振幅よりも大きいことを示す比較結果に応答して、
前記オーディオシステムの前記マイクロフォンへの入力信号に対して第２のフィルタリング処理を実行して、前記第１のフィルタリングされた入力信号とは異なる第２のフィルタリングされた入力信号を生成し、かつ、
前記第２のフィルタリングされた入力信号を前記ソース位置まで送信する
ように構成されている、電子装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本明細書は、モバイルデバイスにおける音響エコーキャンセルに関する。
【背景技術】
【０００２】
いくつかの音声通信システムでは、スピーカとマイクロフォンが連結されるときに音響エコーが発生する。そのような音声通信システムの一例は、ウェブブラウザ対応通信システムであるウェブリアルタイム通信（ＷｅｂＲＴＣ）である。このようなウェブブラウザ対応通信システムは、音響エコーを低減または除去するためのソフトウェアベースの音響エコーキャンセル（ＡＥＣ）処理を提供する。従来のＡＥＣ処理は、適応フィルタを使用してスピーカからのオーディオ出力におけるエコーのエコー経路を識別し、エコーの複製を合成し、エコーの複製をマイクロフォンへの入力から差し引くことを含む。
【発明の概要】
【０００３】
１つの包括的な態様において、方法は、スピーカおよびマイクロフォンを含むオーディオシステムにおける音響エコーを低減するように構成された処理回路が、オーディオシステムから離れたソース位置からのオーディオ信号をオーディオシステムのスピーカにおいて受信するステップを含むことができる。方法は、処理回路が、オーディオ信号の振幅と閾値振幅との比較処理を実行して比較結果を生成するステップを含むことができる。方法は、オーディオ信号の振幅が閾値振幅よりも小さいことを示す比較結果に応答して、処理回路が、オーディオシステムのマイクロフォンへの入力信号に対して第１のフィルタリング処理を実行して、第１のフィルタリングされた入力信号を生成するステップと、処理回路が、第１のフィルタリングされた入力信号をソース位置まで送信するステップとを含むことができる。方法は、オーディオ信号の振幅が閾値振幅よりも大きいことを示す比較結果に応答して、処理回路が、オーディオシステムのマイクロフォンへの入力信号に対して第２のフィルタリング処理を実行して、第１のフィルタリングされた入力信号とは異なる第２のフィルタリングされた入力信号を生成するステップと、処理回路が、第２のフィルタリングされた入力信号をソース位置まで送信するステップとを含むことができる。
【０００４】
１つまたは複数の実施形態の詳細は、添付の図面および以下の詳細な説明に記載されている。他の特徴は、明細書、図面および特許請求の範囲から明らかになるであろう。
【図面の簡単な説明】
【０００５】
【図１】本明細書に記載の改良された技術を実施するための例示的な電子環境を示す図である。
【図２】図１に示される電子環境内で改良された技術を実行する例示的な方法を示すフローチャートである。
【図３】図１に示される電子環境内で改良された技術を実行する例示的な方法を示す概略図である。
【図４】本明細書で説明する回路と共に使用することができるコンピューティングデバイスおよびモバイルコンピューティングデバイスの例を示す。
【発明を実施するための形態】
【０００６】
上述の従来の音響エコーキャンセル（ＡＥＣ）処理は、エコー経路が線形であると仮定している。この仮定は、デスクトップおよびラップトップコンピュータに接続されたオーディオシステムには当てはまるが、入力と出力が非常に近い低品質のオーディオコンポーネントを持つモバイルデバイスには当てはまらない。モバイルデバイスの場合、エコー経路は非線形であり得る。この場合、従来のＡＥＣ処理は、オーディオ入力からエコーを除去するのに効果的ではない可能性がある。
【０００７】
本明細書に記載されている実施形態に従い、上述の従来のＡＥＣ処理とは対照的に、ＡＥＣ処理を実行する改良された技術は、スピーカから出力される入力オーディオ信号の振幅が特定の閾値よりも小さい場合に、第１のフィルタリング処理を実行し、入力オーディオ信号の振幅が閾値よりも大きい場合に、第２のフィルタリング処理を実行する二方式振幅フィルタリング処理を提供することを含む。例えば、第１のフィルタリング処理は、入力オーディオ信号と第１のインパルス応答関数との間の畳み込み（convolution）の形態をとり得る。一例では、第１のインパルス応答関数は、残差信号（residual signal）のパワーを最適化する（例えば、残差信号のパワーを最小にする）汎用的なインパルス応答関数とすることができる。この例では、第２のフィルタリング処理は、入力オーディオ信号の非線形関数と第２のインパルス応答関数との間の畳み込みの形態を取り得る。そのような畳み込みの場合、二方式振幅フィルタリング処理は、入力オーディオ信号として、入力オーディオ信号のサンプルを指定の時間ウィンドウに亘って提供することを含む。第１および第２のインパルス応答関数は、マイクロフォンに入力される入力信号から決定されてもよい。いくつかの実施形態では、インパルス応答関数の各々は、入力信号と畳み込みの個々の出力との間の残差のパワーの最小化から計算される。
【０００８】
有利には、第１のフィルタリング処理と第２のフィルタリング処理との間の上述の振幅に依存する切り替えは、モバイルデバイスのソフトウェアベースの通信システムにおける非線形エコー経路を処理するための簡単なフレームワークを提供する。
【０００９】
図１は、上記の改善された技術を実施することができる例示的な電子環境１００を示す図である。図１に示すように、例示的な電子環境１００は、モバイルデバイス１２０およびネットワーク１９０を含む。いくつかの実施形態では、モバイルデバイス１２０は、スマートフォン、タブレットコンピュータなどの形態をとる。
【００１０】
モバイルデバイス１２０は、音響エコーキャンセルを提供するように構成される。モバイルデバイス１２０は、スピーカ１１０、ネットワークインタフェース１２２、１つまたは複数の処理ユニット１２４、メモリ１２６、オーディオインタフェース１２８、およびマイクロフォン１８０を含む。ネットワークインタフェース１２２は、ポイントクラウド圧縮コンピュータ１２０による使用のために、ネットワーク１７０から受信した電子信号および／または光信号を電子形式に変換するためのたとえば、イーサネット（登録商標）アダプタ、トークンリングアダプタなどを含む。一組の処理ユニット１２４は、１つまたは複数の処理チップおよび／またはアセンブリを含む。メモリ１２６は、揮発性メモリ（例えば、ＲＡＭ）および１つまたは複数のＲＯＭなどのような不揮発性メモリの両方、ディスクドライブ、ソリッドステートドライブ等を含む。一組の処理ユニット１２４およびメモリ１２６は、制御回路を形成し、制御回路は、本明細書で説明されるような様々な方法および機能を実行するように構成および配置される。
【００１１】
いくつかの実施形態では、モバイルデバイス１２０の１つまたは複数のコンポーネントは、メモリ１２６に格納された命令を処理するように構成されたプロセッサ（たとえば、処理ユニット１２４）とすることができるか、またはそのプロセッサを含むことができる。図１に示すような命令の例には、入力オーディオ信号マネージャ１３０、振幅比較マネージャ１３６、小振幅フィルタリングマネージャ１４０、大振幅フィルタリングマネージャ１５０、パワー最小化マネージャ１６０、および周期性マネージャ１７０が含まれる。さらに、図１に示すように、メモリ１２６は、そのようなデータを使用する個々のマネージャに関して説明される様々なデータを記憶するように構成される。
【００１２】
入力オーディオ信号マネージャ１３０は、モバイルデバイス１２０から遠く離れた（例えば、ＷｅｂＲＴＣセッションの遠端のパーティの）オーディオソースからネットワークインタフェース１２２を介して入力オーディオ信号データ１３２を受信するように構成される。入力オーディオ信号マネージャ１３０は、オーディオ信号データを受信すると、ネットワーク１９０を介して受信されたオーディオ信号を、例えば２００サンプル／秒以下などのいくらかの周波数でサンプリングするように構成される。さらに、入力オーディオ信号マネージャ１３０は、時間ウィンドウデータ１３４において指定される特定の時間ウィンドウに亘ってオーディオ信号の結果のサンプルを記憶するように構成される。このような時間ウィンドウに亘ってオーディオ信号を記憶することによって、ウィンドウ化されたオーディオ信号が入力オーディオ信号データ１３２として生成される。いくつかの実施形態では、時間ウィンドウ１３４は、例えば２００ミリ秒またはそれ以下の固定時間として指定される。いくつかの実施形態では、時間ウィンドウ１３４は、固定数のサンプル、例えば、１ウィンドウ当たり４０サンプル、またはそれより多く、またはそれより少ないサンプルとして指定される。いくつかの実施形態では、入力オーディオ信号マネージャ１３０は、指定の周期（例えば、２００ミリ秒に１回、またはそれより多いか、または少ない周期）で、ウィンドウ化されたオーディオ信号を更新する。
【００１３】
振幅比較マネージャ１３４は、ウィンドウ化されたオーディオ信号１３２の振幅を振幅比較データ１３８において指定の閾値振幅と比較して、比較結果１４４を生成するように構成される。振幅比較マネージャ１３４は、比較結果１４４に従って小振幅フィルタリングマネージャ１４０または大振幅フィルタリングマネージャ１５０のうちの１つを選択して、ウィンドウ化されたオーディオ信号１３２に対してフィルタリング処理を実行するように構成される。例えば、閾値１３８よりも振幅が小さいことを比較結果１４４が示す場合、振幅比較マネージャ１３４は、小振幅フィルタリングマネージャ１４０を選択するように構成される。この例では、閾値１３８よりも振幅が大きいことを比較結果１４４が示す場合、振幅比較マネージャ１３４は、大振幅フィルタリングマネージャ１５０を選択するように構成される。
【００１４】
いくつかの実施形態では、振幅比較マネージャ１３４は、ウィンドウ化されたオーディオ信号１３２のサンプルの振幅の絶対値の最大値（すなわち、Ｌ∞ノルム）をウィンドウ化されたオーディオ信号１３２の振幅として生成するように構成されている。いくつかの実施形態では、振幅比較マネージャ１３４は、ウィンドウ化されたオーディオ信号１３２のサンプルの振幅の二乗の和（すなわち、Ｌ２ノルム）をウィンドウ化されたオーディオ信号１３２の振幅として生成するように構成されている。
【００１５】
小振幅フィルタリングマネージャ１４０は、小振幅インパルス応答データ１４２を用いてウィンドウ化されたオーディオ信号１３２に対して畳み込み処理を実行するように構成される。いくつかの実施形態では、小振幅インパルス応答データ１４２のサンプル数は、ウィンドウ化されたオーディオ信号１３２のサンプル数に等しい。いくつかの実施形態では、小振幅インパルス応答データ１４２のサンプル数は、ウィンドウ化されたオーディオ信号１３２のサンプル数とは等しくない。そのような実施形態では、小振幅フィルタリングマネージャ１４０は、ウィンドウ化されたオーディオ信号１３２および小振幅インパルス応答データ１４２から最小数のサンプルを使用するように構成される。
【００１６】
大振幅フィルタリングマネージャ１５０は、大振幅インパルス応答データ１５４を用いてウィンドウ化されたオーディオ信号１３２の非線形関数に対して畳み込み処理を実行するように構成される。いくつかの実施形態では、大振幅インパルス応答データ１５４のサンプル数は、ウィンドウ化されたオーディオ信号１３２のサンプル数に等しい。いくつかの実施態様では、大振幅インパルス応答データ１５４のサンプル数は、ウィンドウ化されたオーディオ信号１３２のサンプル数とは等しくない。そのような実施形態では、大振幅フィルタリングマネージャ１５０は、ウィンドウ化されたオーディオ信号１３２および大振幅インパルス応答データ１５０から最小数のサンプルを使用するように構成される。
【００１７】
さらに、大振幅フィルタリングマネージャ１５０は、非線形関数データ１５２に従ってウィンドウ化されたオーディオ信号１３２の各サンプルについて非線形関数評価を実行するように構成される。非線形関数データ１５２は、閾値１３８よりも振幅が大きいことを示す比較結果１４４に応答して、大振幅フィルタリングマネージャ１５０によって実行されるべき非線形関数評価を指定する。例えば、非線形関数データ１５２は、数値インジケータ、テキスト記述子を介してそのような非線形関数を示すことができる。大振幅フィルタリングマネージャ１５０は、そのようなインジケータまたは記述子を解釈し、その解釈に従って非線形関数評価を実行するように構成される。いくつかの実施形態では、非線形関数データ１５２において指定の非線形関数は、ウィンドウ化されたオーディオ信号１３２のサンプルの値の累乗（例えば、サンプルの二乗）の形をとり得る。いくつかの実施形態では、このような非線形関数は、絶対値、絶対値の二乗、またはサンプルの絶対値の任意の累乗の形をとり得る。
【００１８】
パワー最小化マネージャ１６０は、オーディオインタフェース１２８を介してマイクロフォン１８０から受信された入力信号データ１５６に基づいて、小振幅インパルス応答データ１４２または大振幅インパルス応答データ１５４のいずれかを生成するように構成される。いくつかの実施形態では、パワー最小化マネージャ１６０は、残差を入力信号データ１５６と畳み込み出力との間の差として形成するように構成される。畳み込み出力は、複数の未知の重みとウィンドウ化されたオーディオ信号１３２との線形結合である。次に、パワー最小化マネージャ１６０は、パワーに対して、即ち未知の残差信号の値のサンプルの値の二乗和に対して、複数の未知の重みに亘って最小化演算を実行することによって小振幅インパルス応答データ１４２または大振幅インパルス応答データ１５４のいずれかを決定するように構成される。パワー最小化マネージャ１６０が最小化演算から決定する重みは、小振幅インパルス応答データ１４２または大振幅インパルス応答データ１５４のいずれか、および残差データ１６２を生成する。いくつかの実施形態では、パワー最小化マネージャ１６０は、未知の残差の絶対値または未知の残差の絶対値の累乗に対して最小化演算を実行して重みを生成するように構成される。
【００１９】
周期性マネージャ１７０は、周期性データ１７２において指定される期間に従って周期的に小振幅インパルス応答データ１４２または大振幅インパルス応答データ１５４をパワー最小化マネージャ１６０に更新させるように構成される。周期性データ１７２において指定される期間は、絶対時間間隔（例えば、１秒またはそれ以下）の単位、または時間ウィンドウの数（例えば、１以上の時間ウィンドウ）の単位で表現することができる。
【００２０】
ネットワーク１９０は、モバイルデバイス１２０と任意のリモートオーディオソースとの間のネットワーク接続を提供するように構成され、かつ配置される。ネットワーク１９０は、インターネットまたは他のネットワークを介した通信に共通に使用される様々なプロトコルおよびトポロジのいずれかを実装し得る。さらに、ネットワーク１９０は、そのような通信で使用される様々なコンポーネント（例えば、ケーブル、スイッチ／ルータ、ゲートウェイ／ブリッジなど）を含み得る。
【００２１】
いくつかの実施形態では、メモリ１２６は、ランダムアクセスメモリ、ディスクドライブメモリ、フラッシュメモリ、および／またはその他などの任意のタイプのメモリとすることができる。いくつかの実施形態では、メモリ１２６は、ユーザデバイス１２０のコンポーネントに関連付けられた２つ以上のメモリコンポーネント（例えば、２つ以上のＲＡＭコンポーネントまたはディスクドライブメモリ）として実施することができる。いくつかの実施形態では、メモリ１２６はデータベースメモリとすることができる。いくつかの実施形態では、メモリ１２６は、非ローカルメモリとすることができるか、または非ローカルメモリを含むことができる。例えば、メモリ１２６は、複数のデバイス（図示せず）によって共有されるメモリとすることができるか、またはそのメモリを含むことができる。いくつかの実施形態では、メモリ１２６は、ネットワーク内のサーバデバイス（図示せず）に関連付けることができ、かつユーザデバイス１２０のコンポーネントにサービスを提供するように構成することができる。
【００２２】
モバイルデバイス１２０のコンポーネント（例えば、モジュール、処理ユニット１２４）は、１つまたは複数のタイプのハードウェア、ソフトウェア、ファームウェア、オペレーティングシステム、ランタイムライブラリ、および／またはその他を含むことができる１つまたは複数のプラットフォーム（たとえば、１つまたは複数の類似または異なるプラットフォーム）に基づいて動作するように構成することができる。いくつかの実施形態では、モバイルデバイス１２０のコンポーネントは、デバイスのクラスタ（例えば、サーバファーム）内で動作するように構成することができる。そのような実施形態では、モバイルデバイス１２０のコンポーネントの機能性および処理を、デバイスのクラスタのいくつかのデバイスに分散させることができる。
【００２３】
モバイルデバイス１２０のコンポーネントは、属性を処理するように構成された任意のタイプのハードウェアおよび／またはソフトウェアとすることができるか、またはそれを含むことができる。いくつかの実施形態では、図１におけるモバイルデバイス１２０のコンポーネントに示されたコンポーネントの１つまたは複数の部分は、ハードウェアベースのモジュール（例えば、デジタル信号プロセッサ（ＤＳＰ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、メモリ）、ファームウェアモジュール、および／またはソフトウェアベースのモジュール（例えば、コンピュータコードのモジュール、一組のコンピュータで実行可能なコンピュータ可読命令）とすることができるか、またはそれらを含むことができる。例えば、いくつかの実施形態では、モバイルデバイス１２０のコンポーネントの１つまたは複数の部分は、少なくとも１つのプロセッサ（図示せず）による実行のために構成されたソフトウェアモジュールとすることができるか、またはそれを含むことができる。いくつかの実施形態では、コンポーネントの機能は、図１に示されたものとは異なるモジュールおよび／または異なるコンポーネントに含まれ得る。
【００２４】
図示されていないが、いくつかの実施形態では、モバイルデバイス１２０のコンポーネント（またはその一部）は、例えばデータセンタ（例えば、クラウドコンピューティング環境）、コンピュータシステム、１つまたは複数のサーバ／ホストデバイス、および／またはその他の内部で動作するように構成することができる。いくつかの実施形態では、モバイルデバイス１２０のコンポーネント（またはその一部）は、ネットワーク内で動作するように構成することができる。したがって、モバイルデバイス１２０のコンポーネント（またはその一部）は、１つまたは複数のデバイスおよび／または１つまたは複数のサーバデバイスを含むことができる様々なタイプのネットワーク環境内で機能するように構成することができる。例えば、ネットワークは、ローカルエリアネットワーク（ＬＡＮ）、ワイドエリアネットワーク（ＷＡＮ）および／またはその他とすることができるか、それを含むことができる。ネットワークは、無線ネットワークおよび／または例えば、ゲートウェイデバイス、ブリッジ、スイッチ、および／またはその他を使用して実施された無線ネットワークとすることができるか、またはそれを含むことができる。ネットワークは、１つまたは複数のセグメントを含むことができ、かつ／またはインターネットプロトコル（ＩＰ）および／またはプロプライエタリプロトコルなどの様々なプロトコルに基づく一部を有することができる。ネットワークは、インターネットの少なくとも一部を含むことができる。
【００２５】
いくつかの実施形態では、モバイルデバイス１２０の１つまたは複数のコンポーネントは、メモリに格納された命令を処理するように構成されたプロセッサとすることができるか、またはそれを含むことができる。例えば、入力オーディオ信号マネージャ１３０（および／またはその一部）、振幅比較マネージャ１３６（および／またはその一部）、小振幅フィルタリングマネージャ１４０（および／またはその一部）、大振幅フィルタリングマネージャ１５０（および／またはその一部）、パワー最小化マネージャ１６０（および／またはその一部）、および周期性マネージャ１７０（および／またはその一部）は、１つまたは複数の機能を実施するためのプロセスに関連する命令を実行するように構成されたプロセッサおよびメモリの組み合わせとすることができる。
【００２６】
図２は、エコーキャンセルを実行する例示的な方法２００を示すフローチャートである。方法２００は、モバイルデバイス１２０のメモリ１２６に存在し、かつ一組の処理ユニット１２４によって実行される、図１に関連して説明したソフトウェア構成によって実行することができる。
【００２７】
２０２において、モバイルデバイス１２０は、音響エコーを低減するようにモバイルデバイス１２０が構成されているオーディオシステムから遠く離れたソース位置からのオーディオ信号を受信する。いくつかの構成では、例えば図１に示されているように、オーディオシステムは、モバイルデバイス１２０に含まれる。いくつかの構成では、オーディオ信号は、時間ウィンドウに亘るオーディオ信号の等間隔サンプルの離散数（a discrete number of evenly-spaced samples）として表現される。
【００２８】
２０４において、モバイルデバイス１２０は、オーディオ信号の振幅と閾値振幅との比較処理を実行して、比較結果、例えば比較結果１４４を生成する。いくつかの構成では、振幅比較マネージャ１３６は、Ｌ∞ノルム、例えば、時間ウィンドウに亘るサンプルの絶対値の最大値に従ってオーディオ信号の振幅を計算する。いくつかの構成では、振幅比較マネージャ１３６は、Ｌ２ノルム、例えば、時間ウィンドウに亘るサンプルの絶対値の二乗和に従ってオーディオ信号の振幅を計算する。
【００２９】
２０６において、オーディオ信号の振幅が閾値振幅よりも小さいことを示す比較結果に応答して、モバイルデバイス１２０は、オーディオシステムのマイクロフォンに入力される入力信号に対して第１のフィルタリング処理を実行して、第１のフィルタリングされた入力信号を生成する。いくつかの構成では、モバイルデバイス１２０は、小振幅フィルタリングマネージャ１４０と連携して、ウィンドウ化されたオーディオ信号（例えば、オーディオ信号データ１３２）および小振幅インパルス応答データ１４２に対して畳み込み処理を実行する。いくつかの構成では、後に生成される第１のフィルタリングされた入力信号は、入力信号と畳み込み処理の出力との間の差に等しい残差信号である。２０８において、モバイルデバイス１２０は、第１のフィルタリングされた入力信号をソース位置まで送信する。
【００３０】
２１０において、オーディオ信号の振幅が閾値振幅よりも大きいことを示す比較結果に応答して、モバイルデバイス１２０は、オーディオシステムのマイクロフォンに入力される入力信号に対して第２のフィルタリング処理を実行して、第２のフィルタリングされた入力信号を生成する。いくつかの構成では、モバイルデバイス１２０は、大振幅フィルタリングマネージャ１５０と連携して、ウィンドウ化されたオーディオ信号の非線形関数（例えば、オーディオ信号データ１３２）および大振幅インパルス応答データ１５２に対して畳み込み処理を実行する。いくつかの構成では、後に生成される第２のフィルタリングされた入力信号は、入力信号と畳み込み処理の出力との間の差に等しい残差信号である。２１２において、モバイルデバイス１２０は、第２のフィルタリングされた入力信号をソース位置まで送信する。
【００３１】
図３は、例示的なオーディオシステム３００を示す概略図である。この図に示すように、オーディオ信号ｘ（ｎ）のサンプルは、瞬時に遠隔地３１０からオーディオシステム３００に到着する。オーディオシステム３００内の回路は、オーディオ信号ｘ（ｎ）をユーザ３０６によって聴取されるオーディオシステム３００のスピーカ３０２に送る。
【００３２】
音響エコーは、入力信号ｙ（ｎ）を形成するためにユーザ３０６からの音声入力に加えて、スピーカ３０２からの出力がマイクロフォン３０４によってピックアップされるときに生じる。オーディオシステム３００の回路は、遠隔地３１０に戻る出力信号ｅ（ｎ）を提供するように構成され、それはユーザがマイクロフォン３０６に提供したものに類似し、スピーカ３０２からの出力をフィルタリングする。
【００３３】
音響エコーの固有の非線形性（例えば、モバイルデバイス、例えばモバイルデバイス１２０におけるスピーカ３０２およびマイクロフォン３０６の近接性および品質による）のために、オーディオシステム３００内の回路は、入力オーディオ信号ｘ（ｎ）の振幅に依存するフィルタリング処理を実行するように構成される。図３に示されるように、オーディオシステム３００は、Ｌ∞ノルム、即ち、
【００３４】
【数１】
2019512947.tif 000003
【００３５】
に従って入力オーディオ信号ｘ（ｎ）の振幅を計算する。式中、ｘ（ｉ）は、ｎサンプルの時間ウィンドウ内のオーディオ信号のｉ番目のサンプルである。
ウィンドウ化された信号ｘ（ｎ）が受信された直後に、入力オーディオ信号||ｘ||∞の振幅がある瞬間に生成されると、オーディオシステム３００は、スイッチ３２０でこの振幅を閾値Ｔと比較する。次いで、オーディオシステム３００は、||ｘ||∞＜Ｔのときの回路の小振幅ブランチ３４０と、||ｘ||∞＞Ｔのときの回路の大振幅ブランチ３５０とのうちの１つに従ってフィルタリング処理を実行する。
【００３６】
小振幅ブランチ３４０は、線形フィルタリング処理を実行することを含む。この線形フィルタリング処理は、入力信号ｙ（ｎ）からウィンドウ化されたオーディオ信号ｘ（ｎ）とインパルス応答関数ｈ２（ｎ）との間の畳み込みを減算して残差信号ｅ２（ｎ）を形成することを含む。例えば、この残差信号は、数学的形式：
【００３７】
【数２】
2019512947.tif 000004
【００３８】
を有し得る。
大振幅フィルタリング処理３５０は、非線形フィルタリング処理を実行することを含む。この非線形フィルタリング処理は、入力信号ｙ（ｎ）からウィンドウ化されたオーディオ信号の非線形関数、即ちｇ１［ｘ（ｎ）］とインパルス応答関数ｈ１（ｎ）との間の畳み込みを減算して残差信号ｅ１（ｎ）を形成することを含む。いくつかの実施形態では、非線形関数はｇ１（ｚ）＝ｚ２の形をとる。例えば、この残差信号は、数学的形式：
【００３９】
【数３】
2019512947.tif 000005
【００４０】
を有し得る。
オーディオシステム３００は、個々の残差信号ｅ１（ｎ）及びｅ２（ｎ）のパワーを最小化することによってインパルス応答関数ｈ１（ｎ）及びｈ２（ｎ）の各々を導出する。例えば、オーディオシステムは、式：
【００４１】
【数４】
2019512947.tif 000006
【００４２】
で与えられる残差信号パワーＰが最小となるように数ｃ１、ｃ２、．．．ｃｎを発見することにより残差信号ｅ２（ｎ）に対してそのような最小化を実行し得る。いくつかの実施形態では、インパルス応答関数は、加重高調波の和（weighted harmonic sum）、すなわち、係数倍の高調波（例えば、正弦または余弦の項）の合計の形をとる。各高調波は基本周波数の倍数である。そのような実施形態では、オーディオシステム２００の回路は、フーリエ解析の標準的な技術を適用して未知の重みを生成する。
【００４３】
同様に、大振幅ブランチ３５０におけるパワーの表現は、
【００４４】
【数５】
2019512947.tif 000007
【００４５】
である。
いくつかの実施形態では、オーディオシステム３００は、例えば一定の固定された特定の期間に従ってインパルス応答関数ｈ１およびｈ２を周期的に更新する。いくつかの実施形態では、期間は時間ウィンドウのサイズに等しい。
【００４６】
いくつかの実施形態では、小振幅ブランチ３５０は、畳み込みの前にウィンドウ化されたオーディオ信号に非線形関数ｇ２を適用することを含み、ここでｇ２はｇ１とは異なる。
【００４７】
いくつかの実施態様では、スイッチ３２０に３つ以上のブランチが存在してもよい。そのような場合、複数の閾値、すなわち、ｋ個のブランチが存在すると、ｋ−１個の閾値Ｔ１、Ｔ２、．．．、Ｔｋ−１が存在する。このように、振幅がＴ１よりも小さい場合、オーディオシステムは、第１のブランチに従って第１のフィルタ（即ち、第１の非線形関数および第１のインパルス応答関数）を提供し、振幅がＴ１よりも大きくＴ２よりも小さい場合、オーディオシステムは第２のブランチに従って第２のフィルタを提供する。
【００４８】
図４は、本明細書において説明する技術に関し使用され得る一般的なコンピュータデバイス４００及び一般的なモバイル・コンピュータデバイス４５０の一例を図示している。
図４に示すように、コンピューティングデバイス４００は、ラップトップ、デスクトップ、ワークステーション、個人用情報端末、サーバ、ブレードサーバ、メインフレーム、及び他の適切なコンピュータ等、様々な形態のデジタル・コンピュータを表すよう意図されている。コンピューティングデバイス４５０は、個人用情報端末、携帯電話、スマートフォン、及び他の同様のコンピューティングデバイス等、様々な形態のモバイルデバイスを表すよう意図されている。本明細書において示しているコンポーネントと、コンポーネント同士の接続及び関係と、コンポーネントの機能とは、例示としてのみ意図されており、本明細書において説明し、及び／又は特許請求の範囲に記載した発明の実施形態を限定するようには意図されていない。
【００４９】
コンピューティングデバイス４００は、プロセッサ４０２と、メモリ４０４と、記憶デバイス４０６と、メモリ４０４及び高速拡張ポート４１０に接続している高速インタフェース４０８と、低速バス４１４及び記憶デバイス４０６に接続している低速インタフェース４１２とを備える。コンポーネント４０２，４０４，４０６，４０８，４１０，４１２の各々は、様々なバスを用いて相互接続されており、共通のマザーボードに取り付けられていることもあれば、適切な場合には他の態様により取り付けられていることもある。プロセッサ４０２は、高速インタフェース４０８に結合されているディスプレイ４１６等の外部の入力デバイス又は出力デバイス上においてＧＵＩ用のグラフィカル情報を表示するためのメモリ４０４又は記憶デバイス４０６に記憶されている命令を含む、コンピューティングデバイス４００内における実行のための命令を処理できる。他の実施形態では、複数のプロセッサ及び／又は複数のバスは、適切な場合、複数のメモリ及びある種のメモリとともに使用されてもよい。さらに、複数のコンピューティングデバイス４００が互いに接続されて、各々のデバイスが必要な動作のうちの部分を提供してもよい（例えば、サーババンク、ブレードサーバのグループ、又はマルチプロセッサシステム）。
【００５０】
メモリ４０４は、コンピューティングデバイス４００内において情報を記憶する。一実施形態では、メモリ４０４は、１つ以上の揮発性メモリユニットである。別の実施形態では、メモリ４０４は、１つ以上の不揮発性メモリユニットである。さらに、メモリ４０４は、磁気ディスク又は光学ディスク等、別の形態のコンピュータ可読媒体であってもよい。
【００５１】
記憶デバイス４０６は、コンピューティングデバイス４００のために大容量の記憶を提供できる。一実施形態では、記憶デバイス４０６は、フロッピー（登録商標）ディスクデバイス、ハードディスクデバイス、光ディスクデバイス、テープデバイス、フラッシュメモリ若しくは他の同様のソリッド・ステート・メモリ・デバイス、又はデバイスからなるアレイ（ストレージエリアネットワーク又は他の構成のデバイスを含む）等、コンピュータ可読媒体であってもよく、また、そのコンピュータ可読媒体を含んでいてもよい。コンピュータプログラム製品は、情報キャリアに有形に具現化される場合がある。さらに、コンピュータプログラム製品は、実行されたときに、上述した方法等の１つ以上の方法を実行する命令を含んでいてもよい。情報キャリアは、メモリ４０４、記憶デバイス４０６、又はプロセッサ４０２上のメモリ等、コンピュータ可読媒体又は機械可読媒体である。
【００５２】
高速制御部４０８は、コンピューティングデバイス４００のために帯域集約の動作を管理する一方、低速制御部４１２は、比較的低い帯域集約の動作を管理する。機能のそのような割り当ては、例示にすぎない。一実施形態では、高速制御部４０８は、メモリ４０４と、ディスプレイ４１６（例えば、グラフィクスのプロセッサ又はアクセラレータを通じて）と、様々な拡張カード（図示せず）を受容し得る高速拡張ポート４１０とに結合されている。その実施形態では、低速制御部４１２は、記憶デバイス４０６と低速拡張ポート４１４に結合されている。様々な通信ポート（例えば、ＵＳＢ、Ｂｌｕｅｔｏｏｔｈ（登録商標）、イーサネット（登録商標）、無線イーサネット）を含み得る低速拡張ポートは、キーボード、ポインティングデバイス、スキャナ等、１つ以上の入力デバイス若しくは出力デバイス、又はスイッチ若しくはルータ等のネットワーキングデバイス（例えば、ネットワークアダプタを通じて）に結合されていてもよい。
【００５３】
コンピューティングデバイス４００は、図に示すように、多くの異なる形態において実装されてよい。例えばそれは、スタンダードサーバ４２０として実装されたり、そのようなサーバのグループにおいて複数回にわたって実装されたりする場合がある。さらにそれは、ラックサーバシステム４２４の一部として実装されてもよい。さらにそれは、ラップトップコンピュータ４２２等のパーソナルコンピュータにおいて実装されてもよい。これに代えて、コンピューティングデバイス４００のコンポーネントは、デバイス４５０等のモバイルデバイス（図示せず）における他のコンポーネントと組み合わされてもよい。そのようなデバイスの各々は、コンピューティングデバイス４００，４５０のうちの１つ以上を含んでいてもよく、システム全体が、互いに通信する複数のコンピューティングデバイス４００，４５０から構成されてもよい。
【００５４】
コンピューティングデバイス４５０は、プロセッサ４５２と、メモリ４６４と、ディスプレイ４５４等の入力デバイス又は出力デバイスと、通信インタフェース４６６と、送受信機４６８とをコンポーネントとして特に備える。デバイス４５０は、追加の記憶部を提供するために、マイクロドライブ又は他のデバイス等の記憶デバイスをさらに備えていてもよい。コンポーネント４５０，４５２，４６４，４５４，４６６，４６８の各々は、様々なバスを用いて相互接続されており、コンポーネントのうちのいくつかは、共通のマザーボードに取り付けられていることもあれば、適切な場合には他の態様により取り付けられていることもある。
【００５５】
プロセッサ４５２は、コンピューティングデバイス４５０内において、メモリ４６４に記憶されている命令を含む命令を実行できる。プロセッサは、別個の複数のアナログプロセッサ及びデジタルプロセッサを含むチップからなるチップセットとして実装されてもよい。プロセッサは、例えば、ユーザインタフェースの制御等のデバイス４５０の他のコンポーネントの協調と、デバイス４５０によって動作させられるアプリケーションと、デバイス４５０による無線通信とを可能にする。
【００５６】
プロセッサ４５２は、ディスプレイ４５４に結合されている制御インタフェース４５８及びディスプレイインタフェース４５６を通じて使用者と通信し得る。ディスプレイ４５４は、例えば、ＴＦＴ  ＬＣＤ（薄膜トランジスタ液晶ディスプレイ）若しくはＯＬＥＤ（有機発光ダイオード）ディスプレイ、又は他の適切なディスプレイ技術であってよい。ディスプレイインタフェース４５６は、グラフィカル情報及び他の情報を使用者に提示するためにディスプレイ４５４を動作させるための適切な回路を備えることができる。制御インタフェース４５８は、使用者からコマンドを受信し、プロセッサ４５２に渡すためにそのコマンドを変換できる。さらに、外部インタフェース４６２は、他のデバイスとのデバイス４５０の近領域通信を可能にするように、プロセッサ４５２と通信していてもよい。外部インタフェース４６２は、例えば、一部の実施形態における有線通信又は他の実施形態における無線通信を可能にする場合があり、さらに、複数のインタフェースが用いられてもよい。
【００５７】
メモリ４６４は、コンピューティングデバイス４５０内において、情報を記憶する。メモリ４６４は、１つ以上のコンピュータ可読媒体と、１つ以上の揮発性メモリユニットと、１つ以上の不揮発性メモリユニットと、のうちの１つ以上として実装される場合がある。さらに、拡張メモリ４７４が提供されるとともに、例えば、ＳＩＭＭ（シングルインラインメモリモジュール）カードインタフェースを含み得る拡張インタフェース４７２を通じてデバイス４５０に接続されてもよい。そのような拡張メモリ４７４によって、デバイス４５０のための余分な記憶スペースが提供される場合もあれば、また、デバイス４５０のためのアプリケーション又は他の情報が記憶される場合もある。具体的には、拡張メモリ４７４は、上述した処理を実行し、又は補完するための命令を含んでいてもよく、さらに、セキュア情報も含んでいる場合がある。したがって、例えば、拡張メモリ４７４は、デバイス４５０のためのセキュリティモジュールとして提供される場合もあり、デバイス４５０のセキュアな使用を可能にする命令に関しプログラミングされていてもよい。さらに、セキュアアプリケーションは、ハッキング不可能な態様により識別情報をＳＩＭＭカード上に配置すること等、追加の情報とともにＳＩＭＭカードを介して提供される場合がある。
【００５８】
メモリは、例えば、下記のように、フラッシュメモリ及び／又はＮＶＲＡＭメモリを含み得る。一実施形態では、コンピュータプログラム製品は、情報キャリアに有形に具現化される。コンピュータプログラム製品は、実行されたときに、上述した方法等の１つ以上の方法を実行する命令を含む。情報キャリアは、例えば、送受信機４６８又は外部インタフェース４６２によって受信される、メモリ４６４、拡張メモリ４７４、又はプロセッサ４５２上のメモリ等のコンピュータ可読媒体又は機械可読媒体である。
【００５９】
デバイス４５０は、必要な場合にはデジタル信号処理回路を含み得る通信インタフェース４６６を通じて無線により通信できる。通信インタフェース４６６は、特に、ＧＳＭ（登録商標）ボイスコール、ＳＭＳ、ＥＭＳ、又はＭＭＳのメッセージング、ＣＤＭＡ、ＴＤＭＡ、ＰＤＣ、ＷＣＤＭＡ（登録商標）、ＣＤＭＡ２０００、又はＧＰＲＳ等、様々なモード又はプロトコルの下、通信を可能にし得る。そのような通信は、例えば、無線周波数の送受信機４６８を通じて行われてもよい。さらに、狭域通信は、Ｂｌｕｅｔｏｏｔｈ、ＷｉＦｉ（登録商標）、又は他のそのような送受信機（図示せず）を用いること等によって、行われてもよい。さらに、ＧＰＳ（全地球測位システム）受信機モジュール４７０は、航行及び場所に関係する追加の無線データをデバイス４５０に提供でき、その無線データは、適切な場合には、デバイス４５０上において動作するアプリケーションによって使用されてもよい。
【００６０】
さらに、デバイス４５０は、使用者から音声情報を受信し、これを使用に適したデジタル情報に変換できる音声コーデック４６０を用いて可聴の通信を行ってもよい。音声コーデック４６０は、例えば、デバイス４５０のハンドセットにおいて、スピーカを通じること等により使用者に対して可聴音を同様に生成してもよい。そのような音は、音声通話からの音を含む場合もあれば、記録された音（例えば、ボイスメッセージ、音楽ファイル等）を含む場合もあれば、また、デバイス４５０上において動作するアプリケーションによって生成される音を含む場合もある。
【００６１】
コンピューティングデバイス４５０は、図に示すように、多くの異なる形態により実装されてよい。例えば、それは、携帯電話４８０として実装されてもよい。さらに、それは、スマートフォン４８２、個人用情報端末、又は他の同様のモバイルデバイスの一部として実装されてもよい。
【００６２】
本明細書に記載されたシステムおよび技術の様々な実施形態は、デジタル電子回路、集積回路、特別に設計されたＡＳＩＣ（特定用途向け集積回路）、コンピュータハードウェア、ファームウェア、ソフトウェア、および／またはそれらの組み合わせで実現することができる。これらの様々な実施形態は、データおよび命令を受信し、かつデータおよび命令を記憶システム、少なくとも１つの入力デバイス、および少なくとも１つの出力デバイスに送信するように結合された少なくとも１つのプログラム可能なプロセッサを含むプログラマブルシステム上で実行可能および／または解釈可能な１つまたは複数のコンピュータプログラムにおける実施を含むことができる。
【００６３】
これらのコンピュータプログラム（プログラム、ソフトウェア、ソフトウェアアプリケーションまたはコードとしても知られている）は、プログラム可能なプロセッサ用のマシン命令を含み、高度な手続き型および／またはオブジェクト指向プログラミング言語および／またはアセンブリ言語／機械語で実施することができる。本明細書で使用される「機械可読媒体」という用語は、機械可読信号として機械命令を受信する機械可読媒体を含むプログラマブルプロセッサに機械命令および／またはデータを提供するために使用される任意のコンピュータプログラム製品、装置および／またはデバイス（例えば、磁気ディスク、光ディスク、メモリ、プログラマブル論理デバイス（ＰＬＤ））を指す。「機械可読信号」という用語は、機械命令および／またはデータをプログラマブルプロセッサに提供するために使用される任意の信号を指す。
【００６４】
使用者との対話を提供するために、本明細書に記載されたシステムおよび技術は、情報を使用者に表示するためのディスプレイデバイス（例えば、ＣＲＴ（陰極線管）又はＬＣＤ（液晶ディスプレイ）モニタ）と、使用者がそれによって入力をコンピュータに提供できるキーボード及びポインティングデバイス（例えば、マウス又はトラックボール）と、を有するコンピュータ上において実装されてもよい。他の種類のデバイスもまた、使用者との対話を提供するために使用されてもよく、例えば、使用者に提供されるフィードバックは、任意の形態の感覚フィードバック（例えば、視覚フィードバック、聴覚フィードバック、又は触知フィードバック）であってよく、使用者からの入力は、音響入力、音声入力、又は触知入力を含む任意の形態により受信されてよい。
【００６５】
本明細書に記載されたシステムおよび技術は、バックエンドコンポーネント（例えば、データサーバとして）を含むコンピューティングシステム、ミドルウェアコンポーネント（例えば、アプリケーションサーバ）を含むコンピューティングシステム、フロントエンドコンポーネント（例えば、ユーザが本明細書に記載されたシステムおよび技術の実施形態と対話可能なグラフィカルユーザインタフェース又はウェブブラウザを有するクライアントコンピュータ）を含むコンピューティングシステム、又はそのようなバックエンドコンポーネント、ミドルウェアコンポーネント、若しくはフロントエンドコンポーネントの任意の組み合わせにより実装される場合がある。システムのコンポーネントは、デジタルデータ通信の任意の形態又は媒体（例えば、通信ネットワーク）によって相互接続されてよい。通信ネットワークの例は、ローカルエリアネットワーク（「ＬＡＮ」）、ワイドエリアネットワーク（「ＷＡＮ」）、およびインターネットを含む。
【００６６】
コンピューティングシステムは、クライアントおよびサーバを含むことができる。クライアントおよびサーバは、一般に、互いに遠く離れており、典型的には、通信ネットワークを介してインタラクトする。クライアントとサーバとの関係は、個々のコンピュータ上で動作し、かつ互いにクライアント−サーバ関係を有するコンピュータプログラムにより生じる。
【００６７】
いくつかの実施形態について説明した。それにもかかわらず、本明細書の技術思想および範囲から逸脱することなく様々な変更がなされ得ることが理解されるであろう。
また、ある要素が他の要素の上に存在し、接続されている、電気的に接続されている、結合している、または電気的に結合していると言及されている場合、それは他の要素の上に直接に存在し、接続され又は結合されてもよく、又は１つ以上の介在要素が存在してもよい。対照的に、ある要素が他の要素に上に直接に存在し、他の要素に直接接続されているか直接結合されている場合、介在要素は存在しない。上に直接に存在し、直接的に接続された、または直接的に結合されたという用語は、詳細な説明を通して使用されないかもしれないが、上に直接に存在し、直接的に接続されているかまたは直接的に結合されているとして示されている要素は、そのように言及することができる。本願の特許請求の範囲は、本明細書に記載され又は図面に示される例示的な関係を暗示するように修正されてもよい。
【００６８】
記載された実施形態の特定の特徴は、本明細書に記載されているように例示されているが、当業者には多くの修正、置換、変更、均等物が生じるであろう。したがって、添付の特許請求の範囲は、そのような修正および変更の全てを実施の範囲内に包含することを意図していることを理解されたい。それらは限定ではなく単なる例として提示されたものであり、形態および細部の様々な変更がなされ得ることを理解されたい。相互排他的な組み合わせを除いて、本明細書に記載の装置および／または方法の任意の部分は、任意の組み合わせで組み合わせることができる。本明細書で説明される実施形態は、説明された異なる実施形態の機能、構成要素、および／または特徴の様々な組合せおよび／またはサブコンビネーションを含むことができる。
【００６９】
さらなる実施形態は、以下の実施例に要約される。
実施例１：  スピーカおよびマイクロフォンを含むオーディオシステムにおける音響エコーを低減するように構成された処理回路が、前記オーディオシステムから離れたソース位置からのオーディオ信号を前記オーディオシステムの前記スピーカにおいて受信するステップと、前記処理回路が、前記オーディオ信号の振幅と閾値振幅との比較処理を実行して比較結果を生成するステップと、前記オーディオ信号の振幅が前記閾値振幅よりも小さいことを示す比較結果に応答して、前記処理回路が、前記オーディオシステムの前記マイクロフォンへの入力信号に対して第１のフィルタリング処理を実行して、第１のフィルタリングされた入力信号を生成するステップと、前記処理回路が、前記第１のフィルタリングされた入力信号を前記ソース位置まで送信するステップと、前記オーディオ信号の振幅が前記閾値振幅よりも大きいことを示す比較結果に応答して、前記処理回路が、前記オーディオシステムの前記マイクロフォンへの入力信号に対して第２のフィルタリング処理を実行して、前記第１のフィルタリングされた入力信号とは異なる第２のフィルタリングされた入力信号を生成するステップと、前記処理回路が、前記第２のフィルタリングされた入力信号を前記ソース位置まで送信するステップとを含む、方法。
【００７０】
実施例２：  前記第１のフィルタリング処理の実行は、指定の時間ウィンドウに亘って前記オーディオ信号をサンプリングして、ウィンドウ化されたオーディオ信号を生成することと、前記マイクロフォンに入力される前記入力信号に基づいて第１のインパルス応答関数を生成することと、前記ウィンドウ化されたオーディオ信号と前記第１のインパルス応答関数との畳み込みをして、第１のフィルタリングされた入力信号を生成することとを含む、実施例１に記載の方法。
【００７１】
実施例３：  前記マイクロフォンに入力される前記入力信号に基づく前記第１のインパルス応答関数の生成は、残差信号のパワーを最適化する汎用的なインパルス応答関数を前記第１のインパルス応答関数として生成することを含み、前記残差信号は、前記マイクロフォンに入力される前記入力信号と前記ウィンドウ化されたオーディオ信号および前記汎用的なインパルス応答関数の畳み込みとの間の差に等しく、前記第１のフィルタリングされた入力信号の前記ソース位置への送信は、パワーが最適化された残差信号を前記第１のフィルタリングされた入力信号として送信することを含み、前記パワーが最適化された残差信号は、前記マイクロフォンに入力される前記入力信号と前記ウィンドウ化されたオーディオ信号および前記第１のインパルス応答関数の畳み込みとの間の差に等しい、実施例２に記載の方法。
【００７２】
実施例４：  前記第１のインパルス応答関数は複数の高調波の加重和（weighted sum of harmonics）であり、各高調波は基本周波数の倍数に等しい周波数を有する、実施例２または３に記載の方法。
【００７３】
実施例５：  前記第１のフィルタリング処理の実行は、前記第１のインパルス応答関数の生成後の指定時間後に、別の第１のインパルス応答関数を生成することをさらに含む、実施例２乃至４のいずれか１つに記載の方法。
【００７４】
実施例６：  前記ウィンドウ化されたオーディオ信号は、前記オーディオ信号の複数のサンプルを含み、前記複数のサンプルの各々は、前記指定の時間ウィンドウ内に生じる時間における前記オーディオ信号の値であり、前記オーディオ信号の振幅と前記閾値振幅との比較処理の実行は、前記オーディオ信号の複数のサンプルの各々の絶対値を生成して、複数の絶対値を生成することと、前記複数の絶対値のうち最大のものを前記オーディオ信号の振幅として生成することとを含む、実施例２乃至５のいずれか１つに記載の方法。
【００７５】
実施例７：  前記第２のフィルタリング処理の実行は、前記ウィンドウ化されたオーディオ信号の非線形関数を生成することと、前記マイクロフォンに入力される前記入力信号に基づいて第２のインパルス応答関数を生成することと、（ｉ）前記ウィンドウ化されたオーディオ信号の非線形関数と（ｉｉ）前記第１のインパルス応答関数との畳み込みをして、第１のフィルタリングされた入力信号を生成することとを含む、実施例１乃至６のいずれか１つに記載の方法。
【００７６】
実施例８：  前記ウィンドウ化されたオーディオ信号の非線形関数の生成は、前記ウィンドウ化されたオーディオ信号の振幅を二乗することを含む、実施例７に記載の方法。
実施例９：  前記マイクロフォンに入力される入力信号に基づく前記第２のインパルス応答関数の生成は、残差信号のパワーを最適化する汎用的なインパルス応答関数を前記第２のインパルス応答関数として生成することを含み、前記残差信号は、前記マイクロフォンに入力される前記入力信号と前記ウィンドウ化されたオーディオ信号の非線形関数および前記汎用的なインパルス応答関数の畳み込みとの間の差に等しく、前記第２のフィルタリングされた入力信号の前記ソース位置への送信は、パワーが最適化された残差信号を前記第２のフィルタリングされた入力信号として送信することを含み、前記パワーが最適化された残差信号は、前記マイクロフォンに入力される前記入力信号と前記ウィンドウ化されたオーディオ信号の非線形関数および前記第２のインパルス応答関数の畳み込みとの間の差に等しい、実施例７または８に記載の方法。
【００７７】
実施例１０：  前記第２のフィルタリング処理の実行は、前記第２のインパルス応答関数の生成後の指定時間後に、別の第２のインパルス応答関数を生成することをさらに含む、実施例６乃至９のいずれか１つに記載の方法。
【００７８】
実施例１１：  非一時的な記憶媒体を備えるコンピュータプログラム製品であって、前記コンピュータプログラム製品はコードを含み、前記コードは、スピーカおよびマイクロフォンを含むオーディオシステムにおける音響エコーを低減するように構成された処理回路により実行されたときに、前記オーディオシステムから離れたソース位置からのオーディオ信号を前記オーディオシステムの前記スピーカにおいて受信するステップと、前記オーディオ信号の振幅と閾値振幅との比較処理を実行して比較結果を生成するステップと、前記オーディオ信号の振幅が前記閾値振幅よりも小さいことを示す比較結果に応答して、前記オーディオシステムの前記マイクロフォンへの入力信号に対して第１のフィルタリング処理を実行して、第１のフィルタリングされた入力信号を生成するステップと、前記第１のフィルタリングされた入力信号を前記ソース位置まで送信するステップと、前記オーディオ信号の振幅が前記閾値振幅よりも大きいことを示す比較結果に応答して、前記オーディオシステムの前記マイクロフォンへの入力信号に対して第２のフィルタリング処理を実行して、前記第１のフィルタリングされた入力信号とは異なる第２のフィルタリングされた入力信号を生成するステップと、前記第２のフィルタリングされた入力信号を前記ソース位置まで送信するステップとを含む方法を前記処理回路に実行させる、コンピュータプログラム製品。
【００７９】
実施例１２：  前記第１のフィルタリング処理の実行は、指定の時間ウィンドウに亘って前記オーディオ信号をサンプリングして、ウィンドウ化されたオーディオ信号を生成することと、前記マイクロフォンに入力される前記入力信号に基づいて第１のインパルス応答関数を生成することと、前記ウィンドウ化されたオーディオ信号と前記第１のインパルス応答関数との畳み込みをして、第１のフィルタリングされた入力信号を生成することとを含む、実施例１１に記載のコンピュータプログラム製品。
【００８０】
実施例１３：  前記マイクロフォンに入力される前記入力信号に基づく前記第１のインパルス応答関数の生成は、残差信号のパワーを最適化するインパルス応答関数を前記第１のインパルス応答関数として生成することを含み、前記残差信号は、前記マイクロフォンに入力される前記入力信号と前記ウィンドウ化されたオーディオ信号および汎用的なインパルス応答関数の畳み込みとの間の差に等しく、前記第１のフィルタリングされた入力信号の前記ソース位置への送信は、パワーが最適化された残差信号を前記第１のフィルタリングされた入力信号として送信することを含み、前記パワーが最適化された残差信号は、前記マイクロフォンに入力される前記入力信号と前記ウィンドウ化されたオーディオ信号および前記第１のインパルス応答関数の畳み込みとの間の差に等しい、実施例１２に記載のコンピュータプログラム製品。
【００８１】
実施例１４：  前記第１のフィルタリング処理の実行は、前記第１のインパルス応答関数の生成後の指定時間後に、別の第１のインパルス応答関数を生成することをさらに含む、実施例１２または１３に記載の方法。
【００８２】
実施例１５：  前記ウィンドウ化されたオーディオ信号は、前記オーディオ信号の複数のサンプルを含み、前記複数のサンプルの各々は、前記指定の時間ウィンドウ内に生じる時間における前記オーディオ信号の値であり、前記オーディオ信号の振幅と前記閾値振幅との比較処理の実行は、前記オーディオ信号の複数のサンプルの各々の絶対値を生成して、複数の絶対値を生成することと、前記複数の絶対値のうち最大のものを前記オーディオ信号の振幅として生成することとを含む、実施例１２乃至１４のいずれか１つに記載のコンピュータプログラム製品。
【００８３】
実施例１６：  前記第２のフィルタリング処理の実行は、前記ウィンドウ化されたオーディオ信号の非線形関数を生成することと、前記マイクロフォンに入力される前記入力信号に基づいて第２のインパルス応答関数を生成することと、（ｉ）前記ウィンドウ化されたオーディオ信号の非線形関数と（ｉｉ）前記第１のインパルス応答関数との畳み込みをして、第１のフィルタリングされた入力信号を生成することとを含む、実施例１１乃至１５のいずれか１つに記載のコンピュータプログラム製品。
【００８４】
実施例１７：  前記ウィンドウ化されたオーディオ信号の非線形関数の生成は、前記ウィンドウ化されたオーディオ信号の振幅を二乗することを含む、実施例１６に記載の方法。
【００８５】
実施例１８：  前記マイクロフォンに入力される入力信号に基づく前記第２のインパルス応答関数の生成は、残差信号のパワーを最適化する汎用的なインパルス応答関数を前記第２のインパルス応答関数として生成することを含み、前記残差信号は、前記マイクロフォンに入力される前記入力信号と前記ウィンドウ化されたオーディオ信号の非線形関数および前記汎用的なインパルス応答関数の畳み込みとの間の差に等しく、前記第２のフィルタリングされた入力信号の前記ソース位置への送信は、パワーが最適化された残差信号を前記第２のフィルタリングされた入力信号として送信することを含み、前記パワーが最適化された残差信号は、前記マイクロフォンに入力される前記入力信号と前記ウィンドウ化されたオーディオ信号の非線形関数および前記第２のインパルス応答関数の畳み込みとの間の差に等しい、実施例１６または１７に記載のコンピュータプログラム製品。
【００８６】
実施例１９：  前記第２のフィルタリング処理の実行は、前記第２のインパルス応答関数の生成後の指定時間後に、別の第２のインパルス応答関数を生成することをさらに含む、実施例１７に記載のコンピュータプログラム製品。
【００８７】
実施例２０：  スピーカおよびマイクロフォンを含むオーディオシステムにおける音響エコーを低減するように構成された電子装置であって、前記電子装置は、メモリと、前記メモリに接続された制御回路とを備え、前記制御回路は、前記オーディオシステムから離れたソース位置からのオーディオ信号を前記オーディオシステムの前記スピーカにおいて受信し、前記オーディオ信号の振幅と閾値振幅との比較処理を実行して比較結果を生成し、前記オーディオ信号の振幅が前記閾値振幅よりも小さいことを示す比較結果に応答して、前記オーディオシステムの前記マイクロフォンに入力される入力信号に対して第１のフィルタリング処理を実行して、第１のフィルタリングされた入力信号を生成し、かつ、前記第１のフィルタリングされた入力信号を前記ソース位置まで送信し、前記オーディオ信号の振幅が前記閾値振幅よりも大きいことを示す比較結果に応答して、前記オーディオシステムの前記マイクロフォンに入力される入力信号に対して第２のフィルタリング処理を実行して、前記第１のフィルタリングされた入力信号とは異なる第２のフィルタリングされた入力信号を生成し、かつ、前記第２のフィルタリングされた入力信号を前記ソース位置まで送信するように構成されている、電子装置。
【００８８】
さらに、図面に記載された論理フローは、望ましい結果を達成するために示された特定の順序または逐次的な順序を必要としない。さらに、記載されたフローから他のステップを設けてもよく、またステップを省略してもよく、他の構成を記載されたシステムに追加したり、システムから削除したりしてもよい。従って、他の実施態様も以下の特許請求の範囲内にある。
【図１】
2019512947.tif 000008
【図２】
2019512947.tif 000009
【図３】
2019512947.tif 000010
【図４】
2019512947.tif 000011
【手続補正書】
【提出日】平成30年9月28日(2018.9.28)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】請求項４
【補正方法】変更
【補正の内容】
【請求項４】
前記第１のインパルス応答関数は複数の高調波の加重和であり、各高調波は基本周波数の倍数に等しい周波数を有する、請求項２または３に記載の方法。
【手続補正２】
【補正対象書類名】特許請求の範囲
【補正対象項目名】請求項５
【補正方法】変更
【補正の内容】
【請求項５】
前記第１のフィルタリング処理の実行は、
前記第１のインパルス応答関数の生成後の指定時間後に、別の第１のインパルス応答関数を生成することをさらに含む、請求項２〜４のいずれか一項に記載の方法。
【手続補正３】
【補正対象書類名】特許請求の範囲
【補正対象項目名】請求項６
【補正方法】変更
【補正の内容】
【請求項６】
前記ウィンドウ化されたオーディオ信号は、前記オーディオ信号の複数のサンプルを含み、前記複数のサンプルの各々は、前記指定の時間ウィンドウ内に生じる時間における前記オーディオ信号の値であり、
前記オーディオ信号の振幅と前記閾値振幅との比較処理の実行は、
前記オーディオ信号の複数のサンプルの各々の絶対値を生成して、複数の絶対値を生成することと、
前記複数の絶対値のうち最大のものを前記オーディオ信号の振幅として生成することとを含む、請求項２〜５のいずれか一項に記載の方法。
【手続補正４】
【補正対象書類名】特許請求の範囲
【補正対象項目名】請求項７
【補正方法】変更
【補正の内容】
【請求項７】
前記第２のフィルタリング処理の実行は、
ウィンドウ化されたオーディオ信号の非線形関数を生成することと、
前記マイクロフォンに入力される前記入力信号に基づいて第２のインパルス応答関数を生成することと、
（ｉ）前記ウィンドウ化されたオーディオ信号の非線形関数と（ｉｉ）第１のインパルス応答関数との畳み込みをして、第１のフィルタリングされた入力信号を生成することとを含む、請求項１〜６のいずれか一項に記載の方法。
【手続補正５】
【補正対象書類名】特許請求の範囲
【補正対象項目名】請求項９
【補正方法】変更
【補正の内容】
【請求項９】
前記マイクロフォンに入力される入力信号に基づく前記第２のインパルス応答関数の生成は、残差信号のパワーを最適化する汎用的なインパルス応答関数を前記第２のインパルス応答関数として生成することを含み、前記残差信号は、前記マイクロフォンに入力される前記入力信号と前記ウィンドウ化されたオーディオ信号の非線形関数および前記汎用的なインパルス応答関数の畳み込みとの間の差に等しく、
前記第２のフィルタリングされた入力信号の前記ソース位置への送信は、パワーが最適化された残差信号を前記第２のフィルタリングされた入力信号として送信することを含み、前記パワーが最適化された残差信号は、前記マイクロフォンに入力される前記入力信号と前記ウィンドウ化されたオーディオ信号の非線形関数および前記第２のインパルス応答関数の畳み込みとの間の差に等しい、請求項７または８に記載の方法。
【手続補正６】
【補正対象書類名】特許請求の範囲
【補正対象項目名】請求項１１
【補正方法】変更
【補正の内容】
【請求項１１】
前記第２のフィルタリング処理の実行は、
第２のインパルス応答関数の生成後の指定時間後に、別の第３の応答関数を生成することをさらに含む、請求項６〜９のいずれか一項に記載の方法。
【手続補正７】
【補正対象書類名】特許請求の範囲
【補正対象項目名】請求項１６
【補正方法】変更
【補正の内容】
【請求項１６】
前記ウィンドウ化されたオーディオ信号は、前記オーディオ信号の複数のサンプルを含み、前記複数のサンプルの各々は、前記指定の時間ウィンドウ内に生じる時間における前記オーディオ信号の値であり、
前記オーディオ信号の振幅と前記閾値振幅との比較処理の実行は、
前記オーディオ信号の複数のサンプルの各々の絶対値を生成して、複数の絶対値を生成することと、
前記複数の絶対値のうち最大のものを前記オーディオ信号の振幅として生成することとを含む、請求項１４または１５に記載のコンピュータプログラム製品。
【手続補正８】
【補正対象書類名】特許請求の範囲
【補正対象項目名】請求項１７
【補正方法】変更
【補正の内容】
【請求項１７】
前記第２のフィルタリング処理の実行は、
ウィンドウ化されたオーディオ信号の非線形関数を生成することと、
前記マイクロフォンに入力される前記入力信号に基づいて第２のインパルス応答関数を生成することと、
（ｉ）前記ウィンドウ化されたオーディオ信号の非線形関数と（ｉｉ）第１のインパルス応答関数との畳み込みをして、第１のフィルタリングされた入力信号を生成することとを含む、請求項１３〜１６のいずれか一項に記載のコンピュータプログラム製品。
【手続補正９】
【補正対象書類名】特許請求の範囲
【補正対象項目名】請求項１９
【補正方法】変更
【補正の内容】
【請求項１９】
前記第２のフィルタリング処理の実行は、
前記第２のインパルス応答関数の生成後の指定時間後に、別の第３のインパルス応答関数を生成することをさらに含む、請求項１７または１８に記載のコンピュータプログラム製品。
【国際調査報告】
2019512947.tif 000012
2019512947.tif 000013