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

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

▶ グーグル インコーポレイテッドの特許一覧

特許7713113統合音響エコー除去、音声強調、及び声分離のための一般化自動音声認識
<>
  • 特許-統合音響エコー除去、音声強調、及び声分離のための一般化自動音声認識 図1
  • 特許-統合音響エコー除去、音声強調、及び声分離のための一般化自動音声認識 図2
  • 特許-統合音響エコー除去、音声強調、及び声分離のための一般化自動音声認識 図3
  • 特許-統合音響エコー除去、音声強調、及び声分離のための一般化自動音声認識 図4
  • 特許-統合音響エコー除去、音声強調、及び声分離のための一般化自動音声認識 図5
  • 特許-統合音響エコー除去、音声強調、及び声分離のための一般化自動音声認識 図6
  • 特許-統合音響エコー除去、音声強調、及び声分離のための一般化自動音声認識 図7
  • 特許-統合音響エコー除去、音声強調、及び声分離のための一般化自動音声認識 図8
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2025-07-15
(45)【発行日】2025-07-24
(54)【発明の名称】統合音響エコー除去、音声強調、及び声分離のための一般化自動音声認識
(51)【国際特許分類】
   G10L 15/20 20060101AFI20250716BHJP
   G10L 15/16 20060101ALI20250716BHJP
   G10L 15/06 20130101ALI20250716BHJP
