(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024127884
(43)【公開日】2024-09-20
(54)【発明の名称】深層生成ネットワークを用いたリアルタイムパケット損失隠蔽
(51)【国際特許分類】
G10L 19/005 20130101AFI20240912BHJP
【FI】
G10L19/005
【審査請求】未請求
【請求項の数】1
【出願形態】OL
【外国語出願】
(21)【出願番号】P 2024079074
(22)【出願日】2024-05-15
(62)【分割の表示】P 2023522845の分割
【原出願日】2021-10-14
(31)【優先権主張番号】P202031040
(32)【優先日】2020-10-15
(33)【優先権主張国・地域又は機関】ES
(31)【優先権主張番号】63/126,123
(32)【優先日】2020-12-16
(33)【優先権主張国・地域又は機関】US
(31)【優先権主張番号】P202130258
(32)【優先日】2021-03-24
(33)【優先権主張国・地域又は機関】ES
(31)【優先権主張番号】63/195,831
(32)【優先日】2021-06-02
(33)【優先権主張国・地域又は機関】US
(71)【出願人】
【識別番号】510185767
【氏名又は名称】ドルビー・インターナショナル・アーベー
(74)【代理人】
【識別番号】100107766
【弁理士】
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【弁理士】
【氏名又は名称】伊東 忠彦
(74)【代理人】
【識別番号】100135079
【弁理士】
【氏名又は名称】宮崎 修
(72)【発明者】
【氏名】パスクアル,サンティアゴ
(72)【発明者】
【氏名】セラ,ホアン
(72)【発明者】
【氏名】ポンス プイグ,ホルディ
(57)【要約】
【課題】
本開示は、ニューラルネットワークシステムを使用してパケット損失隠蔽を実行するための方法及びシステムに関する。
【解決手段】
方法は、不完全なオーディオ信号の表現を得るステップと、エンコーダニューラルネットワークに不完全なオーディオ信号の表現を入力するステップと、予測された完全なオーディオ信号の潜在表現を出力するステップと、を含む。潜在表現は、デコーダニューラルネットワークに入力され、デコーダニューラルネットワークは、完全なオーディオ信号の元の部分の再構成を含む予測された完全なオーディオ信号の表現を出力し、エンコーダニューラルネットワークとデコーダニューラルネットワークは、敵対的ニューラルネットワークによりトレーニングされている。
【選択図】
図7
【特許請求の範囲】
【請求項1】
不完全なオーディオ信号のパケット損失隠蔽のための方法であって、前記不完全なオーディオ信号は、完全なオーディオ信号の元の信号部分を置き換える代替信号部分を含み、前記方法は、
前記不完全なオーディオ信号の表現を取得するステップと、
エンコーダニューラルネットワークに前記不完全なオーディオ信号の表現を入力するステップであって、前記エンコーダニューラルネットワークは、不完全なオーディオ信号の表現を与えられると完全なオーディオ信号の潜在表現を予測するようにトレーニングされている、ステップと、
前記エンコーダニューラルネットワークにより、予測された完全なオーディオ信号の潜在表現を出力するステップと、
前記完全なオーディオ信号の前記潜在表現を量子化して、量子化潜在表現を得るステップであって、前記量子化潜在表現は、所定の語彙トークンセットからトークンセットを選択することによって形成される、ステップと、
前記量子化潜在表現の少なくとも1つのトークンにより、生成ニューラルネットワークを調整するステップであって、前記生成ニューラルネットワークは、前記トークンセットの少なくとも1つの異なるトークンが提供されると、前記トークンセットのうちのトークンを予測するようにトレーニングされている、ステップと、
前記生成ニューラルネットワークにより、前記潜在表現の予測されたトークンと前記予測されたトークンに関連する信頼度メトリックを出力するステップと、
前記予測されたトークンの前記信頼度メトリックに基づき、前記量子化潜在表現の対応するトークンを前記予測されたトークンで置き換えるステップと、 デコーダニューラルネットワークに前記予測された完全なオーディオ信号の前記量子化潜在表現を入力するステップであって、前記デコーダニューラルネットワークは、完全なオーディオ信号の潜在表現を与えられると完全なオーディオ信号の表現を予測するようにトレーニングされている、ステップと、
前記デコーダニューラルネットワークにより、前記完全なオーディオ信号の前記元の部分の再構成を含む前記予測された完全なオーディオ信号の表現を出力するステップであって、前記エンコーダニューラルネットワークと前記デコーダニューラルネットワークは敵対的ニューラルネットワークでトレーニングされている、ステップと、
を含む方法。
【発明の詳細な説明】
【技術分野】
【0001】
[関連出願の相互参照]
本願は、以下の先願:2020年10月15日出願のスペインの出願P202031040(参照番号:D20093ES);米国仮出願63/126,123(参照番号:D20093USP1)、2020年12月16日出願;スペイン出願P202130258(参照番号:D20093ESP2)、2021年3月24日出願、米国仮出願63/195,831(参照番号:D20093USP2)、2021年6月2日出願、の優先権を主張する。これらの出願は、参照によりここに組み込まれる。
【0002】
[技術分野]
本開示は、ニューラルネットワークシステムを使用してパケット損失隠蔽を実行する方法、パケット損失隠蔽のためのニューラルネットワークシステムをトレーニングする方法、及び上記方法を実装するコンピュータ実装ニューラルネットワークシステムに関する。
【背景技術】
【0003】
通信技術の分野内のほとんどの実装は、ユーザが通信の遅延や中断を経験しないように、制約されたリアルタイム条件の下で動作する。Voice over Internet Protocol(VoIP)は、厳密なリアルタイム条件で動作し、ユーザが自然な会話を行えるようにする通信プロトコルの一例である。厳密な条件を満たすために、VoIP及び同様の通信プロトコルは、送信側エンティティから受信側エンティティに継続的かつ中断なしに送信される、各々が通信信号の一部を伝送するパケットの定常ストリームに頼っている。しかし実際には、パケットは遅延されたり、誤った順序で受信エンティティに配信されたり、完全に失われたりすることが多く、顕著でユーザが経験する通信品質を低下させる通信信号の歪みや中断が発生する。
【0004】
このために、パケット損失隠蔽(Packet Loss Concealment (PLC))を実行する改善された方法が必要である。
【発明の概要】
【0005】
パケット損失の隠蔽を実行するための以前の解決策は、最新のパケットの構造を複製し、オーディオ処理を採用することで、信号エネルギを減衰させ、次のパケットの代わりに最新のパケットの時間の持続時間を自然に延長することを含む。しかし、以前の解決策は、損失したパケットの目立ちやすさをある程度減少させるが、通信信号の中断は依然として通信信号の品質を低下させ、特に長時間の中断の場合、ユーザはPLC処理後でも通信信号の歪みを認識できる。
【0006】
このために、本開示の目的は、パケット損失の隠蔽を実行するための改善された方法とシステムを提供することである。
【0007】
開示の第1態様によれば、不完全なオーディオ信号のパケット損失隠蔽のための方法が提供され、不完全なオーディオ信号は、完全なオーディオ信号の元の信号部分を置き換える代替信号部分を含む。方法は、不完全なオーディオ信号の表現を得るステップと、エンコーダニューラルネットワークに不完全なオーディオ信号の表現を入力するステップであって、エンコーダニューラルネットワークは、不完全なオーディオ信号の表現を与えられると、完全なオーディオ信号の潜在(latent)表現を予測するようにトレーニングされている、ステップと、を含む。エンコーダニューラルネットワークは、予測された完全なオーディオ信号の潜在表現を出力し、潜在表現はデコーダニューラルネットワークに入力され、デコーダニューラルネットワークは、完全なオーディオ信号の潜在表現を与えられると完全なオーディオ信号の表現を予測するようにトレーニングされている。デコーダニューラルネットワークは、完全なオーディオ信号の元の部分の再構成を含む予測された完全なオーディオ信号の表現を出力する。エンコーダニューラルネットワークとデコーダニューラルネットワークは敵対的ニューラルネットワークでトレーニングされている。
【0008】
代替信号部分とは、完全なオーディオ信号の対応する(実)部分を置き換える信号部分(代替)を意味する。例えば、代替信号部分は、信号の一部が失われた、破損した、又は欠落していることを示すサイレント(ゼロ)信号部分である場合がある。ゼロ信号は一般的に、受信されていない、又は欠落している信号の一部を示すために使用されますが、他の代替信号部分を使用することもある。例えば、特定の周波数の鋸歯状信号や、完全なオーディオ信号の実際の信号部分の代わりに代替信号部分を表すために確立されたその他の所定のタイプの信号などである。幾つかの実装では、欠落した信号部分がメタデータとして示され、代替信号部分と、例えば、実際の完全に無音の(ゼロ)信号部分とを区別できるようになる。
【0009】
幾つかの実装では、方法は、完全なオーディオ信号の潜在表現を量子化して、量子化潜在表現を得るステップであって、量子化潜在表現は、所定の語彙トークンセットからトークンセットを選択することによって形成される、ステップと、
量子化潜在表現を前記デコーダニューラルネットワークに入力するステップと、
を更に含む。量子化潜在表現の少なくとも1つのトークンが生成ニューラルネットワークの調整に使用され、生成ニューラルネットワークは、トークンセットの少なくとも1つの異なるトークンを提供されるとトークンセットのトークンを予測するようにトレーニングされ、生成潜在モデルは、潜在表現の予測されたトークンと、予測されたトークンに関連付けられた信頼メトリックを出力する。予測されたトークンの信頼性に基づいて、量子化潜在表現の対応するトークンが生成モデルの予測されたトークンに置き換えられ、修正トークンセット(修正された量子化表現)が形成され、デコーダニューラルネットワークに提供される。
【0010】
上記のニューラルネットワークシステムは、不完全なオーディオ信号が提供されると再構成された完全なオーディオ信号の表現を生成するために共に学習したエンコーダニューラルネットワークとデコーダニューラルネットワークによって形成された深層因果的敵対的オートエンコーダ(deep causal adversarial auto encoder)を含む。因果的オートエンコーダは、単一の推論ステップで任意の長い信号部分(例えば、複数のパケットに及ぶ)を予測できる非自己回帰モデルである。幾つかの実装では、デコーダは波形表現を直接出力し、敵対的トレーニングのため、出力される波形は完全なオーディオ信号の非常に正確な再構成である場合がある。因果的オートエンコーダは、自己回帰ループを使用してフレームごとに生成を行うほとんどの既存のモデルとは反対に、代替信号部分が100ミリ秒を超える再構成された完全なオーディオ信号を生成することができる。
【0011】
因果的オートエンコーダには時間依存性がないため、モデルは1回のフィードフォワードステップで任意の長さの再構成オーディオ信号を(任意のサンプルレートで)出力することができる。これは出力から入力まで何らかの形の自己回帰ループを採用する最先端のパケット損失隠蔽ソリューションの大多数とは対照的である。オプションの生成潜在モデルを使用すると、長時間の損失に対するパケット損失隠蔽性能が強化される可能性がある。更に、因果的オートエンコーダは、同じ入力が同じ出力を生成するという決定論的な意味を持つ。それにもかかわらず、因果的オートエンコーダは実際のデータをエミュレートするデータを生成するので、敵対的生成トレーニング設定のうちの生成器と呼ばれることがある。これは、決定論的なプロセスにならない新しいデータの生成を実行するために確率変数に依存する他の生成器とは対照的である。
【0012】
幾つかの実装では、因果的オートエンコーダは、因果的オートエンコーダの量子化潜在表現に基づいて動作する生成潜在モデルによって支援される。生成潜在モデルは、特に、100ミリ秒を超えるようなより長い時間での信号再構成を可能にするが、任意の長さの再構成のための容易な再構成も可能にする。
【0013】
開示の第2態様によれば、オーディオ信号のパケット損失隠蔽のためのコンピュータにより実装されるニューラルネットワークシステムが提供され、オーディオ信号は、完全なオーディオ信号の元の信号部分を置き換える代替信号部分を含む。システムは、不完全なオーディオ信号の表現を得るように構成された入力ユニットと、不完全なオーディオ信号の表現を与えられると、完全なオーディオ信号の潜在表現を予測するようにトレーニングされ、不完全なオーディオ信号の表現を受信し、予測された完全なオーディオ信号の潜在表現を出力するように構成されるエンコーダニューラルネットワークと、を含む。ニューラルネットワークシステムは更に、再構成された完全なオーディオ信号の潜在表現が与えられると、完全なオーディオ信号の表現を予測するようにトレーニングされ、予測された完全なオーディオ信号の潜在表現を受信し、再構成された完全なオーディオ信号の表現を出力するように構成されたデコーダニューラルネットワークと、完全なオーディオ信号の元の部分の再構成を含む予測された完全なオーディオ信号の表現を出力するように構成された出力ユニットと、を含み、エンコーダニューラルネットワークとデコーダニューラルネットワークは敵対的ニューラルネットワークでトレーニングされている。
【0014】
本開示の第3態様によれば、パケット損失隠蔽のためのニューラルネットワークシステムをトレーニングする方法であって、方法は、
パケット損失隠蔽のためのニューラルネットワークシステムを得るステップと、
識別ニューラルネットワークを得るステップと、
トレーニングデータのセットを得るステップと、
ニューラルネットワークシステムにトレーニングデータのセットを提供し、ニューラルネットワークシステムの出力を識別ニューラルネットワークに提供することによって、敵対的生成トレーニングモードでトレーニングデータのセットを使用して、識別ニューラルネットワークと連携してニューラルネットワークシステムをトレーニングするステップと、
を含む方法が提供される。
【0015】
幾つかの実装では、識別器は異なるサンプリングレートで動作する少なくとも2つの識別器ブランチを含み、方法は更に、少なくとも2つの識別器ブランチの個々の指示子に基づいて集約尤度指標を決定するステップを含む。
【0016】
第2及び第3態様による開示は、第1態様による開示と同じ又は同等の実施例及び利点を特徴とする。例えば、ニューラルネットワークシステムのエンコーダ及びデコーダは、異なるサンプルレートで動作する少なくとも2つの識別器ブランチを持つ識別器を使用してトレーニングされている場合がある。更に、方法に関連して記述された機能は、コンピュータプログラムプロダクトでそのような機能を実行するシステム又はコードにおいて対応する構造的特徴を持つ場合がある。
【図面の簡単な説明】
【0017】
以下、添付図面を参照して実施例を説明する。
【
図1】本開示の実施例に従ってエンコーダ及びデコーダニューラルネットワークを実装する因果的オートエンコーダを示す。
【
図2】本開示の幾つかの実施例に従って、エンコーダニューラルネットワークによって出力された潜在表現で動作する生成モデルの詳細図を示す。
【
図3A】本開示の1つの例示的実施例に従って、因果的オートエンコーダの詳細図を示す。
【
図3B】本開示の幾つかの実施例に従って、デコーダニューラルネットワークの残差因果畳み込みブロックの詳細図を示す。
【
図3C】本開示の幾つかの実施例に従って、デコーダニューラルネットワークの代替残差因果畳み込みブロックの詳細図を示す。
【
図4A】本開示の幾つかの実施例に従って、3つの識別器ブランチを持つ識別器を示す。
【
図4B】本開示の例示的な実施例に従って、識別器の詳細な図を示す。
【
図5】本開示の幾つかの実施例に従って、生成器-識別器トレーニング中に採用されたトレーニングプロセスを示す。
【
図6】本開示の幾つかの実施例に従って、因果的オートエンコーダのための例示的なトレーニング設定を示す。
【
図7】本開示の幾つかの実施例に従って、パケット損失隠蔽を実行する方法を示すフローチャートを示す。
【
図8】本開示の幾つかの実施例に従って、識別器を備えた因果的オートエンコーダをトレーニングする方法を示すフローチャートを示す。
【発明を実施するための形態】
【0018】
図1は、因果的敵対的オートエンコーダ(causal auto-encoder)を図式的に示す。代替信号部分11を含む不完全なオーディオ信号10は、任意に変換ユニット110を介して因果的敵対的オートエンコーダに入力される。変換ユニット110は、不完全なオーディオ信号10を不完全なオーディオ信号10の表現に変換する。例えば、変換ユニット110は、不完全なオーディオ信号10の時間領域(波形)表現を、周波数領域表現、時間表現、フィルタバンク表現、特徴領域表現、を含むグループから選択される表現形式に変換することができる。このような表現の例としては、メル周波数ケプストラム(Mel-frequency cepstral)係数表現や短時間フーリエ変換表現などがある。エンコーダニューラルネットワーク120は、不完全なオーディオ信号10の表現を変換ユニット110から得ることができる。あるいは、不完全なオーディオ信号10は、エンコーダニューラルネットワーク120によって、例えば波形時間領域表現で直接得られる。
【0019】
不完全なオーディオ信号10は、エンコーダニューラルネットワーク120が各推論ステップに対して1つ以上のフレームを受け入れるように、1つ以上のフレームに細分化されてもよい。例えば、エンコーダニューラルネットワーク120は600ミリ秒の受信フィールドを持つことができ、短時間フーリエ変換(STFT)スペクトルフレームが不完全なオーディオ信号10から10ミリ秒の間隔で幾つかのオーバーラップを伴って生成され(結果として100Hzでサンプリングされた信号となる)、エンコーダニューラルネットワーク120は各推論ステップに対して60フレームを受け入れることを意味する。不完全なオーディオ信号10は更にパケットのセットに分割され、各パケットは1つ以上のフレーム又は完全なオーディオ信号の一部の表現を含む。パケットのセットからの1つ以上のパケットが省略された場合(これはパケット損失中に発生する)、完全なオーディオ信号に存在していた信号部分及び/又は1つ以上のフレームは利用できず、不完全なオーディオ信号10は、それによって利用できない完全なオーディオ信号の信号部分を置き換える代替信号部分11を有する利用可能な情報の表現になる。
【0020】
エンコーダニューラルネットワーク120は、再構成された完全なオーディオ信号20の潜在表現を予測して出力するようにトレーニングされる。つまり、再構成された完全なオーディオ信号20の潜在表現は、不完全なオーディオ信号10(又はその表現)が与えられた場合の元の完全なオーディオ信号の予測であり、再構成された完全なオーディオ信号20は、不完全なオーディオ信号10の代替信号部分11を置き換える再構成された信号部分21を含む。潜在表現は、
図2に関連して詳細に説明される生成モデル130を使用して量子化及び処理することができる。任意的に、潜在表現はデコーダニューラルネットワーク140への入力として提供される。デコーダニューラルネットワーク140は、エンコーダニューラルネットワーク120が不完全なオーディオ信号10の波形表現又は任意の他の表現を受信したかどうかに関係なく、再構成された完全なオーディオ信号20の時間表現(例えば波形)を直接予測するようにトレーニングされることができる。代替として、デコーダニューラルネットワーク140は、再構成された完全なオーディオ信号20の表現を出力することができ、これはオプションの逆変換ユニット150によって波形表現に変換される。
【0021】
エンコーダニューラルネットワーク120の受信フィールドは、再構成される現在の信号部分に近接して発生する可能性のある最近の信号損失に対して回復力があるように、長いコンテキストをキャプチャするのに十分な幅であることが望ましい。受信フィールドは約600ミリ秒であってよく、受信フィールドを(例えば100ミリ秒に)減らすと、再構成品質が低下する可能性がある。
【0022】
図2は、因果的オートエンコーダのオプションの量子化及び生成モデル130を示している。オプションの生成潜在モデル(generative latent model (GLM))160a、160bは、潜在表現の量子化表現22a、22b上で自己回帰的に動作する。
図2で明らかなように、GLM160a、160bは潜在表現領域で動作する。潜在表現は、オーディオ信号が例えばコンテキストベクトルで表現されるコンテキスト領域と呼ばれることがある。
【0023】
エンコーダニューラルネットワーク120によって出力された潜在表現は量子化ブロック131に供給される。量子化ブロック131は、潜在表現の少なくとも1つの変換を行い、少なくとも1つの量子化潜在表現22a、22bを形成する。幾つかの実装では、量子化ブロック131は、潜在表現の少なくとも1つの線形変換を行い、少なくとも1つの量子化潜在表現22a、22bを形成する。幾つかの実装では、量子化ブロック131は、潜在表現を表すために所定の数のトークンを選択することによって潜在表現の量子化を実行し、トークンは、所定の可能な語彙トークンから選択される。例えば、量子化はベクトル量子化であってもよく、量子化ベクトルの所定のコードブックから所定の数の量子化ベクトルを選択して、潜在表現を量子化潜在表現22a、22bとして記述する。
【0024】
幾つかの実装では、量子化ブロック131の量子化は、第1語彙から第1トークンセットを選択して第1量子化表現22aを形成し、第2(異なる)語彙から第2トークンセットを選択して第2量子化表現22bを形成することを含む。第1セットと第2セットの各々のトークンの数は同じであってもよい。第1トークンセットと第2トークンセットは、同じ潜在表現の代替表現である。従って、量子化ブロック131は、出力として、1、2、3、又はそれ以上の量子化潜在表現22a、22bを提供することができる。例えば、量子化ブロック131は、マルチヘッドベクトル(VQ)量子化ブロックであることができる。
【0025】
量子化潜在表現22a、22bは、デコーダニューラルネットワーク140に提供されることがある。量子化潜在表現は、例えば64、512、800、1024個のトークン又は量子化ベクトルを使用して、任意の次元のものにすることができる。
【0026】
幾つかの実装では、少なくとも1つの量子化潜在表現22a、22bの各々が、トークン22a、22bの関連セット上で自己回帰的に動作する各々のGLM160a、160bに関連付けられている。GLM160aは、量子化表現22aを形成するトークンセットの少なくとも1つの他のトークンを与えられると、少なくとも1つのトークンの尤度を予測するようにトレーニングされている。例えば、GLM160aは、少なくとも1つの前のトークンを与えられると、(語彙トークンから選択された)少なくとも1つの将来のトークンを予測するようにトレーニングされている場合がある。GLM160aは、トークンセット内の各トークンに関連する尤度を、量子化潜在表現22aから予測するようにトレーニングされている場合があり、尤度は、トークンが、関連する語彙トークンからの少なくとも1つの特定のトークンである可能性を示している。つまり、GLM160aは、過去のトークンが与えられると新しいトークンを継続的に予測したり、現在のトークンセットの修正を予測したりすることができ、ここで、新しい又は修正された予測トークンは、量子化ブロック131によって出力されたトークンと同じか又は異なる。比較ブロック132では、予測されたトークンシーケンス23aと量子化ブロック131で出力されたトークンシーケンス22aが比較される。GLM予測トークンセット23a内と量子化ブロック131から出力されたトークンセット22a内とで少なくとも1つの予測されたトークンに違いがある場合、トークンセット22a、23aのいずれかの中の予測されたトークンのうちの1つを使用するように選択が行われる。例えば、トークンの選択は、GLM160a及び/又はエンコーダ120によって予測されたトークンの尤度に基づいている。例えば、GLM予測尤度が所定の尤度閾値を下回る場合、量子化ブロック131のトークンはブロックであり使用される。さらなる例として、トークンの選択は、GLM160aによって予測される各トークンの尤度及び/又は非量子化潜在表現に関するArgmin距離に基づいている。
【0027】
同様に、並行して、第2GLM160bは、予測された第2トークンセット23bを形成するように、第2潜在表現22bの少なくとも1つのトークンを提供されると、少なくとも1つの将来の/修正されたトークンを予測することができる。同様に、第2GLM160bによって予測されたトークンの尤度に基づいて、量子化ブロック131によって出力された第2トークンは、第2GLM160bによって出力された第2予測トークンと比較される。差が検出された場合、第2GLM160bによって予測された第2トークンの尤度及び/又は非量子化潜在表現へのArgmin距離に基づいて、トークンの選択が行われる。
【0028】
同様に、量子化ブロック131によって出力される実際のシーケンスとは異なる可能性のあるトークンシーケンスの可能性のある継続/修正に関する予測を実行する関連GLMによって、3つ以上の量子化潜在表現が各々得られる。
【0029】
単一の量子化潜在表現22aとGLM160aが使用される場合、最も可能性のあるトークンシーケンスをデコーダニューラルネットワーク140に転送して、比較ブロック132によって選択された量子化潜在表現に基づいて波形予測を行うことができる。
【0030】
複数の量子化潜在表現22a、22b及びGLM160a、160bが使用されている場合、比較ブロック131によって選択された各々の量子化潜在表現22a、23bを連結ブロック133で連結又は追加して、集約表現24を形成することができる。従って、追加の量子化表現22a、23bを連結し、集約表現24をデコーダニューラルネットワーク140に転送することによって、ビットレートを増加させることができる。
【0031】
GLM160a、160bは、最大尤度基準でトレーニングされた離散自己回帰モデルである。各GLM160a、160bは、自然言語処理領域の言語モデルと同様に動作するように構成することができる。従って、幾つかのニューラルアーキテクチャを使用して、GLM160a、160bのタスク、例えば1つ以上の因果畳み込みネットワーク、リカレントニューラルネットワーク、又は自己注意モデルを実行することができる。GLM160a、160bは、その生成的な性質により、因果的な敵対的オートエンコーダに加えて、より長期的な予測を実行する機能を追加することができる。潜在的な表現の任意の大きな継続は、GLM160a、160bによって予測されることがある。量子化とGLM160a、160bはオプションであり、より長期的な予測を容易にするために、因果的敵対的オートエンコーダに追加されることがあることに留意されたい。例えば、GLM160a、160bは適応的に動作し、代替信号部分が閾値持続時間を超えることに応答してのみ活性化されることがある。
【0032】
図3Aは、因果的敵対的オートエンコーダの詳細な例示的実装を示す。エンコーダニューラルネットワーク120は、各々1つ以上のニューラルネットワーク層121、122、123を含む1つ以上のエンコーダブロック120’を含むことができる。複数のエンコーダブロック120’を各エンコーダブロック120’とカスケードすることができ、各ブロックは同じ構造を持つ。ある実装では、1つのエンコーダブロック120’が正規化層121を含むことができる。層の正規化は、モデルの収束を加速し、より良い信号再構成品質を得るのに役立つ可能性がある。正規化層121の後に、因果畳み込みを実行するように構成された因果畳み込み層122が続く場合がある。因果畳み込み層122は、波形を生成する敵対的モデルの単純な安定化メカニズムであるため、重み正規化を使用する場合がある。因果畳み込み層122は、拡張係数dを持つ拡張因果畳み込み層である場合がある。従って、エンコーダ120とエンコーダブロック120’は、エンコーダブロック120’あたりの拡張係数dのおかげで、受信フィールドの修正に関して容易に適応できる。幾つかの実装では、予測品質を高めるために受信フィールドを広くすることができる。例えば、受信フィールドは1秒より長く、2秒より長く、又は3秒より長くすることができる。各エンコーダブロック120’は、トレーニングを容易にするためにスキップ接続を含むことができる。
【0033】
幾つかの実装は、エンコーダブロック120’によって出力される潜在表現の量子化を含む。量子化は、エンコーダブロック120’の出力の1つ以上の線形変換を含むことができる。線形変換は、再構成された完全なオーディオ信号を表す量子化潜在表現22を少なくとも1つ出力する線形変換ブロック131’によって実行することができる。
【0034】
潜在表現又は量子化潜在表現22は、デコーダニューラルネットワーク140に提供される。デコーダニューラルネットワークは、各デコーダブロック140’が1つ以上のニューラルネットワーク層を含む、1つ以上のカスケードされたデコーダブロック140’を含むことができる。任意で、デコーダブロック140’の前に、潜在表現又は量子化潜在表現22の初期アップサンプリングを実行する因果畳み込み層133がある。
【0035】
ある実装では、デコーダブロック140’はLeaky ReLU(Rectified Linear Unit)層141を含む。Leaky ReLU層141を非線形活性化として使用すると、勾配フローの問題を軽減できる。Leaky ReLU層141の後には、転置畳み込み層142が続き、その後に、異なる拡張係数Dを持つ1つ以上の残差因果畳み込み(residual causal convolutional)ブロック143a、143b、143cが続く場合がある。ある実装では、残差因果畳み込み層143a、143b、143cの拡張係数Dは増加し、例えば、第1拡張係数は1、第2拡張係数はD、第3拡張係数はD
2であり、Dは整数である。残差因果畳み込みブロック143a、143b、143cの例を
図3B及び
図3Cに詳細に示す。従って、デコーダブロック140’は、一連の転置畳み込み(すなわち学習可能なアップサンプリングフィルタ)及び異なる拡張係数を持つ残差因果畳み込みブロック143a、143b、143cを通して、潜在表現又は量子化潜在表現22を再構成された完全なオーディオ信号20の波形表現に変換して戻す。代替として、デコーダブロックは、再構成された完全なオーディオ信号20の表現を出力し、ここで、再構成された完全なオーディオ信号の波形表現は、逆変換ユニット(示されていない)によって得られる。
【0036】
幾つかの実装では、デコーダブロック140’の出力は、1つ以上の後処理層171、172に提供される。ある例示的な実装では、後処理層171、172は、非線形(例えば、Tanh)活性化172を持つ線形変換層171を含む。
【0037】
再構成された完全オーディオ信号20の最終的なサンプリングレートは、転置畳み込み142の数(すなわち、カスケード接続されたデコーダブロック140’の数)とそのストライディング係数によって決定される。ある実装では、デコーダ140は、異なるアップサンプリング係数を持つ4つのデコーダブロック140’のような1つ以上のデコーダブロック140’を含む。例えば、アップサンプリング係数はデコーダブロック140’ごとに5、4、4、2とすることができる。しかし、出力再構成オーディオ信号20の任意のサンプリングレートを得るために、他の係数を採用し、より少ない又はより多くのデコーダブロック140’を積み重ねてもよい。転置畳み込みは、アップサンプリング中に因果律が破られないように、重ならないように制限することができる(すなわち、将来のデータからの転置畳み込み出力の間で重複はない)。
【0038】
幾つかの実装では、因果的敵対的オートエンコーダは、少なくとも1つの再構成された信号部分21とそれに続く信号部分(例えば、代替信号部分ではなく、完全なオーディオ信号部分の表現であることが示されている信号部分)を受信し、再構成されたオーディオ信号部分21と完全なオーディオ信号部分との間のスムーズな移行を確実にするためにクロスフェージングフィルタ(例えばウィンドウ関数)を適用するように構成された、オプションのクロスフェージングポストフィルタリングモジュールを含むことができる。その後、クロスフェージングフィルタを再構成されたオーディオ信号20に適用することができる。幾つかの実装では、オプションのクロスフェージングポストフィルタリングモジュールは、少なくとも再構成された信号部分と、完全なオーディオ信号の後続及び/又は先行部分を提供すると、クロスフェージングフィルタを予測するようにトレーニングされた1つ以上のニューラルネットワークを含む。ニューラルネットワークを使用する利点は、トレーニングデータに存在する異なる音響条件(例えば、ノイズ、コーデックアーティファクト、残響効果など)の後に、予測されたクロスフェージングフィルタを適応させるようにニューラルネットワークをトレーニングできることである。
【0039】
図3Bは、拡張係数Dとスキップ接続を持つ1x1の因果畳み込みブロック1432を含む、例示的な残差因果畳み込みブロック143を示している。
図3Cに示されているように、残差因果畳み込みブロック143は、因果畳み込み層1432に先行するLeaky ReLU層1431を介したLeaky ReLU活性化を含むことができる。任意で、因果畳み込み層1432の後に、第2Leaky ReLU層1433が続き、次に線形変換層1434が続くことができる。1つ以上の因果畳み込みブロック143の各々は、モデルトレーニングを容易にするために、各々のスキップ接続を含むことができる。
【0040】
図4Aは、本開示の幾つかの実施例に従って、識別器200を示す。識別器200は、識別ニューラルネットワークを含み、識別ニューラルネットワークは複数のニューラルネットワーク層を含むことができる。識別器200は、入力された完全なオーディオ信号20が(偽の、fake)再構成オーディオ信号を表すか、(本物の、real)完全なオーディオ信号を表すかを示す指示子25を予測するようにトレーニングされる。識別器200は、入力データ20が完全なオーディオ信号を表すか、少なくとも再構成部分を含むオーディオ信号を表すかを示す指示子25を出力するように構成されてもよい。指示子25は、ブール変数又は値であってもよく、値は0から1の間であり、0は入力オーディオ信号が偽であることを示し、1は入力オーディオ信号が本物であることを示す。
【0041】
幾つかの実装では、識別器200は、2つ、3つ、又はそれ以上の識別器ブランチ210a、210b、210cを含み、各々が、入力データが完全なオーディオ信号を表すか再構成されたオーディオ信号を表すかを示す個々の指示子25a、25b、25cを予測するようにトレーニングされる。一例では、第1識別器ブランチ210aが入力オーディオ信号20の表現を取得するのに対し、第2識別器210bブランチは同じ入力オーディオ信号20のダウンサンプリング表現を取得する。更に、第3識別器210cブランチは同じ入力オーディオ信号20のさらなるダウンサンプリング表現を取得することができる。この目的のために、第2識別器ブランチ210bの前にはダウンサンプリングステージ211があり、一方、第3識別器ブランチ210cの前には2つのダウンサンプリングステージ211がある。各ダウンサンプリングステージは、同じ係数S又は個々の係数S1、S2を使用してダウンサンプリングを行うことができ、S2≠S1である。
【0042】
従って、各識別器ブランチ210a、210b、210cは、異なるサンプリングレートで入力オーディオ信号20が完全なオーディオ信号又は再構成されたオーディオ信号に見えるかを示す個々の指示子25a、25b、25cを予測する。各指示子25a、25b、25cは、指示子集約ステージ212で集約され、入力オーディオ信号20が完全なオーディオ信号又は再構成されたオーディオ信号であるかを示す総合指示子25を形成する。指示子集約ステージ212は、入力オーディオ信号が本物又は偽物であることを示す識別器ブランチ210a、210b、210cの数に基づいて、総合指示子25を決定することができる。指示子集約ステージ212は、各々の識別器ブランチ210a、210b、210cの個々の指示子25a、25b、25cの加重和に基づいて、総合指示子25を決定することができる。加重和は、個々の指示子25a、25b、25cに関連付けられた尤度で加重することができる。個々の指示子25a、25b、25cから総合指示子25を生成するために、他の集約又はプーリング戦略を採用することができる。例えば、個々の指示子25a、25b、25cの最も信頼できる個々の指示子を、総合指示子25と見なすことができる(最大プーリング)。つまり、総合指示子は、例えば、個々の指示子25a、25b、25cの平均、加重平均、又は最大とすることができる。
【0043】
図4bは、識別器210又は識別器ブランチ210の詳細な図を示している。再構成された完全なオーディオ信号又は完全なオーディオ信号は、入力識別器210への入力として提供される。入力識別器210は、入力が再構成された完全なオーディオ信号20又は上記のニューラルシステムを使用して再構成されていない完全なオーディオ信号である可能性を示す指示子25を予測するように構成されている。識別器は、複数のニューラルネットワーク層211a、212a、211b、212b、211c、212c、211d、212dを含むことができる。例えば、複数のニューラルネットワーク層211a、212a、211b、212b、211c、212c、211d、212dは、各サブブロックが畳み込み層211aとLeaky ReLU活性化層212aを含むサブブロックのスタックであってもよい。各畳み込み層211a、211b、211c、211dは係数Sによってダウンサンプリングするように構成することができる。識別器の畳み込み層211a、211b、211c、211dは比較的大きなカーネルを持つことができ、例えばカーネルはストライド+1の10倍であることができる。識別器210では、各特徴マップの時間分解能が低下し、時間次元の減少を補うために特徴の数が増加する。出力畳み込み層213は、識別器210の指示子25の最終予測を実行するように構成することができる。識別器のすべての畳み込み層は、トレーニングの安定化を容易にするために重み正規化を使用することができる。
【0044】
図5を参照すると、反対の目的で一緒にトレーニングされる2つのニューラルネットワーク、生成ニューラルネットワーク100と識別ニューラルネットワーク200を含む例示的な敵対的生成ネットワーク(Generative Adversarial Network (GAN))が示されている。生成ニューラルネットワーク100は生成器100と呼ばれ、生成器100がトレーニングデータ310bに存在するものの妥当な代替となるより多くのサンプルを生成できるように、生成器100に提供されるトレーニングデータ310bに埋め込まれた構造を模倣することを学習する。
【0045】
GANトレーニングでは、生成器100に入力されるトレーニングデータ310bは、ある分布Zを持つランダムなノイズサンプルzのベクトルであってもよい。分布は一様分布又はガウス分布であってもよいが、他の分布も可能である。これにより、生成器100はトレーニングデータ310bのサンプルに似たランダムサンプルの生成器になる。追加又は代替として、オーディオデータの例(例えば録音された音声や一般的な音声)を含むトレーニングデータ310aを、GANトレーニング中のトレーニングデータとして使用することもできる。例えば、不完全なトレーニングデータを使用して、生成器100がトレーニング信号の継続を可能な限り現実的に予測したり、トレーニングデータの代替(欠落)信号部分を埋めたりすることを担う場合がある。例えば、トレーニングデータ310a、310bが現在のメルスペクトログラムを含む場合、生成器100は現在のメルスペクトログラムの現実的な継続として適合する将来のメルスペクトログラムを生成する可能性がある。
【0046】
一方、識別器200と呼ばれる識別ニューラルネットワーク200は、生成器100によって出力された生成データが元の(本物の)データの再構成(偽物)バージョンであるかどうかを検出するようにトレーニングされる。識別器200は単に、入力信号が本物か偽物かを識別する分類器と見なすことができる。識別器200は、トレーニング中に使用するために指定された損失関数を置き換え及び/又は補完するので、学習可能な(非線形)損失関数と見なすことができる。
【0047】
トレーニング処理は、
図5に纏められる。第1トレーニングモード300bでは、識別器200は、入力がトレーニングデータセット310a、310b又は生成器100のどちらから来たかを分類することを学習する。第1トレーニングモードでは、生成器100の内部重みは変更されず(すなわち、生成器100は学習しておらず、フリーズ状態にある)、一方、識別器の内部重みは、生成器100からの出力が偽物であると認識するように更新される。第2トレーニングモード300cでは、識別器200の出力が、生成器100からの予測された出力を実際の信号として誤分類するように、生成器100の内部重みが更新される間、識別器200はフリーズされる。つまり、生成器100が第2トレーニングモード300cで成功した場合、生成器100は、識別器200に入力を元の(本物の)信号として誤分類させることに成功するのに十分な程度に、再構成された信号を再生することができる。第1トレーニングモード300bと第2トレーニングモード300cを交互に使用すること、及び/又は異なるトレーニングデータを使用することによって、生成器100と識別器200を一緒にトレーニングする。
【0048】
オプションとして、識別器200は、完全なオーディオ信号を表すトレーニングデータ310aを使用して、第3トレーニングモード300aでトレーニングすることができる。第3トレーニングモードでは、識別器200の内部重みが更新され、完全な信号を表すトレーニングデータ310aが本物として分類される。
【0049】
トレーニングデータ310a、310bは、音声を含むオーディオ信号の少なくとも1つの例を含むことができる。例えば、トレーニングデータ310a、310bは、VCTKやLibriTTSのような音声合成のための公衆に利用可能なデータセットの変種又は混合を含むことができる。これらは両方とも16kHzで再サンプリングすることができるが、このモデルは、例えばデコーダのストライドを調整することによって、より高いサンプリングレート及びより低いサンプリングレートでも動作するように適応できる場合がある。トレーニングデータ310a、310bはクリーンスピーチを含むことができるが、追加のトレーニングデータ310a、310bは、実際の通信シナリオに存在する可能性のあるアーティファクトをエミュレートすることができるコーデックアーティファクトを導入するためにクリーンスピーチを拡張することによって取得することができる。例えば、トレーニングデータ310a、310bの各発話に対して、次のコーデックのいずれかを、可能性のあるものの中からランダムなビットレートでランダムに適用することができる。
-Opus:1.6、3.2、24、32kbps
-G722.1:24、32kbps
-AMRWB:6.6、8.85、12.65、14.25、15.85、18.25、19.85、23.05、23.85kbps
【0050】
上記のコーデックは例示的なものにすぎず、上記の代替として追加又は他のコーデックを使用できる。例えば、可能なビットレートが6.4、8、9.6、11.2、12.8、14.4、16、17.6、19.2、20.8、22.4、24、及び32kbpsのコーデックを使用できる。
【0051】
更に、トレーニングデータ310a、310bは、ノイズ、残響、及び他のデータセットソースからの話者数、アクセント、又は言語などの他の音響変動を追加することによって、更に強化される場合がある。
【0052】
トレーニングデータ310a、310bは、トレーニングデータオーディオ信号の一部をランダムな長さの代替信号部分にランダムに置き換えることによって強化される場合がある。代替信号部分に置き換えられる部分は、1つ以上のパケット及び/又はフレームのオーディオ信号部分に対応する場合がある。例えば、トレーニングデータ310a、310bは、トレーニングデータオーディオ信号のパケット化又はフレーム表現の1つ以上のパケット及び/又はフレームを省略して、省略された各パケット及び/又はフレームを対応する長さの代替信号部分に置き換えることによって拡張できる。追加又は代替として、トレーニングデータオーディオ信号の2つの部分を交換したり、第2トレーニングデータオーディオ信号のオーディオ信号を第1トレーニングデータオーディオ信号の代替オーディオ信号部分として追加したりすることもできる。つまり、トレーニングデータ310a、310bは、異なる発話に属する2つのチャンクの連結を含む場合があるため、言語の突然の不一致を引き起こす。従って、生成器と識別器は、言語コンテンツの連続性を実施する別の損失でトレーニングされる可能性がある。好ましくは、2つの不一致オーディオ信号部分は、識別器が支離滅裂なコンテンツを検出することを学習し、生成器が(信号品質での)現実性及び(言語的な)コヒーレント性を生成することを学習するような実際の信号部分である。
【0053】
トレーニングデータ310a、310bは、過去のオーディオ信号を定義することができ、ここで、生成器100は、識別器200に構成された将来の信号を実際のオーディオ信号として誤分類させることに成功するように、過去のオーディオ信号を与えられると、もっともらしい将来の継続を構成するようにトレーニングされる。例えば、メルスペクトログラム表現で動作する場合、生成器100は、実際のメルスペクトログラムのように見え、過去又は現在のメルスペクトログラムの継続として適合する将来の軌跡を生成する必要がある。追加又は代替として、トレーニングデータ310a、310bは、事前に決定されたノイズ分布(例えばガウス分布や一様分布)から抽出されたランダムなノイズサンプルであってもよく、ここでは、識別器200に再構成されたノイズデータを誤分類させることに成功するように、生成器100はノイズトレーニングデータが与えられた場合に代替信号部分の再構成又は将来の信号の構成を担当する。
【0054】
図6は、因果的敵対的オートエンコーダの例示的なトレーニング設定を示す。因果的敵対的オートエンコーダは、エンコーダニューラルネットワーク110、任意で生成モデル130、及びデコーダニューラルネットワーク140を含む。生成モデル130は、量子化潜在表現で動作するように量子化ブロックを含み、因果的敵対的オートエンコーダの残りの部分とともにトレーニングされる少なくとも1つの生成的潜在モデル(generative latent model (GLM))を含むことができる。トレーニング中に、因果的敵対的オートエンコーダは、代替信号部分11を含む不完全なオーディオ信号10を再構成して、代替信号部分11を置き換える再構成信号部分21を含む再構成された完全なオーディオ信号20を形成することを学習する。理想的には、再構成されたオーディオ信号20は完全なオーディオ信号1と類似及び/又は同一である。これらの再構成は、再構成されたオーディオ信号20に作用する2つの損失、すなわちマルチSTFT損失400と敵対(識別器)損失200のうちの1つ、又はその組み合わせを通じて学習することができる。マルチSTFTは、予測された再構成されたオーディオ信号20と完全なオーディオ信号1との間の大きさの差を最小限に抑える。この差は、異なる時間周波数分解能で計算されることが望ましい。マルチSTFT損失400は、識別器200で得られた敵対損失のみを使用する場合よりも、モデルがより速く収束し、より良い品質を達成するのに役立つ。しかし、マルチSTFT損失400は、位相再構成の目的がないため、良好な品質の音声を生成するのに十分ではない可能性がある。従って、マルチSTFTのみでトレーニングされたモデルは、再構成された信号が完全に理解可能である可能性があるにもかかわらず、ロボット的であり、話者のアイデンティティ及び韻律のアーティファクトを伴って聞こえる可能性がある。
【0055】
幾つかの実装では、再構成されたオーディオ信号20に対して敵対損失が得られる場合がある。更に、トレーニングは、識別器200で得られたマルチSTFT400損失と敵対損失の結合に基づいて行われる場合がある。L1損失のような他の回帰損失は、敵対損失及び/又はマルチSTFT損失400の代替として、又はそれに加えて使用される場合がある。他の深層特徴損失も利用される可能性があり、例えば、PASEのような深層ニューラル音声エンコーダによって抽出された特徴の回帰や、コントラスト予測コーディングのようなコンテキストに関する知識を豊かにするコントラスト損失などがある。
【0056】
例えば、識別器200は、各ブランチの指示子が集約されて最終的な集約損失を形成する複数のブランチを含むことができる。平均二乗誤差は、損失を集約するために使用され、その入力が偽物の場合は0、入力が本物の場合は1の値を提供することができる。この場合、モデルは最小二乗GANの定式化となり、HingeやWassersteinのような他の定式化も適用できる。
【0057】
因果的敵対的オートエンコーダがトレーニングされると、量子化及び/又は生成潜在モデルの有無にかかわらず、推論モードで使用することができる。代替信号部分11は、トレーニングモードと同じパターンで推論モードで示される(例えば、ギャップの長さをカバーするゼロによる)。ただし、信号部分10の別のタイプの代替で因果的敵対的オートエンコーダをトレーニングすることによって、別のタイプの代替信号部分パターンを使用することができる。
【0058】
追加の代替指示子を代替信号部分10自体と共に受信することができる。追加の代替信号指示子はメタデータとして含めることができ、代替信号部分10が実際の代替部分であり、完全なオーディオ信号1の一部ではないことを示すことができる。オーディオ信号を表すためにメルスペクトログラムが使用される場合、追加の代替指示子はメルスペクトログラム内の追加の周波数チャネルとして連結されることがある。
【0059】
追加の代替指示子を使用して、因果的敵対的オートエンコーダは、不完全なオーディオ信号の他の部分をそのまま維持しながら、代替信号部分のみを再構成された信号部分に置き換えることを選択することができる。その際、因果的敵対的オートエンコーダは、不完全なオーディオ信号と不完全なオーディオ信号の再構成された信号部分との間をスムーズに遷移させて再構成されたオーディオ信号20を形成するウィンドウ機能を適用することによって、クロスフェーディング操作を実行することができる。幾つかの実装では、クロスフェーディング操作は、完全なオーディオ信号1の将来の部分が利用可能なときに実行され、その間にゼロ(又はその他の代替信号パターン)が不完全なオーディオ信号20に追加される。追加又はその代替として、因果的敵対的オートエンコーダは、1つの推論ステップでオーディオ信号の幾つかのフレームを再構成し、(1つ以上のフレームを含む)次のパケットを受信するまでフレームをバッファしたままにする。この間、ウィンドウ機能をバッファされたフレームに渡りスライドさせて、オーディオ信号の単位時間あたりの干渉ステップ数を節約することができる。
【0060】
図7は、本開示の実施形態に従った方法を記述するフローチャートを示している。S10で、不完全なオーディオ信号、又は不完全なオーディオ信号の表現が受信され、不完全なオーディオ信号は元の信号部分を置き換える代替信号部分を含む。不完全なオーディオ信号(又はその表現)は、S11でエンコーダニューラルネットワークに提供され、S12で再構成されたオーディオ信号の潜在表現を出力する。再構成された完全なオーディオ信号は、オプションのステップS13で量子化され、トークンセットを含む再構成されたオーディオ信号の量子化表現を形成することができる。少なくとも1つの量子化潜在表現は、S14で各々のGLMに提供され、量子化表現の少なくとも1つのトークンが与えられると更新された(より可能性の高い)トークンセットを予測する。S15で、量子化された(元の)表現のトークンは、S14でGLMによって予測されたトークンと比較される。違いがある場合、最も可能性の高いトークンの選択が行われ、最終的な予測トークンセットが形成される。最終的な予測トークンセットは、S16でデコーダニューラルネットワークに入力され、S17でデコーダニューラルネットワークは時間領域で再構成されたオーディオ信号(波形)又は再構成されたオーディオ信号の表現を出力する。オプションとして、S17の後に、上記で説明したように逆変換又はクロスフェージングフィルタリングを実行することを含む後処理が続く。
【0061】
図8は、本開示の実施形態に従って因果的オートエンコーダをトレーニングする方法を記述するフローチャートを示す。S20では、ニューラルネットワークシステム(例えば因果的オートエンコーダの実装)が、識別ニューラルネットワーク及びトレーニングデータとともに提供される。S21では、トレーニングデータがニューラルネットワークシステムに提供され、S22では、再構成されたオーディオ信号(又はその表現)がニューラルネットワークシステムによって出力される。例えば、ニューラルネットワークシステムは、トレーニングデータ信号の代替信号部分を再構成された信号部分に置き換えたり、トレーニングデータオーディオ信号の再構成された将来の継続を予測したりしている。S24aで、再構成されたオーディオ信号は、S25aで再構成されたオーディオ信号が完全なオーディオ信号であるかどうかを示す第1尤度(指示子)を出力する識別器に提供される。任意で、第2識別器ブランチは、S22で出力された再構成されたオーディオ信号を受信し、S23で再構成されたオーディオ信号(又はその表現)をダウンサンプリングし、その後、S24bで第2識別器(識別器ブランチ)にダウンサンプリングされた再構成されたオーディオ信号(又はその表現)を提供する。S25aで、第2識別器は、ダウンサンプリングされたオーディオ信号(又はその表現)が完全なオーディオ信号であるか、再構成されたオーディオ信号であるかを示す第2尤度を出力する。S26で、各識別器ブランチの尤度を集約して、再構成されたオーディオ信号が完全なオーディオ信号であるか、再構成されたオーディオ信号であるかを示す最終的な尤度を形成する。S27で、上記で説明したように、敵対的生成トレーニングに従って、識別器又はニューラルネットワークシステムのいずれかの内部重みが更新される。理解できるように、この方法はS27の後に繰り返され、次のパスで識別器とニューラルネットワークシステムのうちの他方の内部重みを更新するステップを含み、及び/又は次のパスで新しいトレーニングデータを提供して使用する。
【0062】
上記では、入力音声サンプルの音声品質の指示を決定するための深層学習に基づくシステムのトレーニング及び動作の可能な方法、及びそのようなシステムの可能な実装について説明した。更に、本開示は、これらの方法を実行するための装置にも関連する。このような装置の例は、プロセッサ(例えば、中央処理装置(CPU)、グラフィックス処理装置(GPU)、デジタルシグナルプロセッサ(DSP)、1つ以上の特定用途向け集積回路(ASIC)、1つ以上の高周波集積回路(RFIC)、又はこれらの任意の組み合わせ)と、プロセッサに結合されたメモリとを含むことができる。プロセッサは、開示全体で説明されている方法の一部又は全部のステップを実行するように適応させることができる。
【0063】
この装置は、サーバコンピュータ、クライアントコンピュータ、パーソナルコンピュータ(PC)、タブレットPC、セットトップボックス(STB)、携帯情報端末(PDA)、携帯電話、スマートフォン、ウェブアプライアンス、ネットワークルータ、スイッチ又はブリッジ、又はその装置が取るべき動作を指定する命令(シーケンシャル又はその他)を実行することができる任意のマシンであってもよい。更に、本開示は、ここで議論されている方法論のいずれか1つ以上を実行する命令を個別に又は共同で実行する装置の集合に関するものでなければならない。
【0064】
本開示は、更に、プロセッサによって実行されると、ここで説明されている方法のステップの一部又はすべてをプロセッサに実行させる命令を含むプログラム(例えばコンピュータプログラム)に関する。
【0065】
更に、本開示は、前述のプログラムを格納するコンピュータ可読(又は機械可読)記憶媒体に関する。ここで、「コンピュータが可読記憶媒体」という用語は、例えば、固体メモリ、光学メディア、磁気メディアの形態のデータレポジトリを含むが、これに限定されない。
【0066】
特に断りのない限り、以下の議論から明らかなように、本開示を通じて、「処理する(processing)」、「計算する(computing、calculating)」、「決定する(determining)」、「分析する(analyzing)」等のような用語を用いる議論は、コンピュータ又はコンピューティングシステム、又は物理的、例えば電子的な量として提示されるデータを操作し及び/又は物理的量として同様に提示される他のデータに変換する同様の電子コンピューティング装置の動作及び/又は処理を表す。
【0067】
同様に、用語「プロセッサ」は、例えばレジスタ及び/又はメモリからの電子データを処理して、該電子データを例えばレジスタ及び/又はメモリに格納され得る他の電子データに変換する、任意の装置又は装置の部分を表してよい。「コンピュータ」又は「コンピューティング装置」若しくは「コンピューティングプラットフォーム」は、1つ以上のプロセッサを含んでよい。
【0068】
本願明細書に記載した方法は、例示的な一実施形態では、プロセッサのうちの1つ以上により実行されると本願明細書に記載した方法のうちの少なくとも1つを実行する命令セットを含むコンピュータ可読(機械可読とも呼ばれる)コードを受け付ける1つ以上のプロセッサにより実行可能である。行われるべき動作を指定する(シーケンシャル又はその他の)命令セットを実行可能な任意のプロセッサが含まれる。従って、一例は、1つ以上のプロセッサを含む標準的な処理システムである。各プロセッサは、CPU、画像処理ユニット、及びプログラマブルDSPユニット、のうちの1つ以上を含んでよい。処理システムは、メインRAM及び/又は静的RAM及び/又はROMを含むメモリサブシステムを更に含んでよい。バスサブシステムは、コンポーネント間の通信のために含まれてよい。処理システムは、更に、ネットワークにより接続されたプロセッサを有する分散型処理システムであってよい。処理システムがディスプレイを必要とする場合、このようなディスプレイ、例えば液晶ディスプレイ(LCD)又は陰極線管(CRT)ディスプレイが含まれてよい。手動データ入力が必要とされる場合、処理システムは、キーボードのような英数字入力ユニット、マウスのようなポインティング制御装置、等のうちの1つ以上のような入力装置も含む。処理システムは、ディスクドライブユニットのような記憶システムも含んでよい。幾つかの構成における処理システムは、音声出力装置、及びネットワークインタフェース装置を含んでよい。メモリサブシステムは、従って、1つ以上のプロセッサにより実行されると本願明細書に記載の方法のうちの1つ以上を実行させる命令セットを含むコンピュータ可読コード(例えばソフトウェア)を運ぶコンピュータ可読担持媒体を含む。方法が幾つかの要素、例えば幾つかのステップを含むとき、特に断りのない限り、これらの要素の順序は示唆されないことに留意する。ソフトウェアは、ハードディスク内に存在してよく、又はlコンピュータシステムによる実行中に完全に又は部分的にRAM内に及び/又はプロセッサ内に存在してもよい。従って、メモリ及びプロセッサは、コンピュータ可読コードを運ぶコンピュータ可読媒体も構成する。更に、コンピュータ可読担持媒体は、コンピュータプログラムプロダクトを形成し又はそれに含まれてよい。
【0069】
代替的な例示的な実施形態では、1つ以上のプロセッサは、独立型装置として動作し、又は接続され、例えばネットワーク接続された展開では他のプロセッサにネットワーク接続されてよく、1つ以上のプロセッサは、サーバ-ユーザネットワーク環境でサーバ又はユーザ装置の能力で、又はピアツーピア若しくは分散型ネットワーク環境でピア装置として動作してよい。1つ以上のプロセッサは、PC(personal computer)、タブレットPC、PDA(Personal Digital Assistant)、携帯電話機、ウェブ機器、ネットワークルータ、スイッチ若しくはブリッジ、又は機械により取られるべき動作を指定する(シーケンシャル又はその他の)命令セットを実行可能な任意の機械を形成してよい。
【0070】
用語「機械」は、本願明細書に記載の方法のうちの任意の1つ以上を実行するための命令セット(又は複数のセット)を個別に又は共同で実行する機械の任意の集合を含むと考えられるべきである。
【0071】
従って、本願明細書に記載の方法の各々の例示的な実施形態は、命令セット、例えば1つ以上のプロセッサ、例えばウェブサーバ構成の部分である1つ以上のプロセッサ上での実行のためであるコンピュータプログラムを運ぶコンピュータ可読担持媒体の形式である。従って、当業者により理解されるように、本開示の例示的な実施形態は、方法、専用機器のような機器、データ処理システムのような機器、又はコンピュータ可読担持媒体、例えばコンピュータプログラムプロダクト、として具現化されてよい。コンピュータ可読担持媒体は、1つ以上のプロセッサ上で実行されると該プロセッサ又は複数のプロセッサに方法を実施させる命令セットを含むコンピュータ可読コードを運ぶ。従って、本開示の態様は、方法、完全にハードウェアの例示的な実施形態、完全にソフトウェアの例示的な実施形態、又はソフトウェア及びハードウェアの態様を組み合わせた例示的な実施形態の形式を取り得る。更に、本開示は、媒体内に具現化されるコンピュータ可読プログラムコードを運ぶ担持媒体(例えば、コンピュータ可読記憶媒体上のコンピュータプログラムプロダクト)の形式を取ってよい。
【0072】
ソフトウェアは、更に、ネットワークインタフェース装置により、ネットワークを介して送信され又は受信されてよい。担持媒体は、例示的な実施形態において信号媒体であるが、用語「担持媒体」は、1つ以上の命令セット格納するう信号媒体又は複数の媒体(例えば、中央又は分散型データベース、及び/又は関連するキャッシュ及びサーバ)を含むと解釈されるべきである。用語「担持媒体」は、プロセッサのうちの1つ以上による実行のために命令セットを格納し、符号化し、又は運ぶ能力のある、及び1つ以上のプロセッサに本開示の方法のうちの任意の1つ以上を実行させる任意の媒体も含むと解釈されるべきである。担持媒体は、限定ではないが、不揮発性媒体、揮発性媒体、及び伝送媒体を含む多くの形式を取ってよい。不揮発性媒体は、例えば、光、磁気ディスク、又は光磁気ディスクを含む。揮発性媒体は、メインメモリのような動的メモリを含む。伝送媒体は、バスサブシステムを含むワイヤを含む、同軸ケーブル、銅線、光ファイバを含む。伝送媒体は、無線波及び赤外線データ通信の間に生成されるような、音響又は光波の形式も取りうる。例えば、用語「担持媒体」は、従って、限定ではないが、固体メモリ、光及び磁気媒体内に具現化されるコンピュータプロダクト、少なくとも1つのプロセッサ又は1つ以上のプロセッサにより検出可能であり実行されると方法を実施する命令セットを表す伝搬信号を運ぶ媒体、及び1つ以上のプロセッサのうちの少なくとも1つのプロセッサにより検出可能な伝搬信号を運び命令セットを表すネットワーク内の伝送媒体を含むと解釈されるべきである。
【0073】
議論した方法のステップは、ストレージに格納された命令(コンピュータ可読コード)を実行する処理(例えば、コンピュータ)システムの適切なプロセッサ(又は複数のプロセッサ)により例示的な一実施形態において実行されることが理解される。また、本開示は任意の特定の実装又はプログラミング技術に限定されないこと、及び本開示は、本願明細書に記載の機能を実施するために任意の適切な技術を使用して実施されてよいことが理解される。本開示は、任意の特定のプログラミング言語又はオペレーティングシステムに限定されない。
【0074】
本開示を通じて「一実施形態」、「幾つかの実施形態」又は「例示的な実施形態」への言及は、例示的な実施形態に関連して記載される特定の特徴、構造、又は特性が本開示の少なくとも1つの例示的な実施形態に含まれることを意味する。従って、本開示を通じて様々な場所における「例示的な一実施形態では」、「例示的な幾つかの実施形態では」又は「例示的な実施形態では」という語句の出現は、必ずしも全部が同じ例示的な実施形態を参照しない。更に、特定の特徴、構造、又は特性は、1つ以上の例示的な実施形態において、本開示から当業者に明らかなように、任意の適切な方法で組み合わされてよい。
【0075】
本願明細書で使用されるとき、特に断りのない限り、共通のオブジェクトを説明するための序数「第1」、「第2」、「第3」などの使用は、単に、同様のオブジェクトの異なるインスタンスが言及されていることを示すものであり、説明されているオブジェクトが時間的に、空間的に、ランク付けにおいて、又は任意の他の方法で所与のシーケンスでなければならないことを意味しない。
【0076】
以下の請求の範囲及び本願明細書に記載の説明では、用語:含む、有する、構成される、又は構成するのうちの任意の1つは、広義であり、それに続く要素/特徴を少なくとも含むが他を排除しないことを意味する。従って、用語:含むは、請求項中で使用されるとき、その後に列挙される手段又は要素又はステップに限定されると解釈されてはならない。例えば、装置はA及びBを含むという表現の範囲は、装置が要素A及びBのみで構成されることに限定されるべきではない。用語:有するも、本願明細書で使用されるとき、広義であり、該用語に続く要素/特徴を少なくとも含むが他を排除しないことを意味する。従って、有するは、含むと同義語であり、含むを意味する。
【0077】
理解されるべきことに、本開示の例示的な実施形態の上述の説明では、本開示の種々の特徴は、本開示を効率化する及び種々の本発明の態様のうちの1つ以上の理解を支援する目的で、時に単一の例示的な実施形態、図、又はその説明に一緒にグループ分けされる。しかしながら、本開示のこの方法は、請求の範囲が各請求項に明示的に記載されたよりも多くの特徴を必要とするという意図を反映していると解釈されてはならない。むしろ、以下の請求項が反映するように、本発明の態様は、単一の前述の開示された例示的な実施形態の全部の特徴よりも少数にある従って、説明に続く請求の範囲は、この説明に明示的に組み込まれ、各請求項は、本開示の個別の例示的な実施形態としてそれ自体独立である。
【0078】
更に、本願明細書に記載した幾つかの例示的な実施形態は、他の例示的な実施形態に含まれる他の特徴ではなく幾つかの特徴を含むが、当業者により理解されるように、異なる例示的な実施形態の特徴の組合せは、本開示の範囲内にあることを意味し、異なる例示的な実施形態を形成する。例えば、以下の請求の範囲では、請求される例示的な実施形態のうちの何れかが、任意の組合せで使用できる。
【0079】
本願明細書で提供される説明では、多数の特定の詳細事項が説明された。しかしながら、本開示の例示的な実施形態は、これらの特定の詳細事項を有しないで実施されてよいことが理解される。他の例では、よく知られた方法、構造、及び技術は、本発明の説明の理解を不明瞭にしないために、示されなかった。
【0080】
従って、本開示のベストモードとして信じられるものが記載されたが、当業者は、他の及び更なる変更が、本開示の精神から逸脱することなく行われてよいこと、及び全てのそのような変化及び変更が本開示の範囲内にあると意図されることを理解するだろう。例えば、上述の任意の数式は、単に使用され得る手順の表現である。機能がブロック図に追加され又は削除されてよく、動作が機能ブロックの間で交互交換されてよい。ステップは本開示の範囲内に記載された方法に追加され又は削除されてよい。
【0081】
本発明の種々の態様は、以下に列挙する例示的な実施形態(enumerated example embodiment:EEE)から明らかであり得る。
【0082】
(EEE1)
非可逆オーディオ信号に対するリアルタイムパケット損失隠蔽のための深層学習生成器であって、前記生成器は、
複数のエンコーダ層を含むエンコーダステージであって、前記複数のエンコーダ層の第1エンコーダ層は、前記複数のエンコーダ層の第2エンコーダ層にフィードフォワード接続されるように構成され、前記第1エンコーダ層は、前記エンコーダの出力における総和ブロックにスキップ接続されるように更に構成され、
前記エンコーダステージは、波形オーディオ信号を入力として受信し、前記波形オーディオ信号の複数の特徴を抽出し、前記特徴をコンテキストベクトルを介して固定表現に出力するように構成される、エンコーダステージと、
複数のデコーダ層を含むデコーダステージであって、前記複数のデコーダ層の第1デコーダ層が、前記複数のデコーダ層の第2デコーダ層にフィードフォワード接続され、前記第1デコーダ層は、前記デコーダの出力で総和ブロックにスキップ接続されるように更に構成され、
前記デコーダステージは、前記コンテキストベクトルをN個の予測出力フレームのシーケンスに変換するように構成されている、デコーダステージと、
を含む深層学習生成器。
【0083】
(EEE2)
前記特徴は、音声コンテンツ、韻律、及び話者のアイデンティティの少なくとも1つを含む、EEE1のディープラーニング生成器。
【0084】
(EEE3)
前記N個の予測出力フレームのシーケンスの各フレームが、複数の将来の時間ステップの各々の将来の時間ステップで、前記エンコーダステージへの入力としてフィードバックされるように、深層学習生成器が自己回帰的に動作するように構成されている、EEE1の深層学習生成器。
【0085】
(EEE4)
前記複数のエンコーダ層の各層が畳み込み層で構成される、EEE1の深層学習生成器。
【0086】
(EEE5)
前記畳み込み層がCausalConvBlockである、EEE4の深層学習生成器
(EEE6)
前記複数のデコーダ層の各層がDecoderBlockで構成される、EEE1の深層学習生成器。
【0087】
(EEE7)
前記DecoderBlockは深層残差完全結合構造を含む、EEE6の深層学習生成器。
【0088】
(EEE8)
前記構造は正規化、活性化関数、完全結合層を含む、EEE6の深層学習生成器。
【0089】
(EEE9)
再構成信号が前記デコーダステージから出力され、前記再構成信号は、前記波形オーディオ信号入力からのオーバーラップしたフレームと共に加算された前記N個の予測出力フレームを含む、EEE1の深層学習生成器。
【0090】
(EEE10)
オーディオ信号の損失部分を含む前記オーディオ信号のリアルタイムパケット損失隠蔽のための深層学習システムであって、前記システムは、
複数の畳み込みブロックを含むエンコーダステージであって、前記複数の畳み込みブロックは、前記オーディオ信号の波形表現の1つ以上の特徴を抽出するように構成され、前記1つ以上の特徴が潜在空間で表現される、エンコーダステージと、
複数の転置畳み込み及び残差因果畳み込み層を含むデコーダステージであって、前記複数の転置畳み込み及び残差因果畳み込み層は、前記1つ以上の特徴を、前記オーディオ信号の前記損失部分の波形再構成を含む波形サンプルに変換するように構成される、デコーダステージと、
を含む深層学習システム。
【0091】
(EEE11)
前記エンコーダステージが更に少なくとも600ミリ秒の受信フィールドを含む、EEE1の深層学習システム。
【0092】
(EEE12)
前記エンコーダステージは、前記1つ以上の特徴の前記潜在空間表現を量子化するように構成されたマルチヘッドベクトル量子化ブロックを更に含む、EEE1又は2の深層学習システム。
【0093】
(EEE13)
オーディオ信号の損失部分を含む前記オーディオ信号のリアルタイムパケット損失隠蔽のための方法であって、前記方法は、
前記オーディオ信号の波形表現を決定するために前記オーディオ信号に対して変換を行うステップと、
前記波形表現を前記オーディオ信号の潜在表現に変換するステップと、
前記オーディオ信号の前記潜在表現から前記オーディオ信号の前記波形表現を再構成するステップであって、前記再構成された波形表現には前記オーディオ信号の前記損失部分の学習された再構成が含まれる、ステップと、
前記波形表現の前記再構成に対して逆変換を実行して、前記オーディオ信号の前記再構成された損失部分を含む前記オーディオ信号を出力するステップと、
を含む方法。
【0094】
(EEE14)
再構成の前に前記オーディオ信号の前記潜在表現を量子化するステップを更に含むEEE4の方法。
【0095】
(EEE15)
前記オーディオ信号の前記波形表現を再構成するステップが、前記オーディオ信号の前記波形表現の前記再構成に作用する複数の損失関数を共役させる(conjugating)ことによって、前記オーディオ信号の前記損失部分の学習された再構成を決定するステップを含む、EEE4又は5の方法。
【0096】
(EEE16)
前記複数の損失関数がマルチSTFT損失と敵対損失を含む、EEE6の方法。
【0097】
(EEE17)
前記変換は短時間フーリエ変換(STFT)である、EEE4~7のいずれかに記載の方法。
【外国語明細書】