(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-01-26
(54)【発明の名称】訓練された生成モデル音声コード化
(51)【国際特許分類】
G10L 19/16 20130101AFI20240119BHJP
【FI】
G10L19/16 200A
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2023520247
(86)(22)【出願日】2021-01-22
(85)【翻訳文提出日】2023-07-21
(86)【国際出願番号】 US2021070064
(87)【国際公開番号】W WO2022159247
(87)【国際公開日】2022-07-28
(81)【指定国・地域】
(71)【出願人】
【識別番号】502208397
【氏名又は名称】グーグル エルエルシー
【氏名又は名称原語表記】Google LLC
【住所又は居所原語表記】1600 Amphitheatre Parkway 94043 Mountain View, CA U.S.A.
(74)【代理人】
【識別番号】110001195
【氏名又は名称】弁理士法人深見特許事務所
(72)【発明者】
【氏名】クレイジン,ウィレム・バスティアーン
(72)【発明者】
【氏名】ストラス,アンドリュー
(57)【要約】
方法は、発話に対応するサンプリングされたオーディオデータを受信することと、サンプリングされたオーディオデータを使用して、低ビットレート入力ビットストリームから高忠実度オーディオストリームを生成するように機械学習(ML)モデルを訓練することとを含む。MLモデルを訓練することは、サンプリングされたオーディオデータにおける低確率の歪み事象が訓練されたMLモデルに与える影響の強調を抑えることを含み、歪み事象の強調を抑えることは、MLモデルの目的関数に項を含めることによって達成され、この項は、オーディオデータの以前のサンプルに基づいて、サンプリングされたオーディオデータにおける次のサンプルの低分散予測分布を奨励する。
【特許請求の範囲】
【請求項1】
方法であって、
発話に対応するサンプリングされたオーディオデータを受信することと、
前記サンプリングされたオーディオデータを使用して、低ビットレート入力ビットストリームから高忠実度オーディオストリームを生成するように機械学習(ML)モデルを訓練することとを備え、前記MLモデルを訓練することは、前記サンプリングされたオーディオデータにおける低確率の歪み事象が訓練された前記MLモデルに与える影響の強調を抑えることを含み、前記歪み事象の強調を抑えることは、前記MLモデルの目的関数に項を含めることによって達成され、前記項は、前記オーディオデータの以前のサンプルに基づいて、前記サンプリングされたオーディオデータにおける次のサンプルの低分散予測分布を奨励する、方法。
【請求項2】
生成されたビットストリームにおける次のビットの低分散予測分布を奨励する前記項は、正則化項を含む、請求項1に記載の方法。
【請求項3】
【数1】
【請求項4】
前記正則化項は、予測分散の単調増加する関数として対数を含む、請求項2または3に記載の方法。
【請求項5】
【数2】
【請求項6】
前記目的関数は、対数尤度目的関数および正則化項を含み、前記MLモデルを訓練することは、前記正則化項に関連付けられた予測分散を最小化するネットワークの重みを選択することを含む、先行する請求項のいずれか1項に記載の方法。
【請求項7】
前記MLモデルは回帰ネットワークである、先行する請求項のいずれか1項に記載の方法。
【請求項8】
前記MLモデルを訓練する前に、前記方法はさらに、
前記サンプリングされたオーディオデータを時間領域において分離することと、
分離された前記サンプリングされたオーディオデータを、音声パラメータベクトルのシーケンスにコンバートすることと、
前記音声パラメータベクトルのシーケンスを変換することと、
変換された前記音声パラメータベクトルのシーケンスを量子化することとを備える、先行する請求項のいずれか1項に記載の方法。
【請求項9】
オーディオビットストリームを伝達する方法であって、前記方法は、
第1のデバイスにおいて、第1の発話に対応するサンプリングされた第1のオーディオデータを受信することと、
前記サンプリングされた第1のオーディオデータを音声パラメータベクトルのシーケンスにコンバートすることと、
変換された前記音声パラメータベクトルのシーケンスを量子化することによって、前記発話を表す第1のビットストリームを作成することと、
前記第1のデバイスによって第2のデバイスに、前記第1のビットストリームを伝達することと、
前記第1のデバイスにおいて前記第2のデバイスから、第2の発話を表す第2のビットストリームを受信することと、
前記第2のビットストリームに基づいて、音声パラメータベクトルのシーケンスを作成することと、
前記音声パラメータベクトルのシーケンスを逆変換することに基づいて、ベクトルシーケンスを作成することと、
前記ベクトルシーケンスに基づいて、訓練された機械学習(ML)モデルを使用することによって、前記第2の発話を表す高忠実度オーディオストリームを生成することとを備え、前記MLモデルを訓練することは、サンプリングされた訓練オーディオデータにおける低確率の歪み事象が訓練された前記MLモデルに与える影響の強調を抑えることを含み、前記歪み事象の強調を抑えることは、前記MLモデルの目的関数に項を含めることによって達成され、前記項は、前記オーディオデータの以前のサンプルに基づいて、前記サンプリングされた訓練オーディオデータにおける次のサンプルの低分散予測分布を奨励する、方法。
【請求項10】
前記サンプリングされた訓練オーディオデータにおける次のサンプルの低分散予測分布を奨励する前記項は、正則化項を含む、請求項9に記載の方法。
【請求項11】
【数3】
【請求項12】
前記正則化項は、予測分散の単調増加する関数として対数を含む、請求項10または請求項11に記載の方法。
【請求項13】
【数4】
【請求項14】
前記目的関数は、対数尤度目的関数および正則化項を含み、前記MLモデルを訓練することは、前記正則化項に関連付けられた予測分散を最小化するネットワークの重みを選択することを含む、請求項9~13のいずれか1項に記載の方法。
【請求項15】
前記MLモデルは回帰ネットワークである、請求項9~14のいずれか1項に記載の方法。
【発明の詳細な説明】
【技術分野】
【0001】
分野
実施形態は、通信環境(たとえば、アプリケーション)において発話を符号化し、伝達し、復号することに関する。
【背景技術】
【0002】
背景
オーディオコーデックは、(たとえば、モバイルコンピューティングデバイス上で実行される)通信アプリケーションにおいて音声を圧縮するために使用することができる。しかしながら、これらのオーディオコーデックは、通信ネットワークにおける帯域幅使用量(たとえば、ビットレート)を最小限に抑えるための望ましいサイズに音声を圧縮しない場合がある。機械学習ベースの生成モデルをオーディオコーデックとして使用する可能性は、音声アプリケーションのサイズおよび帯域幅使用量(たとえば、ビットレート)の削減をもたらす、さらなる圧縮が可能であることを示唆している。しかしながら、多種多様な話者からの音声および多種多様な環境で発せられた音声を処理可能な機械学習ベースの生成モデルをうまく訓練することは困難であり得る。
【発明の概要】
【0003】
概要
全般的な態様において、方法は、発話に対応するサンプリングされたオーディオデータを受信することと、上記サンプリングされたオーディオデータを使用して、低ビットレート入力ビットストリームから高忠実度オーディオストリームを生成するように機械学習(ML)モデルを訓練することとを含む。上記MLモデルを訓練することは、上記サンプリングされたオーディオデータにおける低確率の歪み事象が訓練された上記MLモデルに与える影響の強調を抑えることを含み、上記歪み事象の強調を抑えることは、上記MLモデルの目的関数に項を含めることによって達成され、上記項は、上記オーディオデータの以前のサンプルに基づいて、上記サンプリングされたオーディオデータにおける次のサンプルの低分散予測分布を奨励する。
【0004】
例示的な実装形態は、以下の特徴のうちの1つ以上を単独でまたは互いに任意の組み合わせで含み得る。
【0005】
第1の例では、生成されたビットストリームにおける次のビットの低分散予測分布を奨励する上記項は、正則化項を含み得る。
【0006】
【0007】
第3の例では、上記正則化項は、予測分散の単調増加する関数として対数を含み得る。
【0008】
【0009】
第5の例では、上記目的関数は、対数尤度目的関数および正則化項を含み得るものであり、上記MLモデルを訓練することは、上記正則化項に関連付けられた予測分散を最小化するネットワークの重みを選択することを含み得る。
【0010】
第6の例では、上記MLモデルは回帰ネットワークであり得る。
第7の例では、上記MLモデルを訓練する前に、上記サンプリングされたオーディオデータは時間領域において分離され得るものであり、分離された上記サンプリングされたオーディオデータは、音声パラメータベクトルのシーケンスにコンバートされ得るものであり、上記音声パラメータベクトルのシーケンスは変換され得るものであり、変換された上記音声パラメータベクトルのシーケンスは量子化され得る。
【0011】
別の全般的な態様において、オーディオビットストリームを伝達する方法は、第1のデバイスにおいて、第1の発話に対応するサンプリングされた第1のオーディオデータを受信することと、上記サンプリングされた第1のオーディオデータを音声パラメータベクトルのシーケンスにコンバートすることと、変換された上記音声パラメータベクトルのシーケンスを量子化することによって、上記発話を表す第1のビットストリームを作成することと、上記第1のデバイスによって第2のデバイスに、上記第1のビットストリームを伝達することと、上記第1のデバイスにおいて上記第2のデバイスから、第2の発話を表す第2のビットストリームを受信することと、上記第2のビットストリームに基づいて、音声パラメータベクトルのシーケンスを作成することと、上記音声パラメータベクトルのシーケンスを逆変換することに基づいて、ベクトルシーケンスを作成することと、上記ベクトルシーケンスに基づいて、訓練された機械学習(ML)モデルを使用することによって、上記第2の発話を表す高忠実度オーディオストリームを生成することとを含み、上記MLモデルを訓練することは、サンプリングされた訓練オーディオデータにおける低確率の歪み事象が訓練された上記MLモデルに与える影響の強調を抑えることを含み、上記歪み事象の強調を抑えることは、上記MLモデルの目的関数に項を含めることによって達成され、上記項は、上記オーディオデータの以前のサンプルに基づいて、上記サンプリングされた訓練オーディオデータにおける次のサンプルの低分散予測分布を奨励する。
【0012】
例示的な実装形態は、以下の特徴のうちの1つ以上を単独でまたは互いに任意の組み合わせで含み得る。
【0013】
第8の例では、上記サンプリングされた訓練オーディオデータにおける次のサンプルの低分散予測分布を奨励する上記項は、正則化項を含み得る。
【0014】
【0015】
第10の例では、上記正則化項は、予測分散の単調増加する関数として対数を含み得る。
【0016】
【0017】
第12の例では、上記目的関数は、対数尤度目的関数および正則化項を含み得るものであり、上記MLモデルを訓練することは、上記正則化項に関連付けられた予測分散を最小化するネットワークの重みを選択することを含み得る。
【0018】
第13の例では、上記MLモデルは回帰ネットワークであり得る。
例示的な実施形態は、本明細書の以下の詳細な説明および添付の図面からさらに十分に理解されるであろう。添付の図面では、同様の要素は同様の参照番号によって表している。これらの要素は例として与えられているに過ぎず、したがって例示的な実施形態を限定するものではない。
【図面の簡単な説明】
【0019】
【
図1】少なくとも1つの例示的な実施形態に係る通信システムの一部の図形表現およびブロック図である。
【
図2A】少なくとも1つの例示的な実施形態に係るオーディオ処理システムのブロック図である。
【
図2B】少なくとも1つの例示的な実施形態に係るオーディオ処理システムのブロック図である。
【
図3】少なくとも1つの例示的な実施形態に係るモデル訓練システムのブロック図である。
【
図4】少なくとも1つの例示的な実施形態に係るオーディオを伝達する方法のフローチャートを示す図である。
【
図5】少なくとも1つの例示的な実施形態に係るモデルを訓練する方法のフローチャートを示す図である。
【
図6A】本明細書に記載されている技術を用いたモデルの相対的な性能を示すグラフ図である。
【
図6B】本明細書に記載されている技術を用いたモデルの相対的な性能を示すグラフ図である。
【
図7】少なくとも1つの例示的な実施形態に係るコンピュータデバイスおよびモバイルコンピュータデバイスの一例を示す図である。
【発明を実施するための形態】
【0020】
なお、これらの図面は、いくつかの例示的な実施形態において利用される方法、構造および/または材料の一般的特徴を示すこと、ならびに以下に提供される記述を補足することを意図している。さまざまな図面における同様または同一の参照番号の使用は、同様または同一の要素または特徴の存在を示すことを意図している。
【0021】
機械学習ベースの生成モデルをオーディオコーデックとして使用する可能性は、音声アプリケーションのサイズおよび帯域幅使用量(たとえば、ビットレート)の削減をもたらす、さらなる圧縮が可能であることを示唆している。しかしながら、生成モデルの性能は、実世界の入力信号に存在し得る歪みによって劣化することがある。たとえば、生成合成の技術的課題は、訓練に使用されるデータの品質や、訓練および推論に使用される条件付けシーケンスの影響を受けやすいことである。この劣化は、訓練データの外れ値(たとえば、モデル化される音声とは無相関のノイズ事象)に対する最尤基準の感度に起因し得るものであり、その結果、合成された音声品質が低下する。
【0022】
本明細書に記載されている技術の例示的な実装形態は、予測分散正則化を使用して、外れ値に対する最尤基準の感度を低下させる技術的解決策に関連する。予測分散正則化の使用は、オーディオコーデックとしての1つまたは複数の生成モデルの性能の向上をもたらすことができる(たとえば、生成モデルによる発話の合成は、元の音声をよりよく表すことができる)。例示的な実装形態は、(たとえば、モデル訓練時に)ノイズ低減を使用して不要な信号を除去して、妥当な計算複雑度で実世界の音声信号に対してたとえば3kb/sという低いビットレート用のオーディオコーデックとしての生成モデルの性能を向上させる(たとえば、プロセッサ使用量を最小限に抑える)ことができる。
【0023】
図1は、少なくとも1つの例示的な実施形態に係る通信システムの一部の図形表現およびブロック図を示す。
図1に示すように、通信システム100は、第1のユーザ105によって操作される第1のコンピューティングデバイス115と、第2のユーザ110によって操作される第2のコンピューティングデバイス120とを含む。第1のコンピューティングデバイス115および第2のコンピューティングデバイス120は、たとえばインターネットを介して通信可能に結合することができる。
【0024】
第1のコンピューティングデバイス115は、関連するエンコーダ135と関連するデコーダ145とを含むアプリケーション125を含み得るものであり、第2のコンピューティングデバイス120は、関連するエンコーダ150と関連するデコーダ140とを含むアプリケーション130を含み得る。エンコーダ135,150およびデコーダ140,145は、対応するコンピューティングデバイス115,120にプレインストールすることができる、および/または、関連するアプリケーション125,130のインストール時に対応するコンピューティングデバイス115,120にインストールすることができる。たとえば、エンコーダ135,150およびデコーダ140,145は、対応するコンピューティングデバイス115,120にプレインストールされる、および/または、関連するアプリケーション125,130のインストール時に対応するコンピューティングデバイス115,120にインストールされる、オーディオおよび/またはビデオコーデックを含み得る。
【0025】
アプリケーション125は、第1のコンピューティングデバイス115と第2のコンピューティングデバイス120との結合を介してアプリケーションと通信可能に結合することができる。たとえば、エンコーダ135によって生成されたデータ(たとえば、ビットストリーム)をデコーダ140に伝達することができ、エンコーダ150によって生成されたデータ(たとえば、オーディオビットストリーム)をデコーダ145に伝達することができる。エンコーダ135,150は、たとえばコンピューティングデバイス115,120のマイクを用いて取り込まれた、対応するユーザ105,110による発話を圧縮(たとえば、符号化)するように構成され得る。圧縮された発話は、コンピューティングデバイス115とコンピューティングデバイス120との間で低ビットレート(たとえば、小さい帯域幅利用率)を達成することができるように、小さいサイズ(たとえば、メモリ使用量)を有し得る。
【0026】
アプリケーション125,130は、ユーザインターフェイス155,160を含み得る。ユーザインターフェイス155,160は、ユーザ105,110とのインターフェイスを提供するように構成され得る。たとえば、ユーザインターフェイス155,160は、コンピューティングデバイス115とコンピューティングデバイス120との間の通信を開始し、制御するように構成され得る。ユーザインターフェイス155,160は、コンピューティングデバイス115,120のコンポーネントを用いて取り込まれたオーディオおよび/またはビデオを取り込み、表示するように構成され得る。ユーザインターフェイス155,160は、オーディオおよび/またはビデオ(たとえば、ミュート、背景修正、カメラのオン/オフなど)を制御するように構成され得る。ユーザインターフェイス155,160は、他の通信動作(たとえば、チャット)を提供するように構成され得る。ユーザインターフェイス155,160は、オーディオ通信(たとえば、電話、近距離プライベート通信(たとえば、携帯型無線機)など)アプリケーションであるように構成され得る。ユーザインターフェイス155,160は、オーディオデバイス(たとえば、ストリーミング音楽、ブロードキャストオーディオ、ポッドキャストなど)、ビデオデバイス(たとえば、ストリーミングビデオ)、および/またはその他であるように構成され得る。ユーザインターフェイス155,160の機能はいずれも、以下に説明する技術/実装形態の使用を含み得る。
【0027】
デコーダ140,145は、オーディオストリームを復号するための生成モデルを含むオーディオコーデックを含み得る。したがって、エンコーダ135,150は、圧縮されたオーディオを生成モデルを使用して復元(たとえば、復号、合成)することができるように、オーディオを圧縮するためのオーディオコーデックを含み得る。生成モデルは、機械学習された(たとえば、訓練された)生成モデルであり得る。生成モデルは、生成モデルの訓練の前および/または最中に、オーディオ内の不要な信号を除去するノイズ低減技術を用いて訓練することができる。予測分散正則化を使用するモデルの訓練については、以下でより詳細に説明する。
【0028】
例示的な実装形態は、モデルを訓練する際の歪みに対する感度(たとえば、オーディオノイズ)の原因の特定と、この感度を低下させる(たとえば、オーディオノイズが訓練されたモデルの性能に与える影響を減少させる)技術とを含み得る。感度の原因は、対数尤度(LL)目的関数の属性に関連付けられ得る。モデルが観測データに低確率を割り当てる場合、LL目的関数は比較的高いペナルティを被る可能性がある。したがって、自己回帰構造の文脈において、ランダムなまたは異常なノイズ事象を含む実世界の訓練データの場合のように、少なくともいくつかの訓練データを過去の信号および条件付けから正確に予測することが困難な場合、LL目的関数は過度に広い予測分布を奨励する可能性がある。この効果は、機械学習モデルを訓練するために使用される目的関数全体に予測分散正則化を含めることによって緩和する(たとえば、減少させる)ことができる。独立信号の同時モデル化の必要性を防ぐために、例示的な実装形態は、低い信号対雑音比の場合、条件付けに使用される特徴を抽出する前にノイズ低減技術を適用することができる。
【0029】
【0030】
【0031】
【0032】
【0033】
逆に、式(3)は、モデル予測分布に関連付けられた不確実性の尺度の下限と解釈することができる。この下限は、プロセス自体に関連付けられており、モデルには関連付けられていない。微分エントロピー率は合計信号について劣加法的であり得るが、予測モデルは合計信号に対してうまく機能しないことがある。一般に、合計信号のモデルは、必要なモデル構成において乗法的であり得る。有限位数の線形自己回帰モデルの合計は、有限位数の自己回帰モデルではないことがある。この問題は、ノイズ抑制を用いて軽減することができる。
【0034】
【0035】
機械学習された(ML)目的には、第2の関連する欠点があり得る。ML目的関数を使用する場合、データサンプルサイズが大きくなるにつれてモデル分布はグラウンドトゥルース分布に収束するはずである。しかし実際には、訓練データおよび訓練方法の確率的性質によって不正確さが生じることがある。したがって、この方法は、そのような誤差の影響を最小限に抑えるよう試みることができる。たとえば、予測分布によるピッチの暗黙の記述は不正確であり得る。次いで、有声音声に対して重いテールを有する予測モデル分布は、グラウンドトゥルースピッチから逸脱するモデルピッチの影響を減少させるので、訓練データの尤度を高める。この論法から、目的関数の経験的に動機付けられた改良につながる歪みの可聴性(知覚)を考慮することが望ましい場合がある。
【0036】
2つの関連技術が、最尤基準を修正して性能を向上させることができる。どちらの技術も、予測するのが困難な訓練セット内のデータ点の影響を減少させることができ、これらの技術は、推論時のヒューリスティックな修正の必要性を取り除くことができる。
【0037】
【0038】
【0039】
【0040】
【0041】
【0042】
【0043】
【0044】
【0045】
【0046】
【0047】
【0048】
過度に広い分布を提供するようにα0を選択することによって、推論に使用される分布を低分散にすることができる。
【0049】
例示的な実装形態では、サンプリングレートS Hzの入力信号を考える。合計された独立信号をモデル化する必要性を避けるために、推論時にリアルタイムのTasNetで入力を前処理することができる。エンコーダが、信号を対数メルスペクトルのシーケンスにコンバートすることができる。1組の後続の対数メルスペクトルをスタックして、カルーネン・レーベ変換(KLT)を受け得るスーパーベクトルにすることができる。変換されスタックされた対数メルスペクトルを、1分割当たりの係数の個数が少ない分割ベクトル量子化を用いて符号化することができる。この例示的な実装形態では、他の情報は符号化しなくてもよい。
【0050】
デコーダが、ビットストリームを量子化された対数メルスペクトルのシーケンスに復号することができる。これらのスペクトルは、1組の1次元(1D)畳み込み層を含む、条件付けスタックへの入力を形成することができる。1D畳み込み層は、最初の畳み込み層を除いて拡張を含み得る。出力は、ゲート付き再帰ユニット(GRU:gated recurring unit)状態に等しい次元を有するベクトルシーケンスとすることができ、サンプリングレートは、エンコーダのメルスペクトルのサンプリングレートに等しくすることができる。
【0051】
自己回帰ネットワークは、ゲート付き再帰ユニットに基づくマルチバンドWaveGRUを含み得る。NバンドのWaveGRUの場合、更新速度S/N HzでN個のサンプルを同時に生成することができ、周波数帯域ごとに1つのサンプルを生成する。更新のたびに、GRUネットワークの状態を、N個のパラメータセットを定義するN×K×3次元空間に投影することができる。パラメータセットの各々は、帯域のロジスティック混合に対応し得る。各帯域の次の信号サンプルの値は、まず、帯域確率に従って混合成分(たとえば、ロジスティック分布)を選択し、次に、一様分布からのサンプルを変換することによってこのロジスティック分布からサンプルを取り出すことによって、得ることができる。1組のN個のサンプルごとに、合成フィルタバンクがN個の後続の時間領域サンプルを生成することができる。時間領域サンプルは、サンプリングレートS Hzの出力をもたらすことができる。
【0052】
WaveGRUへの入力は、自己回帰成分および条件付け成分の追加を含み得る。自己回帰成分は、WaveGRU状態の次元のベクトルに投影された最後のN個の周波数帯域サンプルの投影であり得る。第2の成分は、正しいサンプリングレートS/N Hzを得るために時間的に繰返される、(たとえば、WaveGRU状態の次元における)条件付けスタックの出力であり得る。
【0053】
GRUネットワークおよび条件付けスタックの訓練は、教師強制を用いて同時に実行することができる。言い換えると、GRUへの入力として提供される過去の信号サンプルは、グラウンドトゥルース信号サンプルであり得る。対数尤度(交差エントロピー)と分散正則化とを組み合わせる目的関数式(10)を、後続の各信号サンプルに使用することができる。
【0054】
図2Aおよび
図2Bは、少なくとも1つの例示的な実施形態に係るオーディオ処理システムのブロック図を示す。
図2Aおよび
図2Bに示すように、オーディオ処理システム200は、少なくとも1つのプロセッサ205と、少なくとも1つのメモリ210と、コントローラ220とを含む。
図2Aは、あるコンピューティングデバイスにおいてオーディオ信号をビットストリームに符号化し、このコンピューティングデバイスから別のコンピューティングデバイスに送信するために使用される、システム200のコンポーネントを示す。
図2Bは、あるコンピューティングデバイスにおいて別のコンピューティングデバイスから受信したビットストリームを復号し、この復号されたビットストリームからオーディオ信号を再構成/合成するために使用される、システム200のコンポーネントを示す。システム200のコンポーネントはコンピューティングデバイス115および120に含まれ得るため、デバイス115および120の双方が、オーディオ信号を処理してビットストリームとして他方のデバイスに送信することができ、また、他方のデバイスからビットストリームを受信し、受信したビットストリームを処理して、ユーザに対してレンダリングするためのオーディオ信号を合成することができる。
図2Aに示すように、オーディオ処理システム200は、サンプル225ブロックと、時間領域分離器230ブロックと、コンバータ235ブロックと、トランスフォーマ240ブロックと、量子化器245ブロックとを含み得る。
図2Bに示すように、オーディオ処理システム200は、パワー250ブロックと、畳み込み255ブロックと、再構成260ブロックとを含み得る。少なくとも1つのプロセッサ205、少なくとも1つのメモリ210、コントローラ220、サンプル225ブロック、時間領域分離器230ブロック、コンバータ235ブロック、トランスフォーマ240ブロック、量子化器245ブロック、パワー250ブロック、畳み込み255ブロック、および再構成260ブロックは、バス215を介して通信可能に結合される。
図2Aおよび
図2Bにおいて、実線は制御リンクを表し、破線はデータリンクを表す。
【0055】
少なくとも1つのプロセッサ205は、少なくとも1つのメモリ210に格納された命令を実行し、それによって本明細書に記載されているさまざまな特徴および機能、または追加もしくは代替の特徴および機能を実行するために利用され得る。少なくとも1つのプロセッサ205は、汎用プロセッサであってもよい。少なくとも1つのプロセッサ205は、グラフィックス処理ユニット(GPU)および/またはオーディオ処理ユニット(APU)であってもよい。少なくとも1つのプロセッサ205および少なくとも1つのメモリ210は、他のさまざまな目的で利用されてもよい。特に、少なくとも1つのメモリ210は、本明細書に記載されているモジュールのうちのいずれかを実現するために使用され得るさまざまなタイプのメモリならびに関連するハードウェアおよびソフトウェアの一例を表し得る。
【0056】
少なくとも1つのメモリ210は、オーディオ処理システム200に関連付けられたデータおよび/または情報を格納するように構成されてもよい。たとえば、少なくとも1つのメモリ210は、回帰(たとえば、自己回帰)モデルを使用するコーデックを含む通信アプリケーションの実行に関連付けられたコードを格納するように構成されてもよい。たとえば、少なくとも1つのメモリ210は、回帰(たとえば、自己回帰)モデルを使用するオーディオデータ(たとえば、オーディオストリームまたは発話)の符号化/復号に関連付けられたコードを格納するように構成されてもよい。少なくとも1つのメモリ210は、プロセッサ205によって実行されると本明細書に記載されている技術のうちの1つ以上をプロセッサ205に実行させるコードを有する非一時的なコンピュータ読取可能媒体であってもよい。少なくとも1つのメモリ210は、共有リソースであってもよい。たとえば、オーディオ処理システム200は、より大きいシステム(たとえば、サーバ、パーソナルコンピュータ、モバイルデバイスなど)の要素であってもよい。したがって、少なくとも1つのメモリ210は、より大きいシステム内の他の要素(たとえば、ウェブブラウジング、カメラ、ゲーム、および/またはその他)に関連付けられたデータおよび/または情報を格納するように構成されてもよい。
【0057】
コントローラ220は、さまざまな制御信号を生成し、これらの制御信号をオーディオ処理システム200内のさまざまなブロックに伝達するように構成されてもよい。コントローラ220は、本明細書に記載されている技術を実行するために制御信号を生成するように構成されてもよい。コントローラ220は、回帰モデルに基づいてコーデックのデータを制御するように構成されてもよい。
【0058】
図2Aを参照して、オーディオストリーム5がオーディオ処理システム200に入力される。オーディオ処理システム200は、オーディオストリーム5に基づいてビットストリーム10(たとえば、圧縮されたオーディオビットストリーム)を生成するように構成され得る。ビットストリーム10は、通信アプリケーションの動作として伝達することができる。たとえば、ビットストリーム10は、アプリケーション125,130を用いてデバイス115からデバイス120に伝達することができる。たとえば、ビットストリーム10は、アプリケーション125,130を用いてデバイス120からデバイス115に伝達することができる。
【0059】
サンプル225ブロックは、オーディオストリーム5をサンプリングするように構成され得る。サンプリングは、サンプリングレートS Hzを用いて、オーディオストリーム5を表す離散時間信号を生成することを含み得る。サンプリングレートはビットレートに正比例し得る。したがって、サンプリングレートが低いほどビットレートは低くなる。したがって、サンプリングレートは、オーディオストリーム5の圧縮をもたらすことができる。言い換えれば、サンプリングレートSが低いほど、オーディオストリーム5はより圧縮され得る(サンプリングされたオーディオストリーム5を格納するために使用されるビット深度またはビット数を一定に保つ)。したがって、サンプリングレートSは、オーディオストリームのビットレートをたとえば3kb/sまで低くすることを可能にする(または可能にするのを助ける)ように選択することができる。
【0060】
時間領域分離器230ブロックは、合計された独立信号をモデル化する必要性を避けるために、音声を分離するように構成され得る。いくつかの実装形態では、サンプリングされたオーディオストリーム5を処理して、サンプリングされたオーディオストリーム5内の独立した音声信号を分離することができる、および/または、分離された独立した音声信号内のノイズを抑制することができる。いくつかの実装形態では、リアルタイムのTasNet(時間領域オーディオ分離ネットワーク)が、サンプリングされたオーディオストリーム5に1組の重み関数(またはマスク)を適用して、音声を分離し、ノイズ抑制を実行することができる。言い換えれば、サンプリングされたオーディオストリーム5によって表される発話で聞こえる可能性のある各話者を分離するために、重み付けされたマスクをサンプリングされたオーディオストリームに適用することができる。いくつかの実装形態では、1つの出力チャネルのみを有するTasNetを用いて、ノイズを抑制し、1つの音声信号に帰属しない(学習された表現の)成分を乗算することでマスクアウトすることによって、1つの音声チャネルを除いてすべてを除去することができる。その結果、マスクを用いてユーザを切り離し、背景音声をフィルタで除去することによって、ユーザ(たとえば、ユーザ105,110)をオーディオ処理システム200の対象とすることができる。
【0061】
コンバータ235ブロックは、分離されたオーディオストリームをパラメータ化するように構成され得る。例示的な実装形態では、分離されたオーディオストリームを対数メルスペクトルのシーケンスにコンバートすることができ、これらのスペクトルは、1組の1次元(1D)畳み込み層を含む、条件付けスタックへの入力を形成することができる。対数メルスペクトルは、周波数の非線形メルスケール上の対数パワースペクトルの線形コサイン変換に基づく、分離されたオーディオストリーム5の短時間パワースペクトルの表現であり得る。結果として得られる1組の対数メルスペクトルをスタックして、スーパーベクトルにすることができる。ユーザ(たとえば、ユーザ105,110)に関連付けられた音声(たとえば、発話)を定量化するために、対数メルスペクトルをユーザにフィットするガウス混合モデルに適合させて、ある方向に平均を効果的にシフトすることができる。適合方向は、ユーザを特徴付ける実数値ベクトルである。これはスーパーベクトルと呼ばれることもある。
【0062】
トランスフォーマ240ブロックは、オーディオストリーム5に対応する対数メルスペクトル(たとえば、スーパーベクトル)にカルーネン・レーベ変換(KLT)を適用するように構成され得る。KLTは、信号(たとえば、対数メルスペクトルまたはスーパーベクトル)の統計値から基底関数が得られる線形変換である。KLTは、適応変換であり得る(たとえば、オーディオパワーに適応可能である)。KLTは、エネルギ圧縮に関連する最適変換であり得る。言い換えれば、KLTは、できるだけ少ない係数でできるだけ多くのエネルギを配置することができる。
【0063】
量子化器245ブロックは、変換されたオーディオストリーム5に関連付けられたエネルギ(たとえば、パワーまたは係数)を量子化するように構成され得る。たとえば、変換されスタックされた対数メルスペクトルは、1分割当たりの係数の個数が少ない分割ベクトル量子化を用いて符号化される。エネルギの量子化とは、エネルギ(たとえば、変換されスタックされた対数メルスペクトル)を離散的なエネルギレベルに割り当てることを指すことがある。分割ベクトル量子化では、対数メルスペクトルまたはスーパーベクトルの係数を、p個の等しいサイズのグループに分割することができる。グループのサイズを等しくできない場合は、残りの係数をグループのうちの1つに追加することができるか、または、残りの係数をそれぞれのより小さいグループに入れることができる。
【0064】
図2Bを参照して、ビットストリーム10がオーディオ処理システム200に入力される。オーディオ処理システム200は、受信したビットストリーム10に基づいてオーディオストリーム5を(たとえば、再構成されたオーディオストリームとして)合成するように構成され得る。オーディオストリーム5は、生成モデルを使用してビットストリーム10に基づいて合成(たとえば、再構成)することができる。ビットストリーム10は、通信アプリケーションの動作として受信することができる。たとえば、ビットストリーム10は、アプリケーション125,130を用いてデバイス115によってデバイス120から受信することができる。たとえば、ビットストリーム10は、アプリケーション125,130を用いてデバイス120によってデバイス115から受信することができる。
【0065】
パワー250ブロックは、ビットストリーム10に基づいて、量子化された対数メルスペクトルのシーケンスを生成するように構成され得る。量子化された対数メルスペクトルのシーケンスは、オーディオストリーム5の少なくとも一部に対応するビットストリーム10の少なくとも一部について、量子化器245に入力される変換されスタックされた対数メルスペクトルと実質的に一致すべきである。
【0066】
畳み込み255ブロックは、量子化された対数メルスペクトルに基づいてベクトルシーケンスを生成するように構成され得る。量子化された対数メルスペクトルのシーケンスは、1組の1次元(1D)畳み込み層を含む、条件付けスタックへの入力とすることができる。1D畳み込み層は、最初の畳み込み層を除いて拡張を含み得る。出力は、ゲート付き再帰ユニット(GRU)状態に等しい次元を有するベクトルシーケンスとすることができ、サンプリングレートは、エンコーダのメルスペクトルのサンプリングレートに等しくすることができる。
【0067】
再構成260ブロックは、対応する符号化されたオーディオストリーム(たとえば、ビットストリーム)のオーディオストリーム再構成を生成するように構成され得る。再構成260ブロックは、回帰(たとえば、自己回帰)ネットワークを用いてオーディオストリーム再構成(たとえば、再構成されたオーディオストリーム5)を生成するように構成され得る。この回帰ネットワークは、ゲート付き再帰ユニットに基づくマルチバンドWaveGRUを含み得る。NバンドのWaveGRUの場合、更新速度S/N HzでN個のサンプルを同時に生成することができ、周波数帯域ごとに1つのサンプルを生成する。更新のたびに、GRUネットワークの状態を、N個のパラメータセットを定義するN×K×3次元空間に投影することができる。パラメータセットの各々は、帯域のロジスティック混合に対応し得る。各帯域の次の信号サンプルの値は、まず、帯域確率に従って混合成分(たとえば、ロジスティック分布)を選択し、次に、一様分布からのサンプルを変換することによってこのロジスティック分布からサンプルを取り出すことによって、得ることができる。1組のN個のサンプルごとに、合成フィルタバンクがN個の後続の時間領域サンプルを生成することができる。時間領域サンプルは、サンプリングレートS Hzの出力(たとえば、再構成されたオーディオストリーム5または発話)をもたらすことができる。
【0068】
図3は、少なくとも1つの例示的な実施形態に係るモデル訓練システムのブロック図を示す。
図3に示すように、モデル訓練システム300は、少なくとも1つのプロセッサ305と、少なくとも1つのメモリ310と、コントローラ320と、サンプル325ブロックと、時間領域分離器330ブロックと、評価器および修正器335ブロックと、トランスフォーマ340ブロックと、量子化器245ブロックと、再構成350ブロックと、比較355ブロックとを含む。少なくとも1つのプロセッサ305、少なくとも1つのメモリ310、コントローラ320、サンプル325ブロック、時間領域分離器330ブロック、コンバータ335ブロック、トランスフォーマ340ブロック、量子化器245ブロック、再構成350ブロック、ならびに評価器および修正器355ブロックは、バス315を介して通信可能に結合される。
図3において、実線は制御リンクを表し、破線はデータリンクを表す。
【0069】
少なくとも1つのプロセッサ305は、少なくとも1つのメモリ310に格納された命令を実行し、それによって本明細書に記載されているさまざまな特徴および機能、または追加もしくは代替の特徴および機能を実行するために利用され得る。少なくとも1つのプロセッサ305は、汎用プロセッサであってもよい。少なくとも1つのプロセッサ305は、グラフィックス処理ユニット(GPU)および/またはオーディオ処理ユニット(APU)であってもよい。少なくとも1つのプロセッサ305および少なくとも1つのメモリ310は、他のさまざまな目的で利用されてもよい。特に、少なくとも1つのメモリ310は、本明細書に記載されているモジュールのうちのいずれかを実現するために使用され得るさまざまなタイプのメモリならびに関連するハードウェアおよびソフトウェアの一例を表し得る。
【0070】
少なくとも1つのメモリ310は、オーディオ処理システム300に関連付けられたデータおよび/または情報を格納するように構成されてもよい。たとえば、少なくとも1つのメモリ310は、オーディオ(たとえば、音声)を符号化するための回帰(たとえば、自己回帰)モデルの訓練に関連付けられたコードを格納するように構成されてもよい。たとえば、少なくとも1つのメモリ310は、教師強制回帰モデル訓練に関連付けられ、教師強制に使用されるオーディオデータからノイズを除去するコードを格納するように構成されてもよい。少なくとも1つのメモリ310は、プロセッサ305によって実行されると本明細書に記載されている技術のうちの1つ以上をプロセッサ305に実行させるコードを有する非一時的なコンピュータ読取可能媒体であってもよい。少なくとも1つのメモリ310は、共有リソースであってもよい。たとえば、モデル訓練システム300は、より大きいシステム(たとえば、サーバ、パーソナルコンピュータ、モバイルデバイスなど)の要素であってもよい。したがって、少なくとも1つのメモリ310は、より大きいシステム内の他の要素に関連付けられたデータおよび/または情報を格納するように構成されてもよい。
【0071】
コントローラ320は、さまざまな制御信号を生成し、これらの制御信号をモデル訓練システム300内のさまざまなブロックに伝達するように構成されてもよい。コントローラ320は、本明細書に記載されている技術を実行するために制御信号を生成するように構成されてもよい。コントローラ320は、評価器および修正器355ブロックを制御して、再帰モデルに関連付けられた目的関数を評価し、この評価に応答して目的関数に関連付けられた重みを修正するように構成されてもよい。重みの修正は、訓練プロセス中に目的関数式4が最小化されたか否かの判断に応答して実行することができる。
【0072】
図3に示すように、オーディオストリーム5がモデル訓練システム300に入力される。サンプル325ブロックは、オーディオストリーム5をサンプリングするように構成され得る。サンプリングは、サンプリングレートS Hzを用いて、オーディオストリーム5を表す離散時間信号を生成することを含み得る。
【0073】
時間領域分離器330ブロックは、音声を分離するように構成され得る。合計された独立信号をモデル化する必要性を避けるために、サンプリングされたオーディオストリーム5をリアルタイムのTasNet(時間領域オーディオ分離ネットワーク)で処理して、音声を分離することができる、および/または、ノイズを抑制することができる。TasNetは、1組の重み関数(またはマスク)を適用して音声を分離することができる。言い換えれば、サンプリングされたオーディオストリーム5によって表される発話で聞こえる可能性のある各話者を分離するために、重み付けされたマスクをサンプリングされたオーディオストリームに適用することができる。その結果、マスクを用いてユーザを切り離し、背景音声をフィルタで除去することによって、ユーザ(たとえば、105,110)をオーディオ処理システム200の対象とすることができる。
【0074】
コンバータ335ブロックは、分離されたオーディオストリームを対数メルスペクトルのシーケンスにコンバートするように構成され得る。これらのスペクトルは、1組の1次元(1D)畳み込み層を含む、条件付けスタックへの入力を形成することができる。対数メルスペクトルは、周波数の非線形メルスケール上の対数パワースペクトルの線形コサイン変換に基づく、分離されたオーディオストリームの短時間パワースペクトルの表現であり得る。結果として得られる1組の対数メルスペクトルをスタックして、スーパーベクトルにすることができる。ユーザ(たとえば、ユーザ105,110)に関連付けられた音声(たとえば、発話)を定量化するために、対数メルスペクトルをユーザにフィットするガウス混合モデルに適合させて、ある方向に平均を効果的にシフトすることができる。適合方向は、ユーザを特徴付ける実数値ベクトルである。これはスーパーベクトルと呼ばれることもある。
【0075】
トランスフォーマ340ブロックは、オーディオストリーム5に対応する対数メルスペクトル(たとえば、スーパーベクトル)にカルーネン・レーベ変換(KLT)を適用するように構成され得る。KLTは、信号(たとえば、対数メルスペクトルまたはスーパーベクトル)の統計値から基底関数が得られる線形変換である。KLTは、適応変換であり得る(たとえば、オーディオパワーに適応可能である)。KLTは、エネルギ圧縮に関連する最適変換であり得る。言い換えれば、KLTは、できるだけ少ない係数でできるだけ多くのエネルギを配置することができる。
【0076】
量子化器345ブロックは、変換されたオーディオストリーム5に関連付けられたエネルギ(たとえば、パワーまたは係数)を量子化するように構成され得る。たとえば、変換されスタックされた対数メルスペクトルは、1分割当たりの係数の個数が少ない分割ベクトル量子化を用いて符号化される。エネルギの量子化とは、エネルギ(たとえば、変換されスタックされた対数メルスペクトル)を離散的なエネルギレベルに割り当てることを指すことがある。分割ベクトル量子化では、対数メルスペクトルまたはスーパーベクトルの係数を、p個の等しいサイズのグループに分割することができる。グループのサイズを等しくできない場合は、残りの係数をグループのうちの1つに追加することができるか、または、残りの係数をそれぞれのより小さいグループに入れることができる。
【0077】
例示的な実装形態は、予測するのが困難な訓練セット内のデータ点(たとえば、低確率データ)の影響を減少させることができる2つの技術を含み得る。第1の技術は、低分散予測分布を奨励する項を目的関数に追加することによって最尤基準を修正することができる。言い換えれば、目的関数において正則化項を使用して、モデルの訓練時に外れ値データ(たとえば、高微分エントロピーデータ)の影響の強調を抑えることができる。
【0078】
式(4)~(10)に関して上述したように、信号分散全体が一様な信号の場合、比較的低い条件付き微分エントロピーを有する領域には低い予測分散を設定することが望ましいことがある(たとえば音声の場合、これは、有声音声についてのみ低分散を奨励することに対応する)。これは、予測分散の単調増加する凹関数によって達成することができる。対数はスケールに対して不変であり得るため、対数をこの目的に使用することができる。
【0079】
最尤基準を修正する第2の技術は、式12に関して上述したように、ベースライン分布を使用することによってカルバック・ライブラー発散の消失サポート問題を防止することであり得る。例示的な実装形態では、推論に使用される分布は、低分散を有するように選択することができる。
【0080】
再構成350ブロックは、対応する符号化されたオーディオストリーム(たとえば、ビットストリーム)のオーディオストリーム再構成を生成するように構成され得る。再構成260ブロックは、機械学習された(ML)モデルを使用してオーディオストリームを再構成するように構成され得る。再構成350ブロックは、目的関数式4を実行した結果を評価器および修正器355ブロックに伝達するように構成され得る。
【0081】
モデル訓練システム300は、MLモデルを訓練するように構成され得る。MLモデルを訓練することは、低ビットレート入力ビットストリームから高忠実度オーディオビットストリームを生成するようにMLモデルを訓練することを含み得る。MLモデルを訓練することは、サンプリングされたオーディオデータにおける低確率の歪み事象が訓練されたMLモデルに与える影響の強調を抑えることを含み得る。たとえば、オーディオストリーム5はノイズを含み得る。このノイズは、サンプリングされたオーディオデータにおける低確率の歪み事象を引き起こす可能性がある。歪み事象の強調を抑えること(たとえば、MLモデルの訓練に対するノイズの効果または影響を最小限に抑えること)は、MLモデルの目的関数に項(たとえば、正則化項)を含めることによって達成される。この項は、サンプリングされたオーディオデータにおける次のサンプルの低分散予測分布を奨励することができる。したがって、再構成350ブロックで使用されるMLモデルは、MLモデルに関連付けられた目的関数の修正を含み得る。この目的関数は、MLモデルに対するノイズの効果を減少させることができる正則化項を含み得る。
【0082】
生成モデルを訓練する際のノイズの効果を減少させることで、モデルを使用して何らかのノイズを含むオーディオストリームを復元する際に、歪みに対するモデルの感度を低下させることができる。たとえば、感度の原因は、対数尤度(LL)目的関数の属性に関連付けられ得る。モデルが観測データに低確率を割り当てる場合、LL目的関数はペナルティを被る可能性がある。したがって、自己回帰構造の文脈において、少なくともいくつかの訓練データを過去の信号および条件付けから正確に予測することが困難な場合、観測データに低確率を割り当てると、過度に広い予測分布を奨励する可能性がある。したがって、再構成350ブロックは、MLモデルの訓練時に、観測データに低確率を割り当てることがLL目的関数に与える効果を緩和するように構成され得る。
【0083】
MLモデルは、入力されたオーディオストリームのオーディオストリーム再構成(たとえば、再構成されたオーディオストリーム5)を生成するための回帰(たとえば、自己回帰)ネットワークを含み得る。この回帰ネットワークは、ゲート付き再帰ユニットに基づくマルチバンドWaveGRUを含み得る。NバンドのWaveGRUの場合、更新速度S/N HzでN個のサンプルを同時に生成することができ、周波数帯域ごとに1つのサンプルを生成する。更新のたびに、ゲート付き再帰ユニット(GRU)ネットワークの状態を、N個のパラメータセットを定義するN×K×3次元空間に投影することができる。パラメータセットの各々は、帯域のロジスティック混合に対応し得る。各帯域の次の信号サンプルの値は、まず、帯域確率に従って混合成分(たとえば、ロジスティック分布)を選択し、次に、一様分布からのサンプルを変換することによってこのロジスティック分布からサンプルを取り出すことによって、得ることができる。1組のN個のサンプルごとに、合成フィルタバンクがN個の後続の時間領域サンプルを生成することができる。時間領域サンプルは、サンプリングレートS Hzの出力をもたらすことができる。
【0084】
評価器および修正器355ブロックは、回帰モデルの訓練を実行するように構成され得る。例示的な実装形態では、(たとえば、GRUネットワークおよび条件付けスタックとしての)回帰モデルの訓練は、教師強制を用いて同時に実行することができ、この場合、過去の信号サンプルは、グラウンドトゥルース信号サンプルとして、モデルへの入力として提供される。式4の目的関数を、後続の各信号サンプルに使用することができる。評価器および修正器355ブロックは、現在の反復からの目的関数式4の結果を、訓練サイクルの少なくとも1つの以前の反復の目的関数式4の結果と比べて評価することができる。評価器および修正器355ブロックは、正則化項の式4を含む目的関数を、たとえば確率的勾配降下法または関連方法を用いて最小化するように構成され得る。これにより、式2によって示されるように訓練データの尤度を最大化することができる。
【0085】
評価結果が基準に適合した場合、訓練を終了することができる。たとえば、この基準は、目的関数式4を最小化することに基づき得る。重みを修正した結果、目的関数の結果が変化して閾値未満になった場合、評価は基準に適合したとみなすことができる。評価結果が基準に適合しない場合、たとえば確率的勾配降下法または関連方法を用いて回帰モデルを修正することができ(たとえば、再帰モデルまたはGRUネットワークに関連付けられた重みを変更することができ)、訓練を継続することができる。
【0086】
図4および
図5は、例示的な実施形態に係る方法のフローチャートである。
図4および
図5に関して説明する方法は、装置に関連付けられたメモリ(たとえば、非一時的なコンピュータ読取可能記憶媒体)に格納され、この装置に関連付けられた少なくとも1つのプロセッサによって実行されるソフトウェアコードの実行により行われてもよい。
【0087】
しかしながら、専用プロセッサとして具体化されるシステムのような代替の実施形態が考えられる。専用プロセッサは、グラフィックス処理ユニット(GPU)および/またはオーディオ処理ユニット(APU)であり得る。GPUは、グラフィックスカードのコンポーネントであり得る。APUは、サウンドカードのコンポーネントであり得る。また、グラフィックスカードおよび/またはサウンドカードは、ビデオ/オーディオメモリと、ランダムアクセスメモリデジタル/アナログコンバータ(RAMDAC)と、ドライバソフトウェアとを含み得る。ビデオ/オーディオメモリは、画像、ビデオのフレーム、フレームに関連付けられたオーディオデータ、および/またはストリーミングオーディオを表すデジタルデータを格納するフレームバッファであり得る。RAMDACは、ビデオ/オーディオメモリのコンテンツを読み出し、コンテンツをアナログ信号に変換し、アナログ信号をディスプレイ/モニタおよび/またはスピーカに送信するように構成され得る。ドライバソフトウェアは、上述のメモリに格納されたソフトウェアコードであり得る。ソフトウェアコードは、本明細書に記載されている方法を実行するように構成され得る。
【0088】
以下に説明する方法は、プロセッサおよび/または専用プロセッサによって実行されるものとして説明されるが、これらの方法は必ずしも同じプロセッサによって実行されるとは限らない。言い換えれば、少なくとも1つのプロセッサおよび/または少なくとも1つの専用プロセッサが、
図4および
図5に関して以下に説明する方法を実行することができる。
【0089】
図4は、少なくとも1つの例示的な実施形態に係るオーディオを伝達する方法のフローチャートを示す。
図4に示すように、ステップS405において、第1の発話に対応するサンプリングされたオーディオデータを第1のデバイスにおいて受信する。たとえば、通信アプリケーション125,130を実行するコンピューティングデバイス115,120によってオーディオストリーム5を検知することができる。オーディオストリーム5をサンプリングすることができる。たとえば、サンプリングは、サンプリングレートS Hzを用いて、オーディオストリーム5を表す離散時間信号を生成することを含み得る。サンプリングレートはビットレートに正比例し得る。したがって、サンプリングレートが低いほどビットレートは低くなる。したがって、サンプリングレートは、オーディオストリーム5の圧縮をもたらすことができる。言い換えれば、サンプリングレートSが低いほど、オーディオストリーム5はより圧縮され得る(サンプリングされたオーディオストリーム5を格納するために使用されるビット深度またはビット数を一定に保つ)。したがって、サンプリングレートSは、オーディオストリームのビットレートをたとえば3kb/sまで低くすることを可能にする(または可能にするのを助ける)ように選択することができる。
【0090】
ステップS410において、サンプリングされたオーディオ信号を時間領域において分離し、信号内のノイズを抑制する。たとえば、サンプリングされたオーディオストリーム5をリアルタイムのTasNet(時間領域オーディオ分離ネットワーク)で前処理して、音声を分離し、ノイズを抑制することができる。TasNetは、1組の重み関数(またはマスク)を適用して音声を分離することができる、および/または、ノイズを抑制することができる。言い換えれば、サンプリングされたオーディオストリーム5によって表される発話で聞こえる可能性のある各話者を分離し、ノイズを抑制するために、重み付けされたマスクをサンプリングされたオーディオストリームに適用することができる。その結果、マスクを用いてユーザを切り離し、背景音声をフィルタで除去することによって、ユーザ(たとえば、ユーザ105,110)をオーディオ処理の対象とすることができる。
【0091】
ステップS415において、分離されサンプリングされたオーディオ信号を、音声信号を特徴付けるパラメータにコンバートする。たとえば、音声信号を特徴付けるパラメータは、ベクトルのシーケンスであり得る。たとえば、分離されたオーディオストリームを対数メルスペクトルのシーケンスにコンバートすることができる。これらのスペクトルは、1組の1次元(1D)畳み込み層を含む、条件付けスタックへの入力を形成することができる。対数メルスペクトルは、周波数の非線形メルスケール上の対数パワースペクトルの線形コサイン変換に基づく、分離されたオーディオストリームの短時間パワースペクトルの表現であり得る。結果として得られる1組の対数メルスペクトルをスタックして、スーパーベクトルにすることができる。ユーザ(たとえば、ユーザ105,110)に関連付けられた音声(たとえば、発話)を定量化するために、対数メルスペクトルをユーザにフィットするガウス混合モデルに適合させて、ある方向に平均を効果的にシフトすることができる。適合方向は、ユーザを特徴付ける実数値ベクトルである。これはスーパーベクトルと呼ばれることもある。
【0092】
ステップS420において、音声信号を特徴付ける変換されたパラメータを量子化することによって、発話を表す第1のビットストリームを生成する。たとえば、ベクトルのシーケンスを変換することができる。例示的な実装形態では、オーディオストリーム5に対応する対数メルスペクトル(たとえば、スーパーベクトル)にカルーネン・レーベ変換(KLT)を適用することができる。KLTは、信号(たとえば、対数メルスペクトルまたはスーパーベクトル)の統計値から基底関数が得られる線形変換である。KLTは、適応変換であり得る(たとえば、オーディオパワーに適応可能である)。KLTは、エネルギ圧縮に関連する最適変換であり得る。言い換えれば、KLTは、できるだけ少ない係数でできるだけ多くのエネルギを配置することができる。たとえば、変換されたオーディオストリーム5に関連付けられたエネルギ(たとえば、パワーまたは係数)を、量子化することができる。変換されスタックされた対数メルスペクトルを、1分割当たりの係数の個数が少ない分割ベクトル量子化を用いて符号化することができる。エネルギの量子化とは、エネルギ(たとえば、変換されスタックされた対数メルスペクトル)を離散的なエネルギレベルに割り当てることを指すことがある。分割ベクトル量子化では、対数メルスペクトルまたはスーパーベクトルの係数を、p個の等しいサイズのグループに分割することができる。グループのサイズを等しくできない場合は、残りの係数をグループのうちの1つに追加することができるか、または、残りの係数をそれぞれのより小さいグループに入れることができる。
【0093】
ステップS425において、第1のビットストリームを第1のデバイスから第2のデバイスに伝達し、第2のデバイスは、ビットストリームを復号し、復号されたビットストリームに基づいてオーディオ信号を合成する。たとえば、コンピューティングデバイス115からコンピューティングデバイス120に伝達されるビットストリーム10が第1のビットストリームであってもよい。
【0094】
ステップS430において、第2のビットストリームを第2のデバイスから第1のデバイスによって受信し、第2のビットストリームは第2の発話の音声信号を表す。たとえば、コンピューティングデバイス120からコンピューティングデバイス115によって受信されるビットストリームが第2のビットストリームであってもよく、その後、受信側コンピューティングデバイスにおいて訓練された機械学習モデルを使用してオーディオ信号を合成するために復号され使用されてもよい。
【0095】
ステップS435において、第2のビットストリームに基づいて、音声信号を特徴付ける量子化パラメータのシーケンスを作成する。たとえば、受信したビットストリームに基づいて、量子化された対数メルスペクトルのシーケンスを作成することができる。量子化された対数メルスペクトルのシーケンスは、受信したビットストリームの少なくとも一部について、受信したビットストリームを生成したコンピューティングデバイスの量子化器に入力される変換されスタックされた対数メルスペクトルと実質的に一致すべきである。
【0096】
ステップS440において、音声信号を特徴付ける量子化パラメータを逆変換することに基づいて、ベクトルシーケンスを生成する。たとえば、量子化された対数メルスペクトルを逆変換することに基づいて、ベクトルシーケンスを作成することができる。次に、量子化された対数メルスペクトルのシーケンスは、1組の1次元(1D)畳み込み層を含む、条件付けスタックへの入力となることができる。1D畳み込み層は、最初の畳み込み層を除いて拡張を含み得る。出力は、ゲート付き再帰ユニット(GRU)状態に等しい次元を有するベクトルシーケンスとすることができ、サンプリングレートは、エンコーダのメルスペクトルのサンプリングレートに等しくすることができる。
【0097】
ステップS445において、訓練された回帰(たとえば、自己回帰)ネットワークを用いて、ベクトルシーケンスに基づいて第2の発話を再生成する。たとえば、回帰ネットワークを用いてオーディオストリーム再構成(たとえば、再構成されたオーディオストリーム5)を作成することができる。この回帰ネットワークは、ゲート付き再帰ユニットに基づくマルチバンドWaveGRUを含み得る。NバンドのWaveGRUの場合、更新速度S/N HzでN個のサンプルを同時に作成することができ、周波数帯域ごとに1つのサンプルを作成する。更新のたびに、GRUネットワークの状態を、N個のパラメータセットを定義するN×K×3次元空間に投影することができる。パラメータセットの各々は、帯域のロジスティック混合に対応し得る。各帯域の次の信号サンプルの値は、まず、帯域確率に従って混合成分(たとえば、ロジスティック分布)を選択し、次に、一様分布からのサンプルを変換することによってこのロジスティック分布からサンプルを取り出すことによって、得ることができる。1組のN個のサンプルごとに、合成フィルタバンクがN個の後続の時間領域サンプルを作成することができる。時間領域サンプルは、サンプリングレートS Hzの出力(たとえば、再構成されたオーディオ信号または発話)をもたらすことができる。再構成されたオーディオを、(たとえば、デジタル/アナログコンバータを用いて)アナログオーディオ信号にコンバートし、第1のデバイスのスピーカで再生することができる。
【0098】
図5は、少なくとも1つの例示的な実施形態に係るモデルを訓練する方法のフローチャートを示す。
図5に示すように、ステップS505において、発話に対応するサンプリングされたオーディオデータを受信する。たとえば、音声セグメント(たとえば、発話)の少なくとも1つのデータセットを含むデータベースを、オーディオデータとして使用することができる。サンプリングは、サンプリングレートS Hzを用いて、オーディオデータ(たとえば、オーディオストリーム5)を表す離散時間信号を作成することを含み得る。サンプリングレートは、ビットレートに正比例し得る。データベースは、一般提供されているデータベースであり得る。
【0099】
ステップS510において、機械学習(ML)モデルの目的関数に正則化項を含めることによって、サンプリングされたオーディオデータに基づいてMLモデルを訓練する。例示的な実装形態は、低ビットレート入力ビットストリームから高忠実度オーディオビットストリームを生成するようにMLモデルを訓練することを含み得る。MLモデルを訓練することは、サンプリングされたオーディオデータにおける低確率の歪み事象が訓練されたMLモデルに与える影響の強調を抑える(たとえば、その効果を最小限に抑える)ことを含み得る。言い換えれば、MLモデルの訓練に対するオーディオのノイズの効果を最小限に抑えることができる。歪み事象の強調を抑えることは、MLモデルの目的関数に項(たとえば、正則化項)を含めることによって達成することができる。この項(たとえば、正則化項)は、サンプリングされたオーディオデータにおける次のサンプルの低分散予測分布を奨励することができる。
【0100】
例示的な実装形態は、予測するのが困難な訓練セット内のデータ点(たとえば、低確率データ)の影響を減少させることができる2つの技術を含み得る。第1の技術は、低分散予測分布を奨励する項を目的関数に追加することによって最尤基準を修正することができる。
【0101】
式(4)~(10)に関して上述したように、信号分散全体が一様な信号の場合、比較的低い条件付き微分エントロピーを有する領域には低い予測分散を設定することが望ましいことがある(たとえば音声の場合、これは、有声音声についてのみ低分散を奨励することに対応する)。これは、予測分散の単調増加する凹関数によって達成することができる。対数はスケールに対して不変であり得るため、対数をこの目的に使用することができる。
【0102】
最尤基準を修正する第2の技術は、式12に関して上述したように、ベースライン分布を使用することによってカルバック・ライブラー発散の消失サポート問題を防止することを含み得る。例示的な実装形態では、推論に使用される分布は、低分散を有するように選択することができる。
【0103】
MLモデルを訓練する前に、サンプリングされたオーディオ信号を時間領域において分離することができる。例示的な実装形態では、音声を分離することはノイズ抑制を含み得る。たとえば、サンプリングされたオーディオストリーム5をリアルタイムのTasNet(時間領域オーディオ分離ネットワーク)で前処理して、音声を分離し、ノイズを抑制することができる。TasNetは、1組の重み関数(またはマスク)を適用して、音声を分離し、ノイズを抑制することができる。言い換えれば、サンプリングされたオーディオストリーム5によって表される発話で聞こえる可能性のある各話者を分離し、ノイズを抑制するために、重み付けされたマスクをサンプリングされたオーディオストリームに適用することができる。その結果、マスクを用いてユーザを切り離し、背景音声をフィルタで除去することによって、ユーザ(たとえば、ユーザ105,110)をオーディオ処理の対象とすることができる。
【0104】
分離されサンプリングされたオーディオ信号を、音声信号を特徴付けるパラメータにコンバートすることができる。たとえば、分離されたオーディオストリームを対数メルスペクトルのシーケンスにコンバートすることができる。これらのスペクトルは、1組の1次元(1D)畳み込み層を含む、条件付けスタックへの入力を形成することができる。対数メルスペクトルは、周波数の非線形メルスケール上の対数パワースペクトルの線形コサイン変換に基づく、分離されたオーディオストリームの短時間パワースペクトルの表現であり得る。結果として得られる1組の対数メルスペクトルをスタックして、スーパーベクトルにすることができる。ユーザ(たとえば、ユーザ105,110)に関連付けられた音声(たとえば、発話)を定量化するために、対数メルスペクトルをユーザにフィットするガウス混合モデルに適合させて、ある方向に平均を効果的にシフトすることができる。適合方向は、ユーザを特徴付ける実数値ベクトルである。これはスーパーベクトルと呼ばれることもある。
【0105】
音声信号を特徴付ける変換されたパラメータを、変換することができる。たとえば、オーディオストリーム5に対応する対数メルスペクトル(たとえば、スーパーベクトル)にカルーネン・レーベ変換(KLT)を適用することができる。KLTは、信号(たとえば、対数メルスペクトルまたはスーパーベクトル)の統計値から基底関数が得られる線形変換である。KLTは、適応変換であり得る(たとえば、オーディオパワーに適応可能である)。KLTは、エネルギ圧縮に関連する最適変換であり得る。言い換えれば、KLTは、できるだけ少ない係数でできるだけ多くのエネルギを配置することができる。
【0106】
変換されたオーディオストリーム5に関連付けられたエネルギ(たとえば、パワーまたは係数)を、量子化することができる。たとえば、変換されスタックされた対数メルスペクトルは、1分割当たりの係数の個数が少ない分割ベクトル量子化を用いて符号化される。エネルギの量子化とは、エネルギ(たとえば、変換されスタックされた対数メルスペクトル)を離散的なエネルギレベルに割り当てることを指すことがある。分割ベクトル量子化では、対数メルスペクトルまたはスーパーベクトルの係数を、p個の等しいサイズのグループに分割することができる。グループのサイズを等しくできない場合は、残りの係数をグループのうちの1つに追加することができるか、または、残りの係数をそれぞれのより小さいグループに入れることができる。
【0107】
MLモデルを訓練することは、(たとえば、圧縮されたオーディオデータまたは低ビットレート入力ビットストリームとしての)量子化オーディオデータを回帰(たとえば、自己回帰)ネットワークに入力することによって発話を再構成することを含み得るものであり、この回帰ネットワークはゲート付き再帰ユニットに基づき得る。たとえば、回帰(たとえば、自己回帰)ネットワークを用いて、オーディオストリーム再構成(たとえば、再構成されたオーディオストリーム5)を生成することができる。この回帰ネットワークは、ゲート付き再帰ユニットに基づくマルチバンドWaveGRUを含み得る。NバンドのWaveGRUの場合、更新速度S/N HzでN個のサンプルを同時に生成することができ、周波数帯域ごとに1つのサンプルを生成する。更新のたびに、GRUネットワークの状態を、N個のパラメータセットを定義するN×K×3次元空間に投影することができる。パラメータセットの各々は、帯域のロジスティック混合に対応し得る。各帯域の次の信号サンプルの値は、まず、帯域確率に従って混合成分(たとえば、ロジスティック分布)を選択し、次に、一様分布からのサンプルを変換することによってこのロジスティック分布からサンプルを取り出すことによって、得ることができる。1組のN個のサンプルごとに、合成フィルタバンクがN個の後続の時間領域サンプルを生成することができる。時間領域サンプルは、サンプリングレートS Hzの出力をもたらすことができる。
【0108】
MLモデルを訓練することは、再構成された発話をグラウンドトゥルースサンプルと比較することに基づいて回帰ネットワークを修正することをさらに含み得る。たとえば、回帰モデルの訓練に基づいて回帰ネットワークを修正することができる。例示的な実装形態では、(たとえば、GRUネットワークおよび条件付けスタックとしての)回帰モデルの訓練は、教師強制を用いて同時に実行することができ、この場合、過去の信号サンプルは、グラウンドトゥルース信号サンプルとして、モデルへの入力として提供され、モデルは、過去の信号サンプルがグラウンドトゥルースデータを表すものと仮定して、観測された信号データの尤度を最大化するように訓練される。モデルの訓練の評価は、コスト関数または損失関数に基づき得る。コスト関数または損失関数を用いて、この比較を事前に定義された基準と比べて評価することができる。コスト関数または損失関数は、たとえば、最尤推定(MLE)、MLEおよび交差エントロピー、平均2乗誤差(MSE)、対数損失などであり得る。
【0109】
損失関数の結果が基準に適合した場合、訓練を終了することができる。損失関数の結果が基準に適合しない場合、回帰モデルを修正することができ(たとえば、再帰モデルまたはGRUネットワークに関連付けられた重みを変更することができ)、訓練を継続することができる。したがって、過去の信号サンプル(たとえば、サンプリングされたオーディオストリーム5)は、教師強制アルゴリズムにおけるグラウンドトゥルース信号サンプルであり得る。対数尤度(交差エントロピー)と分散正則化とを組み合わせる目的関数式(10)を、後続の各信号サンプルに使用することができる。
【0110】
機械学習(ML)モデルを訓練することは、低ビットレート入力ビットストリームから高忠実度オーディオビットストリームを生成するようにMLモデルを訓練することを含み得る。MLモデルを訓練することは、サンプリングされたオーディオデータにおける低確率の歪み事象が訓練されたMLモデルに与える影響の強調を抑えることを含み得る。たとえば、ノイズを含む発話は、サンプリングされたオーディオデータにおける低確率の歪み事象を引き起こす可能性があるノイズを含み得る。歪み事象の強調を抑えること(たとえば、MLモデルの訓練に対するノイズの効果または影響を最小限に抑えること)は、MLモデルの目的関数に項(たとえば、正則化項)を含めることによって達成される。この項は、サンプリングされたオーディオデータにおける次のサンプルの低分散予測分布を奨励することができる。したがって、正則化項を有する目的関数は、MLモデルに関連付けられた目的関数の修正を含み得る。この目的関数は、MLモデルに対するノイズの効果を減少させることができる正則化項を含み得るものであり、ノイズの効果を減少させることで、歪みに対する生成モデルの感度を低下させることができる。
【0111】
予測分散正則化およびノイズ抑制に基づく、訓練されたMLモデルの性能を説明する例を以下に示す。この例では8つのシステムを使用し、これらのシステムはすべて、16kHzでサンプリングされた信号で動作する1つのベースラインシステムに基づく変形である。このベースラインシステムは、更新速度50Hzで80msのウィンドウから計算した160次元の対数メルスペクトルのシーケンスを用いて条件付けした。このシステムは4つの周波数帯域を使用し、各帯域は4kHzでサンプリングした。条件付けスタックは、1つの非因果的入力層(40msのルックアヘッドを提供し、160チャネルから512チャネルに拡大する)と、カーネルサイズ2の3つの拡張した因果的畳み込み層と、3つのアップサンプリング転置行列畳み込み層(カーネルサイズ2)とで構成されている。条件付け出力は、GRUの更新頻度に合わせてタイル化した。GRUの状態次元数は1024である。8つのシステムは、1帯域当たりの予測分布に使用されるロジスティック混合の成分が異なる。
【0112】
これらのシステムを、ミニバッチサイズ256を用いて、750万ステップについてランダムに初期化された重みWから訓練した。ターゲット信号および教師は、クリーンなソースとノイズのあるソースとの組み合わせから、自己回帰入力オーディオを強制した。いくつかのケースでは、付加的なノイズを追加し、ランダムな信号対雑音(SNR)比は0~40dB SNRであった。
【0113】
表1は、これら8つのシステムに使用したコーダ属性(すなわち、分散正則化(v)、ノイズ抑制(t)、量子化(q)、およびプルーニング)の組み合わせを示す(すなわち、システムをベースラインについては「b」とラベル付けし、また、「v」、「t」、「vt」、「q」、「qv」、「qt」および「qvt」とラベル付けしている)。各属性について以下に簡単に述べる。分散正則化は最初の2つの周波数帯域にのみ適用し、式4のパラメータνは発声スコアに比例するようにした。完全畳み込み時間領域オーディオ分離ネットワーク(Conv-TasNet)のバージョンを用いて、ノイズ抑制を適用した。1スーパーベクトル当たり120ビットでシステムを量子化した。各スーパーベクトルは2つの対数メルスペクトルを含み、これは3kb/sのレートを意味する。量子化は、KLT係数の2次元ベクトル量子化である。重みプルーニング属性は、消費者デバイス上のモデルの実装を可能にするように選択した。3つのGRU行列には、16ブロックのブロック対角行列を使用し、完全連結モデルよりも93%少ない重みを使用した。他の隠れ層については、大きさの反復的プルーニングを用いてモデルの重みの92%を取り除いた。このプルーニングによって、Pixel 2電話などのユーザーデバイスでは、シングルスレッドモードでコーデックが確実に実行される。
【0114】
【0115】
この例では、異なるSNRにおける異なるシステムの絶対品質を評価するために、ITU-TP.800勧告に従って平均オピニオン評点(MOS:Mean Opinion Score)リスニングテストを実施した。データはクラウドソーシングプラットフォームを用いて収集し、リスナは英語のネイティブスピーカでありヘッドホンを使うことを条件とした。評価データセットは、Centre for Speech TechnologyのVoice Cloning ToolkitのNoisy VCTKデータセットからの30個のサンプルからなる。このうち、15個はクリーンなサンプル(すなわち、ノイズのないサンプル)であり、他の15個のサンプルは2.5dB、7.5dBおよび12.5dBのSNRにおいて付加ノイズで増強した。各システムの各発話を約40回ランク付けし、平均および95%信頼区間をSNRごとに計算した。
【0116】
図6Aおよび
図6Bは、表1のシステムについての、MOS値に基づく品質を示すグラフである。
【0117】
図6Aは、重みプルーニングおよび量子化なしの予測分散正則化およびノイズ抑制の効果を示す。クリーンなサンプル、ならびにSNRが12.5dB、7.5dBおよび2.5dBのサンプルの各々について、ベースラインシステム(ノイズ抑制あり、およびなし)と、予測分散正則化ありのシステム(ノイズ抑制あり、およびなし)と、基準としての未処理信号(ノイズ抑制あり、およびなし)とについてのMOS値が示されている。
図6Aから分かるように、予測分散正則化によって品質が大幅に改善されており、入力信号におけるノイズに対する感度が低下している。ノイズ抑制は、ノイズが存在する場合の性能を助ける。
【0118】
図6Bは、有限の処理能力を有する消費者デバイスで使用され得るプルーニングおよび量子化を含む実装形態の品質を示す。クリーンなサンプル、ならびにSNRが12.5dB、7.5dBおよび2.5dBのサンプルの各々について、6kb/sで動作するOpusコーデックと、量子化ありの3kb/seの生成モデルシステムと、量子化およびノイズ抑制ありの3kb/sの生成モデルシステムと、量子化および予測分散正則化ありの3kb/sの生成モデルシステムと、量子化、予測分散正則化、およびノイズ抑制ありの3kb/sの生成モデルシステムと、5.9kb/sで動作するEVSコーデックとについてのMOS値が示されている。
図6Bから分かるように、分散正則化による生成モデルの改善は、クリーンな信号で特に大きい。ノイズ抑制の効果は、SNRによって予期しない形で変化し、ノイズ抑制と量子化との相互作用に起因する可能性が高く、これは、ノイズ抑制が信号変動性を低減させ、量子化が単独でノイズを低減させることに関連し得る。
図6Bは、3kb/sのWaveGRUコーダの実装形態(たとえば、予測分散正則化ありの3kb/sの生成モデルシステム)が、6kb/sのOpusよりも大幅に性能が優れており、5.9kb/sで動作するEVSコーデックと同様の性能であることを示している。
【0119】
図7は、本明細書に記載されている技術とともに使用することができるコンピュータデバイス700およびモバイルコンピュータデバイス750の一例を示す。コンピューティングデバイス700は、ラップトップ、デスクトップ、ワークステーション、携帯情報端末、サーバ、ブレードサーバ、メインフレーム、および他の適切なコンピュータなどのさまざまな形態のデジタルコンピュータを表すよう意図されている。コンピューティングデバイス750は、携帯情報端末、携帯電話、スマートフォン、および他の同様のコンピューティングデバイスなどのさまざまな形態のモバイルデバイスを表すよう意図されている。ここに示されているコンポーネント、それらの接続および関係、ならびにそれらの機能は、単に例示的であるよう意図されており、本文書に記載されているおよび/またはクレームされている発明の実装形態を限定することを意図したものではない。
【0120】
コンピューティングデバイス700は、プロセッサ702と、メモリ704と、ストレージデバイス706と、メモリ704および高速拡張ポート710に接続する高速インターフェイス708と、低速バス714およびストレージデバイス706に接続する低速インターフェイス712とを含む。コンポーネント702,704,706,708,710および712の各々は、さまざまなバスを用いて相互接続され、共通のマザーボード上にまたは適宜他の態様で搭載されてもよい。プロセッサ702は、コンピューティングデバイス700内で実行される命令を処理し得るものであり、当該命令は、高速インターフェイス708に結合されたディスプレイ716などの外部入出力デバイス上にGUIのためのグラフィック情報を表示するための、メモリ704内またはストレージデバイス706上に格納された命令を含む。いくつかの実装形態において、複数のメモリおよび複数タイプのメモリとともに、複数のプロセッサおよび/または複数のバスが適宜使用されてもよい。また、複数のコンピューティングデバイス700が接続され、各デバイスは、(たとえば、サーババンク、ブレードサーバのグループ、またはマルチプロセッサシステムとして)必要な動作の一部を提供してもよい。
【0121】
メモリ704は、コンピューティングデバイス700内に情報を格納する。一実装形態において、メモリ704は、1つまたは複数の揮発性メモリユニットである。別の実装形態において、メモリ704は、1つまたは複数の不揮発性メモリユニットである。また、メモリ704は、磁気ディスクまたは光ディスクなどの、別の形式のコンピュータ読取可能媒体であってもよい。
【0122】
ストレージデバイス706は、コンピューティングデバイス700に大容量ストレージを提供することができる。一実装形態において、ストレージデバイス706は、フロッピー(登録商標)ディスクデバイス、ハードディスクデバイス、光ディスクデバイス、またはテープデバイス、フラッシュメモリもしくは他の同様のソリッドステートメモリデバイス、または、ストレージエリアネットワークもしくは他の構成内のデバイスを含むデバイスのアレイなどのコンピュータ読取可能媒体であってもよく、またはそのようなコンピュータ読取可能媒体を含んでもよい。コンピュータプログラム製品を、情報担体において有形に具体化してもよい。コンピュータプログラム製品は、実行されると上述のような1つ以上の方法を実行する命令も含み得る。情報担体は、メモリ704、ストレージデバイス706、またはプロセッサ702上のメモリなどのコンピュータ読取可能媒体または機械読取可能媒体である。
【0123】
高速コントローラ708は、コンピューティングデバイス700のための帯域幅を多く使用する動作を管理するのに対して、低速コントローラ712は、帯域幅をそれほど使用しない動作を管理する。そのような機能の割り当ては例示に過ぎない。一実装形態において、高速コントローラ708は、メモリ704、ディスプレイ716に(たとえば、グラフィックスプロセッサまたはアクセラレータを介して)結合されるとともに、さまざまな拡張カード(図示せず)を受け付け得る高速拡張ポート710に結合される。この実装形態において、低速コントローラ712は、ストレージデバイス706および低速拡張ポート714に結合される。さまざまな通信ポート(たとえば、USB、ブルートゥース(登録商標)、イーサネット(登録商標)、無線イーサネット)を含み得る低速拡張ポートは、キーボード、ポインティングデバイス、スキャナなどの1つ以上の入出力デバイス、またはスイッチもしくはルータなどのネットワーキングデバイスに、たとえばネットワークアダプタを介して結合されてもよい。
【0124】
コンピューティングデバイス700は、図に示されるように多くの異なる形態で実現されてもよい。たとえば、標準的なサーバ720として、またはそのようなサーバのグループで複数回実現されてもよい。また、ラックサーバシステム724の一部として実現されてもよい。加えて、ラップトップコンピュータ722などのパーソナルコンピュータとして実現されてもよい。あるいは、コンピューティングデバイス700からのコンポーネントが、デバイス750などのモバイルデバイス(図示せず)内の他のコンポーネントと組み合わされてもよい。そのようなデバイスの各々は、コンピューティングデバイス700,750のうちの1つ以上を含んでもよく、システム全体が、互いに通信する複数のコンピューティングデバイス700,750で構成されてもよい。
【0125】
コンピューティングデバイス750は、いくつかあるコンポーネントの中で特に、プロセッサ752と、メモリ764と、ディスプレイ754などの入出力デバイスと、通信インターフェイス766と、トランシーバ768とを含む。デバイス750には、さらなるストレージを提供するために、マイクロドライブまたは他のデバイスなどの記憶装置が設けられてもよい。コンポーネント750,752,764,754,766および768の各々は、さまざまなバスを用いて相互接続され、これらのコンポーネントのうちのいくつかは、共通のマザーボード上にまたは適宜他の態様で搭載されてもよい。
【0126】
プロセッサ752は、メモリ764に格納された命令を含む、コンピューティングデバイス750内の命令を実行することができる。プロセッサは、別々の複数のアナログおよびデジタルプロセッサを含むチップのチップセットとして実現されてもよい。プロセッサは、たとえば、ユーザインターフェイスの制御、デバイス750によって実行されるアプリケーション、およびデバイス750による無線通信など、デバイス750の他のコンポーネントの連携を提供してもよい。
【0127】
プロセッサ752は、ディスプレイ754に結合された制御インターフェイス758およびディスプレイインターフェイス756を通してユーザと通信してもよい。ディスプレイ754は、たとえば、TFT LCD(薄膜トランジスタ液晶ディスプレイ)もしくはOLED(有機発光ダイオード)ディスプレイ、または他の適切なディスプレイ技術であってもよい。ディスプレイインターフェイス756は、ディスプレイ754を駆動してグラフィック情報および他の情報をユーザに表示するための適切な回路を含んでもよい。制御インターフェイス758は、ユーザからコマンドを受信し、これらのコマンドを変換してプロセッサ752に送信してもよい。加えて、デバイス750と他のデバイスとの近接エリア通信を可能にするために、外部インターフェイス762がプロセッサ752と通信するように設けられてもよい。外部インターフェイス762は、たとえば、ある実装形態では有線通信を提供してもよく、他の実装形態では無線通信を提供してもよく、複数のインターフェイスが使用されてもよい。
【0128】
メモリ764は、コンピューティングデバイス750内に情報を格納する。メモリ764は、1つもしくは複数のコンピュータ読取可能媒体、1つもしくは複数の揮発性メモリユニット、または1つもしくは複数の不揮発性メモリユニットのうちの1つ以上として実現されてもよい。また、拡張メモリ774が設けられて、拡張インターフェイス772を介してデバイス750に接続されてもよく、拡張インターフェイス772は、たとえばSIMM(シングル・インライン・メモリ・モジュール)カードインターフェイスを含み得る。そのような拡張メモリ774は、デバイス750のための追加の記憶空間を提供してもよく、またはデバイス750のためのアプリケーションもしくは他の情報を格納してもよい。具体的には、拡張メモリ774は、上記のプロセスを実行または補完するための命令を含んでもよく、セキュアな情報も含んでもよい。このため、拡張メモリ774はたとえば、デバイス750のためのセキュリティモジュールとして設けられてもよく、デバイス750のセキュアな使用を可能にする命令を用いてプログラムされてもよい。加えて、ハッキングできない態様でSIMMカードに識別情報を載せるなどして、セキュアなアプリケーションが追加情報とともにSIMMカードを介して提供されてもよい。
【0129】
メモリは、以下に記載するように、たとえばフラッシュメモリおよび/またはNVRAMメモリを含んでもよい。一実装形態において、コンピュータプログラム製品が情報担体において有形に具体化される。コンピュータプログラム製品は、実行されると上述のような1つ以上の方法を実行する命令を含む。情報担体は、たとえばトランシーバ768または外部インターフェイス762を介して受信され得る、メモリ764、拡張メモリ774、またはプロセッサ752上のメモリといった、コンピュータ読取可能媒体または機械読取可能媒体である。
【0130】
デバイス750は、必要に応じてデジタル信号処理回路を含み得る通信インターフェイス766を介して無線通信してもよい。通信インターフェイス766は、とりわけ、GSM(登録商標)音声電話、SMS、EMSもしくはMMSメッセージング、CDMA、TDMA、PDC、WCDMA(登録商標)、CDMA2000、またはGPRSといった、さまざまなモードまたはプロトコル下で通信を提供してもよい。そのような通信は、たとえば無線周波数トランシーバ768を介して行われてもよい。加えて、ブルートゥース、Wi-Fi、または他のそのようなトランシーバ(図示せず)を用いるなどして、短距離通信が行われてもよい。加えて、GPS(全地球測位システム)受信機モジュール770が、ナビゲーションおよび位置に関連する追加の無線データをデバイス750に提供してもよく、当該データは、デバイス750上で実行されるアプリケーションによって適宜使用されてもよい。
【0131】
また、デバイス750は、ユーザから発話の情報を受信してそれを使用可能なデジタル情報に変換し得るオーディオコーデック760を用いて、可聴式に通信してもよい。オーディオコーデック760は同様に、たとえばデバイス750のハンドセットにおいて、スピーカを介するなどしてユーザのために可聴音を生成してもよい。そのような音は、音声電話からの音を含んでもよく、録音された音(たとえば、音声メッセージ、音楽ファイルなど)を含んでもよく、さらに、デバイス750上で動作するアプリケーションによって生成された音を含んでもよい。
【0132】
コンピューティングデバイス750は、図に示されるように多くの異なる形態で実現されてもよい。たとえば、携帯電話780として実現されてもよい。また、スマートフォン782、携帯情報端末、または他の同様のモバイルデバイスの一部として実現されてもよい。
【0133】
例示的な実施形態はさまざまな修正例および代替的な形態を含み得るが、その実施形態は、図面に一例として示されており、本明細書において詳細に説明される。しかしながら、開示されている特定の形態に例示的な実施形態を限定することは意図されておらず、むしろ、例示的な実施形態は、請求項の範囲内にあるすべての修正例、均等物、および代替例をカバーすることが理解されるべきである。図面の説明全体にわたって同様の数字は同様の要素を指す。
【0134】
本明細書に記載されているシステムおよび技術のさまざまな実装形態は、デジタル電子回路、集積回路、特別に設計されたASIC(特定用途向け集積回路)、コンピュータハードウェア、ファームウェア、ソフトウェア、および/またはこれらの組み合わせで実現されてもよい。これらのさまざまな実装形態は、プログラム可能なシステム上で実行可能および/または解釈可能である1つ以上のコンピュータプログラムでの実装形態を含み得るものであり、当該プログラム可能なシステムは、少なくとも1つのプログラム可能なプロセッサと、少なくとも1つの入力デバイスと、少なくとも1つの出力デバイスとを含み、当該少なくとも1つのプログラム可能なプロセッサは、ストレージシステムとデータおよび命令を送受信するように結合された専用または汎用プロセッサであってもよい。本明細書に記載されているシステムおよび技術のさまざまな実装形態は、ソフトウェアおよびハードウェアの局面を組み合わせることができる回路、モジュール、ブロック、もしくはシステムとして、実現され得る、および/または本明細書において一般的に言及され得る。たとえば、モジュールは、プロセッサ(たとえば、シリコン基板、GaAs基板などの上に形成されたプロセッサ)またはその他のプログラム可能なデータ処理装置上で実行される機能/行為/コンピュータプログラム命令を含み得る。
【0135】
上記の例示的な実施形態のうちのいくつかは、フローチャートとして示されるプロセスまたは方法として説明されている。フローチャートは動作を逐次プロセスとして説明しているが、動作のうちの多くは、並列に、同時に、または並行して行なわれ得る。さらに、動作の順序を並べ替えてもよい。プロセスは、その動作が完了すると終了し得るが、図面には含まれていない追加のステップを有する可能性がある。プロセスは、方法、関数、手順、サブルーチン、サブプログラム等に対応し得る。
【0136】
いくつかがフローチャートによって示されている上述の方法は、ハードウェア、ソフトウェア、ファームウェア、ミドルウェア、マイクロコード、ハードウェア記述言語、またはその任意の組み合わせによって実現され得る。ソフトウェア、ファームウェア、ミドルウェアまたはマイクロコードとして実現された場合、必要なタスクを実行するためのプログラムコードまたはコードセグメントは、記憶媒体のような機械またはコンピュータ読取可能媒体に格納され得る。プロセッサ(複数可)が必要なタスクを実行し得る。
【0137】
本明細書に開示されている具体的な構造的および機能的詳細は、例示的な実施形態を説明するための代表的なものに過ぎない。しかしながら、例示的な実施形態は、多くの代替的な形態で具体化され、本明細書に記載されている実施形態のみに限定されると解釈されるべきではない。
【0138】
「第1」、「第2」などの用語は、本明細書ではさまざまな要素を説明するために使用される場合があるが、これらの要素はこれらの用語によって限定されるべきではないことが理解されるであろう。これらの用語は、1つの要素を別の要素から区別するために使用されているに過ぎない。たとえば、例示的な実施形態の範囲から逸脱することなく、第1の要素を第2の要素と呼ぶことができ、同様に、第2の要素を第1の要素と呼ぶことができる。本明細書において使用する「および/または」という用語は、関連する列挙された項目のうちの1つ以上の任意のおよびすべての組み合わせを含む。
【0139】
ある要素が別の要素に接続または結合されると称される場合、ある要素はこの他の要素に直接的に接続もしくは結合され得るか、または介在要素が存在し得ることが理解されるであろう。対照的に、ある要素が別の要素に直接的に接続または直接的に結合されると称される場合、介在要素は存在しない。要素同士の関係を説明するために使用する他の単語は同様に(たとえば、「間に」と「直接的に間に」、「隣接して」と「直接的に隣接して」など)解釈されるべきである。
【0140】
本明細書において使用する専門用語は、特定の実施形態を説明するためのものに過ぎず、例示的な実施形態を限定することを意図するものではない。本明細書において使用する単数形「a」、「an」および「the」は、文脈上明白に他の意味が記載されている場合を除いて、複数形も含むことを意図している。本明細書において使用する場合、「備える(comprises, comprising)」および/または「含む(includes, including)」という用語は、記載された特徴、整数、ステップ、動作、要素、および/または構成要素の存在を特定するが、1つ以上の他の特徴、整数、ステップ、動作、要素、構成要素、および/またはそれらのグループの存在または追加を排除しないことが、さらに理解されるであろう。
【0141】
また、いくつかの代替的な実装形態では、言及された機能/行為が、図に示される順番とは異なって行われてもよい。たとえば、連続して示される2つの図は実際には、関連する機能/行為に応じて、同時に実行されてもよく、または場合によっては逆の順序で実行されてもよい。
【0142】
特に定義しない限り、本明細書において使用するすべての用語(技術用語および科学用語を含む)は、例示的な実施形態が属する技術の当業者によって一般に理解されるのと同じ意味を有する。さらに、たとえば、一般に用いられている辞書で定義されている用語などの用語は、関連技術の文脈におけるそれらの意味と一致する意味を有すると解釈されるべきであり、本明細書において明白に定義されていない限り、理想化されたまたは過度に形式的な意味で解釈されないことが、理解されるであろう。
【0143】
ソフトウェアまたはアルゴリズム、および、コンピュータメモリ内でのデータビットに対する動作の記号的表現に関して、上記の例示的な実施形態および対応する詳細な説明の部分が提示されている。これらの説明および表現は、当業者が他の当業者に自身の成果の実体を効果的に伝えるようにするための説明および表現である。ここで使用される場合および一般的に使用される場合のアルゴリズムという用語は、所望の結果に至るステップの首尾一貫したシーケンスであると考えられる。ステップは、物理量の物理的な操作を必要とするステップである。必ずしもそうであるとは限らないが、通常は、これらの量は、格納、転送、組み合わせ、比較、およびその他の態様で操作されることが可能な光信号、電気信号、または磁気信号の形態を取る。これらの信号をビット、値、要素、記号、文字、項、または数字などと称することは、主に一般的な使用の理由により、時には簡便であることが認められている。
【0144】
上記の説明のための実施形態において、プログラムモジュールまたは機能プロセスとして実現され得る(たとえばフローチャートの形態の)行為および動作の記号的表現の参照は、特定のタスクを実行するまたは特定の抽象データタイプを実現するとともに既存の構造要素において既存のハードウェアを使用して記述および/または実現され得るルーチン、プログラム、オブジェクト、コンポーネント、データ構造などを含む。そのような既存のハードウェアは、1つ以上の中央処理装置(CPU)、デジタル信号プロセッサ(DSP)、特定用途向け集積回路、またはフィールドプログラマブルゲートアレイ(FPGA)コンピュータなどを含み得る。
【0145】
しかしながら、これらのおよび同様の用語はすべて、適切な物理量に関連付けられるべきであり、これらの量に適用される簡便なラベルに過ぎないことを、念頭に置くべきである。特に明記しない限り、または記述から明らかなように、表示の処理またはコンピューティングまたは計算または決定といった用語は、コンピュータシステムのレジスタおよびメモリ内で物理的な電子量として表わされるデータを操作し、当該データを、コンピュータシステムメモリ、またはレジスタ、または、他のそのような情報記憶デバイス、送信デバイスもしくは表示デバイス内の物理量として同様に表わされる他のデータに変換するコンピュータシステム、または同様の電子コンピューティングデバイスのアクションおよびプロセスを指す。
【0146】
また、例示的な実施形態のソフトウェアとして実現される局面は典型的に、何らかの形態の非一時的なプログラム記憶媒体上で符号化されるか、または、何らかの種類の伝送媒体上で実現される。プログラム記憶媒体は、磁気的(たとえば、フロッピーディスクもしくはハードドライブ)であってもよく、または光学的(たとえば、コンパクトディスク読み出し専用メモリもしくはCD ROM)であってもよく、読み出し専用またはランダムアクセスであってもよい。同様に、伝送媒体は、当該技術について公知であるツイストペア線、同軸ケーブル、光ファイバ、または何らかの他の好適な伝送媒体であってもよい。例示的な実施形態は、所与の実装形態のこれらの局面によって限定されない。
【0147】
最後に、添付の請求項は、本明細書に記載されている特徴の特定の組み合わせを記載しているが、本開示の範囲は、以下にクレームされている特定の組み合わせに限定されるものではなく、代わりに、特定の組み合わせが今回、添付の請求項において具体的に列挙されているかどうかに関係なく、本明細書に開示されている特徴または実施形態の任意の組み合わせを包含するよう拡張される。
【手続補正書】
【提出日】2023-10-24
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
方法であって、
発話に対応するサンプリングされたオーディオデータを受信することと、
前記サンプリングされたオーディオデータを使用して、低ビットレート入力ビットストリームから高忠実度オーディオストリームを生成するように機械学習(ML)モデルを訓練することとを備え、前記MLモデルを訓練することは、前記サンプリングされたオーディオデータにおける低確率の歪み事象が訓練された前記MLモデルに与える影響の強調を抑えることを含み、前記歪み事象の強調を抑えることは、前記MLモデルの目的関数に項を含めることによって達成され、前記項は、前記オーディオデータの以前のサンプルに基づいて、前記サンプリングされたオーディオデータにおける次のサンプルの低分散予測分布を奨励する、方法。
【請求項2】
生成されたビットストリームにおける次のビットの低分散予測分布を奨励する前記項は、正則化項を含む、請求項1に記載の方法。
【請求項3】
【数1】
【請求項4】
前記正則化項は、予測分散の単調増加する関数として対数を含む、請求項2または3に記載の方法。
【請求項5】
【数2】
【請求項6】
前記目的関数は、対数尤度目的関数および正則化項を含み、前記MLモデルを訓練することは、前記正則化項に関連付けられた予測分散を最小化するネットワークの重みを選択することを含む、請求項
1~5のいずれか1項に記載の方法。
【請求項7】
前記MLモデルは回帰ネットワークである、請求項
1~6のいずれか1項に記載の方法。
【請求項8】
前記MLモデルを訓練する前に、前記方法はさらに、
前記サンプリングされたオーディオデータを時間領域において分離することと、
分離された前記サンプリングされたオーディオデータを、音声パラメータベクトルのシーケンスにコンバートすることと、
前記音声パラメータベクトルのシーケンスを変換することと、
変換された前記音声パラメータベクトルのシーケンスを量子化することとを備える、請求項
1~7のいずれか1項に記載の方法。
【請求項9】
オーディオビットストリームを伝達する方法であって、前記方法は、
第1のデバイスにおいて、第1の発話に対応するサンプリングされた第1のオーディオデータを受信することと、
前記サンプリングされた第1のオーディオデータを音声パラメータベクトルのシーケンスにコンバートすることと、
変換された前記音声パラメータベクトルのシーケンスを量子化することによって、前記発話を表す第1のビットストリームを作成することと、
前記第1のデバイスによって第2のデバイスに、前記第1のビットストリームを伝達することと、
前記第1のデバイスにおいて前記第2のデバイスから、第2の発話を表す第2のビットストリームを受信することと、
前記第2のビットストリームに基づいて、音声パラメータベクトルのシーケンスを作成することと、
前記音声パラメータベクトルのシーケンスを逆変換することに基づいて、ベクトルシーケンスを作成することと、
前記ベクトルシーケンスに基づいて、訓練された機械学習(ML)モデルを使用することによって、前記第2の発話を表す高忠実度オーディオストリームを生成することとを備え、前記MLモデルを訓練することは、サンプリングされた訓練オーディオデータにおける低確率の歪み事象が訓練された前記MLモデルに与える影響の強調を抑えることを含み、前記歪み事象の強調を抑えることは、前記MLモデルの目的関数に項を含めることによって達成され、前記項は、前記オーディオデータの以前のサンプルに基づいて、前記サンプリングされた訓練オーディオデータにおける次のサンプルの低分散予測分布を奨励する、方法。
【請求項10】
前記サンプリングされた訓練オーディオデータにおける次のサンプルの低分散予測分布を奨励する前記項は、正則化項を含む、請求項9に記載の方法。
【請求項11】
【数3】
【請求項12】
前記正則化項は、予測分散の単調増加する関数として対数を含む、請求項10または請求項11に記載の方法。
【請求項13】
【数4】
【請求項14】
前記目的関数は、対数尤度目的関数および正則化項を含み、前記MLモデルを訓練することは、前記正則化項に関連付けられた予測分散を最小化するネットワークの重みを選択することを含む、請求項9~13のいずれか1項に記載の方法。
【請求項15】
前記MLモデルは回帰ネットワークである、請求項9~14のいずれか1項に記載の方法。
【請求項16】
請求項1~14のいずれか1項に記載の方法をコンピュータに実行させる、プログラム。
【請求項17】
少なくとも1つのプロセッサと、
請求項16に記載のプログラムを記憶するメモリとを備える、システム。
【手続補正2】
【補正対象書類名】明細書
【補正対象項目名】0068
【補正方法】変更
【補正の内容】
【0068】
図3は、少なくとも1つの例示的な実施形態に係るモデル訓練システムのブロック図を示す。
図3に示すように、モデル訓練システム300は、少なくとも1つのプロセッサ305と、少なくとも1つのメモリ310と、コントローラ320と、サンプル325ブロックと、時間領域分離器330ブロックと、
コンバータ335ブロックと、トランスフォーマ340ブロックと、量子化器
345ブロックと、再構成350ブロックと、
評価器および修正器355ブロックとを含む。少なくとも1つのプロセッサ305、少なくとも1つのメモリ310、コントローラ320、サンプル325ブロック、時間領域分離器330ブロック、コンバータ335ブロック、トランスフォーマ340ブロック、量子化器
345ブロック、再構成350ブロック、ならびに評価器および修正器355ブロックは、バス315を介して通信可能に結合される。
図3において、実線は制御リンクを表し、破線はデータリンクを表す。
【手続補正3】
【補正対象書類名】明細書
【補正対象項目名】0073
【補正方法】変更
【補正の内容】
【0073】
時間領域分離器330ブロックは、音声を分離するように構成され得る。合計された独立信号をモデル化する必要性を避けるために、サンプリングされたオーディオストリーム5をリアルタイムのTasNet(時間領域オーディオ分離ネットワーク)で処理して、音声を分離することができる、および/または、ノイズを抑制することができる。TasNetは、1組の重み関数(またはマスク)を適用して音声を分離することができる。言い換えれば、サンプリングされたオーディオストリーム5によって表される発話で聞こえる可能性のある各話者を分離するために、重み付けされたマスクをサンプリングされたオーディオストリームに適用することができる。その結果、マスクを用いてユーザを切り離し、背景音声をフィルタで除去することによって、ユーザ(たとえば、105,110)をモデル訓練システム300の対象とすることができる。
【手続補正4】
【補正対象書類名】明細書
【補正対象項目名】0080
【補正方法】変更
【補正の内容】
【0080】
再構成350ブロックは、対応する符号化されたオーディオストリーム(たとえば、ビットストリーム)のオーディオストリーム再構成を生成するように構成され得る。再構成350ブロックは、機械学習された(ML)モデルを使用してオーディオストリームを再構成するように構成され得る。再構成350ブロックは、目的関数式4を実行した結果を評価器および修正器355ブロックに伝達するように構成され得る。
【国際調査報告】