【FI】
G10L15/20 370D
G10L15/16
G10L15/06 300Z
【請求項の数】 28
(21)【出願番号】P 2024555991
(86)(22)【出願日】2023-02-19
(65)【公表番号】
(43)【公表日】2025-04-15
(86)【国際出願番号】 US2023062886
(87)【国際公開番号】W WO2023183683
(87)【国際公開日】2023-09-28
【審査請求日】2024-10-29
(31)【優先権主張番号】63/269,629
(32)【優先日】2022-03-20
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】502208397
【氏名又は名称】グーグル エルエルシー
【氏名又は名称原語表記】Google LLC
【住所又は居所原語表記】1600 Amphitheatre Parkway 94043 Mountain View, CA U.S.A.
(74)【代理人】
【識別番号】100108453
【弁理士】
【氏名又は名称】村山 靖彦
(74)【代理人】
【識別番号】100188558
【弁理士】
【氏名又は名称】飯田 雅人
(74)【代理人】
【識別番号】100110364
【弁理士】
【氏名又は名称】実広 信哉
(72)【発明者】
【氏名】トム・オマリー
(72)【発明者】
【氏名】チュアン・ワン
(72)【発明者】
【氏名】アルン・ナラヤナン
【審査官】大野 弘
(56)【参考文献】
【文献】Tom O'Malley et al,A CONFORMER-BASED ASR FRONTEND FOR JOINT ACOUSTIC ECHO CANCELLATION,SPEECH ENHANCEMENT AND SPEECH SEPARATION,2021 IEEE AUTOMATIC SPEECH RECOGNITION AND UNDERSTANDING WORKSHOP(ASRU),2021年12月13日,PP.304-311
(58)【調査した分野】(Int.Cl.,DB名)
G10L 15/06
G10L 15/16
G10L 15/20
(57)【特許請求の範囲】
【請求項1】
データ処理ハードウェア(134)で実行されたとき、前記データ処理ハードウェア(134)に動作を行わせるコンピュータ実装方法(700)であって、前記動作が、
対応するトレーニングコンテキスト信号(534、534a~c)と対にされた複数のトレーニング発話(532)を受信することであって、前記トレーニングコンテキスト信号(534a~c)は、
前記対応するトレーニング発話(532)の前のノイズを含むトレーニングコンテキストノイズ信号(534a)と、
トレーニング参照オーディオ信号(543b)と、
前記対応するトレーニング発話(532)を話したターゲット話者の声特性を含むトレーニング話者ベクトル(534c)と、を含む、前記受信することと、
コンテキスト信号ドロップアウトストラテジーを使用して、強化音声特徴(250)を予測する方法を学習するために、前記トレーニング発話(532)でコンテキストフロントエンド処理モデル(200)をトレーニングすることであって、前記コンテキスト信号ドロップアウトストラテジーは、前記コンテキストフロントエンド処理モデル(200)のトレーニング中に、所定の確率を使用して、前記トレーニングコンテキスト信号(534)の各々をドロップアウトする、前記トレーニングすることと、
を含む、コンピュータ実装方法(700)。
【請求項2】
前記信号ドロップアウトストラテジーは、前記対応するトレーニングコンテキスト信号(534)をオールゼロに置き換えることによって、各トレーニングコンテキスト信号(534)をドロップアウトする、請求項1に記載のコンピュータ実装方法(700)。
【請求項3】
前記トレーニング参照オーディオ信号(543b)をオールゼロに置き換えることは、前記トレーニング参照オーディオ信号(543b)を、前記対応するトレーニング発話(532)と同じ長さ及び特徴次元のオールゼロ特徴に置き換えることを含む、請求項2に記載のコンピュータ実装方法(700)。
【請求項4】
前記トレーニングコンテキストノイズ信号(534a)を置き換えることは、前記トレーニングコンテキストノイズ信号(534a)を、所定の長さ及び前記対応するトレーニング発話(532)と同じ特徴次元を有するオールゼロ特徴に置き換えることを含む、請求項に記載のコンピュータ実装方法(700)。
【請求項5】
前記トレーニング話者ベクトル(534c)を置き換えることは、前記トレーニング話者ベクトル(534c)を、オールゼロベクトルを有するオールゼロ特徴に置き換えることを含む、請求項に記載のコンピュータ実装方法(700)。
【請求項6】
前記信号ドロップアウトストラテジーは、前記対応するトレーニングコンテキスト信号(534)をフレームレベルの学習済み表現に置き換えることによって、各トレーニングコンテキスト信号(534)をドロップアウトする、請求項1に記載のコンピュータ実装方法(700)。
【請求項7】
前記トレーニングされたコンテキストフロントエンド処理モデル(200)は、
一次エンコーダ(210)であって、
入力として、ターゲット発話(12)に対応する入力音声特徴(212)を受信し、
出力として、主要入力符号化(218)を生成するように構成された、一次エンコーダ(210)と、
ノイズコンテキストエンコーダ(220)であって、
入力として、前記ターゲット発話(12)の前のノイズを含むコンテキストノイズ信号(213)を受信し、
出力として、コンテキストノイズ符号化(222)を生成するように構成された、ノイズコンテキストエンコーダ(220)と、
クロスアテンションエンコーダ(400)であって、
入力として、前記一次エンコーダ(210)からの出力として生成された前記主要入力符号化(218)、及び前記ノイズコンテキストエンコーダ(220)からの出力として生成された前記コンテキストノイズ符号化(222)を受信し、
出力として、クロスアテンション埋め込み(480)を生成するように構成された、クロスアテンションエンコーダ(400)と、
デコーダ(240)であって、前記クロスアテンション埋め込み(480)を、前記ターゲット発話(12)に対応する強化音声特徴(250)に復号するように構成されたデコーダ(240)と、
を含む、請求項に記載のコンピュータ実装方法(700)。
【請求項8】
前記一次エンコーダ(210)が、さらに、
入力として、参照オーディオ信号(154)に対応する参照特徴(214)を受信し、
出力として、前記参照特徴(214)と積層された前記入力音声特徴(212)を処理することによって、前記主要入力符号化(218)を生成する
ように構成された、請求項7に記載のコンピュータ実装方法(700)。
【請求項9】
前記一次エンコーダ(210)が、さらに、
入力として、前記ターゲット発話(12)を話したターゲット話者(10)の声特性を含む話者埋め込み(215)を受信し、
出力として、特徴量的線形変調(FiLM)を使用して、前記入力音声特徴(212)を前記話者埋め込み(215)と組み合わせることによって、前記主要入力符号化(218)を生成する
ように構成された、請求項に記載のコンピュータ実装方法(700)。
【請求項10】
前記クロスアテンションエンコーダ(400)が、さらに、
入力として、特徴量的線形変調(FiLM)を使用して話者埋め込み(215)によって変調された前記主要入力符号化(218)を受信することであって、前記話者埋め込み(215)が、前記ターゲット発話(12)を話したターゲット話者(10)の声特性を含む、前記受信することと、
前記話者埋め込み(215)によって変調された前記主要入力符号化(218)及び前記コンテキストノイズ符号化(222)を処理して、出力として、前記クロスアテンション埋め込み(480)を生成することと、
を行うように構成されている、請求項に記載のコンピュータ実装方法(700)。
【請求項11】
前記一次エンコーダ(210)は、N個の変調コンフォーマブロック(320)を含み、
前記ノイズコンテキストエンコーダ(220)は、N個のコンフォーマブロックを含み、前記一次エンコーダ(210)と並行して実行し、
前記クロスアテンションエンコーダ(400)は、M個の変調クロスアテンションコンフォーマブロックを含む、
請求項のコンピュータ実装方法(700)。
【請求項12】
前記コンテキストフロントエンド処理モデル(200)が、スペクトル損失及びASR損失(640)を使用して、バックエンド自動音声認識(ASR)モデル(192)と統合してトレーニングされる、請求項に記載のコンピュータ実装方法(700)。
【請求項13】
前記スペクトル損失が、推定比率マスク及び理想的比率マスクとの間のL1損失関数及びL2損失関数の距離に基づき、前記理想的比率マスクは残響音声及び残響ノイズを使用して計算された、請求項12に記載のコンピュータ実装方法(700)。
【請求項14】
前記ASR損失(640)が、各トレーニング発話(532)について、
前記コンテキスト信号ドロップアウトストラテジーを使用して、前記トレーニング発話(532)の前記コンテキストフロントエンド処理モデル(200)によって予測される強化音声特徴(250)を入力として受信するように構成された前記ASRモデル(192)のASRエンコーダ(620)を使用して、前記強化音声特徴(250)についての前記ASRエンコーダ(620)の予測出力(622)を生成することと、
前記トレーニング発話(532)のターゲット音声特徴(540)を入力として受信するように構成された前記ASRエンコーダ(620)を使用して、前記ターゲット音声特徴(540)についての前記ASRエンコーダ(620)のターゲット出力(624)を生成することと、
前記強化音声特徴(250)についての前記ASRエンコーダ(620)の前記予測出力(622)と、前記ターゲット音声特徴(540)についての前記ASRエンコーダ(620)の前記ターゲット出力(624)とに基づいて、前記ASR損失(640)を計算することと、
によって計算される、請求項12に記載のコンピュータ実装方法(700)。
【請求項15】
システム(100)であって、
データ処理ハードウェア(134)と、
前記データ処理ハードウェア(134)と通信し、命令を格納するメモリハードウェア(136)とを備え、前記命令は前記データ処理ハードウェア(134)上で実行されたとき、前記データ処理ハードウェア(134)に、
対応するトレーニングコンテキスト信号(534、534a~c)と対にされた複数のトレーニング発話(532)を受信することであって、前記トレーニングコンテキスト信号(534a~c)は、
前記対応するトレーニング発話(532)の前のノイズを含むトレーニングコンテキストノイズ信号(534a)と、
トレーニング参照オーディオ信号(543b)と、
前記対応するトレーニング発話(532)を話したターゲット話者の声特性を含むトレーニング話者ベクトル(534c)と、を含む、前記受信することと、
コンテキスト信号ドロップアウトストラテジーを使用して、強化音声特徴(250)を予測する方法を学習するために、前記トレーニング発話(532)でコンテキストフロントエンド処理モデル(200)をトレーニングすることであって、前記コンテキスト信号ドロップアウトストラテジーは、前記コンテキストフロントエンド処理モデル(200)のトレーニング中に、所定の確率を使用して、前記トレーニングコンテキスト信号(534)の各々をドロップアウトする、前記トレーニングすることと、を含む動作を実行させる、
システム(100)。
【請求項16】
前記信号ドロップアウトストラテジーは、前記対応するトレーニングコンテキスト信号(534)をオールゼロに置き換えることによって、各トレーニングコンテキスト信号(534)をドロップアウトする、請求項15に記載のシステム(100)。
【請求項17】
前記トレーニング参照オーディオ信号(543b)をオールゼロに置き換えることは、前記トレーニング参照オーディオ信号(543b)を、前記対応するトレーニング発話(532)と同じ長さ及び特徴次元のオールゼロ特徴に置き換えることを含む、請求項16に記載のシステム(100)。
【請求項18】
前記トレーニングコンテキストノイズ信号を置き換えることは、前記トレーニングコンテキストノイズ信号(534a)を、所定の長さ及び前記対応するトレーニング発話(532)と同じ特徴次元を有するオールゼロ特徴に置き換えることを含む、請求項16に記載のシステム(100)。
【請求項19】
前記トレーニング話者ベクトル(534c)を置き換えることは、前記トレーニング話者ベクトル(534c)を、オールゼロベクトルを有するオールゼロ特徴に置き換えることを含む、請求項16に記載のシステム(100)。
【請求項20】
前記信号ドロップアウトストラテジーは、前記対応するトレーニングコンテキスト信号(534)をフレームレベルの学習済み表現に置き換えることによって、各トレーニングコンテキスト信号(534)をドロップアウトする、請求項15に記載のシステム(100)。
【請求項21】
前記トレーニングされたコンテキストフロントエンド処理モデル(200)は、
一次エンコーダ(210)であって、
入力として、ターゲット発話(12)に対応する入力音声特徴(212)を受信し、
出力として、主要入力符号化(218)を生成するように構成された、一次エンコーダ(210)と、
ノイズコンテキストエンコーダ(220)であって、
入力として、前記ターゲット発話(12)の前のノイズを含むコンテキストノイズ信号(213)を受信し、
出力として、コンテキストノイズ符号化(222)を生成するように構成された、ノイズコンテキストエンコーダ(220)と、
クロスアテンションエンコーダ(400)であって、
入力として、前記一次エンコーダ(210)からの出力として生成された前記主要入力符号化(218)、及び前記ノイズコンテキストエンコーダ(220)からの出力として生成された前記コンテキストノイズ符号化(222)を受信し、
出力として、クロスアテンション埋め込み(480)を生成するように構成された、クロスアテンションエンコーダ(400)と、
デコーダ(240)であって、前記クロスアテンション埋め込み(480)を、前記ターゲット発話(12)に対応する強化音声特徴(250)に復号するように構成されたデコーダ(240)と、
を含む、請求項15に記載のシステム(100)。
【請求項22】
前記一次エンコーダ(210)が、さらに、
入力として、参照オーディオ信号(154)に対応する参照特徴(214)を受信し、
出力として、前記参照特徴(214)と積層された前記入力音声特徴(212)を処理することによって、前記主要入力符号化(218)を生成するように構成された、請求項21に記載のシステム(100)。
【請求項23】
前記一次エンコーダ(210)が、さらに、
入力として、前記ターゲット発話(12)を話したターゲット話者(10)の声特性を含む話者埋め込み(215)を受信し、
出力として、特徴量的線形変調(FiLM)を使用して、前記入力音声特徴(212)を前記話者埋め込み(215)と組み合わせることによって、前記主要入力符号化(218)を生成するように構成された、請求項21に記載のシステム(100)。
【請求項24】
前記クロスアテンションエンコーダ(400)が、さらに、
入力として、特徴量的線形変調(FiLM)を使用して話者埋め込み(215)によって変調された前記主要入力符号化(218)を受信することであって、前記話者埋め込み(215)が、前記ターゲット発話(12)を話したターゲット話者(10)の声特性を含む、前記受信することと、
前記話者埋め込み(215)によって変調された前記主要入力符号化(218)及び前記コンテキストノイズ符号化(222)を処理して、出力として、前記クロスアテンション埋め込み(480)を生成することと、
を行うように構成されている、請求項21に記載のシステム(100)。
【請求項25】
前記一次エンコーダ(210)は、N個の変調コンフォーマブロック(320)を含み、
前記ノイズコンテキストエンコーダ(220)は、N個のコンフォーマブロックを含み、前記一次エンコーダ(210)と並行して実行し、
前記クロスアテンションエンコーダ(400)は、M個の変調クロスアテンションコンフォーマブロックを含む、請求項21に記載のシステム(100)。
【請求項26】
前記コンテキストフロントエンド処理モデル(200)が、スペクトル損失及びASR損失を使用して、バックエンド自動音声認識(ASR)モデル(192)と統合してトレーニングされる、請求項15に記載のシステム(100)。
【請求項27】
前記スペクトル損失が、推定比率マスク及び理想的比率マスクとの間のL1損失関数及びL2損失関数の距離に基づき、前記理想的比率マスクは残響音声及び残響ノイズを使用して計算された、請求項26に記載のシステム(100)。
【請求項28】
前記ASR損失が、各トレーニング発話(532)について、
前記コンテキスト信号ドロップアウトストラテジーを使用して、前記トレーニング発話(532)の前記コンテキストフロントエンド処理モデル(200)によって予測される強化音声特徴(250)を入力として受信するように構成された前記ASRモデル(192)のASRエンコーダ(620)を使用して、前記強化音声特徴(250)についての前記ASRエンコーダ(620)の予測出力(622)を生成することと、
前記トレーニング発話(532)のターゲット音声特徴(540)を入力として受信するように構成された前記ASRエンコーダ(620)を使用して、前記ターゲット音声特徴(540)についての前記ASRエンコーダ(620)のターゲット出力(624)を生成することと、
前記強化音声特徴(250)についての前記ASRエンコーダ(620)の前記予測出力(622)と、前記ターゲット音声特徴(540)についての前記ASRエンコーダ(620)の前記ターゲット出力(624)とに基づいて、前記ASR損失(640)を計算することと、
によって計算される、請求項26に記載のシステム(100)。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、統合音響エコー除去、音声強調、及び声分離のための一般化自動音声認識に関するものである。
【背景技術】
【0002】
自動音声認識(ASR)システムのロバスト性は、ニューラルネットワークベースのエンドツーエンドモデルの登場、大規模トレーニングデータ、及びトレーニングデータを拡張するための戦略の改善により、数年にわたって大幅に向上している。しかし、エコー、より強い暗騒音及び競合音声などの様々な条件は、ASRシステムの性能を大幅に低下させる。統合ASRモデルは、これらの条件を処理するように訓練され得る。しかしながら、使用中、統合ASRモデルは、同時に発生する全ての条件に遭遇するわけではない。したがって、存在する全ての条件で統合ASRモデルをトレーニングすることは実用的ではない。
【発明の概要】
【0003】
本開示の一態様は、結合エコー除去、音声強調、及び声分離のために一般化自動音声認識モデルをトレーニングするためのコンピュータ実装方法を提供し、本方法は、データ処理ハードウェア上で実行されたとき、データ処理ハードウェアに動作を実行させる。この動作は、対応するトレーニングコンテキスト信号と対にされた複数のトレーニング発話を受信することを含む。トレーニングコンテキスト信号は、対応するトレーニング発話の前のノイズを含むトレーニングコンテキストノイズ信号と、トレーニング参照オーディオ信号と、対応するトレーニング発話を話したターゲット話者の声特性を含むトレーニング話者ベクトルとを含む。この動作はまた、コンテキスト信号ドロップアウトストラテジーを使用して、強化音声特徴を予測する方法を学習するためにトレーニング発話に関するコンテキストフロントエンド処理モデルをトレーニングすることを含む。ここで、コンテキスト信号ドロップアウトストラテジーは、コンテキストフロントエンド処理モデルのトレーニング中に、所定の確率を使用して、トレーニングコンテキスト信号の各々をドロップアウトする。
【0004】
本開示の実施態様は、以下の任意選択の特徴の1つ以上を含み得る。いくつかの実施態様では、信号ドロップアウトストラテジーは、対応するコンテキスト信号をオールゼロに置き換えることによって、各トレーニングコンテキスト信号をドロップアウトする。これらの実施態様では、トレーニング参照オーディオ信号をすべてゼロに置き換えることは、トレーニング参照オーディオ信号を、対応するトレーニング発話と同じ長さ及び特徴次元のオールゼロ特徴に置き換えることを含む。追加的または代替的に、トレーニングコンテキストノイズ信号を置き換えることは、トレーニングコンテキストノイズ信号を、所定の長さ及び対応するトレーニング発話と同じ特徴次元を有するオールゼロ特徴に置き換えることを含む。さらに、これらの実施態様では、トレーニング話者ベクトルを置き換えることは、トレーニング話者ベクトルを、オールゼロベクトルを有するオールゼロ特徴と置き換えることを含む。いくつかの例では、信号ドロップアウトストラテジーは、対応するコンテキスト信号をフレームレベルの学習済み表現に置き換えることによって、各トレーニングコンテキスト信号をドロップアウトする。
【0005】
いくつかの実施態様では、トレーニングされたコンテキストフロントエンド処理モデルは、一次エンコーダ、ノイズコンテキストエンコーダ、クロスアテンションエンコーダ、及びデコーダを含む。一次エンコーダは、ターゲット発話に対応する入力音声特徴を入力として受信し、出力として主要入力符号化を生成する。ノイズコンテキストエンコーダは、ターゲット発話の前のノイズを含むコンテキストノイズ信号を入力として受信し、出力として、コンテキストノイズ符号化を生成する。クロスアテンションエンコーダは、一次エンコーダからの出力として生成された主要入力符号化、及びノイズコンテキストエンコーダからの出力として生成されたコンテキストノイズ符号化を入力として受信し、出力としてクロスアテンション埋め込みを生成する。デコーダは、クロスアテンション埋め込みを、ターゲット発話に対応する強化された入力音声特徴に復号する。これらの実施態様では、一次エンコーダはさらに、入力として、参照オーディオ信号に対応する参照特徴を受信し、出力として、参照特徴と積層された入力音声特徴を処理することによって、主要入力符号化を生成するように構成される。あるいは、一次エンコーダは、さらに、ターゲット発話を話したターゲット話者の声特性を含む話者埋め込みを入力として受信し、出力として、特徴量的線形変調(FiLM)を使用して、入力音声特徴を話者埋め込みと組み合わせることによって主要入力符号化を生成するように構成される。追加的または代替的に、クロスアテンションエンコーダは、さらに、特徴量的線形変調(FiLM)を使用して話者埋め込みによって変調された主要入力符号化を入力として受信するように構成される。ここで、話者埋め込みは、ターゲット発話を話したターゲット話者の声特性を含み、話者埋め込みによって変調された主要入力符号化とコンテキストノイズ符号化とを処理して、出力としてクロスアテンション埋め込みを生成する。いくつかの実施態様では、一次エンコーダは、N個の変調コンフォーマブロックを含み、コンテキストノイズエンコーダは、N個のコンフォーマブロックを含み、一次エンコーダと並行して実行し、クロスアテンションエンコーダは、M個の変調クロスアテンションコンフォーマブロックを含む。
【0006】
いくつかの例では、コンテキストフロントエンド処理モデルは、スペクトル損失及びASR損失を使用して、バックエンド自動音声認識(ASR)モデルと統合してトレーニングされる。これらの例では、スペクトル損失が、推定比率マスクと理想的比率マスクとの間のL1損失関数及びL2損失関数の距離に基づいてよい。ここで、理想的比率マスクは、残響音声及び残響ノイズを使用して計算される。さらに、これらの例では、ASR損失は、トレーニング発話のコンテキストフロントエンド処理モデルによって予測された強化音声特徴を入力として、強化音声特徴のASRエンコーダの予測出力を受け取ることと、トレーニング発話のターゲット音声特徴を入力として受け取るように構成されたASRエンコーダを使用して、ターゲット音声特徴のASRエンコーダのターゲット出力を生成することと、強化音声特徴のASRエンコーダの予測出力及びターゲット音声特徴のASRエンコーダのターゲット出力に基づくASR損失を計算することと、により計算される。
【0007】
本開示の別の態様は、統合エコー除去、音声強調、及び声分離のための一般化自動音声認識モデルのトレーニングのためシステムを提供する。本システムは、データ処理ハードウェア、及びデータ処理ハードウェアと通信するメモリハードウェアを含む。メモリハードウェアは、データ処理ハードウェアで実行されたとき、データ処理ハードウェアに、対応するトレーニングコンテキスト信号と対にされた複数のトレーニング発話を受信することを含む動作を実行させる命令を格納する。トレーニングコンテキスト信号は、対応するトレーニング発話の前のノイズを含むトレーニングコンテキストノイズ信号と、トレーニング参照オーディオ信号と、対応するトレーニング発話を話したターゲット話者の声特性を含むトレーニング話者ベクトルとを含む。動作はまた、コンテキスト信号ドロップアウトストラテジーを使用して、強化音声特徴を予測する方法を学習するためのトレーニング発話に対してコンテキストフロントエンド処理モデルをトレーニングすることを含む。ここで、コンテキスト信号ドロップアウトストラテジーは、コンテキストフロントエンド処理モデルのトレーニング中に、所定の確率を使用して、トレーニングコンテキスト信号の各々をドロップアウトする。
【0008】
この態様は、以下の任意選択の特徴のうちの1つ以上を含んでもよい。いくつかの実施態様では、信号ドロップアウトストラテジーは、対応するコンテキスト信号をオールゼロに置き換えることによって、各トレーニングコンテキスト信号をドロップアウトする。これらの実施態様では、トレーニング参照オーディオ信号をオールゼロに置き換えることは、トレーニング参照オーディオ信号を、対応するトレーニング発話と同じ長さ及び特徴次元のオールゼロ特徴に置き換えることを含む。追加的または代替的に、トレーニングコンテキストノイズ信号を置き換えることは、トレーニングコンテキストノイズ信号を、所定の長さ及び対応するトレーニング発話と同じ特徴次元を有するオールゼロ特徴に置き換えることを含む。追加的に、これらの実施態様では、トレーニング話者ベクトルを置き換えることは、トレーニング話者ベクトルをオールゼロ特徴と置き換えることを含む。いくつかの例では、信号ドロップアウトストラテジーは、対応するコンテキスト信号をフレームレベルの学習済み表現に置き換えることによって、各トレーニングコンテキスト信号をドロップアウトする。
【0009】
いくつかの実施態様では、訓練されたコンテキストフロントエンド処理モデルは、一次エンコーダ、ノイズコンテキストエンコーダ、クロスアテンションエンコーダ、及びデコーダを含む。一次エンコーダは、ターゲット発話に対応する入力音声特徴を入力として受け取り、出力として主要入力符号化を生成する。ノイズコンテキストエンコーダは、ターゲット発話の前のノイズを含むコンテキストノイズ信号を入力として受け取り、出力として、コンテキストノイズ符号化を生成する。クロスアテンションエンコーダは、一次エンコーダからの出力として生成された主要入力符号化、及びノイズコンテキストエンコーダからの出力として生成されたコンテキストノイズ符号化を入力として受け取り、出力としてクロスアテンション埋め込みを生成する。デコーダは、クロスアテンション埋め込みを、ターゲット発話に対応する強化された入力音声特徴に復号する。これらの実施態様では、一次エンコーダはさらに、入力として、参照オーディオ信号に対応する参照特徴を受け取り、出力として、参照特徴と積層された入力音声特徴を処理することによって、主要入力符号化を生成するように構成される。あるいは、一次エンコーダは、さらに、ターゲット発話を話したターゲット話者の声特性を含む話者埋め込みを入力として受け取り、出力として、特徴量的線形変調(FiLM)を使用して、入力音声特徴を話者埋め込みと組み合わせることによって主要入力符号化を生成するように構成される。追加的または代替的に、クロスアテンションエンコーダは、さらに、特徴量的線形変調(FiLM)を使用して話者埋め込みによって変調された主要入力符号化を入力として受け取るように構成される。ここで、話者埋め込みは、ターゲット発話を話したターゲット話者の声特性を含み、話者埋め込みによって変調された主要入力符号化とコンテキストノイズ符号化とを処理して、出力としてクロスアテンション埋め込みを生成する。いくつかの実施態様では、一次エンコーダは、N個の変調コンフォーマブロックを含み、コンテキストノイズエンコーダは、N個のコンフォーマブロックを含み、一次エンコーダと並行して実行し、クロスアテンションエンコーダは、M個の変調クロスアテンションコンフォーマブロックを含む。
【0010】
いくつかの例では、コンテキストフロントエンド処理モデルは、スペクトル損失及びASR損失を使用して、バックエンド自動音声認識(ASR)モデルと統合してトレーニングされる。これらの例では、スペクトル損失が、推定比率マスクと理想的比率マスクとの間のL1損失関数及びL2損失関数の距離に基づいてよい。ここで、理想的比率マスクは、残響音声及び残響ノイズを使用して計算される。追加的に、これらの例では、ASR損失は、トレーニング発話のコンテキストフロントエンド処理モデルによって予測された強化音声特徴を入力として、強化音声特徴のASRエンコーダの予測出力を受け取ることと、トレーニング発話のターゲット音声特徴を入力として受け取るように構成されたASRエンコーダを使用して、ターゲット音声特徴のASRエンコーダのターゲット出力を生成することと、強化音声特徴のASRエンコーダの予測出力及びターゲット音声特徴のASRエンコーダのターゲット出力に基づくASR損失を計算することと、により計算される。
【0011】
本開示の1つ以上の実施態様の詳細は、添付の図面及び以下の説明において述べられる。他の態様、特徴、及び利点は、説明及び図面、ならびに特許請求の範囲から明らかになる。
【図面の簡単な説明】
【0012】
図1】話されたターゲット発話を音声対応ユーザデバイスに通信するユーザを含むシステムの概略図である。
図2図1のコンテキストフロントエンド処理モデルの概略図である。
図3】変調コンフォーマブロックの概略図である。
図4】コンテキストフロントエンド処理モデルのクロスアテンションエンコーダによって実装される変調コンフォーマブロックアーキテクチャの概略図である。
図5】コンテキストフロントエンド処理モデルをトレーニングするための例示的なトレーニングプロセスの概略図である。
図6】コンテキストフロントエンド処理モデル及び自動音声認識モデルを統合してトレーニングするための例示的なトレーニングプロセスの概略図である。
図7】コンテキストフロントエンド処理モデルを使用した自動音声認識の方法のための動作の例示的な配置の例示的なフローチャートである。
図8】本明細書に記載のシステム及び方法を実装するために使用できる例示的なコンピューティングデバイスの概略図である。
【発明を実施するための形態】
【0013】
種々の図面における同様の参照記号は、同様の要素を指す。
【0014】
自動音声認識(ASR)システムのロバスト性は、ニューラルネットワークベースのエンドツーエンドモデルの登場、大規模トレーニングデータ、及びトレーニングデータを拡張するための戦略の改善により、数年にわたって大幅に向上している。それにもかかわらず、バックグラウンド干渉は、ASRシステムに向けられた発話を正確に認識するASRシステムの機能を大幅に低下させ得る。バックグラウンド干渉は、デバイスエコー、暗騒音及び競合音声の3つのグループに大まかに分類できる。これらのバックグラウンド干渉グループのそれぞれを分離して扱うために、別々のASRモデルをトレーニングし得るが、複数のタスク/条件に特有のASRモデルを維持し、使用中にその場でモデルを切り替えることは困難であり、実用的ではない。
【0015】
デバイスエコーは、スマートホーム話者などのデバイスからの再生オーディオ出力に対応し得、それにより、再生オーディオは、エコーとして記録され、ASRシステムなどのバックエンド音声システムの性能に影響を与える可能性がある。特に、バックエンド音声システムの性能の低下は、再生オーディオが可聴音声、例えばデジタルアシスタントからのテキスト読み上げ(TTS)応答を含む場合、特に深刻である。この問題は通常、音響エコー除去(AEC)手法を介して対処される。AECの独自の特性は、再生オーディオに対応する参照信号が通常利用可能であり、抑制に使用できることである。
【0016】
非声特性を持つ暗騒音は、通常、ASRモデルのマルチスタイルトレーニング(MTR)などのデータ拡張戦略を使用して適切に処理される。ここでは、室内シミュレータを使用してトレーニングデータにノイズが加えられ、次いでトレーニング中にそれらがクリーンなデータで慎重に重み付けされることで、クリーンな状態とノイズの多い状態との間での性能のバランスがとられる。その結果、大規模ASRモデルは、中程度のレベルの非音声ノイズに対してロバストである。しかし、低信号対ノイズ比(SNR)条件の存在下では、暗騒音は、依然として、バックエンド音声システムの性能に影響を与え得る。
【0017】
非音声暗騒音とは異なり、競合音声は、単一の話者を認識するように訓練されたASRモデルにとっては非常に困難である。ASRモデルを複数の送話者の音声で訓練することは、推論中にどの話者に焦点を当てるべきかの曖昧さをなくすことが難しいため、それ自体が問題になる場合がある。サポートするユーザ数を事前に知ることは困難であるため、複数の話者を認識するモデルを使用することも最適ではない。さらに、そのような複数話者モデルは、通常、単一話者設定では性能が低下し、望ましくない。
【0018】
前述した3つのバックグラウンド干渉のクラスは、通常、互いに分離して対処されており、それぞれが別々のモデリング戦略を使用している。最近の文献では、深層クラスタリング、順列不変学習などの技術を使用するとともに、話者埋め込みを使用する音声分離が多くの注目を集めている。話者埋め込みを使用するとき、対象のターゲット話者は先験的に既知であると想定される。話者分離のために開発された技術は、トレーニングデータを修正して、非音声ノイズの除去にも応用される。AECもまた、暗騒音の存在下で、単独でまたは共に研究されている。非線形処理によって発生する歪みはASR性能に悪影響を与え得るため、発話品質を改善してもASR性能が必ずしも向上するわけではないことは周知である。着信オーディオを最初に処理する拡張フロントエンドと結果として得られるASR性能との不一致を軽減する1つの方法は、拡張フロントエンドをバックエンドASRモデルと一緒に統合してトレーニングすることである。
【0019】
さらに、大規模な多領域及び多言語ASRモデルのアプリケーションが関心を集め続けているため、これらのASRモデルのトレーニングデータは通常、様々な音響及び言語のユースケース(例えば、声による検索及びビデオキャプション)をカバーすることで、より困難なノイズ条件に同時に対処することは困難である。その結果、バックエンドASRモデルと組み合わせることなく、不利な条件に対処できる別々のフロントエンド特徴処理モデルをトレーニングし維持することが好都合であることが多い。さらに、ASRモデルの様々なタイプのデータがトレーニングに利用可能であるが、ASRモデルは、前述のバックグラウンド干渉グループ(例えば、デバイスエコー、暗騒音、及び競合音声)のうちの1つ以上がトレーニング例から欠落しているときにも、良好に機能する必要がある。
【0020】
本明細書の実施態様は、音響エコー除去(AEC)、音声強調、及び音声分離のモジュールを単一のモデルに統合して実装することによって、ASRのロバスト性を改善するためにコンテキストフロントエンド処理モデルをトレーニングすることを対象とする。単一統合モデルは、特にストリーミングASR設定において、事前にどのクラスのバックグラウンド干渉に対処すべきかを知ることが不可能ではないにしても困難であるという観点から実用的である。具体的には、コンテキストフロントエンド処理モデルは、再生オーディオに関連付けられた基準信号、ノイズコンテキスト、及び対象のターゲット話者の声特性を表す話者埋め込みの3つの異なるタイプのサイドコンテキスト入力を任意選択で利用できるコンテキスト強化ニューラルネットワーク(CENN)を含む。本明細書の実施態様は、より具体的には、1つ以上のコンテキスト入力が欠落しているときの推測中のモデルの性能を改善するために、コンテキストフロントエンド処理モデルをトレーニングするためのコンテキスト信号ドロップアウトストラテジーを使用することを対象とする。明らかになるように、再生オーディオに関連する参照信号は、エコー除去の提供に必要であり、一方、ノイズコンテキストは音声強調に有用である。追加的に、ターゲット話者の声特性を表す話者埋め込み(利用可能な場合)は、音声分離に重要であるだけでなく、エコー除去及び音声強調にも役立つ。音声強調及び分離の場合、ノイズコンテキスト、すなわち、認識すべきターゲット発話の前の数秒間の音声は、音響コンテキストに関する有用な情報を伝達する。CENNは、対応するコンテキストサイドの入力をそれぞれ取り込むように構成されたそれぞれのニューラルネットワークアーキテクチャを使用して、強化入力音声特徴を処理して音声を生成し得るASRモデルなどのバックエンド音声システムに渡され得る強化入力音声特徴を生成し、ターゲット発話の音声認識結果を生成する。特に、ノイズコンテキスト及び参照特徴は任意選択のコンテキストサイドの入力であるため、ノイズコンテキスト及び参照特徴は、利用不可能時、CENNによってそれぞれの非通知的な静音信号であると想定される。
【0021】
図1を参照すると、いくつかの実施態様において、システム100は、音声環境において、ユーザ10が、話されたターゲット発話12を音声対応ユーザデバイス110(デバイス110またはユーザデバイス110とも呼ばれる)に伝えることを含む。ユーザ10(すなわち、発語12の話者)は、デバイス110からの応答を求めるクエリまたはコマンドとして、ターゲット発話12を話し得る。デバイス110は、音声環境内部の1人以上のユーザ10、11からの音をキャプチャするように構成される。ここで、オーディオ音は、可聴クエリ、デバイス110に対するコマンド、またはデバイス110によってキャプチャされる可聴通信として機能する、ユーザ10によって話された発話12を指し得る。デバイス110またはデバイス110に関連する音声対応システムは、クエリ及び/またはコマンドを実行させることによって、コマンドのクエリに対処し得る。
【0022】
様々なタイプのバックグラウンド干渉が、デバイス110へのクエリまたはコマンドを指定するターゲット発話12を処理するバックエンド音声システム180の能力に干渉する可能性がある。前述のように、バックグラウンド干渉は、ユーザデバイス(例えば、スマートスピーカ)110からの再生オーディオ154(参照オーディオ信号154とも言う)出力に対応するデバイスエコー、ユーザデバイス110に向けられていない1人以上の他のユーザ111によって話されたターゲット発話12以外の発話などの競合音声13、及び非声特性を有する暗騒音の1つ以上を含み得る。本明細書の実施態様では、デバイス110上で実行され、ターゲット発話12及び1つ以上のコンテキスト入力特徴213、214、215に対応する入力音声特徴を入力として受信するように構成されたコンテキストフロントエンド処理モデル200(モデル200とも言う)を用い、入力音声特徴212及び1つ以上のコンテキスト入力特徴213、214、215を処理することによって、ターゲット発話12に対応する強化入力音声特徴250を出力として生成する。以下でより詳細に説明されるように(例えば、図5)、モデル200は、コンテキスト信号ドロップアウトストラテジーを使用して、コンテキスト入力特徴213、214、215のうちの1つ以上が欠落しているときの推測中にモデル200の性能を改善するようトレーニングされ得る。次に、バックエンド音声システム180は、強化入力音声特徴250を処理して、出力182を生成することができる。特に、コンテキストフロントエンド処理モデル200は、ユーザ10がターゲット発話12を話したときに、デバイス110によって記録されたバックグラウンド干渉の存在を効果的に除去し、バックエンド音声システム180によって生成された出力182がバックグラウンド干渉によって劣化されないように、バックエンド音声システム180に提供される強化入力音声特徴250がデバイス110用に意図された音声(すなわちターゲット発話12)を伝達する。
【0023】
図示の例では、バックエンド音声システム180は、強化音声特徴250を処理し、ターゲット発話12に対する音声認識結果(例えば、トランスクリプション)を生成するASRモデル192を使用するASRシステム190を含む。ASRシステム190は、ターゲット発話12のトランスクリプションに対して意味解釈を実行して、デバイス110に向けられたクエリ/コマンドを識別する自然言語理解(NLU)モジュール(図示せず)をさらに含み得る。したがって、バックエンド音声システム180からの出力182は、NLUモジュールによって識別されたクエリ/コマンドを満たすためのトランスクリプション及び/または命令を含み得る。
【0024】
バックエンド音声システム180は、追加的または代替的に、強化入力音声特徴250が、ホットワード検出モデルが検出するように訓練された1つ以上のホットワード/ウォームワードの存在を含むか否かを検出するように構成されたホットワード検出モデル(図示せず)を含み得る。例えば、ホットワード検出モデルは、ターゲット発話12に対応する強化入力音声特徴250が特定のホットワード/ウォームワードを含む尤度を示すホットワード検出スコアを出力し得る。ホットワードの検出は、ウェイクアッププロセスをトリガし、このウェイクアッププロセスにより、デバイス110はスリープ状態からウェイクアップし得る。例えば、デバイス110は、ホットワード、及び/またはホットワードに先行/後続する1つ以上の用語をウェイクアップして処理し得る。
【0025】
追加の例では、バックグラウンド音声システム180は、オーディオまたはオーディオ-ビデオ呼び出しアプリケーション(例えば、ビデオ会議アプリケーション)を含む。ここで、ターゲット発話12に対応する強化入力音声特徴250は、オーディオまたはオーディオビデオ通信セッション中に、受信者への通信のためにターゲット話者10の声をフィルタリングするために、オーディオまたはオーディオビデオ呼び出しアプリケーションによって使用される。バックグラウンド音声システム180は、追加的または代替的に、強化入力音声特徴250を使用して話者識別を実行して、ターゲット発話12を話したユーザ10を識別するように構成された話者識別モデルを含み得る。
【0026】
図示の例では、デバイス110は、ユーザ10以外の1つ以上のソースから発するバックグラウンド干渉の存在下で、ユーザ10によって話されたターゲット発話12のノイジーオーディオ信号202(オーディオデータとも言う)をキャプチャする。デバイス110は、ユーザ10に関連付けられ、ノイジーオーディオ信号202を受信することができる任意のコンピューティングデバイスに対応し得る。ユーザデバイス110のいくつかの例は、モバイルデバイス(例えば、携帯電話、タブレット、ラップトップなど)、コンピュータ、ウェアラブルデバイス(例えば、スマートウォッチ)、スマートアプライアンス、モノのインターネット(IoT)デバイス、及びスマートスピーカなどを含むが、これらに限定されない。デバイス110は、データ処理ハードウェア112及びデータ処理ハードウェア112と通信するメモリハードウェア114を含み、メモリハードウェア114は、データ処理ハードウェア112によって実行されたとき、データ処理ハードウェア112に1つ以上の動作を実行させる命令を格納する。コンテキストフロントエンド処理モデル200は、データ処理ハードウェア112上で実行され得る。いくつかの例では、バックエンド音声システム180が、データ処理ハードウェア112上で実行される。
【0027】
いくつかの例では、デバイス110は、1つ以上のアプリケーション(すなわち、ソフトウェアアプリケーション)を含み、各アプリケーションは、コンテキストフロントエンド処理モデル200によって生成された強化入力音声特徴250を利用して、アプリケーション内で様々な機能を実行し得る。例えば、デバイス110は、合成された再生オーディオ154をユーザ10に通信して、ユーザ10の様々なタスクを支援するように構成されるアシスタントアプリケーションを含む。
【0028】
デバイス110はさらに、音声環境内部で、話された発話12をキャプチャし電気信号に変換するためのオーディオキャプチャデバイス(例えば、マイクロフォン)116と、可聴オーディオ信号(例えば、デバイス110からの合成再生信号154)を通信するための音声出力デバイス(例えば、スピーカ)118とを備えたオーディオサブシステムを含む。図示の例では、デバイス110は単一のオーディオキャプチャデバイス116を実装しているが、デバイス110は、本開示の範囲から逸脱することなく、オーディオキャプチャデバイス116のアレイを実装し得、この場合、アレイの1つ以上のオーディオキャプチャデバイス116は、デバイス110に物理的に常駐せずに、オーディオサブシステム(例えば、デバイス110の周辺機器)と通信し得る。例えば、デバイス110は、車両全体に配置されたマイクロフォンのアレイを活用する車両インフォテインメントシステムに対応し得る。
【0029】
いくつかの例では、デバイス110は、ネットワーク(図示せず)を介してリモートシステム130と通信するように構成される。リモートシステム130は、リモートデータ処理ハードウェア134(例えば、リモートサーバまたはCPU)及び/またはリモートメモリハードウェア136(例えば、リモートデータベースまたは他のストレージハードウェア)などのリモートリソース132を含み得る。ユーザデバイス110は、リモートリソース132を利用して、音声処理及び/または合成再生通信に関連する様々な機能を実行し得る。コンテキストフロントエンド処理モデル200及びバックエンド音声システム180は、デバイス110(オンデバイスシステムと呼ばれる)に常駐する場合があり、またはデバイス110と通信しながらリモートで常駐する場合がある(例えば、リモートシステム130に常駐する場合がある)。いくつかの例では、1つ以上のバックエンド音声システム180は、ローカルに、またはデバイス上に常駐するが、1つ以上の他のバックエンド音声システム180は、リモートで常駐する。言い換えれば、コンテキストフロントエンド処理モデル200から出力される強化入力音声特徴250を活用する1つ以上のバックエンド音声システム180は、任意の組み合わせでローカルまたはリモートであり得る。例えば、システム180のサイズあるいは処理要件がかなり大きい場合、そのシステム180はリモートシステム130に常駐させてもよい。さらに、デバイス110が1つ以上のシステム180の大きさまたは処理要件をサポートし得る場合、1つ以上のシステム180は、データ処理ハードウェア112及び/またはメモリハードウェア114を使用してデバイス110に常駐させてもよい。任意選択で、1つ以上のシステム180を、ローカル/オンデバイス、及びリモートの両方に常駐させてもよい。例えば、バックエンド音声システム180は、デバイス110とリモートシステム130との間の接続が利用可能であるとき、デフォルトでリモートシステム130上で実行することができるが、接続が失われるか利用できないとき、システム180は、代わりにデバイス110上でローカルに実行される。
【0030】
いくつかの実施態様では、デバイス110またはデバイス110に関連付けられたシステムは、ユーザ10によって話されたクエリへの応答として、デバイス110がユーザ10に通信するテキストを識別する。次に、デバイス110は、テキスト読み上げ(TTS)システムを使用して、デバイス110がクエリへの応答としてユーザ10と通信する(例えば、ユーザ10と可聴通信する)よう、テキストを対応する合成再生オーディオ154に変換し得る。生成されると、TTSシステムは、合成再生オーディオ154をデバイス110に通信し、デバイス110が合成再生オーディオ154を出力することを可能にする。例えば、デバイス110は、ユーザ10が今日の天気予報に関する口頭のクエリを提供したことに応答して、デバイス110のスピーカ118で「今日は晴天です」の合成再生オーディオ154を出力する。
【0031】
図1を引き続き参照して、デバイス110が合成再生オーディオ154を出力するとき、合成再生オーディオ154は、オーディオキャプチャデバイス116によってキャプチャされたエコー156を生成する。合成再生オーディオ154は、参照オーディオ信号に対応する。一方、合成再生オーディオ154は、図1の例では参照オーディオ信号を示しており、参照オーディオ信号は、スピーカ118からのメディアコンテンツ出力、またはユーザ10がデバイス110を介して会話しているリモートユーザ10からの通信(例えば、ボイスオーバーIP通話またはビデオ会議通話)を含む他のタイプの再生オーディオ154を含み得る。残念ながら、エコー156に加えて、オーディオキャプチャデバイス116はまた、「明日はどうですか?」ということにより、天気についてさらに質問する補足クエリを含む、ユーザ10によって話されたターゲット発話12を同時にキャプチャし得る。例えば、図1は、デバイス110が合成再生オーディオ154を出力するため、ユーザ10が、デバイス110に、「明日はどうですか?」と言うことによって、話された発話12で、天気についてさらに質問する。ここで、話された発話12及びエコー156は両方とも、オーディオキャプチャデバイス116で同時にキャプチャされ、ノイジーオーディオ信号202を形成する。換言すれば、オーディオ信号202は、ユーザ10によって話されたターゲット発話12の一部が、デバイス110のスピーカ118から出力される参照オーディオ信号(例えば、合成再生オーディオ)154の一部と重複する重複オーディオ信号を含む。合成再生オーディオ154に加え、環境内の別のユーザ11によって話された競合音声13もまた、オーディオキャプチャデバイス116によってキャプチャされ得、ターゲット発話12と重複するバックグラウンド干渉に寄与し得る。
【0032】
図1において、バックエンド音声システム180は、ノイジーオーディオ信号202においては、再生オーディオ154、競合音声13、またはターゲット発話12と干渉する非音声暗騒音のうちの少なくとも1つに起因するバックグラウンド干渉の存在により、補足の天気に関するクエリ、「明日はどうですか?」に対応するターゲット発話12を処理する問題を有する場合がある。コンテキストフロントエンド処理モデル200は、音響エコー除去(AEC)、音声強調、及び音声分離モデル/モジュールを単一のモデルに統合して実装することによって、バックエンド音声システム180のロバスト性を改善するために使用される。
【0033】
音響エコー除去(AEC)を実行するために、単一のモデル200は、デバイスにより再生されている参照信号154を、モデル200への入力として使用する。参照信号154は、ターゲット発話12と時間的に整列されており、同じ長さであることが想定される。いくつかの例では、特徴抽出器(図示せず)は、参照オーディオ信号154に対応する参照特徴214を抽出する。参照特徴214は、参照オーディオ信号154のログメルフィルタバンクエネルギー(LFBE)特徴を含み得る。同様に、特徴抽出器は、ターゲット発話12に対応する入力音声特徴212を抽出し得る。入力音声特徴212は、LFBE特徴を含み得る。以下でより詳細に説明されるように、入力音声特徴212は、参照特徴214と積層され得、AECを実行するために、単一モデル200の一次エンコーダ210(図2)への入力として提供され得る。デバイスによって再生される参照オーディオ信号154がないとき、オールゼロ参照信号が使用され得、それにより、入力音声特徴212のみが、一次エンコーダ210への入力として受信される。
【0034】
単一のモデル200が、ユーザ10によって話されるターゲット発話12の前にオーディオキャプチャデバイス116によってキャプチャされたノイズセグメントの所定の期間に関連するコンテキストノイズ信号213を処理する場合に、単一モデル200は、さらに、ノイズコンテキストモデリングを適用することによって、AECと並行して音声強調を実行し得る。いくつかの例では、所定の期間は、六(6)秒のノイズセグメントを含む。したがって、コンテキストノイズ信号213は、ノイズコンテキストを提供する。いくつかの例では、コンテキストノイズ信号213は、コンテキスト情報として使用するためのノイズコンテキスト信号のLFBE特徴を含む。
【0035】
任意選択で、単一モデル200は、AEC及び音声強調と統合して、音声分離のためのターゲット話者モデリングをさらに実行し得る。ここで、話者埋め込み215が、単一モデル200による入力として受信される。話者埋め込み215は、ターゲット発話12を話したターゲット話者10の音声特徴を含み得る。話者埋め込み215は、dベクトルを含み得る。いくつかの例では、話者埋め込み215は、一般化されたエンドツーエンド拡張セットソフトマックス損失でトレーニングされたテキスト独立話者識別(TI-SID)モデルを使用して計算される。TI-SIDは、768個のノード及び256の投影サイズを有する3つの長短期記憶(LSTM)層を含み得る。次に、最後のLSTM層の最終フレームの出力は、最終的な256次元のdベクトルに線形変換される。
【0036】
トレーニング及び評価のために、各ターゲット発話は、同じ話者からの個別の「登録」発話と対にされ得る。登録発話は、ターゲット話者の利用可能な発話のプールからランダムに選択され得る。次に、dベクトルは登録発話に対して計算される。ほとんどの実際のアプリケーションでは、登録発話は通常、個別のオフラインプロセスを介して取得される。
【0037】
図2は、図1のコンテキストフロントエンド処理モデル200を示す。コンテキストフロントエンド処理モデル200は、短距離及び長距離の相互作用をモデル化するために、畳み込み及びセルフアテンションを組み合わせたコンフォーマニューラルネットワークアーキテクチャの修正バージョンを使用する。モデル200は、一次エンコーダ210、ノイズコンテキストエンコーダ220、クロスアテンションエンコーダ400、及びデコーダ240を含む。一次エンコーダ210は、N個の変調コンフォーマブロックを含み得る。ノイズコンテキストエンコーダ220は、N個のコンフォーマブロックを含み得る。クロスアテンションエンコーダ230は、M個の変調クロスアテンションコンフォーマブロックを含み得る。一次コンテキストエンコーダ210及びノイズコンテキストエンコーダ220は並行して実行してよい。本明細書で使用される場合、各コンフォーマブロックは、ストリーミング能力を可能にするために、局所的で因果関係のあるセルフアテンションを使用し得る。
【0038】
一次エンコーダ210は、ターゲット発話に対応する入力音声特徴212を入力として受信し、出力として主要入力符号化218を生成するように構成され得る。参照オーディオ信号154が利用可能な場合、一次エンコーダ210は、入力として、参照オーディオ信号に対応する参照特徴214が積層される入力音声特徴212を受信し、参照特徴214と積層された入力音声特徴212を処理することによって、主要入力符号化を生成するように構成される。入力音声特徴及び参照特徴はそれぞれ、LFBE特徴のそれぞれのシーケンスを含み得る。
【0039】
一次エンコーダ210は、さらに、ターゲット発話12を話したターゲット話者(すなわち、ユーザ)10の声特性を含む話者埋め込み215(すなわち、利用可能な場合)を入力として受信し、出力として、特徴量的線形変調(FiLM)層310(図3)を使用して、入力音声特徴212(または参照特徴214と積層された入力音声特徴)を組み合わせることによって主要入力符号化218を生成するように構成され得る。図3は、一次エンコーダ210によって使用される例示的な変調コンフォーマブロック320を提供する。ここで、一次エンコーダ210で各コンフォーマブロック320の前に、話者埋め込み215(例えば、dベクトル)は、FiLM層310を使用して入力音声特徴212(または入力音声及び参照特徴214の積層)と組み合わされ、出力312を生成する。FiLMは、一次エンコーダ210が、その符号化をターゲット話者10の話者埋め込み215に基づいて調整することを可能にする。FiLM層310の後に残差接続314が追加され、入力音声特徴212(または参照特徴214と積層された入力音声特徴212)がFiLM層310の出力312と組み合わされ、話者埋め込み215が存在しないときに、アーキテクチャが良好に機能することができることを保証するために、コンフォーマブロック320の変調入力特徴316を入力として生成する。数学的には、変調コンフォーマブロック320は、次のように、変調特徴mを使用して入力特徴xを変換して、出力特徴yを生成する。
【数1】
【0040】
ここで、h(・)とr(・)はアフィン変換である。FFN、Conv、及びMHSAは、それぞれ、フィードフォワードモジュール、畳み込みモジュール、及びマルチヘッドセルフアテンションモジュールを表す。式1は、残留接続を有する特徴量的線形変調(FiLM)層310を示す。
【0041】
再び図2を参照して、ノイズコンテキストエンコーダ220は、ターゲット発話の前のノイズを含むコンテキストノイズ信号213を入力として受信し、出力として、コンテキストノイズ符号化222を生成するように構成される。コンテキストノイズ信号213は、コンテキストノイズ信号のLFBE特徴を含み得る。ノイズコンテキストエンコーダ220は、一次及びクロスアテンションエンコーダ210、400とは異なり、話者埋め込み215による変調のない標準コンフォーマブロックを含む。コンテキストノイズ信号213は、ターゲット発話12が話される前の音響ノイズコンテキストに関連付けられているため、ノイズコンテキストエンコーダ220は、話者埋め込み215を用いてコンテキストノイズ信号213を変調せず、したがって、ノイズ抑制を助けるためにクロスアテンションエンコーダ400に転送されるべき情報を含むことが想定される。
【0042】
引き続き図2を参照して、クロスアテンションエンコーダ400は、一次エンコーダ210からの出力として生成された主要入力符号化218、及びノイズコンテキストエンコーダ220からの出力として生成されたコンテキストノイズ符号化222を入力として受信し、出力としてクロスアテンション埋め込み480を生成するように構成され得る。その後、デコーダ240は、クロスアテンション埋め込み480を、ターゲット発話12に対応する強化入力音声特徴250に復号するように構成される。コンテキストノイズ符号化222は、補助入力に対応し得る。デコーダ240は、シグモイド活性化を備えた単一層のフレーム単位の完全に接続されたネットワークを有する単純な投影デコーダを含み得る。
【0043】
図4に示すように、クロスアテンションエンコーダ400は、図3で説明したFiLMを使用して話者埋め込み215によって変調された主要入力符号化218、及びノイズコンテキストエンコーダ220から出力されたコンテキストノイズ符号化222を入力としてそれぞれが受信するM個の変調コンフォーマブロックのそれぞれのセットを用い得る。クロスアテンションエンコーダ400は、最初に、ハーフフィードフォワードネット402、第1の残差接続404、畳み込みブロック406、及び第2の残差接続408を使用して、変調入力218及び補助入力222を独立して処理する。具体的には、変調入力218は、出力403aを生成するハーフフィードフォワードネット402aによって処理される。次に、第1の残差接続404aは、変調入力218をハーフフィードフォワードネット402aの出力403aと組み合わせて、変調入力特徴405aを生成する。変調入力特徴405aは、畳み込み出力407aを生成する畳み込みブロック406aに入力される。第2の残差接続408aは、畳み込みブロック406aの畳み込み出力407aを変調入力特徴405aと組み合わせて、クエリベクトル409aを含む出力を生成する。
【0044】
同様に、補助入力222は、出力403aを生成するハーフフィードフォワードネット402bによって処理される。次に、第1の残差接続404bは、補助入力222をハーフフィードフォワードネット402bの出力403bと組み合わせて、変調入力特徴405bを生成する。変調入力特徴405bは、畳み込み出力407bを生成する畳み込みブロック406bに入力される。第2の残差接続408bは、畳み込みブロック406bの畳み込み出力407bを変調入力特徴405bと組み合わせて、第1のキーベクトル409bと第1の値ベクトル409cを含む出力を生成する。
【0045】
続いて、マルチヘッドクロスアテンション(MHCA)モジュール410は、入力として、クエリベクトル409a、第1のキーベクトル409b、及び第1の値ベクトル409cを受信し、これらのベクトル409a~cを要約して、ノイズサマリー412を生成する。直感的には、MHCAモジュール410の役割は、強化すべき各入力フレームに対して別々にノイズコンテキストをサマライズすることである。MHCAモジュール410によって出力されたノイズサマリー412は、次に、FiLM出力422を生成するFiLM層420を使用してクエリベクトル409aとマージされる。
【0046】
マルチヘッドセルフアテンション(MHSA)層430は、FiLM出力422を入力として受信し、FiLM出力422をクエリベクトル409aとマージして、アテンション出力432を生成する。第3の残差接続434は、クエリベクトル409a及びアテンション出力432を受信し、クエリベクトル409a及びアテンション出力432を組み合わせて、残差出力436を生成する。次に、フィードフォワードモジュール440は、第3の残差接続434の残差出力436を入力として受信し、特徴出力442を生成する。次に、第4の残差接続444は、特徴出力422を、第3の残差出力434の残差出力436と組み合わせて、マージ入力特徴446を生成する。次に、マージ入力特徴446は、LayerNorm450によって入力として処理され、これは、畳み込みブロック406bに送られ、クロスアテンション埋め込み480が生成される。
【0047】
数学的には、x、m、及びnが、符号化された入力、dベクトル、及び前の層からの符号化されたノイズコンテキストである場合、クロスアテンションエンコーダ400は、以下を実行する。
【数2】
【0048】
クロスアテンションエンコーダ400は、出力として、クロスアテンション埋め込み480を生成し、これは、dベクトルm、及び符号化されたノイズコンテキストnとともに、M個の変調コンフォーマブロックの次の層に渡される。したがって、入力は、ターゲット話者に関連する話者埋め込み215と、ノイズコンテキスト符号化222との両方によって、M個のコンフォーマブロックの各々によって変調される。
【0049】
図5は、コンテキスト入力特徴213、214、215のうちの1つ以上が存在しないときに、コンテキストフロントエンド処理モデル200をトレーニングして、強化入力音声特徴250を生成するための例示的なトレーニングプロセス500を示す。トレーニングプロセス500は、図1のリモートシステム130上で実行され得る。示されるように、トレーニングプロセスは、データストア510に格納された1つ以上のトレーニングデータセット520を取得し、トレーニングデータセット520上でコンテキストフロントエンド処理モデル200をトレーニングする。データストア510は、リモートシステム130のメモリハードウェア136上に常駐し得る。各トレーニングデータセット520は、複数のトレーニング例530、530a~nを含み、各トレーニング例530は、対応するトレーニングコンテキスト信号534、534a~cと対にされたトレーニング発話532を含み得る。具体的には、トレーニングコンテキスト信号534は、対応するトレーニング発話532の前のノイズを含むトレーニングコンテキストノイズ信号534aと、トレーニング参照オーディオ信号534bと、対応するトレーニング発話532を話したターゲット話者の声特性を含むトレーニング話者ベクトル534cとを含む。
【0050】
図1に関して前述したように、推測中に、コンテキストフロントエンド処理モデル200は、コンテキスト入力特徴213、214、215のすべてを同時に受信しない場合がある。コンテキストフロントエンド処理モデル200を1つ以上の欠落しているトレーニングコンテキスト信号534でトレーニングすることにより、コンテキストフロントエンド処理モデル200は、最も関連のあるコンテキスト入力特徴213、214、215に過剰に依存するのではなく、コンテキスト入力特徴213、214、215の代替を利用しやすくなる。その結果、コンテキストフロントエンド処理モデル200は、コンテキスト入力特徴213、214、215のうちの1つ以上が存在しないときに、強化入力音声特徴250を正確に予測することができる。コンテキストフロントエンド処理モデル200を静的に保つために、任意の欠落しているトレーニングコンテキスト信号534が、何らかの方法でコンテキストフロントエンド処理モデル200に入力される必要がある。
【0051】
トレーニングプロセス500はまた、信号ドロップアウトモデル550を利用し得る。信号ドロップアウトモデル550は、データストア510からの入力としてトレーニングコンテキスト信号534を受信し、コンテキスト信号ドロップアウトストラテジーを使用して、コンテキストフロントエンド処理モデル200をトレーニングする前に、トレーニングコンテキスト信号534のうちの1つ以上をドロップアウトする。信号ドロップアウトモデル550のコンテキスト信号ドロップアウトストラテジーは、トレーニングコンテキスト信号534の各々をドロップアウトする所定の確率(例えば、50%、20%など)を含み得、同じ所定の確率がトレーニングコンテキスト信号534の各々に対して使用される。換言すれば、所与のトレーニング例530では、信号ドロップアウトモデル550は、コンテキスト信号ドロップアウトストラテジーを使用して、50%の所定の確率でトレーニングコンテキストノイズ信号534aをドロップアウトし、50%の所定の確率でトレーニング参照オーディオ信号534bを、及び50%の所定の確率でトレーニング話者ベクトル534cをドロップアウトしてよい。同様に、所与のトレーニング例では、信号ドロップアウトモデル550は、コンテキスト信号ドロップアウトストラテジーを使用して、20%の所定の確率でトレーニングコンテキストノイズ信号534aをドロップアウトし、20%の所定の確率でトレーニング参照オーディオ信号534bを、及び20%の所定の確率でトレーニング話者ベクトル534cをドロップアウトしてよい。
【0052】
信号ドロップアウトストラテジーに加えて、信号ドロップアウトモデル550は、零から六(0~6)秒の均一な分布の長さで、対応するトレーニング発話532の前のノイズを含むように、トレーニングコンテキストノイズ信号534aの長さをトリミングし得る。換言すれば、信号ドロップアウトモデル550は、信号ドロップアウトストラテジーを実装すると同時に、トレーニングコンテキストノイズ信号534aをトリミングする。例えば、所与のトレーニング例530では、信号ドロップアウトモデル550がトレーニングコンテキストノイズ信号534aをドロップアウトしない場合でも、信号ドロップアウトモデル550は、依然としてトレーニングコンテキストノイズ信号534aの長さをトリミングし得る。
【0053】
いくつかの実施態様では、信号ドロップアウトモデル550は、信号ドロップアウトストラテジーを使用して、所定の確率に基づき、対応するトレーニングコンテキスト信号534をオールゼロに置き換えることによって、各トレーニングコンテキスト信号534をドロップアウトする。これらの実施態様では、信号ドロップアウトモデル550は、トレーニングコンテキストノイズ信号534aを所定の長さと対応するトレーニング発話532と同じ特徴次元を有するオールゼロ特徴に置き換え得る。例えば、信号ドロップアウトストラテジーは、長さが六(6)秒で、LFBE特徴と同じ次元であるオールゼロ特徴を作成することを含む。同様に、信号ドロップアウトモデル550は、信号ドロップアウトストラテジーを使用して、トレーニング参照オーディオ信号534bを対応するトレーニング発話532と同じ長さ及び特徴次元を有するオールゼロ特徴に置き換え得る。ここで、オールゼロのトレーニング参照オーディオ信号534bの特徴次元は、信号ドロップアウトストラテジーがトレーニング参照オーディオ信号534bをドロップアウトしなかった場合、トレーニング参照オーディオ信号534bのLFBE特徴に対応する。同様に、信号ドロップアウトモデル550は、信号ドロップアウトストラテジーを使用して、トレーニング話者ベクトル534cを、オールゼロベクトルを有するオールゼロ特徴に置き換え得る。ここで、トレーニング話者ベクトル534cは、256次元のオールゼロベクトルに置き換えられる。その他の実施態様では、信号ドロップアウトモデル550は、信号ドロップアウトストラテジーを使用して、所定の確率に基づき、対応するトレーニングコンテキスト信号534をフレームレベルの学習済み表現に置き換えることによって、各トレーニングコンテキスト信号534をドロップアウトする。
【0054】
図5に示す例では、信号ドロップアウトモデル550は、トレーニングコンテキスト信号534a~cを入力として受信し、コンテキスト信号ドロップアウトストラテジーの所定の確率を使用して、トレーニング参照オーディオ信号534bを対応するトレーニング発話532と同じ長さ及び特徴次元のオールゼロ特徴に置き換えることによりトレーニング参照オーディオ信号534bをドロップアウトする。換言すれば、この時間ステップでは、コンテキストフロントエンド処理モデル200は、トレーニングコンテキスト信号534a、534cのみでトレーニングされ、これは、コンテキスト入力特徴213、214、215がコンテキストノイズ信号213及び話者埋め込み215を含むのみである場合の推測中にモデル200が遭遇する可能性のある条件に近似する。
【0055】
信号ドロップアウトモデル550がトレーニング参照オーディオ信号534bをドロップアウトした後、トレーニング発話532、及びトレーニング参照オーディオ信号534bを含むトレーニングコンテキスト信号534は、オールゼロ特徴及び次元に置き換えられ、コンテキストフロントエンド処理モデル200をトレーニングするために欠落が提供されるようにトレーニング参照オーディオ信号534bをシミュレートする。コンテキストフロントエンド処理モデル200は、入力として、トレーニング発話532と、トレーニング参照オーディオ信号534bを欠落としてシミュレートするトレーニングコンテキスト信号534とを受信し、出力予測yを生成する。出力予測yは、その精度についてテストされている強化された入力音声特徴250を含む。トレーニングプロセス500中の各時間ステップにおいて、コンテキストフロントエンド処理モデル200は、前の時間ステップyr-1の出力予測を使用して追加でトレーニングされる。
【0056】
図6は、コンテキストフロントエンド処理モデル200がASRモデル192と統合してトレーニングされるときのASR損失640を計算するための例示的なトレーニングプロセス600を示す。ここで、ASRモデル192のエンコーダ620のみが、損失を計算するために使用される。ASR損失640は、トレーニング発話532のターゲット特徴540についてのASRエンコーダ620の出力と強化入力音声特徴250との間のl2距離として計算される。ASRエンコーダ620は、トレーニングプロセス600中は更新されない。詳細には、トレーニングプロセス600は、入力として、トレーニング発話532のコンテキストフロントエンド処理モデル200によって予測される強化入力音声特徴250を受信するように構成されたASRモデル192のASRエンコーダ620を使用して、強化入力音声特徴250のASRエンコーダ620の予測出力622を生成することと、入力としてトレーニング発話532のターゲット音声特徴540を受信するように構成されたASRエンコーダ620を使用して、ターゲット音声特徴540のASRエンコーダ620のターゲット出力624を生成することと、によりASR損失640を計算する。強化入力音声特徴250の予測出力622、及びターゲット音声特徴540のターゲット出力624は、それぞれ、LFBE特徴のそれぞれのシーケンスを含み得る。その後、トレーニングプロセス600は、損失モジュール630を介して、強化入力音声特徴250についてのASRエンコーダ620の予測出力622と、ターゲット音声特徴540のためのASRエンコーダ620のターゲット出力624とに基づいて、ASR損失640を計算する。ASR損失640を使用する目標は、コンテキストフロントエンド処理モデル200をASRモデル192にさらに適合するように強化することであり、これは、コンテキストフロントエンド処理モデル200から最良の性能を引き出すために重要である。ASRモデル192のパラメータを固定したままにすることによって、ASRモデル192は、コンテキストフロントエンド処理モデル200からデカップリングされ、それにより、それぞれを互いに独立してトレーニング及びデプロイすることを可能にする。
【0057】
いくつかの実施態様では、コンテキストフロントエンド処理モデル200は、スペクトル損失及びASR損失640を使用して、バックエンド自動音声認識システム180のASRモデル192と統合してトレーニングされる。コンテキストフロントエンド処理モデル200をトレーニングするためのトレーニングターゲット540は、理想的比率マスク(IRM)を使用する。IRMは、以下のように、音声及びノイズがMelスペクトル空間において相関しないという仮定に基づいて、残響音声及び残響ノイズを使用して計算される。
【数3】
ここで、X及びNは、それぞれ残響発話及び残居ノイズMelスペクトログラムである。t及びcは、時間及びMelの頻度結合指数を表す。IRMを推定するための選択は、[0,1]の間に制限されるターゲットに基づいており、推定プロセスを簡素化する。さらに、評価に使用されるASRモデルは、実際の及びシミュレートされた残響データでトレーニングすることができ、その結果、残響音声に対して比較的ロバストであるトレーニングされたASRモデルが得られる。したがって、残響音声をターゲットとして使用して導出されたIRMは、依然として、性能において大幅な向上をもたらす。トレーニング中のスペクトル損失は、IRMと、推定されたIRM
【数4】
との間のL1及びL2損失に基づいて、次のように計算される。
【数5】
ここで、
【数6】
および
【数7】
である。
【0058】
予測中に、推定されたIRMは、ノイズ抑制の低減を犠牲にして音声歪みを低減するためにスケーリング及びフロア化される。ASRモデル192は、強化フロントエンドを使用してロバストなASRモデルの性能を改善する際の主な課題の1つである音声歪み及び非線形フロントエンド処理の影響を受けやすいので、これは特に重要である。強化特徴は、次のように導出される。
【数8】
ここで、Yはノイズの多いMelスペクトログラム、
【数9】
はクリーンなMelスペクトログラムの推定値、α及びβは指数マスクスカラ、及びマスクフロアである。いくつかの例では、αは0.5に設定され、βは0.01に設定される。強化特徴は、ログ圧縮され(すなわち
【数10】
)、評価のためにASRモデル192に渡され得る。
【0059】
図7は、コンテキストフロントエンド処理モデル200を使用して、一般化した自動音声認識モデルをトレーニングする方法700のための動作の例示的な配置の例示的なフローチャートを含む。動作702では、方法700は、対応するトレーニングコンテキスト信号534、534a~cと対にされた複数のトレーニング発話532を受信することを含む。トレーニングコンテキスト信号534は、対応するトレーニング発話532の前のノイズを含むトレーニングコンテキストノイズ信号534aと、トレーニング参照オーディオ信号534bと、対応するトレーニング発話532を話したターゲット話者の声特性を含むトレーニング話者ベクトル534cとを含む。方法700はまた、動作704で、コンテキスト信号ドロップアウトストラテジーを使用して、強化音声特徴250を予測する方法を学習するためにトレーニング発話532でコンテキストフロントエンド処理モデル200をトレーニングすることを含む。ここで、コンテキスト信号ドロップアウトストラテジーは、コンテキストフロントエンド処理モデル200のトレーニング中に、トレーニングコンテキスト信号534の各々をドロップアウトする所定の確率を使用して、トレーニングコンテキスト信号534のうちの1つ以上を、モデル200を教育するために欠落しているものとしてシミュレートし、対応するコンテキスト入力特徴のいずれかが予測中に欠落しているときに、強化音声特徴250をロバストに生成する方法を学習する。
【0060】
図8は、本文書に記載のシステム及び方法を実装するために使用できる例示的なコンピューティングデバイス800の概略図である。コンピューティングデバイス800は、ラップトップ、デスクトップ、ワークステーション、パーソナルデジタルアシスタント、サーバ、ブレードサーバ、メインフレーム、及び他の適切なコンピュータなど、様々な形式のデジタルコンピュータを表すことを意図している。ここで示されている構成要素、それらの接続と関係、及びそれらの機能は、例示のみを目的としており、この文書で説明及び/または特許請求される本開示の実施態様を制限することを意図してはいない。
【0061】
コンピューティングデバイス800には、プロセッサ810、メモリ820、ストレージデバイス830、メモリ820及び高速拡張ポート850に接続する高速インタフェース/コントローラ840、ならびに低速バス870及びストレージデバイス830に接続する低速インタフェース/コントローラ860が含まれる。コンポーネント810、820、830、840、850、及び860の各々は、様々なバスを使用して相互接続されており、共通のマザーボードに据え付けられるか、または必要に応じて他の方法で存在してもよい。プロセッサ810(例えば、図1のデータ処理ハードウェア112,134)は、メモリ820またはストレージデバイス830に記憶された命令を含む、コンピューティングデバイス800内で実行するための命令を処理して、高速インタフェース840に接続されたディスプレイ880などの外部入出力デバイスにグラフィカルユーザインタフェース(GUI)のグラフィカル情報を表示することができる。他の実施態様では、複数のメモリ及び複数の種類のメモリと共に、必要に応じて複数のプロセッサ及び/または複数のバスが使用されてもよい。また、複数のコンピューティングデバイス800を接続して、(例えば、サーババンク、ブレードサーバのグループ、またはマルチプロセッサシステムとして)各デバイスが必要な複数の動作の複数の部分を提供してもよい。
【0062】
メモリ820(例えば、図1のメモリハードウェア114、136)は、コンピューティングデバイス800内に非一時的に情報を記憶する。メモリ820は、コンピュータ可読媒体、揮発性メモリユニット(複数可)、または不揮発性メモリユニット(複数可)であってもよい。非一時的なメモリ820は、コンピューティングデバイス800による使用のために一時的または永続的にプログラム(例えば、命令シーケンス)またはデータ(例えば、プログラム状態情報)を格納するために使用される物理デバイスであってよい。不揮発性メモリの例は、フラッシュメモリ及び読み出し専用メモリ(ROM)/プログラマブル読み出し専用メモリ(PROM)/消去可能なプログラマブル読み出し専用メモリ(EPROM)/電子的に消去可能なプログラマブル読み出し専用メモリ(EEPROM)(例えば、通常はブートプログラムなどのファームウェアに使用される)を含むが、これらに限定されない。揮発性メモリの例は、ランダムアクセスメモリ(RAM)、ダイナミックランダムアクセスメモリ(DRAM)、スタティックランダムアクセスメモリ(SRAM)、相変化メモリ(PCM)、及びディスクまたはテープを含むが、これらに限定されない。
【0063】
ストレージデバイス830は、コンピューティングデバイス800に大容量ストレージを設けることができる。いくつかの実施態様において、ストレージデバイス830はコンピュータ読み取り可能な媒体である。様々な異なる実施態様では、ストレージデバイス830は、フロッピーディスクデバイス、ハードディスクデバイス、光ディスクデバイス、もしくはテープデバイス、フラッシュメモリもしくはその他の同様のソリッドステートメモリデバイス、またはストレージエリアネットワークもしくはその他のコンフィグレーションのデバイスを含む、デバイスアレイであってもよい。追加の実施態様では、コンピュータプログラム製品は、情報キャリアに有形に具現化される。コンピュータプログラム製品は、実行時に上述したような1つ以上の方法を実行する命令を含む。情報キャリアは、メモリ820、ストレージデバイス830、またはプロセッサ810上のメモリなどのコンピュータ可読媒体または機械可読媒体である。
【0064】
高速コントローラ840は、コンピューティングデバイス800の帯域幅集約動作を管理し、低速コントローラ860は、より低い帯域幅集約動作を管理する。このような役割の割り振りは単なる例である。いくつかの実施態様では、高速コントローラ840は、メモリ820、ディスプレイ880(例えば、グラフィックプロセッサまたはアクセラレータを介して)、及び様々な拡張カード(図示せず)を受け入れることができる高速拡張ポート850に結合される。いくつかの実施態様では、低速コントローラ860は、ストレージデバイス830及び低速拡張ポート890に結合される。低速拡張ポート890には、様々な通信ポート(USB、Bluetooth、イーサネット、ワイヤレスイーサネットなど)が含まれる場合があり、ネットワークアダプタなどを介して、キーボード、ポインティングデバイス、スキャナ、またはスイッチやルータなどのネットワークデバイスなどの1つ以上の入力/出力デバイスに接続できる。
【0065】
コンピューティングデバイス800は、図に示すように、多くの様々な形式で実装し得る。例えば、それは、標準サーバ800aとして、またはそれらのようなサーバ800aのグループ内の複数回、ラップトップコンピュータ800bとして、またはラックサーバシステム800cの一部として実装されてよい。
【0066】
本明細書で説明するシステム及び技術の様々な実施態様は、デジタル電子及び/または光回路、集積回路、特別に設計されたASIC(特定用途向け集積回路)、コンピュータハードウェア、ファームウェア、ソフトウェア、及び/またはそれらの組み合わせで実現できる。これらの様々な実施態様は、特殊または汎用であり得、ストレージシステムからデータ及び命令を受信し、ストレージシステムにデータ及び命令を送信するように結合された、少なくとも1つのプログラマブルプロセッサ、少なくとも1つの入力デバイス、及び少なくとも1つの出力デバイスを含むプログラム可能なシステムで実行可能及び/または解釈可能な1つまたは複数のコンピュータプログラムにおける実施態様を含むことができる。
【0067】
ソフトウェアアプリケーション(すなわち、ソフトウェアリソース)は、コンピューティングデバイスにタスクを実行させるコンピュータソフトウェアを指してもよい。いくつかの例では、ソフトウェアアプリケーションは、「アプリケーション」、「アプリ」、または「プログラム」と呼ばれることがある。例示的なアプリケーションは、システム診断アプリケーション、システム管理アプリケーション、システムメンテナンスアプリケーション、ワードプロセッシングアプリケーション、スプレッドシートアプリケーション、メッセージアプリケーション、メディアストリーミングアプリケーション、ソーシャルネットワーキングアプリケーション、及びゲームアプリケーションを含むが、これらに限定されない。
【0068】
非一時的なメモリは、コンピューティングデバイスによる使用のために一時的または永続的にプログラム(例えば、命令シーケンス)またはデータ(例えば、プログラム状態情報)を格納するために使用される物理デバイスであってよい。非一時的なメモリは、揮発性及び/または不揮発性のアドレス指定可能な半導体メモリであり得る。不揮発性メモリの例は、フラッシュメモリ及び読み出し専用メモリ(ROM)/プログラマブル読み出し専用メモリ(PROM)/消去可能なプログラマブル読み出し専用メモリ(EPROM)/電子的に消去可能なプログラマブル読み出し専用メモリ(EEPROM)(例えば、通常はブートプログラムなどのファームウェアに使用される)を含むが、これらに限定されない。揮発性メモリの例は、ランダムアクセスメモリ(RAM)、ダイナミックランダムアクセスメモリ(DRAM)、スタティックランダムアクセスメモリ(SRAM)、相変化メモリ(PCM)、及びディスクまたはテープを含むが、これらに限定されない。
【0069】
これらのコンピュータプログラム(プログラム、ソフトウェア、ソフトウェアアプリケーション、またはコードとしても知られる)は、プログラマブルプロセッサのための機械命令を含み、かつ高水準手続型及び/またはオブジェクト指向プログラミング言語、及び/またはアセンブリ/機械言語で実装されることができる。本明細書で使用する場合、「機械可読媒体」及び「コンピュータ可読媒体」という用語は、機械可読信号として機械命令を受け取る機械可読媒体を含むプログラマブルプロセッサに機械命令及び/またはデータを提供するために用いられる、あらゆるコンピュータプログラム製品、非一時的コンピュータ可読媒体、装置及び/またはデバイス(例えば、磁気ディスク、光ディスク、メモリ、プログラマブルロジックデバイス(PLD))を指す。「機械可読信号」という用語は、機械命令及び/またはデータをプログラマブルプロセッサに提供するために用いられるあらゆる信号を指す。
【0070】
本明細書に説明するプロセス及び論理フローは、データ処理ハードウェアとも呼ばれる、1つ以上のプログラマブルプロセッサが1つ以上のコンピュータプログラムを実行して、入力データに作用し、出力を生成することにより機能を実行することによって実行できる。プロセス及び論理フローはまた、特殊用途論理回路、例えば、FPGA(フィールドプログラマブルゲートアレイ)またはASIC(特定用途向け集積回路)により実行され得る。コンピュータプログラムの実行に適切なプロセッサは、例として、汎用及び特殊目的のプロセッサの両方、並びにいずれかの種類のデジタルコンピュータのいずれか1つまたは複数のプロセッサを含む。概して、プロセッサは、読み出し専用メモリ、ランダムアクセスメモリ、またはその両方から命令及びデータを受信する。コンピュータの基本的な要素は、命令を実行するためのプロセッサ、ならびに命令及びデータを格納するための1つ以上のメモリデバイスである。概して、コンピュータはまた、データを格納するための1つまたは複数の大容量記憶デバイス、例えば磁気ディスク、光磁気ディスク、または光ディスクを含む、またはそれらからデータを受信するもしくはそれらにデータを送信する、あるいはその両方を行うよう動作可能に接続される。しかし、コンピュータがそのようなデバイスを有している必要はない。コンピュータプログラム命令およびデータを格納するのに適したコンピュータ読み取り可能なメディアには、あらゆる形式の不揮発性メモリ、メディア、およびメモリデバイスが含まれ、例として、EPROM、EEPROM、及びフラッシュメモリデバイスなどの半導体メモリデバイス、例えば、内蔵ハードディスクまたはリムーバブルディスクなどの磁気ディスク、光磁気ディスク、及びCD-ROMおよびDVD-ROMディスクが含まれる。プロセッサ及びメモリは、専用論理回路によって補完されるか、または専用論理回路に組み込まれ得る。
【0071】
ユーザとのインタラクションを行うために、本開示の1つ以上の態様は、ユーザに情報を表示するためのディスプレイ装置(例えばCRT(ブラウン管)、LCD(液晶画面)モニタ)またはタッチスクリーン、及び任意選択でユーザがそれによってコンピュータへの入力を行うことができるキーボード及びポインティングデバイス(例えばマウスまたはトラックボール)を有するコンピュータに実装することができる。他の種類のデバイスもまた、ユーザとのインタラクションを提供するために用いられ得る。例えば、ユーザに提供されるフィードバックは、あらゆる形式の感覚的フィードバック、例えば視覚フィードバック、聴覚フィードバック、または触覚フィードバックであることができ、ユーザからの入力は、音響、音声言語、または触覚入力を含む、任意の形式で受け取られ得る。さらに、コンピュータは、ユーザが使用するデバイスにドキュメントを送受信することで、例えば、ウェブブラウザから受信した要求に応じて、ユーザのクライアントデバイス上のウェブブラウザにウェブページを送信することで、ユーザとインタラクトできる。
【0072】
いくつかの実施態様が説明されてきた。それにも関わらず、本開示の趣旨及び範囲から逸脱することなく、様々な修正を行い得ることが理解される。したがって、他の実施態様は、以下の特許請求の範囲内である。
図1
図2
図3
図4
図5
図6
図7
図8