本明細書では、発話の復元のためのシステムおよび方法が説明される。本明細書で開示されるシステムおよび方法のいくつかの構成は、帯域ごとの発話モデル化に基づく雑音抑制および発話エンベロープの復元を提供し得る。
発話増強システムのいくつかの問題は、次のように与えられる。発話増強システムは、空間的フィルタリングによる雑音干渉の過小評価が原因で、知覚的に大きな残余雑音を被ることがある。発話エンベロープは、低いサブバンド信号対雑音比(SNR)が原因で、サブバンドの中で崩れることがある。低い高帯域SNRおよび高帯域雑音干渉の過剰な見積もりが原因で、発話の消音が発生することがある。発話増強システムはまた、高度に非静的である雑音干渉の過少な見積もりが原因で、高帯域での音楽雑音の漏洩を被ることがある。
いくつかの手法では、処理された発話は、クリーンな発話エンベロープからの大きなエンベロープのずれを受ける。したがって、様々なSNRおよび雑音の条件においてクリーンな発話エンベロープと概ね一致するように発話エンベロープを復元するための、独立した発話モデル化のシステムおよび方法に対する需要がある。
次に、類似の参照番号が機能的に類似の要素を示し得る図を参照して、様々な構成が説明される。本明細書で全般に図面で説明され例示されるシステムおよび方法は、多種多様な異なる構成で配列および設計され得る。したがって、図面に表されるような、いくつかの構成の以下のより詳細な説明は、特許請求される範囲を限定することは意図されず、システムおよび方法を単に表すものである。
図1は、発話の復元のためのシステムおよび方法が実装され得る、電子デバイス102の一例を示すブロック図である。電子デバイス102の例は、携帯電話、スマートフォン、タブレットデバイス、音声レコーダ、ラップトップコンピュータ、デスクトップコンピュータ、固定電話、カムコーダ、スチルカメラ、車載電子機器、ゲームシステム、テレビジョン、家電機器などを含む。電子デバイス102の構成要素の1つまたは複数は、ハードウェア(たとえば、回路)で、またはハードウェアとソフトウェアの組合せで実装され得る。本明細書で使用される場合、「モジュール」は、ハードウェア(たとえば、回路)またはハードウェアとソフトウェアの組合せで実装され得る。
矢印および/または線は、図面において示されるブロック図の中の構成要素または要素の間の結合を表す。「結合」または「結合する」という用語の変形は、構成要素または要素の間の直接的な接続または間接的な接続を表し得る。たとえば、第2の構成要素に結合される第1の構成要素は、(介在する構成要素を伴わずに)第2の構成要素へ直接接続されることがあり、または(1つまたは複数の介在する構成要素を伴って)第2の構成要素へ間接的に接続されることがある。
電子デバイス102は、雑音抑制モジュール106および反復的サブバンド復元モジュール110を含み得る。電子デバイス102は、雑音のある発話信号104を取得し得る。たとえば、電子デバイス102は、電子デバイス102に含まれる1つまたは複数のマイクロフォン(図1には示されない)から雑音のある発話信号104を捕捉し得る。いくつかの構成では、雑音のある発話信号104は、電子デバイス102に含まれるアナログデジタルコンバータ(ADC)(図1には示されない)によって変換されなければならないアナログオーディオ信号のサンプリングされたバージョンであり得る。別の例では、電子デバイス102は、別のデバイスから雑音のある発話信号104を取得し得る。たとえば、電子デバイス102は、Bluetooth(登録商標)ヘッドセットまたは何らかの他の遠隔デバイス(たとえば、スマートフォン、カメラなど)から雑音のある発話信号104を受信し得る。いくつかの構成では、雑音のある発話信号104はフレームへとフォーマットされ得る(たとえば、分割され得る)。雑音のある発話信号104(たとえば、雑音のある発話信号104の1つまたは複数のフレーム)は、雑音抑制モジュール106および/または反復的サブバンド復元モジュール110へ提供され得る。雑音抑制モジュール106は任意選択であり得ることに留意されたい。たとえば、本明細書で開示されるシステムおよび方法は、雑音抑制とともに、またはそれとは無関係に機能し得る。
電子デバイス102の構成要素の1つまたは複数は任意選択であり得ることに留意されたい。たとえば、電子デバイス102のいくつかの実装形態は、図示される構成要素のうちの1つしか含まないことがある。他の実装形態は、図示される構成要素のうちの2つ以上を含むことがある。具体的には、電子デバイス102のいくつかの実装形態は、雑音抑制モジュール106および反復的サブバンド復元モジュール110のうちの1つしか含まないことがある。他の実装形態は、図示される構成要素のうちの2つ以上を含むことがある。
雑音抑制モジュール106は、雑音のある発話信号104の中の雑音を抑制することができる。たとえば、雑音抑制モジュール106は、雑音のある発話信号104から、1つまたは複数の干渉信号を、またはそれらの成分を、検出および/または除去することができる。雑音抑制モジュール106は、雑音抑制発話信号108を作成することができる。雑音抑制発話信号108は、1つまたは複数のサブバンド(たとえば、2つ、3つ、またはそれより多くのサブバンド)を含む帯域幅(たとえば、全体の帯域幅または周波数範囲)を有し得る。たとえば、雑音抑制発話信号108の帯域幅は、周波数が0から8キロヘルツ(kHz)にわたり得る。いくつかの構成では、雑音抑制発話信号108の帯域幅は3つのサブバンドを含むことがあり、ここで第1のサブバンドは0〜2kHzにわたり、第2のサブバンドは2〜4kHzにわたり、第3のサブバンドは4〜8kHzにわたる。帯域幅およびサブバンドの例が本明細書で与えられるが、本明細書で開示されるシステムおよび方法は、他の帯域幅および/またはサブバンドに適用され得ることに留意されたい。別の例では、雑音抑制発話信号108は、0〜1.9kHz、1.9〜3.8kHz、3.8〜7.8kHz、および7.8〜16kHzの範囲にある4つのサブバンドを伴う、16kHzの帯域幅を有し得る。
雑音抑制発話信号108および/または(元の)雑音のある発話信号104は、反復的サブバンド復元モジュール110に提供され得る。反復的サブバンド復元モジュール110は、雑音抑制発話信号の(および/または雑音のある発話信号104の)サブバンドの各々を繰り返し復元し得る。(たとえば、雑音抑制発話信号108の)サブバンドの各々は、(たとえば、雑音抑制発話信号108の)すべての以前に復元されたサブバンドに基づいて復元され得る。たとえば、反復的サブバンド復元モジュール110は、サブバンドの各々を、一度に1つ復元し得る。あるサブバンドが復元されると、それは次のサブバンドを復元するための基礎として利用され得る。たとえば、第1のサブバンドが復元されると、第2のサブバンドは、復元された第1のサブバンドに基づいて復元され得る。さらに、第1のサブバンドおよび第2のサブバンドが復元されると、第3のサブバンドは、復元された第1のサブバンドと復元された第2のサブバンドの両方(たとえば、復元された第1のサブバンドと復元された第2のサブバンドの組合せ)に基づいて復元され得る。いくつかの構成では、この手順はより多数のサブバンドに対して反復し得る。たとえば、第4のサブバンドは、復元された第1のサブバンド、復元された第2のサブバンド、および復元された第3のサブバンドに基づいて復元され得る。復元されるべき最初のサブバンド(たとえば、第1のサブバンド)は、(たとえば、そのフレームに対しては以前に復元されたサブバンドがないので)いずれの以前に復元されたサブバンドにも基づかないことがあることに留意されたい。反復的サブバンド復元モジュール110は、復元されたサブバンドのすべてに基づいて、増強された発話信号112を作成し得る。たとえば、増強された発話信号112は、復元されたサブバンドのすべての組合せであり得る。
加えて、または代替的に、反復的サブバンド復元モジュール110は、2つ以上の以前に復元されたサブバンドをまとめることを含めて、少なくとも3つのサブバンドの各々を復元し得る。まとめられた復元されたサブバンドが、別のサブバンドを予測するために利用され得る。加えて、または代替的に、反復的サブバンド復元モジュール110は、少なくとも3つのサブバンドを復元することができ、ここで、各々の以前に復元されたサブバンドは、任意の以前に復元されたサブバンドおよび復元されている現在のサブバンドの組み合わされた周波数範囲の中で入れ子にされる。
いくつかの構成では、すべての以前に復元されたサブバンドは、復元されている現在のサブバンドより周波数が低い。たとえば、反復的なサブバンド復元は、最低のサブバンド周波数(たとえば、サブバンド範囲における最低の最小周波数)で開始し、次いで、周波数の昇順で(たとえば、それぞれのサブバンド範囲における最低周波数の昇順で)サブバンドを連続的に復元し得る。いくつかの構成では、帯域幅(たとえば、0〜2kHz)における最低のサブバンドは、1つまたは複数の追加のサブバンドがそこから繰り返し復元される、アンカーポイントであり得る。アンカーポイントサブバンドは、帯域幅に含まれる1つまたは複数の他のサブバンドよりも雑音に耐性のあるサブバンドであり得る。
昇順でサブバンドを次第にまたは連続的に復元することは、1つまたは複数の理由で有利であることがある。たとえば、発話構造は特に、より低い帯域(たとえば、2kHz未満の帯域)において、雑音に対してロバストである。高調波の発話ピークおよびそれらの時間的な展開は、雑音抑制(たとえば、雑音除去)の前と後で明確に決定され得るので、より低い帯域(たとえば、0〜2kHzのサブバンド)が、コードブック手法を介して残りの欠けているエンベロープサブバンドを探すためのアンカーポイントとして有利に利用され得る。したがって、本明細書で開示されるシステムおよび方法のいくつかの構成は、繰り返し復元されるサブバンドに基づいて完全な帯域幅(たとえば、広帯域発話信号、0〜8kHz、0〜16kHzなど)を復元するために、入れ子にされた手法を使用し得る。
本明細書で開示されるシステムおよび方法のいくつかの構成による反復的なサブバンド復元の例は、次のように与えられる。第1に、雑音のある発話信号104の第1のサブバンド(たとえば、最低のサブバンド、0〜2kHzのサブバンドなど)が(たとえば、雑音抑制モジュール106によって)雑音除去される。第1のサブバンドの発話構造は、高調波分析に基づいて復元され得る。第2に、復元(たとえば、回復)された第1のサブバンドが、対応する第2のサブバンド(たとえば、2〜4kHz)のクリーンな発話エンベロープを予測するために、コードブックに対して照合され得る。雑音除去された第2のサブバンドのエンベロープが次いで、得られるエンベロープが予測されるクリーンは発話コードブックエンベロープに近似する(たとえば、可能な限りそれに近くなる)ように雑音除去された第2のサブバンドスペクトルへ利得を適用することによって、復元され得る。第3に、第1および第2のステップからの結果(たとえば、復元された第1のサブバンドおよび復元された第2のサブバンド)は、第3のサブバンド(たとえば、4〜8kHzの高帯域)のクリーンな発話エンベロープを予測するために、まとめられ、または入れ子にされ得る。クリーンな発話信号の予測されるエンベロープに近似する(たとえば、可能な限りその予測されるエンベロープと一致する)ように、雑音除去された第3のサブバンド発話信号に利得が加えられ得る。
この手法は、雑音のある環境における最もロバストな発話サブバンド情報を最初に利用することが原因でよりロバストな結果をもたらすことがあり、これは徐々に、反復的なステップにおいてより高いサブバンドへと拡張され得る。各々の復元されたサブバンドについてより高い信頼度が得られるにつれて、および各々の以前のサブバンド復元の結果が次のサブバンドの予測の基礎を提供するためにまとめられるにつれて、ロバストな発話の復元の手法が得られる。
本明細書で開示されるシステムおよび方法のいくつかの構成では、復元されるサブバンドは、ブラインド帯域幅拡張によって生成される合成信号ではないことがある。たとえば、いくつかのブラインド帯域幅拡張手法は、元の発話信号が利用可能ではない周波数範囲において、または元の発話信号と引き換えに、合成発話を作成するために、人工励振信号を利用する。しかしながら、本明細書で開示されるシステムおよび方法のいくつかの構成は、元の破損した発話信号をエンベロープ領域において調整する(たとえば、修正する、スケーリングするなど)ことによって、(たとえば、1つまたは複数のサブバンドの中の)破損した(たとえば、雑音抑制された)発話信号を復元することができる。これは、発話を再合成するために(たとえば、発話信号が利用可能ではない周波数範囲において合成信号を作成するために)人工的な励振信号を利用するいくつかの帯域幅拡張手法とは異なる。合成発話を作成するために励振信号を直接推定するのを避けることが有利であることがあり、それは、そのように推定することが、大半のブラインド帯域幅拡張の適用例が正確な音高/パラメータの推定のために高いSNR条件を想定するので、発話パラメータ推定の誤差によるアーティファクトにつながりやすいことがあるからである。代わりに、アーティファクトのない発話信号を推定するために、雑音除去された信号(たとえば、雑音抑制発話信号108)は、理想的であるクリーンな発話エンベロープと一致するように、スケーリングを介して修正され得る。エンベロープ領域において発話を復元することは、スペクトルエネルギーの点でより効率的であることがあり、かつ/または、可聴のアーティファクトの影響をより受けにくいこともある。
いくつかの構成では、増強された発話信号112は、任意選択の時間領域合成モジュール114へ任意選択で提供され得る。時間領域合成モジュール114は、増強された発話信号112に基づいて時間領域発話信号116を生成し得る。時間領域発話信号は、たとえば、各フレームに対して周波数対時間の変換を適用し、次いで、各フレームのための変換された信号へ加重重畳加算演算を適用することによって、取得され得る。
いくつかの構成では、増強された発話信号112(ならびに/または増強された発話信号112を導出するために利用される1つまたは複数の信号および/もしくはパラメータ)が、任意選択で、任意選択の送信機118に提供され得る。送信機118は、増強された発話信号112、ならびに/または、増強された発話信号112を導出するために利用される1つまたは複数の信号および/もしくはパラメータを送信し得る。いくつかの構成では、信号および/またはパラメータ120の1つまたは複数は、送信の前に量子化され得る。
図2は、発話の復元のための方法200の例を示す流れ図である。方法200は、電子デバイス102によって実行され得る。電子デバイス102は、雑音のある発話信号104を取得し得る(202)。これは、図1に関して上で説明されたように成し遂げられ得る。
電子デバイス102は、雑音発話信号104の中の雑音を抑制して、雑音抑制発話信号108を作成することができる(204)。これは、図1に関して上で説明されたように成し遂げられ得る。雑音抑制発話信号108(および/または雑音のある発話信号104)は、1つまたは複数のサブバンド(たとえば、2つ、3つ、またはそれより多くのサブバンド)を伴う帯域幅を有し得る。たとえば、帯域幅は1つまたは複数のサブバンドを含むことがあり、ここで各サブバンドは帯域幅の一部である。いくつかの構成では、電子デバイス102は、帯域幅の第1のサブバンドを分析し、分析に基づいて第1のサブバンドをクリーンにすることができる。サブバンドを分析するための、および/またはクリーンにするための手法のより具体的な例が、図10に関して与えられる。
電子デバイス102は、サブバンドの各々を繰り返し復元することができる(206)。サブバンドの各々は、すべての以前に復元されたサブバンドに基づいて復元され得る。これは、図1に関して上で説明されたように成し遂げられ得る。いくつかの構成では、すべての以前に復元されたサブバンドは、復元されている現在のサブバンドより周波数が低いことがある。少なくとも3つのサブバンドの各々を繰り返し復元する(206)と、復元されたサブバンドに基づかずに帯域幅にわたって雑音抑制発話信号108を復元する場合よりも、帯域幅にわたる歪みを多く減らすことができる。
いくつかの構成では、サブバンドの各々を復元することは、(たとえば、少なくとも3つのサブバンドの)2つ以上の以前に復元されたサブバンドをまとめることを含み得る。たとえば、2つ以上の以前に復元されたサブバンドをまとめることは、2つ以上の以前に復元されたサブバンドを組み合わせる(たとえば、連結する)ことを含むことがあり、ここで、組み合わされた復元されたサブバンド(たとえば、まとめられたサブバンド)は、別のサブバンドを予測するための基礎であり得る。電子デバイス102は、サブバンドの各々を復元することができる。サブバンドの各々を復元することは、復元された第1のサブバンドおよび復元された第2のサブバンドをまとめることを含み得る。
まとめられた復元されたサブバンドは、1つまたは複数の追加のサブバンドを予測するために使用され得る。たとえば、まとめられた復元されたサブバンドは、(コードブックがまとめられたサブバンドの外側の周波数範囲へと延びる場合)コードブックを探すための基礎として、かつ/または、まとめられたサブバンドの外側の周波数範囲へとまとめられたサブバンドの帯域幅を拡張するための基礎として使用され得る。いくつかの構成では、電子デバイス102は、少なくとも3つのサブバンドのうちの以前に復元された第1のサブバンドおよび以前に復元された第2のサブバンドをまとめることによって、サブバンドの各々を復元することができる。第3のサブバンドは、まとめられた復元された第1のサブバンドおよび復元された第2のサブバンドに基づいて予測され得る。いくつかの構成では、まとめられたサブバンドは、周波数範囲が連続していることがある。
加えて、または代替的に、各々の以前に復元されたサブバンドは、任意の以前に復元されたサブバンドと復元されている現在のサブバンドの組み合わされた周波数範囲内で入れ子にされ得る。たとえば、サブバンド復元の各々の繰返しは、任意の以前に復元されたサブバンドに基づいてサブバンドを復元することができ、ここで、以前に復元されたサブバンドの各々は、以前に復元されたサブバンドと復元されているサブバンドの組み合わされた周波数範囲内にある。したがって、各々の繰返しは、復元されたサブバンドの全体の(たとえば、連続する)周波数範囲を拡大し得る。
サブバンドの各々を繰り返し復元する(206)ことの一例が次のように与えられ、ここで帯域幅は3つのサブバンドを含む。第1に、電子デバイス102が、3つのサブバンドのうちの第1のサブバンドを復元して、復元された第1のサブバンドを作成し得る。第2に、電子デバイス102が、復元された第1のサブバンドに基づいて、少なくとも3つのサブバンドのうちの第2のサブバンドを復元して、復元された第2のサブバンドを作成し得る。第3に、電子デバイス102が、復元された第1のサブバンドおよび復元された第2のサブバンドに基づいて、3つのサブバンドのうちの第3のサブバンドを復元して、復元された第3のサブバンドを作成し得る。
いくつかの構成では、帯域幅の第1のサブバンドを復元する(206)ことは、第1のサブバンドのエンベロープをモデル化することと、第1のサブバンドの位相をモデル化することとを含み得る。第1のサブバンドは、エンベロープおよび位相に基づいて調整され得る。エンベロープをモデル化するための、および/または位相をモデル化するための手法のより具体的な例が、図11に関して与えられる。
いくつかの構成では、サブバンドの各々を繰り返し復元する(206)ことは、(帯域幅の)第1のサブバンドだけに基づいてコードブックを探して、選択されたエントリを決定することを含み得る。コードブックのエントリは、第1のサブバンドおよび第2のサブバンドの帯域幅(たとえば、周波数範囲)にわたり得る。第1のサブバンドおよび第2のサブバンドは、帯域幅全体のサブバンドであることがあり、第1のサブバンドおよび第2のサブバンドのスパンは、帯域幅全体のサブ帯域幅(たとえば、サブ周波数範囲)であることがある。雑音抑制発話信号の第2のサブバンドは、選択されたエントリに基づいて調整され得る。コードブックを探してサブバンドを調整するための手法のより具体的な例が、図13に関して与えられる。
いくつかの構成では、サブバンドの各々を繰り返し復元する(206)ことは、モデル化信頼度を決定することと、モデル化信頼度に基づいてスケーリング係数を決定することとを含み得る。サブバンドの1つまたは複数に対応するエンベロープは、スケーリング係数に基づいて混合され得る。モデル化信頼度を決定すること、スケーリング係数を決定すること、および/またはエンベロープを混合することのための手法のより具体的な例が、図13および図15の1つまたは複数に関して与えられる。
いくつかの構成では、サブバンドの各々を繰り返し復元する(206)ことは、有声のフレームに対するマイクロフォンレベルを検出することと、有声のフレームに対する処理された発話レベルを検出することとを含み得る。マイクロフォンレベルおよび処理された発話レベルに基づいて、利得が決定され得る。利得は、帯域幅にわたる処理された発話信号に適用され得る。マイクロフォンレベルを決定すること、処理された発話レベルを決定すること、利得を決定すること、および/または利得を適用することのための手法のより具体的な例が、図17に関して与えられる。
いくつかの構成では、電子デバイス102は、増強された発話信号112を提供し得る。これは、図1に関して上で説明されたように成し遂げられ得る。たとえば、電子デバイス102は、増強された発話信号112に基づいて時間領域発話信号116を生成し得る。加えて、または代替的に、電子デバイス102は、増強された発話信号112、ならびに/または、増強された発話信号112を導出するために利用される1つまたは複数の信号および/もしくはパラメータ120を送信し得る。
図3は、発話の復元のためのシステムおよび方法が実装され得る、電子デバイス302のより具体的な例を示すブロック図である。図3に関して説明する電子デバイス302は、図1に関して説明した電子デバイス102の一例であり得る。
本明細書で開示されるシステムおよび方法のいくつかの構成は、高調波分析および発話モデル化によって残余雑音を除去し、かつ/または発話エンベロープを再構築する、単一チャネルの帯域ごとの手法に従うことがあり、ここでこの手法は、空間情報および/または雑音推定(たとえば、空間処理からの雑音推定)には依存しない。いくつかの構成では、帯域ごとの2位相の処理が、雑音抑制処理の後で実行され得る。
電子デバイス302は、雑音抑制モジュール306、任意選択の発話クリーンアップモジュール322、および/または反復的サブバンド復元モジュール310を含み得る。電子デバイス302は、雑音のある発話信号304を取得し得る。これは、たとえば、図1に関して説明されたように達成され得る。雑音のある発話信号304(たとえば、雑音のある発話信号304の1つまたは複数のフレーム)は、雑音抑制モジュール306および反復的サブバンド復元モジュール310へ提供され得る。
雑音抑制モジュール306は、雑音のある発話信号304の中の雑音を抑制することができる。これは、たとえば、図1に関して説明されたように達成され得る。雑音抑制モジュール306は、雑音抑制発話信号308を作成することができる。雑音抑制発話信号308は、少なくとも3つのサブバンド(たとえば、3つ以上のサブバンド)を含む帯域幅を有し得る。たとえば、雑音抑制発話信号308の帯域幅は0〜8kHzにわたることがあり、ここで第1のサブバンドは0〜2kHzにわたり、第2のサブバンドは2〜4kHzにわたり、第3のサブバンドは4〜8kHzにわたる。上で述べられたように、他の帯域幅および/またはサブバンドの範囲が利用され得る。雑音抑制モジュール306は雑音発話信号の中の雑音を抑制し得るが、得られた雑音抑制発話信号308は、いくらかの残余雑音をまだ含むことがあり、かつ/または、雑音抑制の結果として破損した発話信号を含むことがある。雑音をさらに除去し、かつ/または雑音抑制の後で得られる雑音抑制発話信号308を増強することが有益であり得る。
雑音抑制発話信号308は、任意選択の発話クリーンアップモジュール322に提供され得る。発話クリーンアップモジュール322は、第1のサブバンド発話分析モジュール324および/または第1のサブバンド残差雑音クリーンアップモジュール326を含み得る。いくつかの構成では、発話クリーンアップモジュール322によって実行される動作は、雑音抑制発話信号308を改善するための処理の(2つの段階のうちの)第1の段階であると見なされ得る。たとえば、この第1の段階(任意選択であり得る)は、第1のサブバンド(たとえば、0〜2kHzにわたるサブバンド)のための高調波分析および/または発話クリーンアップを含み得る。
雑音抑制発話信号308は、第1のサブバンド発話分析モジュール324に提供され得る。第1のサブバンド発話分析モジュール324は、第1のサブバンドを分析し得る。たとえば、第1のサブバンド発話分析モジュール324は、雑音抑制発話信号308の第1のサブバンドに基づいて、ピーク分析(たとえば、ピークを採集することおよび/またはピークを精緻化すること)および高調波分析(たとえば、調波性を計算することおよび/または音高候補を選択すること)の1つまたは複数を実行し得る。第1のサブバンド発話分析の手法の1つまたは複数の例は、図10、図20〜図28、および図37〜図38の1つまたは複数に関して与えられ得る。
第1のサブバンド残余雑音クリーンアップモジュール326は、雑音抑制発話信号308の第1のサブバンドから1つまたは複数の非発話ピークを除去することができ、発話の谷(たとえば、発話ピークと発話ピークの間の領域)をクリーンアップすることができ、かつ/または非発話フレームを漂白することができる。第1のサブバンド残余雑音クリーンアップの手法の1つまたは複数の例は、図10、図20〜図28、および図37〜図38の1つまたは複数に関して与えられ得る。第1のサブバンド発話分析および/または第1のサブバンド残余雑音クリーンアップを実行することは、雑音抑制発話信号308のクリーンにされた第1のサブバンドを作成し得る。クリーンにされた第1のサブバンド(および、たとえば雑音抑制発話信号308の残りの帯域幅)は、反復的サブバンド復元モジュール310に(たとえば、第1のサブバンド復元モジュール328に)提供され得る。
反復的サブバンド復元モジュール310は、雑音抑制発話信号308のサブバンドの各々を復元し得る。反復的サブバンド復元モジュール310は、第1のサブバンド復元モジュール328、第2のサブバンド復元モジュール330、第3のサブバンド復元モジュール332、および/または等化モジュール334を含み得る。
いくつかの構成では、第1のサブバンド復元モジュール328は、発話の強化(たとえば、0〜2kHzに対する低帯域の発話の強化)を実行することによって、第1のサブバンドを復元し得る。発話の強化の手法のより具体的な例は、図11に関して与えられる。
いくつかの構成では、第2のサブバンド復元モジュール330は、発話の消音防止(たとえば、2〜4kHzに対する低帯域の発話の消音防止)を実行することによって、第2のサブバンドを復元し得る。発話の消音防止の手法のより具体的な例は、図13に関して与えられる。
いくつかの構成では、第3のサブバンド復元モジュール332は、エンベロープの調整(たとえば、4〜8kHzに対する高帯域のエンベロープの修正)を実行することによって、第3のサブバンドを復元し得る。エンベロープの調整の手法のより具体的な例は、図15に関して与えられる。
いくつかの構成では、等化モジュール334は、帯域幅を等化する(たとえば、0〜8kHzに対して発話レベルの等化を実行する)ことができる。帯域幅の等化の手法のより具体的な例は、図17に関して与えられる。
反復的サブバンド復元モジュール310(たとえば、サブバンド発話復元モジュール)の動作の1つまたは複数は、いくつかの構成では、雑音抑制発話信号308(たとえば、0〜8kHzに対する発話エンベロープの復元)を改善するための処理の第2の段階であると見なされ得ることに留意されたい。反復的サブバンド復元モジュール310は、増強された発話信号312を作成し得る。
図4は、本明細書で開示されるシステムおよび方法による、発話のエンベロープの復元の前と後の発話フレームの一例を示すグラフである。グラフは、周波数438(ヘルツ(Hz)単位)にわたり、信号振幅436(デシベル(dB)単位)について示されている。具体的には、グラフは、破損した発話446(たとえば、雑音抑制発話信号)のプロットおよび復元された発話448のプロットを示している。図4に示されるように、発話の強化440、消音防止442、およびエンベロープ修正444が、発話信号の構造を改善し得る。
本明細書で開示されるシステムおよび方法のいくつかの利点は、次のように与えられる。本明細書で開示されるシステムおよび方法のいくつかの構成では、モデル化手法は、(たとえばデバイスが最適ではない会話の場所にあるとき、および/または悪いSNRの状況にあるときに)信頼できないことがある空間情報および雑音参照の推定とは無関係である。発話エンベロープの復元は、より低い周波数からより高い周波数へと、帯域ごとの方式で行われ得る。全体の帯域のエンベロープを直接復元するよりも、クリーンな発話エンベロープを徐々にマッチングする方が信頼性があることがある。したがって、復元はより信頼性のあるスペクトルサブバンド(たとえば、0〜2kHz)から開始することがあり、そこで顕著な高調波および/またはピークの内容が得られることがある。これに、発話のクリーンアップおよび強化440が続き得る。発話のクリーンアップおよび強化440は、まず最低のサブバンドにおいて実行され得る。復元された第1のサブバンドの発話エンベロープに基づいて、第2のサブバンド(たとえば、2〜4kHz)のエンベロープは、第1のサブバンド(たとえば、0〜2kHz)におけるよりも悪いサブバンドSNR条件によって引き起こされる消音された発話を復元するために、コードブックに基づく手法を用いてモデル化され得る。SNRは、特にピンクノイズおよび音楽の雑音の場合には、第3のサブバンド(たとえば、4〜8kHz)においてより悪くなり得るので、第3の(たとえば、高い)サブバンドの発話エンベロープは、復元されたより低い帯域(たとえば、0〜4kHzなどの第1のサブバンドおよび第2のサブバンド)の発話の助けによって、クリーンな発話エンベロープへと復元され調整され得る(たとえば、近似的にマッチングされ得る)。定量的な評価は、発話エンベロープ復元手法を使用すると、別の手法と比較して大きな改善を示した。図5〜図9は、図3に関して説明された動作のいくつかに対応する雑音抑制発話スペクトルにおける改善を示す。
図5は、発話のクリーンアップの後の処理された発話スペクトログラムの例を示すグラフである。グラフは、時間(時間、分、および秒(hms))550にわたり、周波数(Hz)538について示されている。具体的には、図5は、6dBのピンクノイズの場合の、0〜2kHzのサブバンドにおける第1段階の発話クリーンアップ552を示す。これは、図3に関して説明された第1のサブバンドの残余雑音クリーンアップから得られる信号の一例であり得る。
図6は、第1のサブバンドの復元の後の処理された発話スペクトログラムの例を示すグラフである。グラフは、時間(hms)650にわたり、周波数(Hz)638について示されている。具体的には、図6は、6dBのピンクノイズの場合の、0〜2kHzのサブバンドにおける第2段階の発話の強化654を示す。これは、図3に関して説明された第1のサブバンドの復元から得られる信号の一例であり得る。
図7は、第2のサブバンドの復元の後の処理された発話スペクトログラムの例を示すグラフである。グラフは、時間(hms)750にわたり、周波数(Hz)738について示されている。具体的には、図7は、6dBのピンクノイズの場合の、2〜4kHzのサブバンドにおける第2段階の発話の消音防止を示す。これは、図3に関して説明された第2のサブバンドの復元756から得られる信号の一例であり得る。
図8は、第3のサブバンドの復元の後の処理された発話スペクトログラムの例を示すグラフである。グラフは、時間(hms)850にわたり、周波数(Hz)838について示されている。具体的には、図8は、6dBのピンクノイズの場合の、4〜8kHzのサブバンドにおける第2段階の高帯域のエンベロープの調整(たとえば、修正)858を示す。これは、図3に関して説明された第3のサブバンドの復元から得られる信号の一例であり得る。
図9は、第3のサブバンドの復元の後の処理された発話スペクトログラムの例を示すグラフである。グラフは、時間(hms)950にわたり、周波数(Hz)938について示されている。具体的には、図9は、6dBのピンクノイズの場合の、0〜8kHzの帯域幅における第2段階の発話レベルの等化960を示す。これは、図3に関して説明された等化から得られる信号の一例であり得る。
図10は、高調波分析および発話クリーンアップの手法のより具体的な例を示すブロック図である。図10に関して説明されるモジュールの1つまたは複数は、いくつかの構成では、図3に関して説明された発話クリーンアップモジュール322において実装され得る。たとえば、図10は、第1のサブバンドの発話分析および第1のサブバンドの残余雑音クリーンアップの手法のより具体的な例を与え得る。いくつかの構成では、図10に関して説明される動作は、第1段階の動作であると見なされ得る。
電子デバイス302は、ピーク分析1068を実行し得る。たとえば、発話スペクトル1098(たとえば、雑音抑制発話信号308)が、ピーク採集モジュール1062に提供され得る。ピーク採集モジュール1062は、発話スペクトル1098における顕著なピークを採集する(たとえば、決定する、選択する)ことができる。ピーク精緻化モジュール1064は、ピークの性質(たとえば、振幅、周波数、位相、重心、および群遅延)に基づいてピークを精緻化することができる。いくつかの構成では、この精緻化は、高速フーリエ変換(FFT)の分解能を超えてピークを精緻化するように実行され得る。ピーク精緻化モジュール1064は、ピークセット1066を作成することができ、これは、調波性モジュール1070、短期レベルモジュール1082、および発話クリーンアップモジュール1092に提供され得る。
電子デバイス302は、高調波分析1084を実行し得る。調波性モジュール1070は、スペクトルピークが各々の音高仮定と適合する程度(たとえば、調波性hp)を計算することができ、かつ/または、高い調波性を有する音高仮定を音高候補として選択することができる。調波性は、完全性モジュール1072および音高(たとえば、基本周波数f0)分解モジュール1076に提供され得る。
各音高(たとえば、f0)候補に対して、完全性モジュール1072が完全性の尺度(たとえば、cp)を計算することができる。完全性の尺度は、スペクトルにおける発話の倍音の存在の程度を示し得る。完全性の尺度は、音高分解モジュール1076に提供され得る。
音高分解モジュール1076は、1つまたは複数の特徴(たとえば、調波性、完全性の尺度、および/または最後のフレームの音高1074(たとえば、f0))に基づいて、音高候補を分解することができる。具体的には、音高分解モジュール1076は、調波性、完全性の尺度、および/または最後のフレームの音高1074に基づいて、1つまたは複数の条件を満たす音高1080を選択することができる。選択された音高1080は、短期レベルモジュール1082に提供され得る。音高分解モジュール1076は、アンカーフレームに標識またはタグ付けを行うこともできる。アンカーフレームは、高い調波性(たとえば、調波性の閾値より大きい調波性)および完全性(たとえば、完全性の閾値より大きい完全性)を示すフレームであり得る。アンカーフレームタグ1078は、長期レベルモジュール1086に提供され得る。短期レベルモジュール1082は、高調波発話ピーク1066から短期の時間領域ピークレベルを決定することができる。短期の時間領域ピークレベルは、長期レベルモジュール1086に提供され得る。
電子デバイス302は、発話のセグメント化1090を実行し得る。具体的には、長期レベルモジュール1086は、長期レベルを、アンカーフレームにわたって平滑化された短期レベルとして決定することができる。長期レベルは、発話状態モジュール1088に提供され得る。発話状態モジュール1088は、あらゆる発話状態の遷移(たとえば、有声、有声オンセット、有声オフセット、および/または無声/非発話の間の)を決定することができる。たとえば、発話状態モジュール1088は、長期レベルおよびアンカーフレームタグ1078によって駆動される有限ステートマシンとして動作し得る。発話状態モジュール1088は、発話クリーンアップモジュール1092に発話状態を示し得る。
電子デバイス302は、発話のクリーンアップ1094を実行し得る。具体的には、発話クリーンアップモジュール1092は、あらゆる非発話ピークを除去し、1つまたは複数の発話の谷をクリーンアップし、かつ/または1つまたは複数の非発話フレームを漂白することができる。発話クリーンアップモジュール1092は、クリーンにされた発話ピークセット1096を作成することができる。発話クリーンアップモジュール1092は、図3に関して説明された発話クリーンアップモジュール322の要素または構成要素として実装され得ることに留意されたい。
図11は、第1のサブバンド復元の手法のより具体的な例を示すブロック図である。たとえば、図11に関して説明されるモジュールの1つまたは複数は、図3に関して説明された第1のサブバンド復元モジュール328において実装され得る。いくつかの構成では、第1のサブバンドの復元は、低帯域(たとえば、0〜2kHz)の発話の強化であることがあり、かつ/または、第2段階の発話エンベロープ復元処理の一部であると見なされることがある。
電子デバイス302は、エンベロープのモデル化1107(たとえば、発話スペクトルエンベロープのモデル化)を実行し得る。(たとえば、図3に関して説明されるような第1のサブバンド残余雑音クリーンアップモジュール326から、かつ/または図10に関して説明されるような発話クリーンアップモジュール1092から提供される)クリーンにされた発話ピークセット1196は、単極エンベロープモジュール1101および離散全極(DAP)エンベロープモジュール1103に提供され得る。単極エンベロープモジュール1101は、既存の発話の倍音を使用して単極モデル化を実行して、フォールバックエンベロープを生成することができる。DAPエンベロープモジュール1103は、既存の倍音から検出された発話フォルマントに基づいて、DAPのモデル化を実行することができる。DAPのモデル化は、安定性のために単極モデル化によって保護され得る。統合エンベロープモジュール1105は、単極エンベロープとDAPエンベロープを統合して、統合されたエンベロープを作成することができる。
電子デバイス302は、位相のモデル化1113または発話の倍音の位相のモデル化を実行し得る。たとえば、統合されたエンベロープは、フレーム間位相モジュール1109に提供され得る。フレーム間位相モジュール1109は、フレーム対フレームの発話の波の連続性を制限するために、フレーム間の位相のモデル化を実行し得る。さらに、フレーム内位相モジュール1111が、発話の複数の倍音にわたる一貫性を強めるために、フレーム内の位相のモデル化を実行し得る。
電子デバイス302はまた、発話スペクトルの再合成1117を実行し得る。具体的には、発話倍音復元モジュール1115が、再構築された振幅および位相を用いて欠けている倍音を復元するためのテンプレートとして、標準的な発話ピークまたは既存の発話ピークを使用し得る。したがって、発話倍音復元モジュール1115は、復元された発話スペクトル1119(たとえば、復元された第1のサブバンド)を作成し得る。
図10〜図11のモジュール、機能、手順、構造、および/または要素の1つまたは複数の追加の例は、いくつかの構成では、図20〜図44の1つまたは複数に関連して提供され得ることに留意されたい。たとえば、図20〜図44の1つまたは複数に関して説明されるモジュール、機能、手順、構造、および/または要素の1つまたは複数が、いくつかの構成では、本明細書で開示されるシステムおよび方法に従って、図10〜図11の1つまたは複数に関して説明されるモジュール、機能、手順、構造、および/もしくは要素の1つまたは複数に加えて、またはそれらの代わりに実装され得る。
図12Aは、第1のサブバンド復元の例を示すグラフA1221aを含む。グラフは、周波数(Hz)1238にわたり、振幅(デシベル(dB))1236について示されている。具体的には、グラフA1221aは、周波数領域におけるクリーンにされた雑音抑制発話信号1223(たとえば、クリーンにされた雑音抑制発話信号のFFT)、クリーンにされた発話ピークセット1225、DAPエンベロープ1229、および復元された第1のサブバンド(たとえば、再合成された信号1227)を示す。グラフA1221aにおいて示されるように、元の発話信号からのいくつかのピーク(たとえば、約460Hzにおいて1つ、および600Hzと1200Hzの間でいくつか)が、雑音のマスキングおよび/または雑音抑制の結果として、失われている可能性があり、または破壊されている可能性がある。図11に関して説明されるように、電子デバイス302は、クリーンにされた発話ピークセット1225に基づいて、DAPエンベロープ1229を生成することができる。DAPエンベロープは、欠けているピーク(たとえば、欠けている高調波倍音)を復元(たとえば、再合成)するために使用され得る。復元された第1のサブバンド信号(たとえば、再合成された信号1227)は、1つまたは複数の追加のサブバンドを復元するために利用され得る。
図12Bは、第1のサブバンドのクリーンにされた発話および復元された発話のスペクトログラムの例を示す。具体的には、図12Bは、グラフB1221bおよびグラフC1221cを含む。グラフB1221bは、時間(hms)1250bにわたり、クリーンにされた(第1のサブバンドの)発話の例を周波数(Hz)1238bについて示している。たとえば、グラフB1221bに示されるクリーンな発話は、図3および図10の1つまたは複数に関して説明されるような第1のサブバンドの残余雑音クリーンアップの後の、発話信号の例であり得る。雑音の大半はこの時点で除去されているが、一部の高調波倍音が失われていること、または破壊されていることが観察され得る。グラフC1221cは、時間(hms)1250cにわたり、復元された(第1のサブバンドの)発話の例を周波数(Hz)1238cについて示している。たとえば、グラフC1221cに示される復元された発話は、図3および図11の1つまたは複数に関して説明されるような第1のサブバンドの復元の後の、発話信号の例であり得る。グラフC1221cに示されるように、欠けている高調波倍音またはピークの多くが復元されている。
図13は、第2のサブバンド復元の手法のより具体的な例を示すブロック図である。たとえば、図13に関して説明されるモジュールの1つまたは複数は、図3に関して説明された第2のサブバンド復元モジュール330において実装され得る。いくつかの構成では、第2のサブバンドの復元は、低帯域(たとえば、2〜4kHz)の発話の消音防止であることがあり、かつ/または、第2段階の発話エンベロープ復元処理の一部であると見なされることがある。
電子デバイス302は、発話エンベロープのモデル化1347(たとえば、0〜4kHzなどの第2のサブバンドのための)を実行し得る。復元された第1のサブバンド(たとえば、発話強化出力1331)が、入力フレームモジュール1333に提供され得る。入力フレームモジュールは、復元された第1のサブバンドを1つまたは複数のサブバンド(たとえば、第2のサブバンドおよび/または第3のサブバンド)と組み合わせて、入力(たとえば、第2のサブバンド復元モジュール330への「入力」)信号(たとえば、Xin)を作成することができる。たとえば、復元された第1のサブバンド(たとえば、0〜2kHz)は、組み合わされたサブバンド信号(たとえば、Xin_first_second)を作成するために第2のサブバンド(たとえば、2〜4kHz)と組み合わされることがあり、組み合わされたサブバンド信号は第1のサブバンドと第2のサブバンドの両方にわたる。たとえば、(第2のサブバンド復元モジュール330に入力される)入力フレームは、その第1のサブバンド(たとえば、0〜2kHz)が雑音抑制され復元され、その第2のサブバンド(たとえば、2〜4kHz)が雑音抑制されるが復元されない、入力信号であり得る。いくつかの構成では、復元された第1のサブバンドおよび第2のサブバンドを組み合わせることは、復元された第1のサブバンドを第2のサブバンドと連結することを含み得る。
復元された第1のサブバンドおよび第2のサブバンド(たとえば、Xin_first_second)は、特徴抽出モジュール1335に提供され得る。特徴抽出モジュール1335は、復元された第1のサブバンド(たとえば、0〜2kHz、14メル帯域)および組み合わされた信号(たとえば、Xin_mel_first_second、0〜4kHz、20メル帯域)のメルスペクトル(たとえば、Xin_mel_first)を推定することができる。たとえば、Xin_mel_first_secondは、第2のサブバンドと連結された、復元された第1のサブバンドに基づき得る。
いくつかの構成では、電子デバイス302はコードブック1339の訓練を実行し得る。たとえば、電子デバイス302は、メルスペクトルを使用して、第1のサブバンド(たとえば、0〜2kHz)のコードブックおよび合成サブバンド(たとえば、0〜4kHz)のコードブックを共同で訓練することができる。いくつかの構成では、第1のサブバンドのコードブックは、合成サブバンドのコードブック1339の部分集合であり得る。たとえば、合成サブバンドのコードブック1339のエントリは、第1のサブバンドおよび第2のサブバンドの帯域幅(たとえば、周波数範囲)にわたり得る。コードブックの訓練は、データベース(たとえば、5つの言語の3人の男性および3人の女性のネイティブスピーカー)を利用し得る。加えて、または代替的に、コードブックの訓練は、ベクトル量子化(たとえば、Linde-Buzo-Gray (LBG)アルゴリズム)によってオフラインで実行され得る。
第1のサブバンドのメルスペクトル(たとえば、Xin_mel_first)は、コードブック探索モジュール1337に提供され得る。コードブック探索モジュール1337は、合成サブバンドのコードブック1339を探索することができる。たとえば、コードブック探索モジュール1337は、復元された第1のサブバンドだけに基づいて、合成サブバンドのコードブック1339を探索することができる。言い換えると、コードブック1339は、復元された第1のサブバンドに最も近い1つまたは複数の(たとえば、N個の)コードブックエントリを(それらの対応するインデックスとともに)見つけることを試みることによって探索され得る。たとえば、コードブック探索モジュール1337は、上位のN個の最も近いコードブック候補のインデックスを見つけることができる。
合成サブバンドのコードブック1339を探索することは、いくつかの構成では、幾何学的距離に基づく対数スペクトル偏差を使用した距離の尺度に基づき得る。たとえば、第1のサブバンドの距離の尺度(たとえば、dfirst、コードブック1339における第1のサブバンド範囲に関する距離および/または歪みの尺度(たとえば、0〜2kHzの第1のサブバンドに対するd0-2k))は、幾何学的距離に基づく、二乗平均平方根(RMS)対数スペクトル偏差を使用して決定され得る。これは、次の式に従って達成され得る。
#first_subband_mel_bandsは第1のサブバンドに対応するメル帯域の数であり、first_subband_mel_bandsは第1のサブバンドに対応するメル帯域であり、Xin_mel_firstは復元された第1のサブバンド(たとえば、0〜2kHz)にわたるXinの観測されるメルスペクトルであり、Xcodebookはコードブック1339のエントリであることに留意されたい。得られるN個の最も近いインデックスは、特徴推定モジュール1341に提供され得る。
特徴推定モジュール1341は、スペクトル特徴の推定を実行することができる。たとえば、特徴推定モジュール1341は、N個の最も近いコードブックのエントリの加重和を計算することによって、合成サブバンド(たとえば、0〜4kHz)のメルスペクトルを推定することができる。この加重は、第1のサブバンド(たとえば、0〜2kHz)のコードブックのエントリまでの入力された特徴の距離の逆数に比例し得る。いくつかの構成では、特徴推定モジュール1341は、第1のサブバンド(たとえば、0〜2kHz)のコードブック(たとえば、Xin_mel)からの候補に従って、N個の対応する合成サブバンド(たとえば、0〜4kHz)のコードブック1339のインデックスを見つけることができる。これは、第1の復元されたサブバンドに基づいて第2のサブバンドを予測するための1つの手法であり得る。
合成サブバンド(たとえば、0〜4kHz)のコードブック1339からの推定されるメル帯域(たとえば、予測されるメルスペクトル、Xest_mel_first_second)は、スペクトルエンベロープ推定モジュール1345に提供され得る。スペクトルエンベロープ推定モジュール1345は、推定されるメルスペクトルベクトルを補間することによって、合成サブバンド(たとえば、0〜4kHz)のスペクトルエンベロープ(たとえば、Xest_env)を推定または予測することができる。観測される発話エンベロープ(たとえば、合成サブバンド(たとえば、0〜4kHz)にわたるXin_env)および推定または予測される発話エンベロープ(たとえば、Xest_env)は、スペクトル歪み分析モジュール1349に提供され得る。観測される発話エンベロープ(たとえば、Xin_env)は入力フレーム1333(たとえば、Xin)に基づくことがあり、入力フレームは第2のサブバンドと連結された復元された第1のサブバンドを含むことがあることに留意されたい。
電子デバイス302は、歪み分析1351を実行し得る。たとえば、スペクトル歪み分析モジュール1349は、スペクトル歪みおよび/またはモデル化信頼度の尺度を決定することができる。第1のサブバンドおよび/または第2のサブバンド(たとえば、0〜4kHz)に対するスペクトルエンベロープの歪みは次の通りであり得る。第1のサブバンド(たとえば、0〜2kHz)のスペクトル歪み(たとえば、dfirst)は、モデル化誤差の尺度である。第2のサブバンド(たとえば、2〜4kHz)のスペクトル歪み(たとえば、dsecond)は、現在のフレームの消音度の尺度である。たとえば、第2のサブバンドに対するスペクトル歪みの尺度(たとえば、2〜4kHzという第2のサブバンドに対するd2-4k)は、現在のフレームがどれだけ歪んでいるか、かつ/または消音されているかを示唆する。いくつかの構成では、第2のサブバンドのスペクトル歪みは、次の式に従って決定され得る。
#second_subband_FFT_binsは第2のサブバンドに対応するFFTビンの数であり、second_subband_FFT_binsは第2のサブバンドに対応するFFTビンであることに留意されたい。
いくつかの構成では、スペクトル歪み分析モジュール1349は、モデル化信頼度を決定(たとえば、計算)することができる。たとえば、モデル化信頼度はconf=y(dfirst, dsecond)として表され得る(たとえば、0〜2kHzからの第1のサブバンドおよび2〜4kHzからの第2のサブバンドに対してconf=y(d0-2k, d2-4k))。モデル化信頼度は、消音防止段階における判断の実行を支援し得る。モデル化信頼度は、モデル化がクリーンな発話モデルに対してどれだけ正確に一致するかを示唆し得る。いくつかの構成では、モデル化信頼度は、conf=(thresholddist-dsecond)/thresholddistという式に従って決定されることがあり、ここでthresholddistは、歪みの尺度を信頼度の尺度に変換する正の値である閾値(たとえば、調整パラメータ)である。
電子デバイス302は、消音防止1355を実行し得る。たとえば、Xin_env、Xest_env、およびモデル化信頼度が、発話消音防止モジュール1353に提供され得る。発話消音防止モジュール1353は、第2のサブバンド(たとえば、2〜4kHz)に対する消音防止を実行することができる。たとえば、発話消音防止モジュール1353は、第2のサブバンド(たとえば、2〜4kHz)に対するエンベロープ利得を計算することができる。いくつかの構成では、第2のサブバンドのエンベロープ利得は、次の式に従って計算され得る。
ここでkはビンのインデックスである。
モデル化信頼度が閾値より大きい場合(たとえば、conf>閾値)、発話消音防止モジュール1353は、エンベロープ利得を消音された振幅スペクトルに適用することができる。たとえば、第2のサブバンドの復元出力フレーム(たとえば、Xout_second)の第2のサブバンド(たとえば、2〜4kHz)は、次の式に従って計算され得る。
ここで*は要素ごとの乗算である。たとえば、エンベロープ利得が、次の式に従って入力フレーム1333の第2のサブバンドに適用され得る。
発話消音防止モジュールは、復元された第2のサブバンド(たとえば、Xout_second)を出力フレームモジュール1357に提供することができる。
出力フレームモジュール1357は、ある帯域幅にわたる出力フレームを生成することができる。たとえば、出力フレームモジュール1357は、復元された第1のサブバンド(たとえば、0〜2kHz)、復元された第2のサブバンド(たとえば、2〜4kHz)、および第3のサブバンド(たとえば、4〜8kHz)を組み合わせて、帯域幅(たとえば、0〜8kHz)にわたる出力フレーム(たとえば、Xout)を作成することができる。出力(たとえば、第2のサブバンド復元モジュール330からの「出力」)は、高帯域発話エンベロープ調整モジュール1358(たとえば、第3のサブバンド復元モジュール332)に提供され得る。
図14は、本明細書で開示されるシステムおよび方法による、発話の消音防止の前と後の発話の一例を示すグラフである。グラフは、周波数1438(ヘルツ(Hz)単位)にわたり、信号振幅1436(デシベル(dB)単位)について示されている。具体的には、グラフは、6dBのピンクノイズの場合の、消音防止の前の発話のプロット1459と、消音防止の後の発話のプロット1461とを示す。図14に示されるように、発話の消音防止は、発話信号の構造を改善し得る。
図15は、第3のサブバンド復元の手法のより具体的な例を示すブロック図である。たとえば、図15に関して説明されるモジュールの1つまたは複数は、図3に関して説明された第3のサブバンド復元モジュール332において実装され得る。いくつかの構成では、第3のサブバンドの復元は、高帯域(たとえば、2〜4kHz)の発話エンベロープの調整(たとえば、修正)であることがあり、かつ/または、第2段階の発話エンベロープ復元処理の一部であると見なされることがある。
電子デバイス302は、第3のサブバンド(たとえば、4〜8kHz)に対する発話エンベロープのモデル化1573を実行することができる。第2のサブバンドの復元出力(たとえば、発話消音防止出力1563)は、入力(たとえば、第3のサブバンド復元モジュール332への「入力」)フレームモジュール1565に提供され得る。第2のサブバンドの復元処理からのモデル化信頼度(たとえば、図13に関して説明されるようなモデル化信頼度)は、エンベロープ混合モジュール1575に提供され得ることにも留意されたい。入力フレームモジュール1565は、1つまたは複数のモジュールへの入力フレーム(たとえば、Xin_first_second_third)の部分を提供することができる。たとえば、入力フレームモジュール1565は、帯域幅拡張モジュール1567および出力広帯域スペクトルモジュール1581に第1のサブバンドおよび第2のサブバンド(たとえば、Xin_first_second)を提供することができる。入力フレームモジュール1565はまた、第3のサブバンド(たとえば、Xin_third)を特徴抽出モジュール1569に提供することができる。
帯域幅拡張モジュール1567は、第1のサブバンドおよび第2のサブバンドに対する帯域幅拡張を実行することができる。たとえば、帯域幅拡張モジュール1567は、入力低帯域スペクトル(たとえば、Xin_first_second、0〜4kHz)を適用して、高帯域スペクトル(たとえば、Xin_third、4〜8kHz)を予測することができる。いくつかの構成では、帯域幅拡張モジュール1567は、図46に関して説明されるような帯域幅拡張を実行することができる。帯域幅拡張モジュール1567は、第3のサブバンドに対応する拡張信号(たとえば、Xbe、4〜8kHz)を作成することができる。拡張信号は、特徴抽出モジュール1569に提供され得る。
特徴抽出モジュール1569は、第3のサブバンド(たとえば、Xin_third)および拡張信号(たとえば、Xbe)に基づいて特徴抽出を実行することができる。たとえば、特徴抽出モジュール1569は、入力された第3のサブバンドおよび拡張信号(たとえば、帯域幅拡張された信号)に対する第3のサブバンド(たとえば、高帯域)のメルスペクトルを推定することができる。特徴抽出モジュール1569は、第3のサブバンドのメルスペクトル(たとえば、Xin_mel)および推定または予測された第3のサブバンドのメルスペクトル(たとえば、Xest_mel)を作成することができる。第3のサブバンドのメルスペクトル(たとえば、Xin_mel)および推定または予測された第3のサブバンドのメルスペクトル(たとえば、Xest_mel)は、エンベロープ推定モジュール1571に提供され得る。
エンベロープ推定モジュール1571は、メルスペクトルベクトルを補間することによって、第3のサブバンド入力(たとえば、Xin_env_third)および/または拡張信号(たとえば、Xbe_env)に対応するスペクトルエンベロープを推定することができる。スペクトルエンベロープは、エンベロープ混合モジュール1575に提供され得る。
電子デバイス302は、発話エンベロープの混合1577を実行し得る。たとえば、エンベロープ混合モジュール1575は、第3のサブバンド入力(たとえば、Xin_env_third)および/または拡張信号(たとえば、Xbe_env、推定される高帯域発話エンベロープ)に対応するスペクトルエンベロープを混合することができる。この混合は、前の段階(たとえば、第2のサブバンド復元モジュール330)からのモデル化信頼度に従って実行され得る。たとえば、電子デバイス302は、モデル化信頼度に基づいてスケーリング係数を決定することができる。いくつかの構成では、スケーリング係数は次の式に従って決定され得る。scaling=α*conf、ただし0<α<1。αは調整パラメータであり得る。いくつかの構成では、この混合は次の式に従って実行され得る。Xmix_env=scaling*Xbe_env+(1-scaling)*Xin_env_third、ここでXmix_envは混合されたエンベロープであり、scalingはモデル化信頼度に比例するスケーリング係数である。混合されたエンベロープ(たとえば、Xmix_env)および第3のサブバンドの入力エンベロープ(たとえば、Xin_env_third)は、エンベロープ調整モジュール1579に提供され得る。
電子デバイス302は、第3のサブバンド(たとえば、4〜8kHz)に対する発話エンベロープの修正1585を実行することができる。たとえば、エンベロープ調整モジュール1579は、第3のサブバンドエンベロープ利得に基づいて、第3のサブバンドを調整(たとえば、修正)することができる。いくつかの構成では、第3のサブバンドのエンベロープ利得は、次の式に従って計算され得る。
ここでkはビンのインデックスである。エンベロープ調整モジュール1579は、利得を入力スペクトルの第3のサブバンドに適用することができる。たとえば、エンベロープ調整モジュール1579は、次の式に従って利得を適用することができる。
エンベロープ調整モジュール1579は、復元された第3のサブバンド(たとえば、Xout_third、調整された第3のサブバンド信号)を出力広帯域スペクトルモジュール1581に提供することができる。
出力広帯域スペクトルモジュール1581は、復元された第1のサブバンド、第2のサブバンド、および復元された第3のサブバンドを組み合わせて、出力(たとえば、第3のサブバンド復元モジュール332からの「出力」)信号(たとえば、Xout)を作成することができる。出力信号は、発話レベル等化モジュール1583(たとえば、等化モジュール334)に提供され得る。
いくつかの構成では、帯域幅拡張モジュール1567は、励振信号を生成および/または利用し得ることに留意されたい。たとえば、第3のサブバンド(たとえば、4〜8kHz)の復元のために、図46に関して説明される帯域幅拡張手法は、励振信号拡張プロセスを実行して、より上の帯域(たとえば、4〜8kHz)の発話を再合成することができる。しかしながら、図15に示されるように、再合成されたより上の帯域(たとえば、4〜8kHz)の発話信号から、スペクトル特徴が抽出され、発話エンベロープが推定される。そして、元の破損した(たとえば、雑音抑制された)信号が、エンベロープ領域において復元される。あらゆる人工的な励振信号が寄与する情報は、この手順の間に廃棄され得る。したがって、励振信号自体は、第3のサブバンドの最終的な発話エンベロープの復元(たとえばエンベロープの調整、エンベロープの修正など)において適用されない。たとえば、励振信号または励振信号に基づく再合成された信号は、復元される第3のサブバンドではない。むしろ、復元される第3のサブバンドは、元の破損した発話信号(たとえば、第3のサブバンドにおける雑音抑制された信号)の調整された(たとえば、スケーリングされた、修正された、利得が適用された、など)バージョンであり得る。帯域幅拡張手法が本明細書で開示されるシステムおよび方法のいくつかの構成において利用され得るが、推定される人工的な励振信号は、最終的な第3のサブバンドの発話エンベロープの復元(たとえば、エンベロープ修正1585)に対して不要であり得ることにも留意されたい。
図16は、本明細書で開示されるシステムおよび方法による、発話エンベロープ調整の前と後の発話の一例を示すグラフである。グラフは、周波数1638(ヘルツ(Hz)単位)にわたり、信号振幅1636(デシベル(dB)単位)について示されている。具体的には、グラフは、6dBのピンクノイズの場合の、エンベロープ調整の前の発話のプロット1687と、エンベロープ修正の後の発話のプロット1689とを示す。図16に示されるように、発話エンベロープの調整は、発話信号の構造を改善し得る。
図17は、発話レベルの等化の手法のより具体的な例を示すブロック図である。たとえば、図17に関して説明されるモジュールの1つまたは複数は、図3に関して説明された等化モジュール334において実装され得る。いくつかの構成では、発話レベルの等化は、帯域(たとえば、0〜8kHz)にわたって実行されることがあり、かつ/または、第2段階の発話エンベロープ復元処理の一部であると見なされることがある。
主要マイクロフォンレベルモジュール1791は、有声のフレームに対する主要マイクロフォンレベルを検出することができる。たとえば、単一入力のマイクロフォンのレベルが検出され得る。処理済発話レベルモジュール1793は、有声のフレームに対する処理された発話レベルを検出することができる。処理された発話レベルは、第3のサブバンド復元モジュール332から出力される信号(たとえば、0〜8kHz)であり得る。基本マイクロフォンレベルおよび処理された発話レベルは、利得平滑化モジュール1795に提供され得る。
利得平滑化モジュール1795は、利得の制限を伴ってフレームにわたって利得の平滑化を実行することができる。たとえば、利得平滑化モジュール1795は、処理された発話スペクトルに利得を適用することができる。
平滑化された発話スペクトルは、レベル等化モジュール1797に提供され得る。レベル等化モジュール1797は、平滑化された発話スペクトルを等化して、等化された発話を生成することができる。
図18は、本明細書で開示されるシステムおよび方法による、発話の等化の前と後の発話の例を示すグラフ1821a〜bを含む。グラフB1821bは、周波数1838(ヘルツ(Hz)単位)にわたり、信号振幅1836(デシベル(dB)単位)について示されている。具体的には、グラフB1821は、等化の前の処理された発話のプロット1802と、等化の後の発話のプロット1899とを示す。グラフA1821aは、時間(hms)1806にわたって振幅1804a〜bについて示されている。グラフA1821aの上側のプロットは、発話の等化の前の発話の波形の例である。グラフA1821aの下側のプロットは、発話の等化の後の発話の波形の例である。振幅A1804aおよび振幅B1804bの単位は、正規化された線形値(たとえば、最大=1、最小=-1)であることに留意されたい。図18に示されるように、発話の等化は、発話信号の構造を改善し得る。
図19は、本明細書で開示されるシステムおよび方法の実行の例を示すグラフ1921a〜bを含む。グラフA1921aは、様々な雑音タイプ1908aに対するS平均オピニオン評点(SMOS)1910について示されている。SMOSは、3QUEST(3-fold Quality Evaluation of Speech in Telecommunications)の客観的評価の一例である。具体的には、グラフA1921aは、最適な雑音抑制、外に向かって60度(たとえば、「out60°」)の保持姿勢における雑音抑制、本明細書で開示されるシステムおよび方法に従った最適な復元、ならびに、外に向かって60度(たとえば、「out60°」)の保持姿勢における本明細書で開示されるシステムおよび方法に従った復元に対する、SMOSを示す。グラフA1921aに示されるように、SMOS1910は復元があってもほぼ同じである。
グラフB1921bは、様々な雑音タイプ1908bに対するN平均オピニオン評点(NMOS)1912について示されている。NMOSは、3QUESTの客観的評価の別の例である。具体的には、グラフB1921bは、最適な雑音抑制、準最適な雑音抑制、本明細書で開示されるシステムおよび方法に従った最適な復元、ならびに、本明細書で開示されるシステムおよび方法に従った準最適な復元に対する、NMOS1912を示す。グラフB1921bに示されるように、NMOS1912は、復元によりかなりの改善を示している。
本明細書で説明される発話エンベロープの復元のさらなる評価は、次のように与えられる。Table (1)〜(4) (表1〜4)は、雑音抑制のみの場合と比較した、本明細書で説明される発話エンベロープ復元の利得を示す。Table (1) (表1)は、話者の前にスマートフォンが配置される第1のテストケースを示す。
Table (2) (表2)は、平らな面(たとえば、机)にスマートフォンが置かれる第1のテストケースを示す。
Table (3) (表3)は、話者の前にスマートフォンが配置される第2のテストケースを示す。
Table (4) (表4)は、平らな面(たとえば、机)にスマートフォンが置かれる第2のテストケースを示す。
Table (1)〜(4) (表1〜4)に示されるように、本明細書で説明される復元は、雑音抑制のみの場合と比較して、大きな利得をもたらす。
図20は、孤立ピーク抑制器2020の一例を示すブロック図である。いくつかの構成では、孤立ピーク抑制器2020は本明細書で説明される電子デバイス102、302の1つまたは複数において実装され得る。具体的には、図20は、観測結果および孤立ピークを抑制するための解決法を提供する。
孤立ピーク抑制器2020は、孤立ピークの抑制を実行することができる。たとえば、フィルタリングに基づく雑音抑制システムは、孤立した音のピークを作り出すことが多い。これらの孤立した音のピークは、不自然に、かつ煩わしく聞こえることがある。孤立した音のピークは、非静的な雑音に対する雑音の過少な見積もり、マイクロフォンの利得の不整合、音響的な部屋の条件などによって引き起こされ得る。孤立ピーク抑制器2020は、有雑音フレーム検出モジュール2054、ピーク探索モジュール2056、ピーク孤立尺度計算モジュール2058、状態変数更新モジュール2060、抑制利得決定モジュール2062、および/またはピーク抑制モジュール2064を含み得る。
有雑音フレーム検出モジュール2054は、オーディオ信号2016(たとえば、雑音抑制入力)および雑音抑制オーディオ信号2030(たとえば、雑音抑制出力)に基づいて、雑音のあるフレームを検出することができる。具体的には、孤立した音のピークが通常は、雑音が支配的であるフレームの中で生成されることが観測され得る。したがって、雑音抑制オーディオ信号2030(たとえば、雑音抑制出力)のエネルギーとオーディオ信号2016(たとえば、入力)のエネルギーとの比が、孤立ピークを含むフレームを発話フレームと区別するために利用され得る。たとえば、有雑音フレーム検出モジュール2054は、雑音抑制オーディオ信号2030とオーディオ信号2016とのエネルギー比を計算することができる。このエネルギー比は閾値と比較され得る。いくつかの構成では、エネルギー比が閾値未満であるフレームが、雑音のあるフレームとして指定され得る。
ピーク探索モジュール2056は、ピークを探索することができる(任意選択で、雑音があるものとして検出されるフレームにおいて)。たとえば、ピーク探索モジュール2056は、雑音抑制オーディオ信号2030のスペクトルの極大値を探索することができる。
ピーク孤立尺度計算モジュール2058は、ピーク探索モジュール2056によって検出されたあらゆるピークに基づいて、1つまたは複数のピーク孤立の尺度を決定することができる。孤立ピークの近隣のビンは通常、非常に低いエネルギーを有する。したがって、ピークエネルギーを近隣のビンのエネルギーと比較することが、孤立ピークを検出するために使用され得る。たとえば、ピーク孤立尺度計算モジュール2058は、ピークの孤立度を評価する1つまたは複数の尺度を計算することができる。いくつかの構成では、ピーク孤立尺度計算モジュール2058は、第1のピーク孤立尺度(たとえば、peak_Q1)および第2のピーク孤立尺度(たとえば、peak_Q2)を計算することができる。
たとえば、2つのピーク孤立尺度が、孤立ピークの抑制のために定義され得る。第1のピーク孤立尺度は次のように定義され得る。
いくつかの構成では、peak_energy(たとえば、フレームtおよび周波数ビンfに対する)は、ピーク範囲(たとえば、ピークが定義されるサンプルの範囲)にわたるサンプルの二乗の合計に基づいて決定され得る。このpeak_energyは、フレーム(たとえば、現在のフレーム、フレームt)のneighboring_bin_energyの最大値によって除算され得る。第1のピーク孤立尺度peak_Q1は、フレーム内で計算され得る。概念的には、これはフィルタ設計における「Q値」に類似するものと考えられ得る。近隣のビンの範囲が十分広いとき、自然な発話信号は低い値を維持するが、孤立ピークは高い値を有することがある。いくつかの構成では、抑制利得は、peak_Q1に反比例するものとして決定され得る。
第2のピーク孤立尺度は次のように定義され得る。
第2のピーク孤立尺度peak_Q2は、前のフレーム(t-1)と現在のフレーム(t)との間で計算され得る。これは、孤立ピークのオンセットを検出するために使用され得る。
いくつかの場合、孤立ピークは、それらが作られた(または「生まれた」)後、1つまたは複数のフレームにわたり持続する。ピークは、状態更新を介して追跡され得る。状態変数更新モジュール2060は、ピーク孤立尺度に基づいて、孤立ピークの状態を更新することができる。たとえば、状態変数更新モジュール2060は、ピーク孤立尺度に基づいて状態を決定することができる。いくつかの構成では、状態変数更新モジュール2060は、孤立ピークの状態がアイドル状態であるか、オンセット状態であるか、または持続状態であるかを決定することができる。オンセット状態は、孤立ピークの開始が検出されたことを示し得る。持続状態は、孤立ピークが継続していることを示し得る。アイドル状態は、孤立ピークが検出されないことを示し得る。
抑制利得決定モジュール2062は、孤立ピークを抑制するための抑制利得を決定することができる。たとえば、抑制利得は、孤立ピークを抑制するために利用される抑制の度合いであり得る。いくつかの構成では、抑制利得決定モジュール2062は、ピーク孤立尺度に(たとえば、第1のピーク孤立尺度またはpeak_Q1に)反比例するものとして、抑制利得を決定することができる。抑制利得決定モジュール2062は、たとえば状態変数更新モジュール2060がオンセット状態または持続状態を示すときに動作し得る。
ピーク抑制モジュール2064は、雑音抑制オーディオ信号2030(たとえば、雑音抑制出力)の中の孤立ピークを抑制(たとえば、減衰、低減、減算、除去など)することができる。たとえば、ピーク抑制モジュール2064は、抑制利得決定モジュール2062によって決定される抑制利得を適用することができる。孤立ピーク抑制器2020の出力は、孤立ピーク抑制オーディオ信号(たとえば、1つまたは複数の抑制された孤立ピークを有するオーディオ信号)であり得る。追加の詳細が次のように与えられる。
図21は、孤立ピークの一例を示すグラフである。具体的には、図21は信号スペクトルのグラフを含み、このグラフにおいて、水平軸は周波数(Hz)2104において示され、垂直軸はデシベル(dB)単位の振幅2176において示されている。具体的には、図21は、孤立ピークの範囲2178および近隣ビンの範囲2180を示し、これらは、図20に関して説明される孤立ピークの尺度の1つまたは複数を決定(たとえば、計算)するために利用され得る。たとえば、ピーク孤立尺度計算モジュール2058は、ピークの範囲2178および近隣ビンの範囲2180に基づいてピーク孤立尺度を決定することができる。
図22は、孤立ピーク検出のための方法2200の一構成を示す流れ図である。方法2200は、図20に関して説明される孤立ピーク抑制器2020によって実行され得る。孤立ピークの検出は、孤立ピークの抑制のために利用され得る、孤立ピーク状態の更新に基づき得る。図22において示される構成では、各周波数ビンは、「アイドル」、「オンセット」、および「持続」という3つの状態を有する対応する状態変数を有する。これらの状態は、第1のピーク孤立尺度(たとえば、peak_Q1)および第2のピーク孤立尺度(たとえば、peak_Q2)に基づいて更新される。
孤立ピーク抑制器2020は、ピークの探索を実行することができる(2202)。これは、図20に関して上で説明されたように成し遂げられ得る。たとえば、孤立ピーク抑制器2020は、雑音抑制オーディオ信号2030のスペクトルの極大値を探索することができる。いくつかの構成では、ピーク探索は、雑音のあるフレームに対して実行され得る。
孤立ピーク抑制器2020は、ピーク孤立尺度を計算することができる(2204)。これは、図20に関して上で説明されたように成し遂げられ得る。たとえば、孤立ピーク抑制器2020は、第1のピーク孤立尺度(たとえば、peak_Q1)および第2のピーク孤立尺度(たとえば、peak_Q2)を計算することができる。
ピーク孤立尺度は、状態を更新するために、対応する閾値(たとえば、threshold1およびthreshold2)と比較され得る。いくつかの構成では、変数(たとえば、Q1、Q2、およびhangover)が状態を決定するために利用され得る。たとえば、peak_Q1>threshold1である場合、Q1=1である。それ以外の場合、Q1=0である。加えて、peak_Q2>threshold2である場合、Q2=1である。それ以外の場合、Q2=0である。いくつかの構成では、状態がアイドルである場合、抑制利得は「1」であり得ることに留意されたい。さらに、状態がオンセットまたは持続である場合、抑制利得は「1」未満であり得る。上で説明されたように、抑制利得は、peak_Q1に反比例するものとして決定され得る。
孤立ピーク抑制器2020は、第1のピーク孤立尺度が第1の閾値より大きい(たとえば、peak_Q1>threshold1)かどうかを決定することができる(2206)。たとえば、孤立ピーク抑制器2020はQ1を決定することができる。第1のピーク孤立尺度が第1の閾値より大きくない(たとえば、peak_Q1≦threshold1であり、したがってQ1=0である)場合、孤立ピーク抑制器2020は持続状態をリセットすることができる(2208)。第1のピーク孤立尺度が第1の閾値より大きい(たとえば、peak_Q1>threshold1であり、したがってQ1=1である)場合、孤立ピーク抑制器2020は、第2のピーク孤立尺度(たとえば、peak_Q2)が第2の閾値より大きい(たとえば、peak_Q2>threshold2)かどうかを決定することができる(2210)。たとえば、孤立ピーク抑制器2020はQ2を決定することができる。
第2のピーク孤立尺度が第2の閾値より大きくない(たとえば、peak_Q2≦threshold2であり、したがってQ2=0である)場合、孤立ピーク抑制器2020は持続状態を設定し、hangoverをリセットすることができる(たとえば、hangover変数が0に設定され得る)(2212)。たとえば、孤立ピーク抑制器2020は、ある期間の間、検出されたピークを追跡することができる。第2のピーク孤立尺度が第2の閾値より大きい(たとえば、peak_Q2>threshold2であり、したがってQ2=1である)場合、孤立ピーク抑制器2020はオンセット状態およびhangoverを設定することができる(たとえば、hangover変数が1に設定され得る)(2214)。たとえば、孤立ピーク抑制器2020は、新しい孤立ピークの「誕生」を検出することができる。
図23は、孤立ピーク検出の一構成の状態図(たとえば、ステートマシン図)を含む。たとえば、図20に関して説明された孤立ピーク抑制器2020(たとえば、状態変数更新モジュール2060)は、図22に関して説明された方法2200に従って、かつ/または図23に関して説明された状態に従って動作することができる。図23において示されるように、ピーク検出および/または追跡は、アイドル状態2382、オンセット状態2384、および持続状態2386に従って動作することができる。この構成では、状態間の遷移は、図22に関して上で説明されたように、変数Q1およびQ2に基づいて発生し得る。上で説明されたように、peak_Q1>threshold1である場合Q1=1であり(それ以外の場合Q1=0である)、peak_Q2>threshold2である場合Q2=1である(それ以外の場合Q2=0である)。便宜上、Q1およびQ2に関して説明されるが、図23において説明される遷移は、第1のピーク孤立尺度が第1の閾値より大きいかどうか、および第2のピーク孤立尺度が第2の閾値より大きいかどうかに関して等価に説明され得ることに留意されたい。
アイドル状態2382は、Q1=1かつQ2=1である場合(たとえば、peak_Q1>threshold1かつpeak_Q2>threshold2である場合)、オンセット状態2384に遷移し得る。それ以外の場合、孤立ピークの検出はアイドル状態2382にとどまる。
オンセット状態2384は、Q1=0である場合(たとえば、Q2が0であっても1であっても)、アイドル状態2382に遷移し得る。孤立ピークの検出は、Q1=1かつQ2=1である場合、オンセット状態2384にとどまり得る。オンセット状態2384は、Q1=1かつQ2=0である場合、持続状態2386に遷移し得る。孤立ピークの検出は、Q1=1かつQ2=0である場合、持続状態2386にとどまり得る。持続状態2386は、Q1=1かつQ2=1である場合、オンセット状態2384に遷移し得る。持続状態2386は、Q1=0である場合(たとえば、Q2が0であっても1であっても)、またはhangover=0である場合、アイドル状態2382に遷移し得る。
図24は、ピーク検出の例を示すグラフを含む。具体的には、図24はフレーム番号2402にわたる発話スペクトルのグラフを含み、このグラフにおいて、水平軸はフレーム番号2402において示され、垂直軸は周波数(Hz)2404において示されている。具体的には、グラフ上の点は検出されるピークを示し、ここで第1の点は孤立ピークのオンセット2488(たとえば、図22および/または図23に関して説明されるようなオンセット状態)を表し、後続の点は孤立ピークの持続2490(たとえば、図22および/または図23に関して説明されたような持続状態)を表す。
図25は、高調波分析モジュール2522の一構成を示すブロック図である。高調波分析モジュール2522は、ピークを使用して、雑音があり不完全なスペクトルの高調波分析を実行することができる。いくつかの構成では、高調波分析モジュール2522は、図10に関して説明される高調波分析1084を実行することができる。高調波分析モジュール2522は、音高の検出および追跡のために発話スペクトル信号2509を利用することができる。発話スペクトル信号2509の例は、上で説明されたように、オーディオ信号、雑音抑制オーディオ信号、および孤立ピーク抑制オーディオ信号を含む。
高調波分析モジュール2522は、ピーク追跡モジュール2594、ピーク剪定モジュール2596、高調波マッチングモジュール2598、声状態更新モジュール2501、音高追跡モジュール2503、非高調波ピーク検出モジュール2505、および/またはフレーム遅延モジュール2507a〜bを含み得る。高調波分析モジュール2522は、ピークの追跡および剪定を実行して、信頼できる情報(たとえば、精緻化されたピーク、信頼できるピークなど)を得ることができる。たとえば、高調波分析モジュール2522は、いくつかのピークを除外し得る。いくつかの構成では、ピーク追跡モジュール2594は、発話スペクトル信号2509における1つまたは複数のピークの位置(たとえば、周波数)を決定することができる。
ピーク追跡モジュール2594は、発話スペクトル信号2509における1つまたは複数のピークを決定および/または追跡することができる。たとえば、ピーク追跡モジュール2594は、発話スペクトル信号2509の中の極大値をピークとして決定することができる。いくつかの構成では、ピーク追跡モジュール2594は、発話スペクトル信号2509を平滑化することができる。たとえば、発話スペクトル信号2509は、平滑化されたスペクトルを得るために、フィルタリング(たとえば、ローパスフィルタリング)され得る。
ピーク追跡モジュール2594は、フレーム遅延モジュールA2507aから、前のフレームからの非高調波ピーク(たとえば、位置)を取得することができる。ピーク追跡モジュール2594は、現在のフレームの中のあらゆる検出されたピークを、前のフレームからの非高調波ピーク(たとえば、位置)と比較することができる。ピーク追跡モジュール2594は、前のフレームからの非高調波ピークに対応する現在のフレームの中のあらゆるピークを、連続的な非高調波ピークとして指定することができる。
ピーク追跡モジュール2594は、ピークの位置を提供することができ、平滑化されたスペクトルを提供することができ、かつ/または、連続的な非高調波ピークをピーク剪定モジュール2596に示すことができる。ピーク追跡モジュール2594はまた、ピーク位置を非高調波ピーク検出モジュール2505に提供することができる。
非高調波ピーク検出モジュール2505は、非高調波ピークである(ピーク位置における)ピークの1つまたは複数を検出することができる。たとえば、非高調波ピーク検出モジュール2505は、ピークのうちのいずれが基本周波数の高調波ではないかを決定するために、基本周波数2515(たとえば、音高f0(t))を利用することができる。たとえば、非高調波ピーク検出モジュール2505は、基本周波数2515の概ね整数倍ではない(たとえば、整数倍からある範囲内にない)1つまたは複数のピーク位置を、非高調波ピークとして決定することができる。非高調波ピーク検出モジュール2505は、非高調波ピーク(たとえば、位置)をフレーム遅延モジュールA2507aに提供することができる。フレーム遅延モジュールA2507aは、非高調波ピーク(たとえば、位置)をピーク追跡モジュール2594に提供することができる。言い換えると、ピーク追跡モジュール2594に提供される非高調波ピーク(たとえば、位置)は、前のフレームに対応し得る。
ピーク剪定モジュール2596は、1つまたは複数の基準を満たす1つまたは複数のピークを(たとえば、発話スペクトル信号2509から)除去することができる。たとえば、ピーク剪定モジュール2596は、最も強いピークおよび平滑化されたスペクトルと比べて小さすぎるピークを除外することができ、(標準的なピークのテンプレートからの差分に基づいて)調性が低すぎるピークを除外することができ、より強いピークに近すぎる(たとえば、f0という下限未満の)ピークを除外することができ、かつ/または、以前のフレームの非高調波ピークから連続するピークを除外することができる。
いくつかの構成では、ピーク剪定モジュール2596は、最も強いピーク(たとえば、発話スペクトル信号2509のフレームに対して最高の振幅を有するピーク)の振幅のある特定の百分率より小さい振幅を有する、かつ/または、平滑化されたスペクトルのある特定の振幅範囲内にある振幅を有する、あらゆるピークを除去することができる。加えて、または代替的に、ピーク剪定モジュール2596は、調性が調性の閾値未満であるあらゆるピークを除去することができる。たとえば、ピークテンプレートからある量を超えて異なるピークが除去され得る。加えて、または代替的に、ピーク剪定モジュール2596は、より強いピーク(たとえば、高い振幅を有する近隣のピーク)からある特定の周波数範囲内にあるあらゆるピークを除去することができる。加えて、または代替的に、ピーク剪定モジュール2596は、前のフレームの非高調波ピークから連続するあらゆるピークを除去することができる。たとえば、ピーク追跡モジュール2594によって前のフレームの非高調波ピークから連続するものとして示されるピークが除去され得る。
ピーク剪定の後に残っているピークは、精緻化されたピーク2511(たとえば、「精緻化されたピーク」または「信頼できるピーク」)と呼ばれ得る。精緻化されたピーク2511は、高調波マッチングモジュール2598に提供され得る。いくつかの構成では、精緻化されたピーク2511は、精緻化されたピーク位置(たとえば、fl)、精緻化されたピーク振幅(たとえば、Al)、および/または精緻化されたピーク位相(たとえば、φl)を含み得る。
高調波マッチングモジュール2598は、基本周波数(たとえば、f0)を見つけるための高調波マッチングを実行することができる。たとえば、高調波マッチングモジュール2598は、少数の精緻化されたピーク2511(たとえば、fl)だけを用いて基本周波数を見つけることができ、ここで基本周波数(たとえば、f0)は、それらの精緻化されたピーク2511の一般化された最大公約数(たとえば、各flに対して可能な限り小さい、
と表記される、fl/f0の小数部分)である。たとえば、
である。これは、f0がf0の所与の範囲にわたって各々の
を可能な限り小さくするという意味で観測されたピーク周波数{fl}と最も一致するf0を見つけるために利用され得る。
は、高調波マッチングスペクトル(たとえば、加重高調波マッチングスコア)を表し、ここで、
である。これは、ピークflの振幅Alによって重み付けられたピークflの高調波マッチングスコアの和である。いくつかの構成では、加重関数は
であり、これは振幅に対する重みを与える。
は、高調波マッチング尺度を表し、これはたとえば、
であり得る。これは0と1の間のスコアをもたらし、このスコアは、fl/f0が何らかの整数にどの程度近いかを反映する。高調波マッチングモジュール2598は、高調波マッチングスペクトル(たとえば、
)を音高追跡モジュール2503に提供することができる。高調波マッチングモジュール2598は、高調波マッチング尺度(たとえば、
)を提供することができる。
声状態更新モジュール2501は、声状態の分類を次のように実行することができる。いくつかの構成では、無声(たとえば、V(t)=0)、有声持続(たとえば、V(t)=1)、および有声オンセット(たとえば、V(t)=0.5)という3つの声状態があり得る。これは、発話の無声部分、有声持続部分、および有声オンセット(および/または静音)部分に対する異なる戦略と、動的音高ばらつき制御とを可能にし得る。
いくつかの構成では、フレームごとの状態の追跡は、次のように実行され得る。低帯域の高調波エネルギーは、カットオフ周波数(たとえば、fcutoff)未満の検出された基本周波数(たとえば、f0)に基づき得る。たとえば、
である。いくつかの構成では、fcutoff=1キロヘルツ(kHz)である。声状態更新モジュール2501は、追跡カウントを(たとえば、0に)初期化することができる。追跡カウントは、
が所定の閾値より大きい場合、(たとえば1だけ)増やされ得る。追跡カウントは3に制限され得る。たとえば、追跡カウントを増やすことが追跡カウントを3より大きくする場合、追跡カウントは増やされないことがあり、3に制限されることがある。追跡カウントは、
が所定の閾値(たとえば、追跡カウントを増やすために使用される所定の閾値と同じ、または異なる)以下である場合、(たとえば1だけ)減らされ得る。追跡カウントは0に制限され得る。たとえば、追跡カウントを減らすことが追跡カウントを0より小さくする場合、追跡カウントは減らされないことがあり、0に制限されることがある。
追跡カウントは、次のように声状態と対応付けられ得る。追跡カウント=0である場合、声状態は無声(たとえば、V(t)=0)であることがあり、無声のフレームを示す。追跡カウント=現在のフレームにおいて1かつ追跡カウント=前のフレームにおいて0である場合、声状態は有声オンセット(たとえば、V(t)=0.5)であることがあり、フレームにおける声のオンセットを示す。他の場合、声状態は有声持続(たとえば、V(t)=1)であることがあり、フレームにおける持続する声を示す。いくつかの構成では、追跡カウントは[0, 1, 2, 3]に制限され得る。すなわち、0は無声、3は有声持続、および1と2は有声オンセットに対するものである。声状態更新モジュール2501は、声状態(たとえば、無声、有声オンセット、または有声持続を示す)を音高追跡モジュール2503に提供することができる。
音高追跡モジュール2503は、連続する輪郭に対する音高の追跡を実行することができる。これは、「動的音高ばらつき制御」と呼ばれることがある。音高追跡モジュール2503は、音高差分尺度を計算および/または利用することができる。音高差分尺度は、フレームごとの音高変化率の尺度であり得る。いくつかの構成では、音高差分尺度は、対数領域にあることがある。たとえば、音高差分尺度は、
と表され得る。適応的な音高探索範囲は、連続する有声フレーム(たとえば、V(t)>0)の数が現在のフレームの増加にまで増えるにつれて、単調に減少し得る。たとえば、適応的な音高探索範囲は、有声のセグメントへと深く入りながら、(たとえば、5つのフレームにおいては1.5から0.4まで)徐々に縮小し得る。音高候補は、高調波マッチングスペクトルの最大のピークの数であり得る。たとえば、音高候補は、
という3つの最大のピークであることがあり、半分の音高と2倍の音高をカバーする。音高追跡モジュール2503は、持続する高調波エネルギーを最大化するために、前方経路追跡を利用することができる。たとえば、音高追跡モジュール2503は、基本周波数2515(たとえば、音高)を
と決定することができる。
図25に示されるように、基本周波数2515(たとえば、音高)は、非高調波ピーク検出モジュール2505およびフレーム遅延モジュールB2507bに提供され得る。非高調波ピーク検出モジュール2505は、基本周波数2515を利用して、上で説明されたような1つまたは複数の非高調波ピークを検出することができる。フレーム遅延モジュールB2507bは、1つのフレームの分だけ基本周波数2515を遅らせることができる。言い換えると、フレーム遅延モジュールB2507bは、前のフレームからの基本周波数(たとえば、f0(t-1))を音高追跡モジュール2503に提供することができる。音高追跡モジュール2503は、前のフレームからの基本周波数を利用して、上で説明されたような音高差分尺度を計算することができる。
図26は、本明細書で開示されるシステムおよび方法による高調波分析の例を示すグラフ2617a-bを含む。グラフA2617aは、図25に関して説明される基準に基づいて剪定されるピークの例を示す。具体的には、グラフA2617aは、小さすぎる(2619)、調性がない(2621)、または別のピークに近すぎる(2623)ために除去されるピークの例を示す。グラフB2617bは、高調波の残り2627に対する高調波マッチング尺度2625の例を示す。
図27は、音高候補2731の例を示すグラフを含む。具体的には、グラフは、周波数(Hz)2704に対する高調波マッチングスコア2729の例を示す。音高候補2731は、図25に関して説明されたように取得され得る。具体的には、図27は、音高探索範囲の中の音高候補2731を示す。
図28は、本明細書で開示されるシステムおよび方法による高調波分析の例を示すグラフを含む。具体的には、図28は、連続的音高追跡2835および図25に関して説明されるように決定され得る非高調波ピーク2833の例を含む。たとえば、グラフは、非高調波ピーク2833が高調波の倍音と倍音の間で発生し得る(たとえば、音楽の雑音の場合)ことを示す。図28はまた、不完全なスペクトル2837(たとえば、欠けている倍音)を示す。
図29は、オーディオ信号2916を増強するためのシステムおよび方法が実施され得る電子デバイス2914の別の構成を示すブロック図である。電子デバイス2914の例は、携帯電話、スマートフォン、タブレットデバイス、音声レコーダ、ラップトップコンピュータ、デスクトップコンピュータ、固定電話、カムコーダ、スチルカメラ、車載電子機器、ゲームシステム、テレビジョン、家電機器などを含む。電子デバイス2914の構成要素の1つまたは複数は、ハードウェア(たとえば、回路)で、またはハードウェアとソフトウェアの組合せで実装され得る。
電子デバイス2914は、エンベロープモデル化モジュール2924を含み得る。図29に関連して説明されたエンベロープモデル化モジュール2924は、エンベロープのモデル化に関して説明された機能および/または手順の1つまたは複数を実行し得る。いくつかの構成では、エンベロープモデル化モジュール2924は、有声フレームのみに対して動作し得ることに留意されたい。たとえば、エンベロープモデル化モジュール2924は声状態(たとえば、V(t))を受信し得る。声状態が有声フレーム(たとえば、有声持続フレームまたは有声オンセットフレーム)を示す場合、エンベロープモデル化モジュール2924はグローバルなエンベロープを生成し得る。しかしながら、声状態が無声のフレームを示す場合、エンベロープモデル化モジュール2924は、無声のフレームに対して動作しないことがある(たとえば、それをバイパスすることがある)。いくつかの構成では、声状態は、既知の声活動検出器(たとえば、VAD)によって提供され得る。他の構成では、エンベロープモデル化モジュール2924は、上で説明されたように、高調波分析モジュールから声状態を受信し得る。
エンベロープモデル化モジュール2924は、フォルマントピーク決定モジュール2939および/またはグローバルエンベロープ生成モジュール2943を含み得る。フォルマントピーク決定モジュール2939は、オーディオ信号2916に基づいてフォルマントピーク2941を決定することができる。いくつかの構成では、フォルマントピーク決定モジュール2939は、オーディオ信号2916に基づいて、スペクトル情報(たとえば、ピーク位置、ピーク振幅、および/または基本周波数)を取得することができる。他の構成では、フォルマントピーク決定モジュール2939は、オーディオ信号2916に基づいてスペクトル情報を受信することができる。たとえば、フォルマントピーク決定モジュール2939は、精緻化されたピーク位置(たとえば、fl)、精緻化されたピーク振幅(たとえば、Al)、および/または基本周波数(たとえば、f0(t))を高調波分析モジュールから受信することができる。
いくつかの構成では、フォルマントピーク決定モジュール2939は、精緻化されたピークの最大のピーク(たとえば、極大値)の数(たとえば、3〜4)として、フォルマントピーク2941を決定することができる。しかしながら、他の構成では、フォルマントピーク決定モジュール2939は、オーディオ信号2916、雑音抑制オーディオ信号、または孤立ピーク抑制オーディオ信号から直接、フォルマントピーク2941を決定できることに留意されたい。フォルマントピーク2941は、グローバルエンベロープ生成モジュール2943に提供され得る。
グローバルエンベロープ生成モジュール2943は、フォルマントピークモデルを生成することができる。フォルマントピークモデルの各々は、フォルマントピークをモデル化するフォルマントピークエンベロープ(たとえば、あるスペクトルにわたる)であり得る。フォルマントピークモデルを生成することは、各フォルマントピークを個々にモデル化することを含み得る。たとえば、グローバルエンベロープ生成モジュール2943は、1つまたは複数のモデルタイプを利用して、各フォルマントピークを個々にモデル化することができる。フォルマントピークモデルを生成するために利用され得るモデルタイプのいくつかの例は、フィルタ、全極モデル(全極モデルはフォルマントピークにおいて共振する)、全零モデル、自己回帰移動平均(ARMA)モデルなどを含む。異なる次数のモデルが利用され得ることに留意されたい。たとえば、全極モデルは、2次の全極モデル、3次の全極モデルなどであり得る。
いくつかの構成では、各フォルマントピークを個々にモデル化することは、各フォルマントピークが支えられているかどうかを決定することを含み得る。フォルマントピークは、近隣のピークが(たとえば、近隣の高調波において)ある場合、支えられていることがある。フォルマントピークは、1つまたは複数の近隣のピーク(たとえば、近隣の高調波における)が欠けている場合、支えられていないことがある。
各フォルマントピークを個々にモデル化することはまた、各々のそれぞれのフォルマントピークが支えられているどうかに基づいて、各フォルマントピークに対するモデル化タイプを選択することを含み得る。たとえば、グローバルエンベロープ生成モジュール2943は、第1のモデル化(たとえば、ローカルマッチング2極モデル化)を用いて1つまたは複数の支えられているフォルマントピークをモデル化することができ、かつ/または、第2のモデル化(たとえば、p固定2極モデル化)を用いて1つまたは複数の支えられていないフォルマントピークをモデル化することができる。
いくつかの構成では、グローバルエンベロープ生成モジュール2943は、不完全なスペクトルからのエンベロープの支配ローカル全極モデル化を実行することができる。たとえば、グローバルエンベロープ生成モジュール2943は、ローカル全極モデル化のためにフォルマントピークを(たとえば、フォルマントピークだけを)使用することができる。
グローバルエンベロープ生成モジュール2943は、フォルマントピークモデルに基づいてグローバルエンベロープ(たとえば、H(f))を生成することができる。たとえば、グローバルエンベロープ生成モジュール2943は、フォルマントピークモデル(たとえば、エンベロープ)を決定し、フォルマントピークモデルを統合してフレーム(たとえば、有声フレーム)のグローバルエンベロープを作成することができる。このことは、高度に不完全なスペクトル情報からエンベロープを作成することができる。いくつかの構成では、グローバルエンベロープ生成モジュール2943は、フォルマントピークモデルを連結してグローバルエンベロープを作成することができる。加えて、または代替的に、グローバルエンベロープ生成モジュール2943は、フォルマントピークモデルに対して最大化(たとえば、「max」)演算を実行することができる。たとえば、グローバルエンベロープ生成モジュール2943は、max演算に基づいて、ローカル全極モデル化からの別々のエンベロープを統合することができる。たとえば、スペクトルにわたるすべてのフォルマントピークモデル(たとえば、エンベロープ)の最大の振幅が最大のエンベロープを生み出し得る。このことが、フォルマントピークおよびその周辺における局所的な一貫性を保ち得る。いくつかの構成では、グローバルエンベロープを生み出すために、離散全極(DAP)モデル化が最大のエンベロープに対して実行され得る。他の構成では、最大のエンベロープは、グローバルエンベロープを生み出すために、平滑化フィルタまたは平滑化アルゴリズムを用いて平滑化され得る。さらに他の構成では、最大のエンベロープ自体が、グローバルエンベロープとして利用され得る。
いくつかの構成では、グローバルエンベロープ生成モジュール2943は、欠けている倍音の予測を実行することができる。たとえば、グローバルエンベロープ生成モジュール2943は、基本周波数の高調波周波数における(たとえば、fk=kf0における、ここでkは整数の集合である)欠けている倍音を決定することができる。グローバルエンベロープ生成モジュール2943は、高調波周波数の各々におけるグローバルエンベロープの振幅(たとえば、絶対値)として、欠けている倍音の振幅を決定することができる(たとえば、Ak=|H(fk)|)。グローバルエンベロープ生成モジュール2943はまた、欠けている倍音の最小の位相(たとえば、
)を決定することができる。
グローバルエンベロープ生成モジュール2943は、エンベロープ情報2936を提供することができる。いくつかの構成では、エンベロープ情報2936は、グローバルエンベロープ(たとえば、H(f))を含み得る。加えて、または代替的に、エンベロープ情報2936は、拡張されたピーク情報(たとえば、高調波周波数fk、欠けている倍音の振幅Ak、および/または欠けている倍音の最小の位相
)を含み得る。たとえば、エンベロープ情報2936は、H(f)、fk、Ak、および/または
を含み得る。
いくつかの構成では、電子デバイス2914は、エンベロープ情報2936(たとえば、グローバルエンベロープ)に基づいて、時間領域発話信号を生成することができる。加えて、または代替的に、電子デバイス2914は、フォルマントピークモデルの1つまたは複数(たとえば、フォルマントピークモデルを表す1つまたは複数のパラメータ)を送信することができる。いくつかの構成では、フォルマントピークモデル(および/またはフォルマントピークモデルに基づくパラメータ)は量子化され得る。たとえば、ベクトル量子化および/または1つまたは複数のコードブックが、量子化を実行するために利用され得る。
図30は、オーディオ信号2916を増強するための方法3000の一例を示す流れ図である。電子デバイス2914は、オーディオ信号2916に基づいてフォルマントピーク2941を決定することができる(3002)。これは、図29に関して上で説明されたように成し遂げられ得る。たとえば、電子デバイス2914は、ピーク(たとえば、精緻化されたピーク)のセットからいくつかの最大のピーク(たとえば、最高の振幅を有するピーク)を選択することができる。
電子デバイス2914は、各々のフォルマントピークを個々にモデル化することによって、フォルマントピークモデルを生成することができる(3004)。これは、図29に関して上で説明されたように成し遂げられ得る。たとえば、電子デバイス2914は、各フォルマントピークが支えられているかどうかを決定することができ、各々のそれぞれのフォルマントピークが支えられているかどうかに基づいてモデル化タイプを選択することができる。
電子デバイス2914は、フォルマントピークモデルに基づいてグローバルエンベロープを生成することができる(3006)。これは、図29に関して上で説明されたように成し遂げられ得る。たとえば、電子デバイス2914は、フォルマントピークモデルを統合する(たとえば、連結する、それに対してmax演算を実行するなど)ことができる。いくつかの構成では、電子デバイス2914は、統合されたエンベロープに対して1つまたは複数の追加の動作(たとえば、DAPモデル化、フィルタリング、平滑化など)を実行することができる。いくつかの構成では、電子デバイス2914は、1つのフォルマントピークしか検出されない場合、フォルマントピークモデル(たとえば、エンベロープ)を統合しないことがある。
上で説明されたように、いくつかの構成では、電子デバイス2914は、エンベロープ情報2936(たとえば、グローバルエンベロープ)に基づいて、時間領域発話信号を生成することができる。加えて、または代替的に、電子デバイス2914は、フォルマントピークモデルの1つまたは複数(たとえば、フォルマントピークモデルを表す1つまたは複数のパラメータ)を送信することができる。
図31は、オーディオ信号を増強するための方法3100のより具体的な構成を示す流れ図である。たとえば、図31は、不完全なスペクトルからのエンベロープの支配ローカル全極モデル化のための手法の例を示す。たとえば、図31は、支配的なピークによるローカル全極モデル化またはエンベロープモデル化の例を示す。
電子デバイス2914は、フォルマントピーク検出を実行することができる(3102)。これは、図29〜図30の1つまたは複数に関して説明されたように成し遂げられ得る。たとえば、フォルマントピークは、精緻化されたピーク(たとえば、{fl})の最大の3つから4つの極大値であり得る。これらは、重要で安定した有声の特徴であり得る。
電子デバイス2914は、各フォルマントピークが孤立している(たとえば、支えられていない)か、または支えられているかを決定することができる(3104)。孤立フォルマントピーク(たとえば、(fI, AI))は、(たとえば、fIの)近隣の高調波の場所において少なくとも1つの欠けているピークを有し得る。この場合、電子デバイス2914は、事前に設定された極の強さ(たとえば、20dB/200Hz、p=0.9843)を有する、p固定2極モデル化を適用することができる(3106)。たとえば、p固定2極モデル化は、
をもたらし得る。加えて、または代替的に、電子デバイス2914は、事前に設定された極の強さ(20dB/200Hz、p=0.9843)を有する、ローカル1極フィルタを利用することができる。たとえば、孤立フォルマントピーク(AI, fI)に対して、
である。
支持されているフォルマントピーク(たとえば、(fl±1,0, Al±1,0))は、現在のflの近隣の高調波の場所における両方のピークを含み得る。この場合、電子デバイス2914は、
によって与えられるような(Fm, pm, αm)を解くことによって、ローカルマッチング2極モデル化を適用して、3つの連続するピークをマッチングすることができる(3108)。加えて、または代替的に、電子デバイス2914は、1極フィルタを利用して、3つの連続するピーク(たとえば、閉形式の近似式によって解かれる)をマッチングすることができる。
電子デバイス2914は、フレームの中のすべてのフォルマントピークに対する各フォルマントピークモデルを、支持されていても孤立していても(たとえば、支持されていなくても)バッファリングすることができる(3110)。フォルマントピークモデルのセットに対して、電子デバイス2914は、対応する全極モデルに基づいて最大のエンベロープを決定することができる(3112)。たとえば、各周波数において、最も強いローカル全極モデルが、max演算またはLpノルム演算に従って使用される。このことが、フォルマント領域における一貫性を保ち得る。たとえば、最大のエンベロープは、
に従って提供され得る。
電子デバイス2914は、最大のエンベロープに基づいて、グローバル全極モデル化を実行することができる(3114)。たとえば、電子デバイス2914は、離散全極(DAP)モデル化を実行することができる(3114)。たとえば、電子デバイス2914は、(たとえば、スペクトル応答と統合されたエンベロープの間の)すべての高調波周波数fkにわたる最大のエンベロープ
を用いて、板倉斎藤距離(DI-S(x, y))を最小にする全極フィルタH(f)を決定することができる。これは、
によって与えられ得る。
電子デバイス2914は、欠けている倍音の予測を実行することができる(3116)。たとえば、電子デバイス2914は、振幅がAk=|H(fk)|であり最小の位相が
である、fk=kf0における欠けている倍音を決定することができる。言い換えると、電子デバイス2914は、拡張されたピーク(たとえば、高調波周波数fk、欠けている倍音の振幅Ak、および/または欠けている倍音の最小の位相
)を決定することができる。いくつかの構成では、電子デバイス2914は、平滑スペクトルエンベロープに対する線形予測コーディング(LPC)係数(αm)および最小の位相(φm)を利用することができる。
図32は、本明細書で開示されるシステムおよび方法による全極モデル化の一例を示すグラフを含む。グラフは、周波数(ラジアン)3204にわたり、振幅(dB)3276について示されている。たとえば、図32は、図31に関して説明されたような、支持されているフォルマントピークのための2極モデル化の一例を示す。
図33は、本明細書で開示されるシステムおよび方法による最大エンベロープを伴う全極モデル化の一例を示すグラフを含む。グラフは、周波数3304にわたり、振幅3376について示されている。たとえば、図33は、図31に関して説明されたような、3つのフォルマントのための最大のエンベロープの一例を示す。たとえば、H3(f)はフォルマント3に対するローカルモデルの一例であることがあり、H1(f)はフォルマント1に対するローカルモデルの一例であることがあり、H2(f)はフォルマント2に対するローカルモデルの一例であることがある。
図34は、本明細書で開示されるシステムおよび方法による拡張された倍音の一例を示すグラフを含む。グラフは、時間A3402a、時間B3402b、および時間C3402cにわたり、周波数3404について示されている。たとえば、図34は、図31に関して説明されたような、雑音抑制出力、その対応するエンベロープ、および得られる拡張された倍音の一例を示す。
図35〜図44は、エンベロープのモデル化(たとえば、エンベロープのモデル化の処理フローの例)に関する追加の詳細を与える。たとえば、図35〜図44において説明される手順の1つまたは複数は、上で説明されたエンベロープモデル化モジュールの1つまたは複数によって実行されることがあり、ならびに/または、上で説明されたエンベロープモデル化機能とともに実行されることがあり、および/もしくはその代わりに実行されることがある。いくつかの構成では、図35〜図44に関して説明される手順の1つまたは複数は、上で説明された他の機能(たとえば、雑音抑制、孤立ピーク抑制、高調波分析、および/または位相合成)の1つまたは複数と組み合わされることがある。代替的に、図35〜図44に関して説明される手順の1つまたは複数は、上で説明された他の機能、手順、および/またはモジュールとは独立に実行され得る。
図35は、雑音により破損した発話信号(たとえば、録音された発話信号)のスペクトルの一例を示すグラフである。図35のグラフは、周波数スペクトル(Hz)3504にわたり、振幅(dB)3576について示されている。
図36は、雑音抑制の後の雑音により破損した発話信号(たとえば、記録された発話信号)のスペクトルの一例を示すグラフである。図36のグラフは、周波数スペクトル(Hz)3604にわたり、振幅(dB)3676について示されている。図36に示されるように、発話信号(たとえば、記録された発話信号)の雑音が多すぎるとき、雑音抑制の後で、スペクトルの弱い部分が完全に、またはほぼ完全になくなることがある。たとえば、400Hzから1400Hzまでの帯域が大きく減衰される。この帯域の欠けているスペクトル成分を復元することで、発話の品質および明瞭性を改善することができる。
図37は、エンベロープのモデル化のための方法3700の例を示す流れ図である。たとえば、方法3700は、上で説明されたようにエンベロープをモデル化するための手法であり得る。方法3700は、有声の発話信号(たとえば、オーディオ信号2916)および対応する基本周波数の入力をとることができる。いくつかの構成では、有声の発話信号は、周波数領域において、高調波ではない大きな雑音のピークを含まない。たとえば、有声の発話信号は、雑音抑制の後、孤立ピーク抑制の後、非高調波ピーク抑制/除去の後、および/または他のクリーンアップ前処理の後の、雑音のある発話の記録であることがある。しかし、そのような有声の発話信号は、クリーンな発話と比較して、一部の帯域においてかなりのスペクトル成分を欠いていることがある。そのような有声の発話信号の例が、図36に与えられる。
電子デバイス2914は、高調波ピークを採集することができる(3702)。たとえば、クリーンな有声の発話信号は、基本周波数の分だけ等しく間隔の空いた複数のスペクトルピークを有する。これらのスペクトルピークの周波数は高調波周波数と呼ばれることがあり、対応するスペクトルピークは高調波ピークと呼ばれることがある。
電子デバイス2914は、高調波ピークを使用して、エンベロープをローカルにモデル化する(たとえば、フォルマントピークを個々にモデル化する)ことができる(3704)。電子デバイス2914は、ローカルエンベロープを統合してグローバルエンベロープを作成することができる(3706)。電子デバイス2914は、(統合された)グローバルエンベロープの後処理を任意選択で実行することができる(3708)。これは、スペクトルエンベロープを生み出し得る。これらの手順の1つまたは複数は、図29〜図31の1つまたは複数に関して上で説明されたように成し遂げられ得る。
図38は、高調波ピークを採集するための方法3800の一構成を示す流れ図である。具体的には、図38は、図37に関して説明されたような、高調波ピークを採集するための1つの手法を示す。高調波ピークを採集するために、たとえば、電子デバイス2914はまず、極大値(たとえば、すぐ隣の左および右のビンより大きな周波数ビン)を採集することができる(3802)。次いで、各高調波周波数に対して、電子デバイス2914は、高調波周波数を含む連続する周波数ビンの探索範囲内で、この高調波周波数に対して最も近い、または最も強い極大値を採集することができる(3804)。いくつかの高調波周波数に対しては、探索範囲内に極大値がないことが原因で、高調波ピークがないことがある。また、高調波ピークが存在しても、それが低すぎる(たとえば、人の聴覚の閾値より低い)場合、それは高調波ピークのセットから除去され得る(3806)。このことが図39に示される。0Hzから2000Hzまでの21個の高調波周波数のうちで、9個の高調波ピークだけが採集される。具体的には、図39は、高調波周波数にわたる採集された高調波ピーク3945a〜i(垂直の破線によって示される)の例を示す。
電子デバイス2914は任意選択で、高調波ピークに対する超分解能分析を実行することができる(3808)。たとえば、(たとえば、二次補間を使用して)高調波ピークの周囲で補間を行うことによって、周波数ビンの分解能を超えて(超分解能)高調波ピークの周波数精度を改善することも可能である。図38に関して説明される方法3800は、高調波ピーク(たとえば、採集または選択された高調波ピーク)を提供することができる。
図39は、採集された高調波ピーク3945a〜iを用いて発話信号のスペクトルの一例を示すグラフである。図39のグラフは、周波数スペクトル(Hz)3904にわたり、振幅(dB)3976について示されている。高調波ピークは、図38に関連して説明されたように採集または選択され得る。この例では、0Hzから2000Hzまでの21個の高調波周波数のうちで、9個の高調波ピークだけが採集される。具体的には、図39は、高調波周波数にわたる採集された高調波ピーク3945a〜i(垂直の破線によって示される)の例を示す。
図40は、ピークのモデル化の例を示す。具体的には、図40は、図37に関して説明されたような、高調波ピークを使用してエンベロープをローカルにモデル化することを示す。具体的には、図40は、ローカルエンベロープを作成するために、個々の(たとえば、支持されていない)高調波ピークに基づいて固定2極モデル化を実行する(4002)ことを示す。図40はまた、ローカルエンベロープを作成するために、フォルマントグループに基づいて適応2極モデル化を実行する(4004)ことを示す。たとえば、電子デバイス2914は、固定2極モデル化を実行することができ(4002)、かつ/または適応2極モデル化を実行することができる(4004)。
クリーンな有声発話信号の高調波ピークは通常、主に声道共鳴が原因の、異なる振幅を有する。声道の共振周波数はフォルマント周波数と呼ばれ、フォルマント周波数の近くのスペクトル成分は、フォルマントと呼ばれ、全極フィルタの周波数応答によって近似され得る。
すべての高調波ピークと概ね一致するグローバルエンベロープを得るために、電子デバイス2914は、ローカルマッチング(たとえば、個々の高調波ピーク、または以後フォルマントグループと呼ばれる連続する高調波ピークのグループをマッチングすること)を実行することによって開始し得る。ローカルにマッチングされるエンベロープは、以後ローカルエンベロープ(たとえば、フォルマントピークモデル)と呼ばれる。高調波ピークが支持されていない場合(たとえば、すぐ左および/または右の隣接する高調波ピークがない場合)、この高調波ピークは支持されていないフォルマントピークと呼ばれる。高調波ピークが支持されている場合(たとえば、すぐ左および/または右の隣接する高調波ピークがある場合)、この高調波ピークは支持されている高調波ピークと呼ばれる。フォルマントグループの中で、最大の支持されている高調波ピークは支持されているフォルマントピークと呼ばれる。高調波ピークが支持されている場合でも、それらは個々の高調波ピークとして見られることがあることに留意されたい。たとえば、電子デバイス2914は、いくつかの構成では、一般に、システムの複雑さがより低いという利点のために、エンベロープモデル化のより大きな誤差という犠牲を払って、個々の高調波ピークの各々に対してローカルエンベロープをモデル化することがある。
個々の高調波ピークの場合、ローカルエンベロープを割り当てるための1つの手法は、全極フィルタ周波数応答を使用することである。いくつかの構成では、この全極フィルタは2つの極しか有することができず、これらは、複素数として互いに共役する。正の虚部を有する極に対して、その角度は、電子デバイス2914によって、関心のある高調波ピークの角度周波数に等しく設定され得る。極の強さ(たとえば、極の絶対値)は、クリーンな発話信号において観測される合理的なフォルマント形状に対応する何らかの所定の数(たとえば、0.98)に(電子デバイス2914によって)設定され得る。この2極フィルタの利得は、高調波ピークの振幅に(電子デバイス2914によって)設定され得る。図41は、フィルタによってモデル化されるローカルエンベロープの図示を与え、ここでフィルタ利得は高調波ピークの振幅に設定され得る。エンベロープが発話フォルマントの形状に似ている限り、エンベロープを割り当てるための他の方法があることに留意されたい。加えて、すべての高調波ピークがローカルエンベロープ(たとえば、非常に低い高調波ピーク)を割り当てられるとは限らない。
図41は、個々の高調波ピークに対するローカルエンベロープの割当ての例を示すグラフである。図41のグラフは、周波数スペクトル(Hz)4104にわたり、振幅(dB)4176について示されている。図41に示されるローカルエンベロープ(たとえば、フォルマントピークモデル)は、図39に関して説明されるピークに対応する。たとえば、図39に示される2番目、4番目、および21番目の高調波ピーク、ならびに対応する割り当てられたローカルエンベロープが、図41に示されている。
フォルマントグループ(たとえば、支持されているピーク)の場合、電子デバイス2914はまた、単一のローカルエンベロープをフォルマントグループに割り当てることができる。たとえば、電子デバイス2914は、図42に関して説明されるように、図39からの16番目、17番目、および18番目のピークによって形成される連続する高調波ピークのグループに、単一のローカルエンベロープを割り当てることができる。単一のローカルエンベロープは、高調波ピークに一致する3つのローカルエンベロープを個々に割り当てる代わりに、すべての3つの高調波ピークに一致するように割り当てられ得る。単一のローカルエンベロープを割り当てるために、たとえば、電子デバイス2914はまた、全極フィルタの周波数応答も使用することができる。具体的には、この全極フィルタは、互いに共役する2つの極を依然として有し得る。しかしながら、この場合、極の角度および強さ、ならびにフィルタの利得は、このフィルタの周波数応答がすべての3つの高調波ピークと一致するような方法で(電子デバイス2914によって)設定され得る。たとえば、電子デバイス2914は、3つの高調波周波数における周波数応答を支配する式のセットを解くことができる。これは、離散全極モデル化と呼ばれる技法によっても成し遂げられ得る。
図42は、高調波ピークのグループまたはフォルマントのグループに対する単一のローカルエンベロープの割当ての例を示すグラフである。図42のグラフは、周波数スペクトル(Hz)4204にわたり、振幅(dB)4276について示されている。この例では、図39からの16番目、17番目、および18番目のピークからなるフォルマントグループは、ローカルエンベロープとして単一の2極フィルタの応答を割り当てられる。
電子デバイス2914は、ローカルエンベロープを統合してグローバルエンベロープを作成することができる。ローカルエンベロープは、個々の高調波ピークに基づくことがあり、フォルマントグループに基づくことがあり、またはこれらの2つの場合の組合せに基づくことがある。いくつかの構成では、電子デバイス2914は、ローカルマッチング(たとえば、上で説明されたローカルエンベロープモデル化)を崩壊させることなく、グローバルエンベロープを形成することができる。たとえば、電子デバイス2914は、max演算を使用することができる(たとえば、各周波数ビンにおいて、グローバルエンベロープは、同じ周波数ビンにおけるすべてのローカルエンベロープ最大値である)。図43は、すべてのローカルエンベロープの最大値の一例を与える(たとえば、図41〜図42において示されるものを含む)。電子デバイス2914は、ローカルエンベロープを統合するために他の手法を利用し得ることに留意されたい。たとえば、電子デバイス2914は、各周波数ビンにおいてローカルエンベロープの幾何学的ノルムを得ることができる(たとえば、無限ノルムに対応するmax演算)。
図43は、グローバルエンベロープの例を示すグラフである。図43のグラフは、周波数スペクトル(Hz)4304にわたり、振幅(dB)4376について示されている。具体的には、図43は、発話スペクトル4349にわたるグローバルエンベロープ4347を示す。400Hzから1400Hzまで、グローバルエンベロープは、発話スペクトルよりはるかに高い(たとえば、最大で約30dB)。
電子デバイス2914は、統合されたグローバルエンベロープの後処理を任意選択で実行することができる。統合されたエンベロープは、図43に示されるように、連続的であるが必ずしも滑らかではないことがある。いくつかの構成では、電子デバイス2914は、より滑らかなエンベロープのために何らかの後処理(たとえば、図44に示されるような統合されたグローバルエンベロープの移動平均)を適用することができる。いくつかの構成では(たとえば、発話エンベロープに対応する最小の位相に対して)、電子デバイス2914は、統合されたグローバルエンベロープから全極フィルタを導出するために、離散全極モデル化を適用することができる。これらの構成では、最小の位相は、全極フィルタ周波数応答の角度であり得る。
図44は、欠けている倍音の復元の例を示すグラフである。図44のグラフは、周波数スペクトル(Hz)4404にわたり、振幅(dB)4476について示されている。具体的には、図44は、発話スペクトル4449、平滑化されたグローバルエンベロープ4451、および復元された発話スペクトル4453を示す。垂直の破線は高調波周波数を表す。
グローバルエンベロープの1つの適用形態は、発話スペクトルの欠けている成分を復元することである。基本周波数およびグローバルエンベロープが与えられると、電子デバイス2914は、グローバルエンベロープによって決定される振幅を有する高調波ピークを、それらが欠けているときに置くことによって、スペクトルを復元することができる。たとえば、5番目から15番目の高調波ピーク(約400Hzから1400Hz)が、図44に示されるように復元され得る。高調波ピークが存在するがグローバルエンベロープより低い場合、電子デバイス2914は、(たとえば、図44の16番目および18番目の高調波ピークによって示されるように)高調波ピークの振幅をエンベロープまで増大させることができる。高調波ピークが存在するがグローバルエンベロープより高い場合、電子デバイス2914は、(たとえば、図44の2番目および3番目の高調波ピークによって示されるように)振幅を維持することができる。
本明細書で開示されるシステムおよび方法のいくつかの構成では、電子デバイス2914は、第1のローカルピークのための第1のモデルを生成することができる。第1のローカルピークは、第1のローカルピークの近隣の高調波の場所に位置する少なくとも1つの欠けている近隣ピークを有し得る。たとえば、第1のローカルピークは支持されていないローカルピークであることがあり、電子デバイス2914は固定2極モデル化に基づいて第1のモデルを生成することができる。電子デバイス2914は、第2のローカルピークの近隣の高調波の場所に位置する近隣ピークに基づいて、第2のローカルピークのための第2のモデルを生成することができる。たとえば、第2のローカルピークは支持されているローカルピークであることがあり、電子デバイス2914は適応2極モデル化に基づいて第2のモデルを生成することができる。電子デバイス2914は、第1のモデルと第2のモデルの組合せに基づいて、統合されたエンベロープを生成することができる。たとえば、電子デバイス2914は、モデルを用いて最大化演算を実行することができる。たとえば、最大化演算は、各周波数ビンのためのモデルの間で最大の(たとえば、最高の振幅の)値をとり、最大のエンベロープを作成することができる。
図45は、電子デバイス4514において利用され得る様々な構成要素を示す。図示される構成要素は、同じ物理構造内に、または別個の筐体もしくは構造中に置かれ得る。図45に関して説明された電子デバイス4514は、本明細書で説明される電子デバイス102、302、2914のうちの1つまたは複数に従って実装され得る。電子デバイス4514は、プロセッサ4585を含む。プロセッサ4585は、汎用のシングルチップマイクロプロセッサまたはマルチチップマイクロプロセッサ(たとえば、ARM)、専用マイクロプロセッサ(たとえば、デジタル信号プロセッサ(DSP))、マイクロコントローラ、プログラマブルゲートアレイなどであり得る。プロセッサ4585は、中央演算処理装置(CPU)と呼ばれ得る。図45の電子デバイス4514の中に単一のプロセッサ4585のみが示されているが、代替的な構成では、プロセッサの組合せ(たとえば、ARMとDSP)が使用され得る。
電子デバイス4514は、プロセッサ4585と電子通信するメモリ4579も含む。つまり、プロセッサ4585は、メモリ4579から情報を読み取り、かつ/またはメモリ4579に情報を書き込むことができる。メモリ4579は、電子情報を記憶することができる任意の電子的な構成要素であってよい。メモリ4579は、これらの組合せを含めて、ランダムアクセスメモリ(RAM)、読出し専用メモリ(ROM)、磁気ディスク記憶媒体、光記憶媒体、RAM内のフラッシュメモリデバイス、プロセッサに含まれるオンボードメモリ、プログラマブル読出し専用メモリ(PROM)、消去可能プログラマブル読出し専用メモリ(EPROM)、電子的に消去可能PROM(EEPROM)、レジスタなどであってよい。
データ4583aおよび命令4581aは、メモリ4579内に記憶され得る。命令4581aは、1つまたは複数のプログラム、ルーチン、サブルーチン、機能、手順などを含み得る。命令4581aは、単一のコンピュータ可読ステートメントまたは多くのコンピュータ可読ステートメントを含み得る。命令4581aは、本明細書で説明された方法、機能、および手順のうちの1つまたは複数を実施するためにプロセッサ4585によって実行可能であり得る。命令4581aを実行することは、メモリ4579に記憶されたデータ4583aの使用を伴い得る。図45は、プロセッサ4585にロードされるいくつかの命令4581bおよびデータ4583b(それらは命令4581aおよびデータ4583aから生じ得る)を示す。
電子デバイス4514はまた、他の電子デバイスと通信するための1つまたは複数の通信インターフェース4589を含み得る。通信インターフェース4589は、有線通信技術、ワイヤレス通信技術、または両方に基づき得る。異なるタイプの通信インターフェース4589の例には、シリアルポート、パラレルポート、ユニバーサルシリアルバス(USB)、イーサネット(登録商標)アダプタ、IEEE1394バスインターフェース、小型コンピュータシステムインターフェース(SCSI)バスインターフェース、赤外線(IR)通信ポート、Bluetooth(登録商標)ワイヤレス通信アダプタなどがある。
電子デバイス4514はまた、1つまたは複数の入力デバイス4591および1つまたは複数の出力デバイス4595を含み得る。異なる種類の入力デバイス4591の例には、キーボード、マウス、マイクロフォン、リモコンデバイス、ボタン、ジョイスティック、トラックボール、タッチパッド、ライトペンなどがある。たとえば、電子デバイス4514は、音響信号を捕捉するための1つまたは複数のマイクロフォン4593を含み得る。一構成では、マイクロフォン4593は、音響信号(たとえば、音声、発話)を電気または電子信号に変換するトランスデューサであってよい。異なる種類の出力デバイス4595の例には、スピーカー、プリンタなどがある。たとえば、電子デバイス4514は、1つまたは複数のスピーカー4597を含み得る。一構成では、スピーカー4597は、電気または電子信号を音響信号に変換するトランスデューサであってよい。電子デバイス4514に通常含まれ得る1つの特定のタイプの出力デバイスが、ディスプレイデバイス4599である。本明細書で開示される構成とともに使用されるディスプレイデバイス4599は、たとえば陰極線管(CRT)、液晶ディスプレイ(LCD)、発光ダイオード(LED)、気体プラズマ、エレクトロルミネセンスなどの、任意の適切な画像投射技術を利用することができる。メモリ4579に記憶されたデータを、ディスプレイデバイス4599上に示されるテキスト、グラフィックス、および/または動画像(必要に応じて)に変換するためのディスプレイコントローラ4501も設けられ得る。
電子デバイス4514の様々な構成要素は、1つまたは複数のバスによって一緒に結合されることがあり、このバスは、電力バス、制御信号バス、状況信号バス、データバスなどを含むことがある。わかりやすいように、様々なバスは、図45ではバスシステム4587として図示されている。図45は、電子デバイス4514の1つの可能な構成を示しているだけであることに留意されたい。他の様々なアーキテクチャおよび構成要素が利用され得る。
図46は、帯域幅の拡張のための1つの手法の例を示すブロック図である。具体的には、図46は、低帯域(LB)分析モジュール4603、スペクトル推定モジュール4605、励振生成モジュール4607、励振利得モジュール4609、自動利得制御(AGC)利得モジュール4611、高帯域合成モジュール4613、低音増強モジュール4617、アップサンプリングモジュール4619、混合器または乗算器4615、4623、および加算器4621を示す。図46に関して説明される要素および/またはモジュールの1つまたは複数は、電子デバイス(たとえば、電子デバイス102、302、2914)において実装され得る。たとえば、図15に関して説明された帯域幅拡張モジュール1567は、図46に関して説明される要素および/またはモジュールの1つまたは複数を含み得る。図46において、Snb(n)は狭帯域信号を表し、Swb(n)は広帯域信号を表し、Slb(n)は低帯域のアップサンプリングされた信号を表し、Shb(n)は高帯域の合成された信号を表し、lsp(f)は狭帯域の線スペクトル対(LSP)係数を表し、lspwb(f)は高帯域のLSP係数を表し、r(n)は残余信号を表し、ex(n)は高帯域励振信号を表し、gpは音高利得を表し、gexは励振利得を表し、enは雑音出力を表し、ghbは高帯域合成利得を表す。
いくつかの構成では、狭帯域信号(たとえば、Snb(n))は、組み合わされたサブバンド信号(たとえば、Xin_first_second)の時間領域バージョンであり得る。たとえば、電子デバイス(たとえば、電子デバイス102、302、2914)は、組み合わされたサブバンド信号(たとえば、Xin_first_second、0〜4kHz)に対して逆短時間フーリエ変換(ISTFT)を実行して、時間領域狭帯域信号(たとえば、Snb(n))を取得することができる。加えて、または代替的に、電子デバイス(たとえば、電子デバイス102、302、2914)は、帯域幅拡張モジュール1576の出力(たとえば、Swb(n))に対して短時間フーリエ変換(STFT)を実行して、帯域幅拡張の後での処理のために第3のサブバンド(たとえば、Xbe、4〜8kHz)をとるだけであり得る。
より具体的には、たとえば、狭帯域信号(たとえば、Snb(n))は、LB分析モジュール4603および低音増強モジュール4617に提供され得る。LB分析モジュール4603は、LSP係数(たとえば、lsp(f))、残余信号(たとえば、r(n))、音高利得(たとえば、gp)、および雑音出力(たとえば、en)を作成することができる。
狭帯域LSP係数(たとえば、lsp(f))は、スペクトル推定モジュール4605に提供され得る。スペクトル推定モジュール4605は、狭帯域LSP係数に基づいて、広帯域LSP係数(たとえば、lspwb(f))を決定することができる。広帯域LSP係数は、高帯域合成モジュール4613に提供され得る。
残余信号(たとえば、r(n))は、励振生成モジュール4607に提供され得る。励振生成モジュール4607は、残余信号に基づいて高帯域励振信号(たとえば、ex(n))を生成することができる。高帯域励振信号は、混合器または乗算器4623に提供され得る。
音高利得(たとえば、gp)は、励振利得モジュール4609に提供され得る。励振利得モジュール4609は、音高利得に基づいて励振利得(たとえば、gex)を決定することができる。励振利得は、混合器または乗算器4623に提供され得る。混合器または乗算器4623は、高帯域励振信号を励振利得と混合または乗算することができる。得られる結果(たとえば、利得調整された高帯域励振信号)が、高帯域合成モジュール4613に提供され得る。
高帯域合成モジュール4613は、広帯域LSP係数および利得調整された高帯域励振信号に基づいて、高帯域合成信号(たとえば、Shb(n))を作成することができる。高帯域合成信号は、混合器または乗算器4615に提供され得る。
雑音出力(たとえば、en)は、AGC利得モジュール4611に提供され得る。AGC利得モジュール4611は、雑音出力に基づいて高帯域合成利得(たとえば、ghb)を決定することができる。高帯域合成利得は、混合器または乗算器4615に提供され得る。混合器または乗算器4615は、高帯域合成利得を高帯域合成信号と混合または乗算することができる。得られる結果(たとえば、利得調整された高帯域合成信号)が、加算器4621に提供され得る。
低音増強モジュール4617は、狭帯域信号を増強する(たとえば、増幅する、それに利得を適用する、など)ことができる。たとえば、低音増強モジュール4617は、狭帯域信号のすべてまたは一部分(たとえば、より低い部分)を増強することができる。増強された信号は、アップサンプリングモジュール4619に提供され得る。アップサンプリングモジュール4619は、増強された信号をアップサンプリングして、低帯域のアップサンプリングされた信号(たとえば、Slb(n))を作成することができる。たとえば、アップサンプリングモジュール4619は、増強された信号のサンプルの数を2倍にする(たとえば、増強された信号を2という係数によってアップサンプリングする)ことができる。低帯域のアップサンプリングされた信号は、加算器4621に提供され得る。
加算器4621は、低帯域のアップサンプリングされた信号と利得調整された高帯域合成信号を加算して、広帯域信号(たとえば、Swb(n))を作成することができる。上で説明されたように、電子デバイス(たとえば、電子デバイス102、302、2914)は、帯域幅拡張モジュール1576の出力(たとえば、広帯域信号Swb(n))に対して短時間フーリエ変換(STFT)を実行して、帯域幅拡張の後での処理のために広帯域信号の第3のサブバンド(たとえば、Xbe、4〜8kHz)をとるだけであり得る。
上の説明では、時々、参照番号が様々な用語に関連して使用されている。用語が参照番号に関して使用されるとき、これは、図面のうちの1つまたは複数において示される特定の要素を指すことが意図され得る。用語が参照番号なしで使用されるとき、これはいかなる特定の図にも限定せずに、一般にその用語を指すことが意図され得る。
「決定すること」という用語は、幅広い動作を包含し、したがって、「決定すること」は、計算すること、演算すること、処理すること、導出すること、調査すること、探索すること(たとえば、表、データベース、または他のデータ構造の中を探索すること)、確認することなどを含み得る。また、「決定すること」は、受信すること(たとえば、情報を受信すること)、アクセスすること(たとえば、メモリの中のデータにアクセスすること)などを含み得る。また、「決定すること」は、解決すること、選択すること、選ぶこと、確立することなどを含み得る。
「〜に基づく」という句は、別段明記されない限り、「〜だけに基づく」を意味しない。言い換えると、「〜に基づく」という句は、「〜だけに基づく」と「少なくとも〜に基づく」との両方を表す。
本明細書で説明される構成のうちの任意の1つに関して説明された特徴、機能、手順、構成要素、要素、構造などのうちの1つまたは複数は、適合する場合、本明細書で説明された他の構成のいずれかに関して説明された機能、手順、構成要素、要素、構造などのうちの1つまたは複数と組み合わせられ得ることに留意されたい。言い換えると、本明細書で説明された、機能、手順、構成要素、要素などの任意の適合する組合せが、本明細書で開示されたシステムおよび方法に従って実装され得る。
本明細書で説明された機能は、プロセッサ可読媒体上またはコンピュータ可読媒体上に1つまたは複数の命令として記憶され得る。「コンピュータ可読媒体」という用語は、コンピュータまたはプロセッサによってアクセスされ得る任意の利用可能な媒体を指す。限定ではなく、例として、そのような媒体は、RAM、ROM、EEPROM、フラッシュメモリ、CD-ROMもしくは他の光ディスク(disc)ストレージ、磁気ディスク(disk)ストレージデバイスもしくは他の磁気ストレージデバイス、または、所望のプログラムコードを命令もしくはデータ構造の形態で記憶するために使用されかつコンピュータによってアクセスされ得る任意の他の媒体を備え得る。本明細書で使用される場合、ディスク(disk)およびディスク(disc)は、コンパクトディスク(disc)(CD)、レーザーディスク(登録商標)(disc)、光ディスク(disc)、デジタル多用途ディスク(disc)(DVD)、フロッピーディスク(disk)、およびブルーレイ(登録商標)ディスク(disc)を含み、ディスク(disk)は、通常、磁気的にデータを再生し、ディスク(disc)は、レーザーで光学的にデータを再生する。コンピュータ可読媒体は有形および非一時的であり得ることに留意されたい。「コンピュータプログラム製品」という用語は、コンピューティングデバイスまたはプロセッサによって実行され、処理され、または計算され得る、コードまたは命令(たとえば、「プログラム」)と組み合わされたコンピューティングデバイスまたはプロセッサを指す。本明細書では、「コード」という用語は、コンピューティングデバイスまたはプロセッサによって実行可能であるソフトウェア、命令、コード、またはデータを指し得る。
ソフトウェアまたは命令は、伝送媒体を介しても送信され得る。たとえば、ソフトウェアが、ウェブサイト、サーバ、または他のリモートソースから同軸ケーブル、光ファイバケーブル、より対線、デジタル加入者回線(DSL)、または赤外線、無線、およびマイクロ波などのワイヤレス技術を使用して伝送される場合に、同軸ケーブル、光ファイバケーブル、より対線、DSL、または赤外線、無線、およびマイクロ波などのワイヤレス技術は、伝送媒体の定義に含まれる。
本明細書で開示された方法は、説明された方法を実現するための1つまたは複数のステップまたは活動を備える。方法ステップおよび/または活動は、特許請求の範囲から逸脱することなく互いに交換され得る。言い換えれば、説明されている方法の正しい動作のために、ステップまたは活動の特定の順序が必要とされない限り、特定のステップおよび/または活動の順序および/または使用は、特許請求の範囲から逸脱することなく修正され得る。
特許請求の範囲が、上で示された厳密な構成および構成要素に限定されないことを理解されたい。特許請求の範囲の範囲から逸脱することなく、本明細書で説明されるシステム、方法、および装置の配置、動作、および詳細において、様々な修正、変更、および変形が行われ得る。