IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ ドルビー ラボラトリーズ ライセンシング コーポレイションの特許一覧

<>
  • 特表-発話向上のためのデータ増強 図1
  • 特表-発話向上のためのデータ増強 図2
  • 特表-発話向上のためのデータ増強 図3
  • 特表-発話向上のためのデータ増強 図4A
  • 特表-発話向上のためのデータ増強 図4B
  • 特表-発話向上のためのデータ増強 図5A
  • 特表-発話向上のためのデータ増強 図5B
  • 特表-発話向上のためのデータ増強 図6
  • 特表-発話向上のためのデータ増強 図7
  • 特表-発話向上のためのデータ増強 図8
  • 特表-発話向上のためのデータ増強 図9
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-07-19
(54)【発明の名称】発話向上のためのデータ増強
(51)【国際特許分類】
   G10L 21/0208 20130101AFI20240711BHJP
   G10K 15/10 20060101ALI20240711BHJP
   H04S 5/00 20060101ALI20240711BHJP
【FI】
G10L21/0208 100B
G10K15/10
H04S5/00
【審査請求】有
【予備審査請求】有
(21)【出願番号】P 2024501099
(86)(22)【出願日】2022-07-12
(85)【翻訳文提出日】2024-01-10
(86)【国際出願番号】 US2022036814
(87)【国際公開番号】W WO2023287782
(87)【国際公開日】2023-01-19
(31)【優先権主張番号】PCT/CN2021/106536
(32)【優先日】2021-07-15
(33)【優先権主張国・地域又は機関】CN
(31)【優先権主張番号】63/260,201
(32)【優先日】2021-08-12
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(71)【出願人】
【識別番号】507236292
【氏名又は名称】ドルビー ラボラトリーズ ライセンシング コーポレイション
(74)【代理人】
【識別番号】100107766
【弁理士】
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100229448
【弁理士】
【氏名又は名称】中槇 利明
(72)【発明者】
【氏名】ダイ,ジア
(72)【発明者】
【氏名】リー,カイ
(72)【発明者】
【氏名】リウ,シヤオユイ
(72)【発明者】
【氏名】カートライト,リチャード ジェイ.
(72)【発明者】
【氏名】ヤーン,シャオファン
【テーマコード(参考)】
5D162
5D208
【Fターム(参考)】
5D162AA04
5D162CC37
5D208AA02
5D208AB08
5D208AD07
5D208AD08
(57)【要約】
オーディオ信号を残響除去する方法が提供される。いくつかの実装では、本方法は、実音響インパルス応答(AIR)を取得する段階と;直接音の早期反射に対応する前記実AIRの第1の部分と、前記直接音の後期反射に対応する前記実AIRの第2の部分とを識別する段階と;前記実AIRの前記第1の部分および/または前記実AIRの前記第2の部分を修正することによって一つまたは複数の合成されたAIRを生成する段階と;前記実AIRおよび前記一つまたは複数の合成されたAIRを使用して複数のトレーニング・サンプルを生成する段階であって、各トレーニング・サンプルは、入力オーディオ信号と残響のあるオーディオ信号を含み、前記残響のあるオーディオ信号は、前記入力オーディオ信号と、前記実AIRの1つまたは前記一つまたは複数の合成されたAIRの1つとに基づいて生成され、前記複数のトレーニング・サンプルは、機械学習モデルをトレーニングするために使用されるものである、段階とを含む。
【特許請求の範囲】
【請求項1】
オーディオ信号を残響除去するための方法であって、当該方法は:
制御システムによって、実音響インパルス応答(AIR)を取得する段階と;
前記制御システムによって、直接音の早期反射に対応する前記実AIRの第1の部分と、前記直接音の後期反射に対応する前記実AIRの第2の部分とを識別する段階と;
前記制御システムによって、前記実AIRの前記第1の部分および/または前記実AIRの前記第2の部分を修正することによって一つまたは複数の合成されたAIRを生成する段階と;
前記制御システムによって、前記実AIRおよび前記一つまたは複数の合成されたAIRを使用して複数のトレーニング・サンプルを生成する段階であって、各トレーニング・サンプルは、入力オーディオ信号と残響のあるオーディオ信号を含み、前記残響のあるオーディオ信号は、前記入力オーディオ信号と、前記実AIRの1つまたは前記一つまたは複数の合成されたAIRの1つとに少なくとも部分的に基づいて生成され、前記複数のトレーニング・サンプルは、入力として、残響をもつ試験オーディオ信号を取り、出力として、残響除去されたオーディオ信号を生成する機械学習モデルをトレーニングするために使用されるものである、段階とを含む、
方法。
【請求項2】
早期反射に対応する前記実AIRの前記第1の部分および後期反射に対応する前記実AIRの前記第2の部分を識別することは、所定の範囲内のランダム時間値を選択することを含み、前記第1の部分は、前記ランダム時間値より前の前記実AIRの部分を含み、前記第2の部分は、前記ランダム時間値より後の前記実AIRの部分を含む、請求項1に記載の方法。
【請求項3】
前記所定の範囲は、約20ミリ秒から約80ミリ秒である、請求項2に記載の方法。
【請求項4】
前記実AIRの前記第1の部分を修正することは、前記実AIRの前記第1の部分に含まれる応答の時点をランダム化することを含む、請求項1ないし3のうちいずれか一項に記載の方法。
【請求項5】
前記実AIRの前記第2の部分を修正することは、諸後期反射持続時間の所定の範囲からランダムに選択された持続時間の後に前記実AIRの前記第2の部分を打ち切ることを含む、請求項1ないし3のうちいずれか一項に記載の方法。
【請求項6】
前記実AIRの前記第2の部分を修正することは、前記実AIRの前記第2の部分に含まれる一つまたは複数の応答の振幅を修正することを含む、請求項1ないし3のうちいずれか一項に記載の方法。
【請求項7】
前記実AIRの前記第2の部分に含まれる前記一つまたは複数の応答の前記振幅を修正することは:
前記実AIRの前記第2の部分に関連する目標減衰関数を決定し;
前記目標減衰関数に従って、前記実AIRの前記第2の部分に含まれる前記一つまたは複数の応答の前記振幅を修正することを含む、
請求項6に記載の方法。
【請求項8】
前記残響のあるオーディオ信号は、前記入力オーディオ信号を前記実AIRの前記1つまたは前記一つまたは複数の合成されたAIRの前記1つと畳み込むことによって生成される、請求項1ないし3のうちいずれか一項に記載の方法。
【請求項9】
前記残響のあるオーディオ信号を生成するために、前記入力オーディオ信号と前記実AIRの前記1つまたは前記一つまたは複数の合成されたAIRの前記1つとの畳み込みにノイズを加えることをさらに含む、請求項1ないし3のうちいずれか一項に記載の方法。
【請求項10】
前記実AIRの更新された第1の部分および前記実AIRの更新された第2の部分を識別し;
前記実AIRの前記更新された第1の部分および/または前記実AIRの前記更新された第2の部分を修正することによって
追加的な合成されたAIRを生成することをさらに含む、請求項1ないし3のうちいずれか一項に記載の方法。
【請求項11】
前記複数のトレーニング・サンプルを前記機械学習モデルに提供して、前記入力として、残響をもつ前記試験オーディオ信号を取り、前記出力として、前記残響除去されたオーディオ信号を生成する機械学習モデルを生成することをさらに含む、請求項1ないし3のうちいずれか一項に記載の方法。
【請求項12】
前記試験オーディオ信号は、ライブキャプチャされたオーディオ信号である、請求項11に記載の方法。
【請求項13】
前記実AIRは、物理的な室内で測定された測定AIRである、請求項1ないし3のうちいずれか一項に記載の方法。
【請求項14】
前記実AIRは、部屋音響モデルを使用して生成される、請求項1ないし3のうちいずれか一項に記載の方法。
【請求項15】
前記入力オーディオ信号は、特定のオーディオ・コンテンツ・タイプに関連付けられる、請求項1ないし3のうちいずれか一項に記載の方法。
【請求項16】
前記特定のオーディオ・コンテンツ・タイプは、遠距離場ノイズを含む、請求項15に記載の方法。
【請求項17】
前記特定のオーディオ・コンテンツ・タイプは、屋内環境において捕捉されたオーディオ・コンテンツを含む、請求項15に記載の方法。
【請求項18】
前記複数のトレーニング・サンプルを生成する前に、前記特定のオーディオ・コンテンツ・タイプにそれぞれ関連付けられた複数の入力オーディオ信号のトレーニング・セットを取得することをさらに含む、請求項15に記載の方法。
【請求項19】
請求項1ないし3のうちいずれか一項に記載の方法を実施するように構成された装置。
【請求項20】
ソフトウェアを記憶している一つまたは複数の非一時的媒体であって、前記ソフトウェアは、請求項1ないし3のうちいずれか一項に記載の方法を実行するように一つまたは複数のデバイスを制御するための命令を含む、一つまたは複数の非一時的媒体。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願への相互参照
本願は、2021年8月12日に出願された米国仮出願第63/260201号および2021年7月15日に出願された国際出願第PCT/CN2021/106536号の優先権の利益を主張し、これらの内容は、その全体が本明細書に組み込まれる。
【0002】
技術分野
本開示は、歪みを減衰させることによる発話向上のためのシステム、方法、および媒体に関する。
【背景技術】
【0003】
ヘッドフォン、スピーカー等のオーディオ装置が広く展開されている。人々は、残響および/またはノイズなどの歪みを含みうるオーディオ・コンテンツ(たとえば、ポッドキャスト、ラジオ番組、テレビジョン番組、音楽ビデオ、ユーザー生成コンテンツ、ショートビデオ、ビデオ会議、遠隔会議、パネルディスカッション、インタビューなど)をしばしば聞く。さらに、オーディオ・コンテンツは、背景ノイズなどの遠距離場オーディオ・コンテンツを含みうる。残響除去および/またはノイズ抑制などの向上が、そのようなオーディオ・コンテンツに対して実行されうる。しかしながら、向上技術は、ラウドネスまたは音色の変化のような望ましくない知覚的歪みを導入することがある。
【0004】
記法および命名法
特許請求の範囲を含む本開示全体を通して、「スピーカー」、「ラウドスピーカー」、および「オーディオ再生トランスデューサ」という用語は、任意の音放出トランスデューサ(またはトランスデューサのセット)を表すために同義的に使用される。典型的なヘッドフォンのセットは、2つのスピーカーを含む。スピーカーは、単一の共通スピーカーフィードまたは複数のスピーカーフィードによって駆動されうる複数のトランスデューサ(たとえば、ウーファおよびツイータ)を含むように実装されうる。いくつかの例では、スピーカーフィードは、異なるトランスデューサに結合された異なる回路分岐において異なる処理を受けうる。
【0005】
特許請求の範囲を含む本開示全体を通して、信号またはデータに対して動作を「実行する」(たとえば、信号またはデータをフィルタリングする、スケーリングする、変換する、または信号またはデータに利得を適用する)という表現は、信号またはデータに対して直接、あるいは信号またはデータの処理されたバージョンに対して(たとえば、当該動作の実行前に予備フィルタリングまたは前処理を受けた信号のバージョンに対して)動作を実行することを表すために広い意味で使用される。
【0006】
特許請求の範囲を含む本開示全体を通して、「システム」という表現は、デバイス、システム、またはサブシステムを示すために広い意味で使用される。たとえば、デコーダを実装するサブシステムがデコーダ・システムと呼ばれてもよく、そのようなサブシステムを含むシステム(たとえば、複数の入力に応答してX個の出力信号を生成するシステムであって、サブシステムが入力のうちのM個を生成し、他のX-M個の入力は外部ソースから受領されるもの)も、デコーダ・システムと呼ばれてもよい。
【0007】
特許請求の範囲を含む本開示全体を通して、「プロセッサ」という用語は、データ(たとえば、オーディオまたはビデオもしくは他の画像データ)に対して動作を実行するようにプログラム可能であるか、または(たとえば、ソフトウェアまたはファームウェアを用いて)構成可能であるシステムまたはデバイスを表すために広い意味で使用される。プロセッサの例は、フィールドプログラマブルゲートアレイ(または他の構成可能な集積回路またはチップセット)、オーディオまたは他のサウンドデータに対してパイプライン処理を実行するようにプログラムされたおよび/または他の仕方で構成されたデジタル信号プロセッサ、プログラマブル汎用プロセッサまたはコンピュータ、およびプログラマブルマイクロプロセッサチップまたはチップセットを含む。
【発明の概要】
【課題を解決するための手段】
【0008】
本開示の少なくともいくつかの側面は、方法を介して実装されうる。いくつかの方法は、制御システムによって、実音響インパルス応答(AIR)を取得する段階を含んでいてもよい。何らかの方法は、前記制御システムによって、直接音の早期反射に対応する前記実AIRの第1の部分と、前記直接音の後期反射に対応する前記実AIRの第2の部分とを識別する段階を含んでいてもよい。いくつかの方法は、前記制御システムによって、前記実AIRの前記第1の部分および/または前記実AIRの前記第2の部分を修正することによって一つまたは複数の合成されたAIRを生成する段階を含んでいてもよい。いくつかの方法は、前記制御システムによって、前記実AIRおよび前記一つまたは複数の合成されたAIRを使用して複数のトレーニング・サンプルを生成する段階を含んでいてもよく、各トレーニング・サンプルは、入力オーディオ信号と残響のあるオーディオ信号を含み、前記残響のあるオーディオ信号は、前記入力オーディオ信号と、前記実AIRの1つまたは前記一つまたは複数の合成されたAIRの1つとに少なくとも部分的に基づいて生成され、前記複数のトレーニング・サンプルは、入力として、残響をもつ試験オーディオ信号を取り、出力として、残響除去されたオーディオ信号を生成する機械学習モデルをトレーニングするために使用されるものである。
【0009】
いくつかの例では、早期反射に対応する前記実AIRの前記第1の部分および後期反射に対応する前記実AIRの前記第2の部分を識別することは、所定の範囲内のランダム時間値を選択することを含み、前記第1の部分は、前記ランダム時間値より前の前記実AIRの部分を含み、前記第2の部分は、前記ランダム時間値より後の前記実AIRの部分を含む。いくつかの例では、前記所定の範囲は、約20ミリ秒から約80ミリ秒である。
【0010】
いくつかの例では、前記実AIRの前記第2の部分を修正することは、諸後期反射持続時間の所定の範囲からランダムに選択された持続時間の後に前記実AIRの前記第2の部分を打ち切ることを含む。
【0011】
いくつかの例では、前記実AIRの前記第2の部分を修正することは、前記実AIRの前記第2の部分に含まれる一つまたは複数の応答の振幅を修正することを含む。いくつかの例では、前記実AIRの前記第2の部分に含まれる前記一つまたは複数の応答の前記振幅を修正することは:前記実AIRの前記第2の部分に関連する目標減衰関数を決定し;前記目標減衰関数に従って、前記実AIRの前記第2の部分に含まれる前記一つまたは複数の応答の前記振幅を修正することを含む。
【0012】
いくつかの例では、前記残響のあるオーディオ信号は、前記入力オーディオ信号を前記実AIRの前記1つまたは前記一つまたは複数の合成されたAIRの前記1つと畳み込むことによって生成される。
【0013】
いくつかの例では、諸方法は、前記残響のあるオーディオ信号を生成するために、前記入力オーディオ信号と前記実AIRの前記1つまたは前記一つまたは複数の合成されたAIRの前記1つとの畳み込みにノイズを加えることをさらに含んでいてもよい。
【0014】
いくつかの例では、諸方法は、前記実AIRの更新された第1の部分および前記実AIRの更新された第2の部分を識別し;前記実AIRの前記更新された第1の部分および/または前記実AIRの前記更新された第2の部分を修正することによって、追加的な合成されたAIRを生成することをさらに含んでいてもよい。
【0015】
いくつかの例では、諸方法は、前記複数のトレーニング・サンプルを前記機械学習モデルに提供して、前記入力として、残響をもつ前記試験オーディオ信号を取り、前記出力として、前記残響除去されたオーディオ信号を生成する機械学習モデルを生成することをさらに含んでいてもよい。いくつかの例では、前記試験オーディオ信号は、ライブキャプチャされたオーディオ信号である。
【0016】
いくつかの例では、前記実AIRは、物理的な室内で測定された測定AIRである。
【0017】
前記実AIRは、部屋音響モデルを使用して生成される。
【0018】
いくつかの例では、前記入力オーディオ信号は、特定のオーディオ・コンテンツ・タイプに関連付けられる。いくつかの例では、前記特定のオーディオ・コンテンツ・タイプは、遠距離場ノイズを含む。いくつかの例では、諸方法は、前記特定のオーディオ・コンテンツ・タイプは、屋内環境において捕捉されたオーディオ・コンテンツを含む。いくつかの例では、諸方法は、前記複数のトレーニング・サンプルを生成する前に、前記特定のオーディオ・コンテンツ・タイプにそれぞれ関連付けられた複数の入力オーディオ信号のトレーニング・セットを取得することをさらに含んでいてもよい。
【0019】
本明細書に記載された動作、機能、および/または方法の一部または全部は、一つまたは複数の非一時的媒体に記憶された命令(たとえば、ソフトウェア)に従って一つまたは複数のデバイスによって実行されうる。そのような非一時的媒体は、限定はしないが、ランダムアクセスメモリ(RAM)デバイス、読み出し専用メモリ(ROM)デバイスなどを含む、本明細書で説明するものなどのメモリデバイスを含みうる。よって、本開示で説明する主題のいくつかの革新的側面は、ソフトウェアを記憶した一つまたは複数の非一時的媒体を介して実装されうる。
【0020】
本開示の少なくともいくつかの側面は、装置を介して実装されうる。たとえば、一つまたは複数のデバイスは、本明細書で開示される方法を少なくとも部分的に実行することが可能でありうる。いくつかの実装では、装置は、インターフェースシステムおよび制御システムを有するオーディオ処理システムであるか、またはそれを含む。制御システムは、一つまたは複数の汎用のシングルチップまたはマルチチッププロセッサ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(AS IC)、フィールドプログラマブルゲートアレイ(FPGA)または他のプログラマブル論理デバイス離散的ゲートまたはトランジスタ論理、離散的ハードウェア・コンポーネント、またはそれらの組み合わせを含みうる。
【0021】
本明細書に記載された主題の一つまたは複数の実装の詳細が、添付の図面および以下の説明に記載される。他の特徴、側面、および利点は、説明、図面、および特許請求の範囲から明らかになるであろう。以下の図の相対的な寸法は、一定の縮尺で描かれていない場合があることに留意されたい。
【図面の簡単な説明】
【0022】
図1】いくつかの実装による、時間領域および周波数領域におけるオーディオ信号の例を示している。
【0023】
図2】いくつかの実装による、オーディオ信号の残響除去を実行するための例示的なシステムのブロック図を示す。
【0024】
図3】いくつかの実装による、オーディオ信号の残響除去を実行するためのプロセスの例を示す。
【0025】
図4A】音響インパルス応答(AIR)の例を示す。
図4B】音響インパルス応答(AIR)の例を示す。
【0026】
図5A】いくつかの実装による、合成されたAIRを生成するためのプロセスの一例を示す。
【0027】
図5B】いくつかの実装による、合成されたAIRを使用してトレーニング・セットを生成するためのプロセスの一例を示す。
【0028】
図6】いくつかの実装による、オーディオ信号を残響除去するための機械学習モデルの例示的なアーキテクチャーを示している。
【0029】
図7】いくつかの実装による、オーディオ信号を残響除去するための機械学習モデルをトレーニングするための例示的なプロセスを示す。
【0030】
図8】いくつかの実装による、オーディオ信号の残響除去を実行するための例示的なシステムのブロック図を示す。
【0031】
図9】本開示のさまざまな側面を実装することが可能な装置の構成要素の例を示すブロック図を示す。
【0032】
さまざまな図面における同様の参照番号および名称は、同様の要素を示す。
【発明を実施するための形態】
【0033】
オーディオ信号は、ノイズおよび/または残響などのさまざまなタイプの歪みを含みうる。たとえば、残響は、オーディオ信号がさまざまな表面(たとえば、壁、天井、床、家具など)からのさまざまな反射によって歪められるときに生じる。残響は、音質および発話了解度に対して実質的な影響を有しうる。よって、オーディオ信号の残響除去が、たとえば、発話の了解度および明瞭さを改善するために実行されうる。
【0034】
受領者(たとえば、人間の聴取者、マイクロフォンなど)に到着する音は、反射なしに音源から直接来る音を含む直接音と、環境内のさまざまな表面から反射される音を含む残響音とから構成される。残響音は、早期反射と後期反射とを含む。早期反射は、直接音の直後に、または直接音と同時に受領者に到達することができ、したがって、直接音に部分的に統合されうる。直接音と早期反射の統合は、知覚される音質に寄与するスペクトル着色効果を生成する。後期反射は、早期反射の後(たとえば、直接音より50~80ミリ秒超後に)受領者に到達する。後期反射は、発話了解度に有害な影響を及ぼすことがある。よって、オーディオ信号に存在する後期反射の影響を低減し、それにより発話了解度を改善するために、オーディオ信号に対して残響除去が実行されうる。
【0035】
図1は、時間領域入力オーディオ信号100および対応するスペクトログラム102の例を示す。スペクトログラム102に示されるように、早期反射は、スペクトル着色106によって示されるように、スペクトログラム104の変化を生じさせることができる。スペクトログラム104は、発話了解度に悪影響を及ぼす可能性がある後期反射108も示す。
【0036】
発話了解度が向上によって改善されるよう、およびオーディオ信号の知覚的品質が保たれるよう、オーディオ信号に対して向上(たとえば、残響除去および/またはノイズ抑制)を実行することは困難でありうる。たとえば、深層ニューラルネットワークなどの機械学習モデルは、残響のあるオーディオ信号に適用されたときに残響除去されたオーディオ信号を生成する、残響除去マスクを予測するために使用されうる。しかしながら、そのような機械学習モデルをトレーニングすることは、計算集約的であり、非効率的でありうる。たとえば、そのような機械学習モデルは、ある程度の精度を達成することができるために、高度の複雑さを要求しうる。より具体的な例として、そのような機械学習モデルは、膨大な数の層を含み、それにより、対応する膨大な数のパラメータが最適化されることを必要としうる。さらに、そのような複雑な機械学習モデルは、限られたトレーニング・セットおよび最適化されるべき多数のパラメータに対するトレーニングのために、過剰適合する傾向がありうる。そのような場合、そのような機械学習モデルは、トレーニングするために計算集約的であることがあり、最終的にはより低いパフォーマンスを達成しうる。
【0037】
本明細書では、低複雑性機械学習モデルを使用して、および/または増強されたトレーニング・セットを使用して、オーディオ信号を向上させるための方法、システム、媒体、および技法が開示される。本明細書で(たとえば、図4A図4B図5A、および図5Bに関して)説明されるように、増強されたトレーニング・セットは、合成された音響インパルス応答(acoustic impulse response、AIR)を生成することによって生成されうる。増強されたトレーニング・セットは、部屋環境、ノイズ、話者タイプなどの潜在的な組み合わせをより良好にまたがることが可能でありえ、それにより、より大きく、より代表的なトレーニング・セットを使用して機械学習モデルがトレーニングされることを許容でき、それにより、モデル過剰適合の問題を軽減する。さらに、本明細書で説明されるように、リカレント要素と組み合わせて、比較的少数の層(したがって、最適化されるべき比較的少数のパラメータ)を有する畳み込みニューラルネットワーク(CNN)を利用する低複雑性の機械学習モデルが使用されうる。(たとえば、図6に関連して以下で示され、説明されるように)CNNをリカレント要素と並列に組み合わせることによって、計算効率のよい仕方でなめらかな向上マスクを生成する低複雑性の機械学習モデルがトレーニングされうる。特に、リカレント要素は、トレーニングのその後の反復工程において使用されるべきオーディオ信号をCNNの諸部分に通知し、それにより、よりなめらかな予測された向上マスクをもたらしうる。使用されうるリカレント要素の例は、ゲート付きリカレント・ユニット(GRU)、長短期記憶(LSTM)ネットワーク、エルマンリカレントニューラルネットワーク(RNN)、および/または任意の他の適切なリカレント要素を含む。さらに、機械学習モデルが、入力された歪んだオーディオ信号における関心のある信号に関して正確である予測された向上されたオーディオ信号を生成すること、ならびに予測されたクリーンなオーディオ信号における残響の程度を最小化するために最適化することの両方を許容する損失関数が、本明細書で説明される。特に、図7に関連してより詳細に説明されるような、そのような損失関数は、予測されたクリーンなオーディオ信号中の残響の程度を近似するパラメータを組み込み、それにより、機械学習モデルが、関心のある最終的なパラメータに基づいて、すなわち、入力信号と比較して出力信号が実質的に残響除去されているかどうかに基づいてトレーニングされることを許容しうる。
【0038】
いくつかの実装では、入力オーディオ信号は、トレーニングされた機械学習モデルを使用して向上されうる。いくつかの実装では、入力オーディオ信号は、周波数領域特徴を抽出することによって周波数領域に変換されうる。いくつかの実装では、人間の蝸牛による処理に基づく知覚的変換が、周波数領域表現に適用されて、帯域化された特徴を得ることができる。周波数領域表現に適用されうる知覚的変換の例は、ガンマ・トーン・フィルタ、等価矩形帯域幅フィルタ、メルスケールに基づく変換などを含む。いくつかの実装では、周波数領域表現は、予測された向上マスクを出力として生成するトレーニングされた機械学習モデルへの入力として提供されうる。予測された向上マスクは、入力オーディオ信号の周波数領域表現に適用されたときに向上されたオーディオ信号を生成するマスクの周波数領域表現でありうる。いくつかの実装では、修正された予測された向上マスクを生成するために、知覚的変換の逆が、予測された向上マスクに適用されてもよい。次いで、入力オーディオ信号の周波数領域表現に修正された予測された向上マスクを乗算することによって、向上されたオーディオ信号の周波数領域表現が生成されうる。次いで、向上されたオーディオ信号の周波数領域表現を時間領域に変換することによって、向上されたオーディオ信号が生成されうる。
【0039】
言い換えれば、オーディオ信号を向上させるためのトレーニングされた機械学習モデルは、所与の周波数領域入力オーディオ信号について、該周波数領域入力オーディオ信号に適用されたときに対応する向上されたオーディオ信号の周波数領域表現を生成する、予測された向上マスクを生成するようにトレーニングされうる。いくつかの実装では、入力オーディオ信号の周波数領域表現と予測された向上マスクとを乗算することによって、入力オーディオ信号の周波数領域表現に予測された向上マスクが適用されうる。あるいはまた、いくつかの実装では、入力オーディオ信号の周波数領域表現の対数が取られてもよい。そのような実装では、向上されたオーディオ信号の周波数領域表現は、向上されたオーディオ信号の周波数領域表現の対数から、予測された向上マスクの対数を減算することによって得られてもよい。
【0040】
いくつかの実装では、機械学習モデルをトレーニングすることは、機械学習モデルの一つまたは複数のノードおよび/またはノード間の接続に関連付けられた重みを決定することを含みうることに留意されたい。いくつかの実装では、機械学習モデルは、第1のデバイス(たとえば、サーバー、デスクトップコンピュータ、ラップトップコンピュータなど)上でトレーニングされうる。トレーニングされると、トレーニングされた機械学習モデルに関連付けられた重みは、次いで、オーディオ信号を残響除去する際に第2のデバイスによって使用するために、第2のデバイス(たとえば、サーバー、デスクトップコンピュータ、ラップトップコンピュータ、メディアデバイス、スマートテレビジョン、モバイルデバイス、ウェアラブルコンピュータなど)に与えられ(たとえば、送信され)てもよい。
【0041】
図2および図3は、オーディオ信号を残響除去するためのシステムおよび技法の例を示す。図2および図3は、オーディオ信号を残響除去することを説明するが、図2および図3に関連して説明されるシステムおよび技法は、ノイズ抑制、ノイズ抑制と残響除去の組み合わせなど、他のタイプの向上に適用されうることに留意されたい。言い換えれば、予測された残響除去マスクおよび予測された残響除去されたオーディオ信号を生成するのではなく、いくつかの実装では、予測された向上マスクが生成されてもよく、予測された向上マスクは、予測された向上されたオーディオ信号を生成するために使用されてもよく、予測された向上されたオーディオ信号は、歪んだ入力オーディオ信号のノイズ除去されたおよび/または残響除去されたバージョンである。
【0042】
図2は、いくつかの実装による、オーディオ信号を残響除去するためのシステム200の例を示している。図示されるように、残響除去オーディオ・コンポーネント206は、入力として入力オーディオ信号202を取り込み、出力として残響除去されたオーディオ信号204を生成する。いくつかの実装では、残響除去オーディオ・コンポーネント206は特徴抽出器208を含む。特徴抽出器208は、入力信号スペクトルと見なされうる、入力オーディオ信号202の周波数領域表現を生成しうる。入力信号スペクトルは、次いで、トレーニングされた機械学習モデル210に与えられうる。トレーニングされた機械学習モデル210は、予測された残響除去マスクを出力として生成しうる。予測された残響除去マスクは、残響除去された信号スペクトル生成器212に提供されうる。残響除去された信号スペクトル生成器212は、予測された残響除去マスクを入力信号スペクトルに適用して、残響除去された信号スペクトル(たとえば、残響除去されたオーディオ信号の周波数領域表現)を生成しうる。次いで、残響除去された信号スペクトルは、時間領域変換コンポーネント214に与えられうる。時間領域変換コンポーネント214は、残響除去されたオーディオ信号204を生成しうる。
【0043】
図3は、いくつかの実装による、オーディオ信号を残響除去するための例示的なプロセス300を示す。いくつかの実装では、図2に示され、それに関連して上述されたシステムは、プロセス300のブロックを実装して、残響除去されたオーディオ信号を生成してもよい。いくつかの実装では、プロセス300のブロックは、モバイルフォン、タブレットコンピュータ、ラップトップコンピュータ、ウェアラブルコンピュータ(たとえば、スマートウォッチなど)、デスクトップコンピュータ、ゲームコンソール、スマートテレビジョンなどのユーザーデバイスによって実装されうる。いくつかの実装では、プロセス300のブロックは、図3に示されていない順序で実行されてもよい。いくつかの実装では、プロセス300の一つまたは複数のブロックは省略されうる。いくつかの実装では、プロセス300の2つ以上のブロックが実質的に並列に実行されてもよい。
【0044】
プロセス300は、302において、残響を含む入力オーディオ信号を受領することによって開始することができる。入力オーディオ信号は、ライブストリーミングされたコンテンツなどのライブキャプチャされたオーディオ信号、進行中のビデオ会議またはオーディオ会議に対応するオーディオ信号などでありうる。いくつかの実装では、入力オーディオ信号は、事前に録音されたオーディオ・コンテンツ(たとえば、テレビジョンコンテンツ、ビデオ、映画、ポッドキャストなど)に関連するオーディオ信号など、事前に録音されたオーディオ信号でありうる。いくつかの実装では、入力オーディオ信号は、ユーザーデバイスのマイクロフォンによって受信されうる。いくつかの実装では、入力オーディオ信号は、サーバーデバイス、別のユーザーデバイスなどからなどで、ユーザーデバイスに送信されうる。
【0045】
304において、プロセス300は、入力オーディオ信号の周波数領域表現を生成することによって、入力オーディオ信号の特徴を抽出することができる。たとえば、プロセス300は、短時間フーリエ変換(STFT)、修正離散コサイン変換(MDCT)、または同様のものなどの変換を使用して、入力オーディオ信号の周波数領域表現を生成することができる。いくつかの実装では、入力オーディオ信号の周波数領域表現は本稿では入力オーディオ信号の「ビニングされた特徴」と称される。いくつかの実装では、入力オーディオ信号の周波数領域表現は、人間の蝸牛のフィルタリングを模倣する知覚的ベースの変換を適用することによって修正されてもよい。知覚的ベースの変換の例は、ガンマ・トーン・フィルタ、等価矩形帯域幅フィルタ、メル・スケール・フィルタなどを含む。修正された周波数領域変換は、本明細書では入力オーディオ信号の「帯域化された特徴(banded features)」と呼ばれることがある。
【0046】
306において、プロセス300は、抽出された特徴(たとえば、入力オーディオ信号の周波数領域表現または入力オーディオ信号の修正された周波数領域表現)を、トレーニングされた機械学習モデルに提供することができる。機械学習モデルは、入力オーディオ信号の帯域表現に適用されたときに、残響除去されたオーディオ信号の周波数領域表現を生成する残響除去マスクを生成するようにトレーニングされていてもよい。いくつかの実装では、抽出された特徴の対数が、トレーニングされた機械学習モデルに与えられてもよい。
【0047】
機械学習モデルは、任意の適切なアーキテクチャーまたはトポロジーを有しうる。たとえば、いくつかの実装では、機械学習モデルは、深層ニューラルネットワーク、畳み込みニューラルネットワーク(CNN)、長短期記憶(LSTM)ネットワーク、リカレントニューラルネットワーク(RNN)などであってもよく、またはそれらを含んでいてもよい。いくつかの実装では、機械学習モデルは、2つ以上のタイプのネットワークを組み合わせてもよい。たとえば、いくつかの実装では、機械学習モデルは、CNNをリカレント要素と組み合わせてもよい。使用されうるリカレント要素の例は、GRU、LSTMネットワーク、エルマンRNNなどを含む。CNNをGRUと組み合わせる機械学習モデル・アーキテクチャーの例は、図6に示され、図6に関連して以下に説明される。機械学習モデルをトレーニングするための技術は、図7に示され、図7に関連して以下に説明されることに留意されたい。
【0048】
308において、プロセス300は、トレーニングされた機械学習モデルの出力から、予測された残響除去マスクを取得することができる。予測された残響除去マスクは、入力オーディオ信号の周波数領域表現に適用されるとき、残響除去されたオーディオ信号の周波数領域表現を生成するものである。いくつかの実装では、プロセス300は、逆ガンマ・トーン・フィルタ、逆等価矩形帯域幅フィルタなどの逆知覚的ベース変換を適用することによって、予測された残響除去マスクを修正することができる。
【0049】
310において、プロセス300は、トレーニングされた機械学習モデルによって生成された予測された残響除去マスクと、入力オーディオ信号の周波数領域表現とに基づいて、残響除去されたオーディオ信号の周波数領域表現を生成することができる。たとえば、いくつかの実装において、プロセス300は、予測された残響除去マスクに入力オーディオ信号の周波数領域表現を乗算することができる。入力オーディオ信号の周波数領域表現の対数が、トレーニングされた機械学習モデルに提供された場合、プロセス300は、入力オーディオ信号の周波数領域表現の対数から、予測された残響マスクの対数を減算することによって、残響除去されたオーディオ信号の周波数領域表現を生成することができる。この例を続けると、プロセス300は、次いで、予測された残響マスクの対数と入力オーディオ信号の周波数領域表現の対数との差を冪乗して、残響除去されたオーディオ信号の周波数領域表現を得ることができる。
【0050】
312において、プロセス300は、残響除去されたオーディオ信号の時間領域表現を生成することができる。たとえば、いくつかの実装では、プロセス300は、逆変換(たとえば、逆STFT、逆MDCTなど)を残響除去されたオーディオ信号の周波数領域表現に適用することによって、残響除去されたオーディオ信号の時間領域表現を生成することができる。
【0051】
プロセス300は、314で終了することができる。
【0052】
いくつかの実装では、残響除去されたオーディオ信号の時間領域表現を生成した後、残響除去されたオーディオ信号は、(たとえば、ユーザーデバイスの一つまたは複数のスピーカーデバイスによって)再生または提示されうる。いくつかの実装では、残響除去されたオーディオ信号は、ユーザーデバイスのローカルメモリなどに記憶されうる。いくつかの実装では、残響除去されたオーディオ信号は、別のユーザーデバイスによる提示のために該別のユーザーデバイスに、記憶のためにサーバーに、または同様のものなどに送信されうる。
【0053】
いくつかの実装では、オーディオ信号を残響除去するための機械学習モデルは、トレーニング・セットを使用してトレーニングされうる。トレーニング・セットは、任意の適切な数のトレーニング・サンプル(たとえば、100個のトレーニング・サンプル、1000個のトレーニング・サンプル、10,000個のトレーニング・サンプルなど)を含んでいてもよく、ここで、各トレーニング・サンプルは、(たとえば、残響のない)クリーンなオーディオ信号と、対応する残響のあるオーディオ信号とを含む。図2および図3に関して上記で説明したように、機械学習モデルは、特定の残響のあるオーディオ信号に適用されたときに、予測される残響除去されたオーディオ信号を生成する予測される残響除去マスクを生成するよう、トレーニング・セットを使用してトレーニングされうる。
【0054】
異なる残響のあるオーディオ信号のための予測された残響除去マスクを堅牢に生成することができる機械学習モデルをトレーニングすることは、トレーニング・セットの質に依存しうる。たとえば、機械学習モデルが堅牢であるためには、トレーニング・セットは、膨大な数の異なる部屋タイプ(たとえば、異なるサイズ、レイアウト、家具などを有する部屋)、膨大な数の異なるスピーカーなどからの残響を捕捉する必要がありうる。そのようなトレーニング・セットを収集することは困難である。たとえば、トレーニング・セットは、それぞれ室内残響を特徴付けるさまざまなAIRをクリーンなオーディオ信号に適用し、それにより、クリーンなオーディオ信号と、AIRをクリーンなオーディオ信号と畳み込むことによって生成された対応する残響のあるオーディオ信号とのペアを生成することによって生成されうる。しかしながら、利用可能な実AIRの数は限られていることがあり、利用可能な実AIRは、(たとえば、異なる寸法、レイアウトなどの部屋を十分に捕捉しないことによって)潜在的な残響効果を完全には特徴づけないことがある。
【0055】
本明細書では、オーディオ信号を残響除去するための堅牢な機械学習モデルをトレーニングするために使用されうる増強されたトレーニング・セットを生成するための技法が開示される。いくつかの実装では、実AIRは、合成されたAIRのセットを生成するために使用される。合成されたAIRは、図4A図4B、および図5Aに関連して以下に示され、説明されるように、測定されたAIRの早期反射および/または後期反射のさまざまな特性を変更および/または修正することによって生成されうる。いくつかの実装では、実AIRは、(たとえば、部屋に配置された一つまたは複数のマイクロフォンを使用して)部屋環境において測定された測定AIRでありうる。代替的に、いくつかの実装では、実AIRは、たとえば、部屋の形状、部屋の中の材料、部屋のレイアウト、部屋の中のオブジェクト(たとえば、家具)、および/またはそれらの任意の組み合わせを組み込む部屋音響モデルを使用して生成された、モデル化されたAIRでありうる。対照的に、合成されたAIRは、実AIRが測定されるか部屋音響モデルを使用して生成されるかにかかわらず、実AIRに基づいて(たとえば、実AIRの成分および/または特性を修正することによって)生成されるAIRでありうる。言い換えれば、実AIRは、一つまたは複数の合成されたAIRを生成するための出発点と見なされうる。合成AIRを生成するための技法は、図5Aに示され、図5Aに関連して以下で説明される。次いで、図5Bに関連して以下に示され、説明されるように、実AIRおよび/または合成されたAIRを使用して、実AIRおよび合成されたAIRに基づいて生成されたトレーニング・サンプルを含むトレーニング・セットを生成することができる。たとえば、トレーニング・サンプルは、クリーンなオーディオ信号と、合成されたAIRをクリーンなオーディオ信号と畳み込むことによって生成された対応する残響のあるオーディオ信号とを含みうる。単一の実AIRから多くの合成AIRが生成されうるので、および単一のクリーンなオーディオ信号および単一のAIR(測定されたか合成されたかにかかわらず)から複数の残響のあるオーディオ信号が生成されうるので、増強されたトレーニング・セットは、潜在的な残響効果の拡張をよりよく捕捉する、より多数のトレーニング・サンプルを含むことができ、それにより、増強されたトレーニング・セットを用いてトレーニングされたときに、より堅牢な機械学習モデルをもたらす。
【0056】
図4Aは、残響環境において測定されたAIRの例を示す。図示されるように、早期反射402は、直接音406と同時に、またはその直後に受領者に到着しうる。対照的に、後期反射404は、早期反射402の後に受領者に到着しうる。後期反射404は、100ミリ秒、0.5秒、1秒、1.5秒などのオーダーでありうる持続時間408に関連付けられる。後期反射404は、後期反射404の振幅が経時的にどのように減衰または減少するかを特徴付ける減衰410にも関連付けられる。いくつかの例では、減衰410は、指数関数的減衰、線形関数、多項式関数の一部などとして特徴付けられてもよい。早期反射と後期反射との間の境界は、約50ミリ秒~80ミリ秒の範囲内でありうる。
【0057】
図4Bは、図4Aに示されたAIRが合成AIRを生成するためにどのように修正されうるかの概略図を示す。いくつかの実装では、早期反射402の成分の時間が修正されてもよい。たとえば、図4Bに示されるように、合成AIRにおいて早期反射成分456の時間が、たとえば、測定AIRにおける早期反射成分の時間よりも早くなるように、または遅くなるように修正されてもよい。いくつかの実装では、後期反射の持続時間が修正されうる。たとえば、図4Bに示される合成AIRを参照すると、持続時間458は、対応する測定AIRの持続時間408に対して打ち切りされる。いくつかの実装では、後期反射の減衰の形状が、合成されたAIRにおいて修正されうる。たとえば、図4Bに示される合成AIRを参照すると、減衰458は、測定AIRの対応する減衰408よりも急峻であり、合成AIRの後期反射成分を、測定AIRに比して、より減衰させる。
【0058】
図5Aは、単一の実AIRから一つまたは複数の合成AIRを生成するためのプロセス500の例を示す。いくつかの実装では、プロセス500のブロックは、サーバー、デスクトップコンピュータ、ラップトップコンピュータなど、オーディオ信号を残響除去するための機械学習モデルのトレーニングのための増強されたトレーニング・セットを生成するデバイスによって実装されうる。いくつかの実装では、プロセス500の2つ以上のブロックは、実質的に並行して実行されてもよい。いくつかの実装では、プロセス500のブロックは、図5Aに示されていない順序で実行されてもよい。いくつかの実装では、プロセス500の一つまたは複数のブロックは省略されうる。
【0059】
プロセス500は、AIRを取得することによって502で開始することができる。AIRは、実AIRであってもよい。たとえば、AIRは、残響する部屋環境内のマイクロフォンのセットを使用して測定されうる。別の例として、AIRは、室内音響モデルを使用して生成されたAIRでありうる。AIRは、測定されたAIRを記憶するデータベースなどの任意の適切なソースから取得されうる。
【0060】
504において、プロセス500は、直接音の早期反射に対応するAIRの第1の部分と、直接音の後期反射に対応するAIRの第2の部分とを識別することができる。いくつかの実装では、プロセス500は、AIRにおける早期反射と後期反射との間の分離境界を識別することによって、第1の部分および第2の部分を識別することができる。分離境界は、AIRを早期反射と後期反射とに分割するAIR内の時点に対応しうる。いくつかの実装では、分離境界は、所定の範囲内からランダム値を選択することによって識別されうる。所定の範囲の例としては、15ミリ秒~85ミリ秒、20ミリ秒~80ミリ秒、30ミリ秒~70ミリ秒などが挙げられる。いくつかの実装では、分離境界は、所定の範囲に対応する任意の適切な分布(たとえば、一様分布、正規分布など)から選択されたランダム値でありうる。
【0061】
506において、プロセス500は、AIRの早期反射および/または後期反射の諸部分を修正することによって、一つまたは複数の合成AIRを生成することができる。いくつかの実装では、早期反射および後期反射は、ブロック504において識別された分離境界に基づいてAIR内で識別されうる。いくつかの実装では、プロセス500は、AIRの早期反射の諸部分を修正することによって合成AIRを生成することができる。たとえば、図4Bに関連して示され、上述されたように、プロセス500は、早期反射の一つまたは複数の成分の時点を修正してもよい。いくつかの実装では、プロセス500は、早期反射の一つまたは複数の成分の順序を修正してもよい。たとえば、いくつかの実装では、プロセス500は、早期反射の一つまたは複数の成分がAIRの早期反射部分内で異なる時点を有するように、早期反射の一つまたは複数の成分の順序を修正してもよい。いくつかの実装では、AIRの早期反射部分の成分はランダム化されてもよい。
【0062】
いくつかの実装では、プロセス500は、AIRの後期反射の諸部分を修正することによって合成AIRを生成することができる。たとえば、図4Bに関連して図示され、上記で説明したように、プロセス500は、ある持続時間後に所定の範囲から後期反射を切り捨てるべきであるような持続時間をランダムに選択することによって、合成されたAIR中の後期反射の持続時間を修正してもよい。いくつかの実装では、所定の範囲は、ブロック502で識別されたAIRの第1の部分とAIRの第2の部分とを分離する時点(たとえば、分離境界)に基づいて決定されてもよい。たとえば、いくつかの実装では、後期反射は、分離境界から1秒まで、分離境界から1.5秒までなどの範囲から選択されたランダム選択された持続時間で切り捨てられてもよい。
【0063】
別の例として、いくつかの実装では、プロセス500は、後期反射に関連する減衰を修正することによって合成AIRを生成することができる。より具体的な例として、いくつかの実装では、プロセス500は、減衰関数(たとえば、指数関数的減衰関数、線形減衰など)を生成しうる。このより具体的な例を続けると、プロセス500は、次いで、生成された減衰関数に従って後期反射の成分の振幅を修正することができる。いくつかの実装では、これは、合成されたAIRに、測定されたAIRの対応する後期反射成分に比して減衰された後期反射成分をもたせることになりうる。逆に、いくつかの実装では、これは、合成されたAIRに、測定されたAIRの対応する後期反射成分に比して増幅またはブーストされた後期反射成分をもたせることになりうる。後期反射に関連する減衰の修正は、残響が60 dBだけ減少するための時間(たとえば、RT60)など、残響時間(RT)を変更しうる。
【0064】
いくつかの実装では、合成されたAIRは、早期反射成分と後期反射成分の両方に対する修正を含みうることに留意されたい。さらに、いくつかの実装では、合成AIRにおいて、実AIRに比して、早期反射成分および/または後期反射成分が複数の仕方で修正されうる。たとえば、いくつかの実装では、合成AIRは、打ち切りされた後期反射と、合成AIRの後期反射に適用された修正された減衰に少なくとも部分的に基づいて振幅が修正された後期反射成分との両方を含むことができる。
【0065】
加えて、いくつかの実装では、合成されたAIRは、たとえば、後処理においてさらに修正されうる。たとえば、いくつかの実装では、合成されたAIRに関連付けられた直接音対残響比(direct-to-reverberant ratio、DRR)が修正されてもよい。より具体的な例として、いくつかの実装では、合成AIRに関連するDRRは、DRRを増加または減少させるために、一部分(たとえば、合成AIRの早期反射部分)に利得を適用することによって修正されてもよい。いくつかの実装では、単一の合成AIRから複数の修正された合成AIRが生成されてもよい。たとえば、いくつかの実装では、単一の合成AIRに対して、それぞれが異なる修正された合成AIRに対応する異なる利得を適用することによって、複数の修正された合成AIRが生成されてもよい。
【0066】
508において、プロセス500は、ブロック502において取得されたAIRに基づいて追加の合成されたAIRが生成されるべきかどうかを決定することができる。いくつかの実装では、プロセス500は、AIRから生成されるべき合成AIRの目標数または閾値数が生成されたかどうかに基づいて、追加の合成AIRが生成されるべきかどうかを決定することができる。たとえば、特定のAIRからN個の合成されたAIRが生成されるべきである場合、プロセス500は、N個の合成されたAIRがブロック502で取得されたAIRから生成されたかどうかを決定することができる。Nは、1、5、10、20、50、100、500、1000、2000などの任意の適切な値であってもよいことに留意されたい。
【0067】
508において、プロセス500が、追加の合成AIRが生成されるべきでないと決定した場合(ブロック508において「no」)、プロセス500は、510において終了することができる。逆に、ブロック508において、プロセス500が、追加の合成AIRが生成されるべきであると決定した場合(ブロック508において「yes」)、プロセス500は、ブロック504にループバックすることができ、ブロック502において取得されたAIRの異なる第1の部分およびAIRの第2の部分を識別することができる。ブロック504~508をループすることによって、プロセス500は、単一の測定されたAIRから複数の合成されたAIRを生成することができる。
【0068】
図5Bは、実AIRおよび/または合成されたAIRを使用して、増強されたトレーニング・セットを生成するためのプロセス550の例を示す。増強されたトレーニング・セットは、オーディオ信号を残響除去するための機械学習モデルをトレーニングするために使用されうる。いくつかの実装では、プロセス550のブロックは、サーバー、デスクトップコンピュータ、ラップトップコンピュータなど、増強されたトレーニング・セットを生成するのに好適なデバイスによって実装されうる。いくつかの実装では、デバイスは、図5Aに示され、図5Aに関して上記で説明したように、プロセス500のブロックを実装したデバイスと同じでありうる。いくつかの実装では、プロセス550の2つ以上のブロックは、実質的に並列に実行されてもよい。いくつかの実装では、プロセス550のブロックは、図5Bに示されている順序以外の順序で実行されてもよい。いくつかの実装では、プロセス550の一つまたは複数のブロックは省略されうる。
【0069】
プロセス550は、552において、クリーンな入力オーディオ信号(たとえば、残響および/またはノイズのない入力オーディオ信号)のセットを取得することによって開始することができる。クリーンな入力オーディオ信号のセット内のクリーンな入力オーディオ信号は、任意の適切な数のデバイス(または任意の適切な数のデバイスに関連付けられたマイクロフォン)によって記録されたものでありうる。たとえば、いくつかの実装では、クリーンな入力オーディオ信号のうちの2つ以上が同じデバイスによって記録されてもよい。別の例として、いくつかの実装では、クリーンな入力オーディオ信号のそれぞれは、異なるデバイスによって記録されたものであってもよい。いくつかの実装では、クリーンな入力オーディオ信号のうちの2つ以上が同じ部屋環境において記録されていてもよい。いくつかの実装では、クリーンな入力オーディオ信号のそれぞれが、異なる部屋環境において記録されたものであってもよい。いくつかの実装では、クリーンな入力オーディオ信号のセット内のクリーンな入力オーディオ信号は、発話、音楽、音響効果などの、可聴音のタイプの任意の組み合わせを含みうる。しかしながら、それぞれのクリーンな入力オーディオ信号は、残響、エコー、および/またはノイズがないことがある。
【0070】
ブロック554において、プロセス550は、実AIRおよび/または合成AIRを含むAIRのセットを取得することができる。AIRのセットは、任意の適切な数のAIR(たとえば、100個のAIR、200個のAIR、500個のAIRなど)を含みうる。AIRのセットは、90%の合成AIRおよび10%の実AIR、80%の合成AIRおよび20%の実AIRなど、実AIRと合成AIRの任意の適切な比を含むことができる。合成AIRを生成するためのより詳細な技法は、図5Aに示され、図5Aに関連して上述されている。
【0071】
ブロック556において、プロセス550は、クリーンな入力オーディオ信号のセット内のクリーンな入力オーディオ信号とAIRのセット内のAIRとのそれぞれのペアごとの組み合わせについて、クリーンな入力オーディオ信号およびAIRに基づいて、残響付きオーディオ信号を生成することができる。たとえば、いくつかの実装では、プロセス550はAIRをクリーンな入力オーディオ信号と畳み込んで、残響のあるオーディオ信号を生成することができる。いくつかの実装では、N個のクリーンな入力オーディオ信号およびM個のAIRが与えられると、プロセス550は、最大N×M個の残響のあるオーディオ信号を生成することができる。
【0072】
いくつかの実装では、ブロック558において、プロセス550は、ブロック556において生成された残響のあるオーディオ信号のうちの一つまたは複数について、ノイズを加えて、ノイズのある残響のあるオーディオ信号を生成することができる。加えられうるノイズの例は、ホワイトノイズ、ピンクノイズ、ブラウンノイズ、複数話者発話バブル(multi-talker speech babble)、等を含む。プロセス550は、異なる残響のあるオーディオ信号に異なるタイプのノイズを加えてもよい。たとえば、いくつかの実装では、プロセス550は、第1の残響のあるオーディオ信号にホワイトノイズを加えて、第1のノイズのある残響のあるオーディオ信号を生成してもよい。この例を続けると、いくつかの実装では、プロセス550は、第1の残響のあるオーディオ信号に複数話者発話バブル・タイプのノイズを加えて、第2のノイズのある残響のあるオーディオ信号を生成してもよい。この例をさらに続けると、いくつかの実装では、プロセス550は、第2の残響のあるオーディオ信号にブラウンノイズを加えて、第3のノイズのある残響のあるオーディオ信号を生成してもよい。言い換えれば、いくつかの実装では、残響のあるオーディオ信号に異なるタイプのノイズを加えることによって、ノイズのある残響のあるオーディオ信号の異なるバージョンが生成されうる。いくつかの実装では、ブロック558は省略されてもよく、トレーニング・セットは、いかなる残響のあるオーディオ信号にもノイズを加えることなく生成されてもよいことに留意されたい。
【0073】
ブロック558の終わりに、プロセス550は、複数のトレーニング・サンプルを含むトレーニング・セットを生成している。各トレーニング・サンプルは、クリーンなオーディオ信号と、対応する残響のあるオーディオ信号とを含みうる。残響のあるオーディオ信号は、追加されたノイズを含んでいても含まなくてもよい。いくつかの実装では、単一のクリーンなオーディオ信号が複数のトレーニング・サンプルに関連付けられうることに留意されたい。たとえば、クリーンなオーディオ信号は、該クリーンなオーディオ信号を複数の異なるAIRと畳み込むことによって複数の残響のあるオーディオ信号を生成するために使用されうる。別の例として、(たとえば、単一のクリーンなオーディオ信号を単一のAIRと畳み込むことによって生成された)単一の残響のあるオーディオ信号を使用して、それぞれ該単一の残響のあるオーディオ信号に加えられる異なるタイプのノイズに対応する、複数のノイズのある残響のあるオーディオ信号を生成してもよい。よって、単一のクリーンなオーディオ信号は、それぞれ異なる対応する残響のあるオーディオ信号(またはノイズのある残響のあるオーディオ信号)を含む10個、20個、30個、100個などのトレーニング・サンプルに関連付けられてもよい。
【0074】
いくつかの実装では、増強されたトレーニング・セットは、特定のタイプのオーディオ・コンテンツのために生成されうる。たとえば、特定のタイプのオーディオ・コンテンツは、残響除去が特に困難でありうるタイプのオーディオ・コンテンツに対応しうる。例として、(たとえば、ビデオ会議から、オーディオ通話からなどの)近距離場発話を含むオーディオ信号の背景における犬の吠え声または赤ん坊の泣き声のノイズなど、遠距離場ノイズを含むオーディオ信号に対して残響除去を実行することは困難でありうる。遠距離場ノイズに対して残響除去を実行することの難しさは、貧弱なノイズ管理(たとえば、オーディオ信号のノイズ除去)につながりうる。遠距離場ノイズの残響除去は、部屋の特性/音響および/または特定のノイズの両方に依存しうるので、そのような遠距離場ノイズに対して残響除去を実行するようにモデルをトレーニングすることは困難でありうる。たとえば、そのようなモデルをトレーニングするために使用されるトレーニング・データセットは、部屋音響の拡張セットに存在する特定のタイプの遠距離場ノイズの十分なトレーニング・サンプルを有していないことがあり、それにより、そのような限定されたトレーニング・セットでトレーニングされたモデルをより堅牢でないものにする。よって、特定のタイプのオーディオ・コンテンツのための増強されたトレーニング・セットを生成することは、より堅牢なモデルがトレーニングされることを許容しうる。いくつかの実装では、特定のタイプのオーディオ・コンテンツは、特定のタイプの音またはイベント(たとえば、犬の吠え越え、赤ん坊の泣き声、緊急サイレンの通過など)および/または特定のオーディオ環境(たとえば、屋内環境、屋外環境、屋内の共有されたワークスペースなど)を含みうる。いくつかの実装では、増強されたトレーニング・セットは、特定のタイプのオーディオ・コンテンツを含むオーディオ信号のトレーニング・セットを最初に識別することによって生成されうる。たとえば、近距離場の発話の背景において犬の吠え声を含むトレーニング・セットが取得されうる。別の例として、近距離場音声の背景において通過する遠距離場サイレンを含むトレーニング・セットが取得されうる。いくつかの実装では、残響は一般に屋内環境に存在するので、屋内環境において捕捉されたオーディオ・コンテンツを含む(および屋外環境において生成されたオーディオ・コンテンツを含まない)トレーニング・セットが取得されうる。いくつかの実装では、トレーニング・セットは、各オーディオ信号を特定のタイプのオーディオ・コンテンツに関連付けられているものとして分類するオーディオ信号のコーパスからのオーディオ信号を適用することによって取得されうることに留意されたい。いくつかの実装では、増強されたトレーニング・セットは、合成されたAIRおよび/または特定のタイプのノイズ(たとえば、発話ノイズ、屋内部屋ノイズなど)を識別されたトレーニング・セットに適用して、増強されたトレーニング・セットを生成することによって生成されうる。
【0075】
いくつかの実装では、残響除去モデル以外の発話向上モデルをトレーニングするために、増強されたトレーニング・セットが使用されてもよいことに留意されたい。たとえば、いくつかの実装では、そのような増強されたトレーニング・セットは、ノイズ管理(たとえば、ノイズ除去)のための機械学習モデル、ノイズ管理と残響除去の組み合わせを実行する機械学習モデルなどをトレーニングするために使用されうる。
【0076】
オーディオ信号を残響除去するための機械学習モデルは、さまざまなタイプのアーキテクチャーを有しうる。機械学習モデルは、入力として、残響のあるオーディオ信号の周波数領域表現を取り、出力として、残響のあるオーディオ信号の周波数領域表現に適用されたときに、残響除去された(たとえば、クリーンな)オーディオ信号の周波数領域表現を生成する予測された残響除去マスクを生成しうる。例示的なアーキテクチャー・タイプは、CNN、LSTM、RNN、深層ニューラルネットワークなどを含む。いくつかの実装では、機械学習モデルは、CNNおよびリカレント要素などの2つ以上のアーキテクチャー・タイプを組み合わせてもよい。いくつかのそのような実装では、CNNは、異なる分解能で入力の残響のあるオーディオ信号の特徴を抽出するために使用されうる。いくつかの実装では、リカレント要素は、CNNによって使用される、前に与えられた入力データの量を制御するメモリ・ゲートとしてのはたらきをしてもよい。リカレント要素をCNNと組み合わせて使用することにより、機械学習モデルがよりなめらかな出力を生成することが可能になりうる。また、リカレント要素をCNNと組み合わせて使用することにより、機械学習モデルがより高い精度を達成し、トレーニング時間を短縮することができる。よって、リカレント要素をCNNと組み合わせて使用することは、オーディオ信号を残響除去するための堅牢で正確な機械学習モデルをトレーニングするために使用される時間および/または計算資源を減少させることによって、計算効率性を改善しうる。使用されうるリカレント要素のタイプの例は、GRU、LSTMネットワーク、エルマンRNN、および/または任意の他の適切なタイプのリカレント要素もしくはアーキテクチャーを含む。
【0077】
いくつかの実装では、リカレント要素は、リカレント要素とCNNとが並列になるように、CNNと組み合わされてもよい。たとえば、リカレント要素の出力は、CNNの一つまたは複数の層に提供されてもよく、それにより、CNNは、CNNの諸層の出力に基づいて、およびリカレント要素の出力に基づいて出力を生成する。
【0078】
いくつかの実施形態において、機械学習モデルにおいて利用されるCNNは、複数の層を含んでいてもよい。各層は、異なる分解能で入力の残響のあるオーディオ信号スペクトル(たとえば、残響のあるオーディオ信号の周波数領域表現)の特徴を抽出しうる。いくつかの実装では、CNNの諸層は、異なる膨張因子(dilation factor)を有しうる。1よりも大きい膨張因子の使用は、パラメータの数を増加させることなく、1よりも大きい膨張因子を有する特定の層のために使用される畳み込みフィルタの受容野を効果的に増加させうる。したがって、1よりも大きい膨張因子の使用は、複雑さを増加させずに(たとえば、学習または最適化されるべきパラメータの数を維持することによって)、機械学習モデルがより堅牢にトレーニングされることを許容しうる(受容野サイズを増加させることによって)。一例では、CNNは、それぞれが増加する膨張率を有する第1の層グループと、それぞれが減少する膨張率を有する第2の層グループとを有しうる。1つの特定の例では、第1の層グループは、それぞれ1、2、4、8、12、および20の膨張因子を有する6つの層を含むことができる。この例を続けると、第2の層グループは、膨張因子が減少する5つの層(たとえば、それぞれ12、8、4、2、および1の膨張因子を有する5つの層)を含みうる。CNNによって考慮される受容野のサイズは、膨張因子、畳み込みフィルタ・サイズ、ストライド・サイズ、および/またはパッド・サイズ(たとえば、モデルが因果的であるか否か)に関係する。例として、1、2、4、8、12、および20の増加する膨張因子を有する6つのCNN層、3×3の畳み込みフィルタ・サイズ、0のストライド、および因果モデルを仮定すると、CNNは、(2×(1+2+4+8+12+20))+1個のフレーム、すなわち95フレームの総受容野を有しうる。別の例として、0の膨張を有する同じネットワークは、(2*(1+1+1+1+1+1))+1=13の受容野サイズを有することになる。いくつかの実装では、全受容野は、機械学習モデルによって考慮されるスペクトルの持続時間を示す遅延線持続時間に対応しうる。上述の膨張因子は単なる例示であることに留意されたい。いくつかの実装では、より小さい膨張因子が、たとえばリアルタイム・オーディオ信号持続時間についての遅延持続時間を減少させるために使用されうる。
【0079】
いくつかの実装では、機械学習モデルはゼロ・レイテンシーであってもよい。言い換えれば、機械学習モデルは、先読み、または将来のデータ点を使用しなくてもよい。これは、機械学習モデルが因果的であると称されることがある。逆に、いくつかの実装では、機械学習モデルは、先読みブロックを利用する層を実装してもよい。
【0080】
図6は、CNN 606とGRU 608とを並列に組み合わせた機械学習モデル600の例を示す。図示されるように、機械学習モデル600は、入力602として、残響のあるオーディオ信号スペクトル(たとえば、残響のあるオーディオ信号の周波数領域表現)を取り、予測された残響除去マスクに対応する出力604を生成する。
【0081】
図示されるように、CNN 606は、増加する膨張因子を有する第1の層のセット610を含む。特に、第1の層のセット610は、それぞれ1、2、4、8、12、および20の膨張因子を有する6つの層を含む。第1の層のセット610の後に、減少する膨張因子を有する第2の層のセット612が続く。特に、第2の層のセット612は、12、8、4、2、および1の膨張因子を有する5つの層を含む。第2の層のセット612の後には、第3の層のセット614が続き、これらの層のそれぞれは、1の膨張因子を有する。いくつかの実装では、層の第1のセット610、層の第2のセット612、および層の第3のセット614は、それぞれ、畳み込みブロックを含みうる。各畳み込みブロックは、畳み込みフィルタを利用しうる。CNN 606は3×3サイズの畳み込みフィルタを利用するが、これは単なる例示であり、いくつかの実装では、他のフィルタサイズ(たとえば、4×4、5×5など)が使用されうる。図6に示されるように、CNN 606の各層は、CNN 606の次の層または後続の層にフィードフォワードすることができる。さらに、いくつかの実装では、特定の膨張因子を有する層の出力が、同じ膨張因子を有する第2の層への入力として与えられてもよい。たとえば、2の膨張因子を有する第1の層のセット610の層は、2の膨張因子を有する第2の層のセット612の層への接続614を介して提供されうる。接続616、618、および620は、同様に、同じ膨張因子を有する層間の接続を提供する。
【0082】
図6に示されるように、GRU 608の出力は、CNN 606がCNN 606の諸層ならびにGRU 608の出力に基づいて出力604を生成するように、CNN 606のさまざまな層に提供されうる。たとえば、図6に示されるように、GRU 608は、接続622、624、626、628、630、および632を介して、減少する膨張因子を有する諸層(たとえば、第2の層のセット612に含まれる諸層)に出力を提供することができる。GRU 608は、任意の適切な数のノード(たとえば、48、56、64など)および/または任意の適切な数の層(たとえば、1、2、3、4、8など)を有してもよい。いくつかの実装では、GRU 608の前には、入力602の次元をGRU 608に適したおよび/またはGRU 310によって必要とされる次元に再整形する第1の再整形ブロック634があってもよい。第2の再整形ブロック636がGRU 608に続いてもよい。第2の再整形ブロック636は、GRU 608によって生成された出力の次元を、GRU 608の出力を受領するCNN 606の各層への提供に適した次元に再整形してもよい。
【0083】
いくつかの実装では、機械学習モデルは、機械学習モデルによって生成された予測された残響除去マスクを使用して生成された、予測される残響除去されたオーディオ信号に関連する残響の程度を示す損失関数を使用してトレーニングされうる。残響の程度の指示を含む損失関数を最小化するように機械学習モデルをトレーニングすることによって、機械学習モデルは、対応する残響のあるオーディオ信号とコンテンツが同様の残響除去されたオーディオ信号(たとえば、残響のあるオーディオ信号中のものと同様の直接音コンテンツを含む)を生成するだけでなく、さらに、より少ない残響をもつ残響除去されたオーディオ信号を生成しうる。いくつかの実装では、特定のトレーニング・サンプルについての損失項は、予測された残響除去されたオーディオ信号と正解となるクリーンなオーディオ信号との間の差と、予測された残響除去されたオーディオ信号に関連する残響の程度との組み合わせであってもよい。
【0084】
いくつかの実装では、損失関数に含まれる残響の程度は、発話対残響変調エネルギーであってもよい。いくつかの実装では、発話対残響変調エネルギーは、すべての変調周波数にわたる変調エネルギーに対する、相対的に高い変調周波数における変調エネルギーの比でありうる。いくつかの実装では、発話対残響変調エネルギーは、相対的に低い変調周波数にわたる変調エネルギーに対する、相対的に高い変調周波数における変調エネルギーの比でありうる。いくつかの実装では、相対的に高い変調周波数および相対的に低い変調周波数は、変調フィルタに基づいて識別されうる。たとえば、変調エネルギーがM個の変調周波数帯域において決定される場合、M個(たとえば、3、4、5など)の変調周波数帯域のうちの最も高いN個が「高い変調周波数」に対応すると考えられてもよく、残りの帯域(たとえば、M-N個)が「低い変調周波数」に対応すると考えられてもよい。
【0085】
図7は、いくつかの実装による、予測される残響除去されたオーディオ信号の残響の程度を組み込む損失関数を使用して機械学習モデルをトレーニングするためのプロセス700の一例を示す。いくつかの実装では、プロセス700のブロックは、サーバー、デスクトップコンピュータ、ラップトップコンピュータなどのデバイスによって実装されてもよい。機械学習モデルをトレーニングするために、増強されたトレーニング・セットが構築される場合、プロセス700のブロックを実装するデバイスは、増強されたトレーニング・セットを構築するために使用されるものと同じデバイスまたは異なるデバイスでありうる。いくつかの実装では、プロセス700の2つ以上のブロックが実質的に並列に実行されてもよい。いくつかの実装では、プロセス700のブロックは、図7に示されている順序以外の順序で実行されてもよい。いくつかの実装では、プロセス700の一つまたは複数のブロックは省略されてもよい。
【0086】
プロセス700は、702において、残響のあるオーディオ信号とクリーンなオーディオ信号とのペアを含むトレーニング・サンプルを含むトレーニング・セットを取得することによって開始することができる。いくつかの実装では、クリーンなオーディオ信号は、機械学習モデルが予測または生成するようにトレーニングされるべき「正解」信号と見なされうる。いくつかの実装では、トレーニング・セットは、図4A図4B図5A、および図5Bに関して上記で説明したように、合成AIRを使用して構築された増強されたトレーニング・セットであってもよい。いくつかの実装では、プロセス700は、データベース、リモートサーバーなどからトレーニング・セットを取得してもよい。
【0087】
704において、所与のトレーニング・サンプルについて(たとえば、残響のあるオーディオ信号とクリーンなオーディオ信号との所与のペアについて)、プロセス700は、予測された残響除去マスクを取得するために、残響のあるオーディオ信号を機械学習モデルに与えることができる。いくつかの実装では、プロセス700は、残響のあるオーディオ信号の周波数領域表現を決定し、残響のあるオーディオ信号の周波数領域表現を提供することによって、残響のあるオーディオ信号を提供しうる。いくつかの実装では、残響のあるオーディオ信号の周波数領域表現は、図3のブロック304に関して上記で図示および説明したように、人間の蝸牛のフィルタリングを近似するフィルタを使用してフィルタ処理されているかまたは他の仕方で変換されていてもよい。
【0088】
機械学習モデルは、任意の適切なアーキテクチャーを有しうることに留意されたい。たとえば、機械学習モデルは、深層ニューラルネットワーク、CNN、LSTM、RNNなどを含んでいてもよい。いくつかの実装では、機械学習モデルは、CNNとリカレント要素などの2つ以上のアーキテクチャーを組み合わせてもよい。いくつかの実装では、CNNは、異なる層において膨張因子を使用しうる。使用されうる機械学習モデルの具体的な例は、図6に示され、図6に関連して上述されている。
【0089】
706において、プロセス700は、予測された残響除去マスクを使用して、予測される残響除去されたオーディオ信号を取得することができる。たとえば、いくつかの実装では、プロセス700は、図3のブロック310に関連して示され、上述されたように、予測された残響除去マスクを残響除去されたオーディオ信号の周波数領域表現に適用して、残響除去されたオーディオ信号の周波数領域表現を取得することができる。この例を続けると、いくつかの実装では、プロセス700は次いで、図3のブロック312に関して上記で図示および説明したように、残響除去されたオーディオ信号の時間領域表現を生成することができる。
【0090】
708において、プロセス700は、予測された残響除去されたオーディオ信号に関連付けられた残響メトリックの値を決定することができる。残響メトリックは、予測された残響除去されたオーディオ信号の一つまたは複数のフレームの発話対残響変調エネルギー(本明細書では概してfsrmr(z)と示され、ここでzは予測された残響除去されたオーディオ信号である)でありうる。相対的に高い変調周波数におけるエネルギーと相対的に低い変調周波数におけるエネルギーとの比を考慮する、発話対残響変調エネルギーを決定するための例示的な式は、下記によって与えられる。
【数1】
【0091】
上に与えられた式において、zj,kは、k番目の変調フィルタによってグループ化されたj番目の臨界帯域の諸フレームにわたる平均変調エネルギーを表し、ここで、23の臨界帯域と8つの変調帯域がある。fsrmr(z)のより高い値は、より高い程度の残響を示す。他の数の臨界帯域および/または変調帯域が、発話対残響変調エネルギーを決定するために使用されてもよいことに留意されたい。
【0092】
710において、プロセス700は、クリーンなオーディオ信号、予測された残響除去されたオーディオ信号、および残響メトリックの値に基づいて損失項を決定することができる。いくつかの実装では、損失項は、クリーンなオーディオ信号と予測された残響除去されたオーディオ信号との間の差と、残響メトリックの値との組み合わせでありうる。いくつかの実装では、組み合わせは加重和であってもよく、ここで、残響メトリックの値は、機械学習モデルを使用して生成された出力中の残響を最小にすることの重要度によって重み付けされる。特定の予測された残響除去されたオーディオ信号(本明細書ではypreと示される)および特定のクリーンなオーディオ信号(本明細書ではyrefと示される)についての損失項の例示的な式は、下記によって与えられる:
loss=(ypre-yref2+w*fsrmr(z)
【0093】
上記の式に示されるように、損失項は、予測されたクリーンなオーディオ信号中に比較的高い程度の残響がある場合、および/または予測された残響除去されたオーディオ信号が正解のクリーンなオーディオ信号とは実質的に異なる場合に増加されうる。
【0094】
712において、プロセス700は、少なくとも部分的に損失項に基づいて機械学習モデルの重みを更新することができる。たとえば、いくつかの実装では、プロセス700は、勾配降下法および/または任意の他の適切な技法を使用して、機械学習モデルに関連付けられた更新された重み値を計算することができる。重みは、学習率、ドロップアウト率などの他の要因に基づいて更新されてもよい。重みは、機械学習モデルのさまざまなノード、層などに関連付けられてもよい。
【0095】
ブロック714において、プロセス700は、機械学習モデルがトレーニングされ続けるべきかどうかを決定することができる。プロセス700は、停止基準に達したかどうかの判定に基づいて、機械学習モデルがトレーニングされ続けるべきかどうかを判定することができる。停止基準は、機械学習モデルに関連する誤差が所定の誤差閾値の下まで減少したという判定、機械学習モデルに関連する重みの、ある反復工程から次の反復工程への変化が、所定の変化閾値未満であるという判定、および/または同様の判定を含みうる。
【0096】
ブロック714において、プロセス700が、機械学習モデルがトレーニングされ続けるべきではないと決定した場合(ブロック714における「no」)、プロセス700は、716において終了することができる。逆に、ブロック714において、プロセス700が、機械学習モデルがトレーニングされ続けるべきであると決定した場合(ブロック714において「yes」)、プロセス700は、704にループバックすることができ、異なるトレーニング・サンプルを用いてブロック704~714を通じてループすることができる。
【0097】
いくつかの実装では、(たとえば、図4A図4B図5A、および図5Bに関して上記で説明したような)増強されたトレーニング・セットが、図7に関して上記で説明したような、予測されるクリーンなオーディオ信号の残響の程度を組み込む損失関数を利用する機械学習モデルとの関連で使用されてもよい。いくつかの実装では、機械学習モデルは、図6に関連して示され、上述されたように、CNNおよびGRUを並列に組み込むアーキテクチャーを有してもよい。合成されたAIRを使用して生成されたトレーニング・サンプルを含む増強されたトレーニング・セットを、最適化された損失関数における残響メトリックを利用し、任意的にはCNNとGRUの両方を利用するアーキテクチャーを有していてもよい機械学習モデルと組み合わせることによって、機械学習モデルは、予測される残響除去されたオーディオ信号における高い精度と予測される残響除去されたオーディオ信号における低い残響の程度の両方を達成しながら、(たとえば、計算資源を最小に抑える仕方で)効率的にトレーニングされることが可能でありうる。そのようなシステムは、拡張トレーニング・セットおよび低レイテンシー機械学習モデル・アーキテクチャー上でのトレーニングを必要としうる、リアルタイム・オーディオ信号の残響除去のために特に有用でありうる。図8は、残響度メトリックを組み込む損失関数を利用する機械学習モデルとの関連で、増強されたトレーニング・セットを利用する例示的なシステム800の概略図を示す。
【0098】
図示されるように、システム800は、トレーニング・セット作成コンポーネント802を含む。トレーニング・セット作成コンポーネント802は、オーディオ信号を残響除去するために機械学習モデルによって使用されうる増強されたトレーニング・セットを生成しうる。いくつかの実装では、トレーニング・セット・コンポーネント802は、たとえば、増強されたトレーニング・セットを生成および/または記憶するデバイス上で実装されてもよい。トレーニング・セット作成コンポーネント802は、AIRデータベース806から、測定されたAIRを取り出すことができる。トレーニング・セット作成コンポーネント802は、次いで、AIRデータベース806から取り出された測定されたAIRに基づいて合成AIRを生成しうる。合成AIRを生成するためのより詳細な技法は、図4A図4B、および図5Aに示され、それらに関連して上述されている。トレーニング・セット作成コンポーネント802は、クリーンなオーディオ信号データベース804からクリーンなオーディオ信号を取り出すことができる。トレーニング・セット作成コンポーネント802は、次いで、測定されたAIR、合成されたAIR、およびクリーンなオーディオ信号に基づいて、増強されたトレーニング・セット808を生成することができる。増強されたトレーニング・セットを生成するためのより詳細な技法は、図5Bに示され、図5Bに関連して上述されている。増強されたトレーニング・セット808は、複数(たとえば、100個、1000個、10000個など)のトレーニング・サンプルを含んでいてもよく、各トレーニング・サンプルは、(たとえば、クリーンなオーディオ信号データベース804から取り出された)クリーンなオーディオ信号と、単一のAIR(測定されたAIRまたは合成されたAIRのいずれか)に基づいてトレーニング・セット作成コンポーネント802によって生成された対応する残響のあるオーディオ信号とのペアである。
【0099】
次いで、増強されたトレーニング・セット808を使用して、機械学習モデル810aをトレーニングすることができる。いくつかの実装では、機械学習モデル810aは、CNNとリカレント要素(たとえば、GRU、LSTMネットワーク、エルマンRNNなど)とを並列に含むアーキテクチャーを有してもよい。特に、CNNは、CNNの諸層の出力およびリカレント要素の出力に基づいて出力を生成してもよい。そのようなアーキテクチャーの例は、図6に示され、図6に関連して上述されている。機械学習モデル810aは、予測コンポーネント812aおよび残響決定コンポーネント814を含みうる。予測コンポーネント812aは、増強されたトレーニング・セット808から取得された残響のあるオーディオ信号について、予測された残響除去されたオーディオ信号を生成しうる。予測された残響除去されたオーディオ信号を生成するための例は、図2図3および図7に関連して上でより詳細に説明されている。残響決定コンポーネント814は、予測された残響除去されたオーディオ信号における残響の程度を決定しうる。たとえば、残響の程度は、図7のブロック708に関連して上述したように、発話対残響変調エネルギーに基づいてもよい。残響の程度は、予測コンポーネント812aに関連付けられた重みを更新するために使用されうる。たとえば、残響の程度は、図7のブロック710および712に関連して示され、上述されたように、予測コンポーネント812aに関連付けられた重みを更新するために最小化または最適化される損失関数に含まれてもよい。
【0100】
トレーニングの後、トレーニングされた機械学習モデル810bは、(たとえば、確定された重みに対応する)トレーニングされた予測コンポーネント812bを利用して、残響除去されたオーディオ信号を生成しうる。たとえば、トレーニングされた機械学習モデル810bは、入力として、残響のあるオーディオ信号814を取ってもよく、出力として、残響除去されたオーディオ信号816を生成してもよい。トレーニングされた機械学習モデル810bは、機械学習モデル810aと同じアーキテクチャーを有していてもよいが、推論時間において残響の程度を決定しなくてもよいことに留意されたい。
【0101】
図9は、本開示のさまざまな側面を実装することが可能な装置の構成要素の例を示すブロック図である。本明細書で提供される他の図と同様に、図9に示される要素のタイプおよび数は、単に例として提供される。他の実装は、より多くの、より少ない、および/または異なるタイプおよび数の要素を含んでいてもよい。いくつかの例によれば、装置900は、本明細書で開示される方法のうちの少なくともいくつかを実行するように構成されうる。いくつかの実装では、装置900は、テレビジョン、オーディオシステムの一つまたは複数の構成要素、(セルラー電話などの)モバイルデバイス、ラップトップコンピュータ、タブレットデバイス、スマートスピーカー、または別のタイプのデバイスであってよく、またはそれらを含んでいてもよい。
【0102】
いくつかの代替的な実装によれば、装置900は、サーバーであってもよく、またはサーバーを含んでいてもよい。いくつかのそのような例では、装置900は、エンコーダであってもよく、またはエンコーダを含んでいてもよい。よって、いくつかの例では、装置900は、家庭オーディオ環境などのオーディオ環境内で使用するように構成されたデバイスであってもよく、他の例では、装置900は、「クラウド」、たとえばサーバーにおいて使用するように構成されたデバイスであってもよい。
【0103】
この例では、装置900は、インターフェースシステム905および制御システム910を含む。インターフェースシステム905は、いくつかの実装では、オーディオ環境の一つまたは複数の他のデバイスと通信するように構成されうる。オーディオ環境は、いくつかの例では、家庭オーディオ環境でありうる。他の例では、オーディオ環境は、オフィス環境、自動車環境、列車環境、通りまたは歩道環境、公園環境などの別のタイプの環境でありうる。インターフェースシステム905は、いくつかの実装では、オーディオ環境のオーディオデバイスと制御情報および関連データを交換するように構成されうる。制御情報および関連するデータは、いくつかの例では、装置900が実行している一つまたは複数のソフトウェアアプリケーションに関係しうる。
【0104】
インターフェースシステム905は、いくつかの実装では、コンテンツストリームを受信するか、または提供するように構成されうる。コンテンツストリームは、オーディオ・データを含みうる。オーディオ・データは、オーディオ信号を含んでいてもよいが、これに限定されない。いくつかの例では、オーディオ・データは、チャネル・データおよび/または空間的メタデータのような空間的データを含んでいてもよい。いくつかの例では、コンテンツストリームは、ビデオデータと、ビデオデータに対応するオーディオ・データとを含みうる。
【0105】
インターフェースシステム905は、一つまたは複数のネットワークインターフェースおよび/または一つまたは複数の外部デバイスインターフェース(一つまたは複数のユニバーサルシリアルバス(USB)インターフェースなど)を含みうる。いくつかの実装によれば、インターフェースシステム905は、一つまたは複数のワイヤレスインターフェースを含みうる。インターフェースシステム905は、一つまたは複数のマイクロフォン、一つまたは複数のスピーカー、ディスプレイシステム、タッチセンサーシステムおよび/またはジェスチャーセンサーシステムなど、ユーザーインターフェースを実装するための一つまたは複数のデバイスを含みうる。いくつかの例では、インターフェースシステム905は、制御システム910と、図9に示される任意的なメモリシステム915などのメモリシステムとの間の一つまたは複数のインターフェースを含むことができる。しかしながら、制御システム910は、いくつかの例ではメモリシステムを含んでいてもよい。インターフェースシステム905は、いくつかの実装では、環境内の一つまたは複数のマイクロフォンから入力を受信するように構成されてもよい。
【0106】
制御システム910は、たとえば、汎用のシングルチップまたはマルチチッププロセッサ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)または他のプログラマブルロジックデバイス、離散的ゲートまたはトランジスタロジック、および/または離散的ハードウェア・コンポーネントを含みうる。
【0107】
いくつかの実装では、制御システム910は、2つ以上のデバイス内に存在してもよい。たとえば、いくつかの実装では、制御システム910の一部は、本明細書に示される環境のうちの1つの中のデバイスに存在してもよく、制御システム910の別の部分は、サーバー、モバイルデバイス(たとえば、スマートフォンまたはタブレットコンピュータ)等の前記環境の外側にあるデバイスに存在してもよい。他の例では、制御システム910の一部は、1つの環境内のデバイスに存在してもよく、制御システム910の別の部分は、環境の一つまたは複数の他のデバイスに存在してもよい。たとえば、制御システム910の一部は、サーバーなどのクラウドベースのサービスを実装しているデバイス内に存在してもよく、制御システム910の別の部分は、別のサーバー、メモリデバイスなどの前記クラウドベースのサービスを実装している別のデバイス内に存在してもよい。インターフェースシステム905はまた、いくつかの例では、2つ以上のデバイス内に存在してもよい。
【0108】
いくつかの実装では、制御システム910は、本明細書に開示された方法を少なくとも部分的に実行するように構成されてもよい。いくつかの例によれば、制御システム910は、オーディオ信号を残響除去する方法、オーディオ信号の残響除去を実行する機械学習モデルをトレーニングする方法、オーディオ信号の残響除去を実行する機械学習モデルのためのトレーニング・セットを生成する方法、トレーニング・セットに含めるための合成AIRを生成する方法などを実装するように構成されうる。
【0109】
本明細書に記載された方法の一部または全部は、一つまたは複数の非一時的媒体に記憶された命令(たとえば、ソフトウェア)に従って一つまたは複数のデバイスによって実行されうる。そのような非一時的媒体は、ランダムアクセスメモリ(RAM)デバイス、読み出し専用メモリ(ROM)デバイスなどを含むがこれらに限定されない、本明細書に記載されるものなどのメモリデバイスを含みうる。一つまたは複数の非一時的媒体は、たとえば、図9に示される任意的なメモリシステム915および/または制御システム910に存在しうる。したがって、本開示で説明する主題のさまざまな発明的側面は、ソフトウェアを記憶した一つまたは複数の非一時的媒体において実装されうる。ソフトウェアは、たとえば、トレーニングされた機械学習モデルを使用してオーディオ信号を残響除去するための命令、オーディオ信号の残響除去を実行する機械学習モデルをトレーニングするための命令、一つまたは複数の合成されたAIRを生成するための命令、オーディオ信号の残響除去を実行する機械学習モデルをトレーニングするためのトレーニング・セットを生成するための命令などを含みうる。ソフトウェアは、たとえば、図9の制御システム910などの制御システムの一つまたは複数の構成要素によって実行可能でありうる。
【0110】
いくつかの例では、装置900は、図9に示される任意的なマイクロフォンシステム920を含みうる。任意的なマイクロフォンシステム920は、一つまたは複数のマイクロフォンを含んでいてもよい。いくつかの実装では、マイクロフォンのうちの一つまたは複数は、スピーカーシステムのスピーカー、スマートオーディオデバイスなどの別のデバイスの一部であるか、またはそれに関連しうる。いくつかの例では、装置900はマイクロフォンシステム920を含まなくてもよい。しかしながら、いくつかのそのような実装では、装置900は、それでもなお、インターフェースシステム910を介してオーディオ環境内の一つまたは複数のマイクロフォンについてのマイクロフォンデータを受信するように構成されうる。いくつかのそのような実装では、装置900のクラウドベースの実装は、インターフェースシステム910を介してオーディオ環境内の一つまたは複数のマイクロフォンから、マイクロフォンデータ、またはマイクロフォンデータに少なくとも部分的に対応するノイズ・メトリックを受信するように構成されうる。
【0111】
いくつかの実装によれば、装置900は、図9に示されている任意的なラウドスピーカーシステム925を含みうる。任意的なラウドスピーカーシステム925は、本明細書では「スピーカー」、またはより一般的に「オーディオ再生トランスデューサ」とも呼ばれうる一つまたは複数のラウドスピーカーを含みうる。いくつかの例(たとえば、クラウドベースの実装)では、装置900は、ラウドスピーカーシステム925を含まなくてもよい。いくつかの実装では、装置900はヘッドフォンを含んでいてもよい。ヘッドフォンは、ヘッドフォンジャックを介して、または無線接続(たとえば、BLUETOOTH(登録商標))を介して、装置900に接続または結合されうる。
【0112】
本開示のいくつかの側面は、開示された方法の一つまたは複数の例を実行するように構成された(たとえば、プログラムされた)システムまたはデバイスと、開示された方法またはそのステップの一つまたは複数の例を実装するためのコードを記憶する有形のコンピュータ可読媒体(たとえば、ディスク)とを含む。たとえば、いくつかの開示されたシステムは、ソフトウェアまたはファームウェアでプログラムされた、および/または、開示された方法の実施形態またはそのステップを含む、データに対するさまざまな動作のいずれかを実行するように構成された、プログラム可能な汎用プロセッサ、デジタル信号プロセッサ、またはマイクロプロセッサであるか、またはそれらを含むことができる。そのような汎用プロセッサは、入力デバイスと、メモリと、アサートされたデータに応答して、開示される方法(またはそのステップ)の一つまたは複数の例を実行するようにプログラムされた(および/または他の仕方で構成された)処理サブシステムとを含むコンピュータシステムであるか、またはそれを含みうる。
【0113】
いくつかの実施形態は、開示された方法の一つまたは複数の例の実行を含む、オーディオ信号(複数可)に対して必要な処理を実行するように構成された(たとえば、プログラムされた、および他の仕方で構成された)構成可能な(たとえば、プログラム可能な)デジタル信号プロセッサ(DSP)として実装されうる。あるいはまた、開示されたシステム(またはその要素)の実施形態は、開示された方法の一つまたは複数の例を含む多様な動作のいずれかを実行するようにソフトウェアまたはファームウェアでプログラムされ、および/または他の仕方で構成された汎用プロセッサ(たとえば、入力デバイスおよびメモリを含みうるパーソナルコンピュータ(PC)または他のコンピュータシステムまたはマイクロプロセッサ)として実装されうる。あるいはまた、本発明のシステムのいくつかの実施形態の要素は、開示された方法の一つまたは複数の例を実行するように構成された(たとえば、プログラムされた)汎用プロセッサまたはDSPとして実装され、システムはまた、他の要素(たとえば、一つまたは複数のラウドスピーカーおよび/または一つまたは複数のマイクロフォン)を含む。開示される方法の一つまたは複数の例を実行するように構成された汎用プロセッサは、入力デバイス(たとえば、マウスおよび/またはキーボード)、メモリ、およびディスプレイデバイスに結合されうる。
【0114】
本開示の別の側面は、開示された方法またはそのステップの一つまたは複数の例を実行するためのコード(たとえば、実行するように実行可能なコーダ)を記憶するコンピュータ可読媒体(たとえば、ディスクまたは他の有形の記憶媒体)である。
【0115】
本開示の個別的な実施形態および本開示の応用が本明細書に記載されているが、本明細書に記載された実施形態および応用に対する多くの変形が、本明細書に記載され、特許請求される本開示の範囲から逸脱することなく可能であることは、当業者には明らかであろう。本開示のある種の形が示され、説明されたが、本開示は、説明され、示された特定の実施形態、または説明された特定の方法に限定されるべきではないことを理解されたい。
図1
図2
図3
図4A
図4B
図5A
図5B
図6
図7
図8
図9
【国際調査報告】