説明

複数感知の音声強調の際に代替センサ信号によるノイズ破損を低減するための方法および装置

【課題】代替センサ信号の一部分を、ノイズを含むまたはノイズを含まないものとして分類する方法および装置を提供すること。
【解決手段】ノイズを含むと分類された代替センサ信号の部分は、クリーン音声信号の一部分、および代替センサに関連するチャネル応答を推定するために使用されない。ノイズを含まないと分類された代替センサ信号の部分は、クリーン音声信号の一部分、および代替センサに関連するチャネル応答を推定するために使用される。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ノイズリダクションに関する。より詳細には、本発明は、音声信号からノイズを除去することに関する。
【背景技術】
【0002】
音声認識および音声伝送における共通する問題は、付加ノイズによる音声信号の破損である。特に、別の話者の音声による破損は、検出および/または補正が困難であることが分かっている。
【0003】
近年、骨導マイク(bone conduction microphone)および気導マイク(air conduction microphone)のような代替センサの組合せを使用することによって、ノイズを除去することを試みるシステムが開発された。このシステムは、骨導マイクを介して音声およびノイズの伝送に関連するチャネル応答を推定する。次いで、ノイズのある骨導マイク信号とノイズのある気導マイク信号に基づいてクリーン音声信号の推定値が識別されるために、これらのチャネル応答は、ダイレクトフィルタリング(direct filtering)技術において使用される。
【発明の開示】
【発明が解決しようとする課題】
【0004】
このシステムは、うまく機能するが、より高周波において音声信号内にヌル(null)がもたらされる傾向があり、さらに、ユーザが発話中に歯のクラック音(clack)を立てた場合、推定されるクリーン音声信号に不快なクリック音(click)が含まれる傾向がある。
【0005】
したがって、不快なクリック音を除去し、クリーン音声推定を改善するために、ダイレクトフィルタリング技術を改善するシステムが必要とされる。
【課題を解決するための手段】
【0006】
1つの方法および装置は、代替センサ信号の一部分を、ノイズを含むまたはノイズを含まないものとして分類する。ノイズを含むと分類された代替センサ信号の部分は、クリーン音声信号の一部分、および、代替センサに関連するチャネル応答を推定するために使用されない。ノイズを含まないと分類された代替センサ信号の部分は、クリーン音声信号の一部分、および、代替センサに関連するチャネル応答を推定するために使用される。
【発明を実施するための最良の形態】
【0007】
図1は、本発明を実装することができる適切なコンピューティングシステム環境100の例を示す。コンピューティングシステム環境100は、適切なコンピューティング環境の一例に過ぎず、本発明の使用または機能の範囲についてどんな限定も示唆するものではない。コンピューティング環境100は、例示的動作環境100に示される任意のコンポーネントまたはそれらの組合せに関係するどのような依存性も要件も有していると解釈されるべきではない。
【0008】
本発明は、他の多数の汎用または専用コンピューティングシステム環境または構成で動作可能である。本発明とともに使用するのに適切であり得る周知のコンピューティングシステム、環境、および/または構成の例には、以下に限定されないが、パーソナルコンピュータ、サーバコンピュータ、ハンドヘルドまたはラップトップ装置、マルチプロセッサシステム、マイクロプロセッサベースのシステム、セットトップボックス、プログラム可能な家庭用電化製品、ネットワークPC、ミニコンピュータ、メインフレームコンピュータ、電話システム、および、上記のシステムまたは装置のいずれかを含む分散コンピューティング環境などが含まれる。
【0009】
本発明は、コンピュータによって実行されるプログラムモジュールなどのコンピュータ実行可能命令の一般的コンテキストで記述される。一般に、プログラムモジュールには、特定のタスクを実行しまたは特定の抽象データ型を実装する、ルーチン、プログラム、オブジェクト、コンポーネント、およびデータ構造などが含まれる。本発明は、通信ネットワークを介してリンクされるリモート処理装置によってタスクが実行される分散コンピューティング環境において実施されるように設計される。分散コンピューティング環境では、プログラムモジュールは、メモリ記憶装置を含むローカルとリモートの両方のコンピュータ記憶媒体に配置される。
【0010】
図1を参照すると、本発明を実装するための例示的なシステムは、汎用コンピューティングデバイスをコンピュータ110の形態で含む。コンピュータ110のコンポーネントには、処理装置120、システムメモリ130、および、システムメモリを含めて様々なシステムコンポーネントを処理装置120に結合するシステムバス121が含まれうるが、それに限定されない。システムバス121は、様々なバスアーキテクチャのいずれかを使用するメモリバスまたはメモリコントローラ、周辺バス、およびローカルバスなどを含めて、いくつかのタイプのバス構造のいずれでもよい。このようなアーキテクチャには、限定ではなく例として挙げれば、ISA(業界標準アーキテクチャ)バス、MCA(マイクロチャネルアーキテクチャ)バス、EISA(拡張ISA)バス、VESA(ビデオ電子規格協会)ローカルバス、および、メザニン(Mezzanine)バスとしても知られるPCI(周辺コンポーネント相互接続)バスが含まれる。
【0011】
コンピュータ110は、通常、様々なコンピュータ可読媒体を含む。コンピュータ可読媒体は、コンピュータ110によってアクセスすることができる任意の利用可能な媒体とすることができ、それには、揮発性と不揮発性の両方の媒体、およびリムーバルと固定の両方の媒体が含まれる。限定ではなく例として、コンピュータ可読媒体には、コンピュータ記憶媒体および通信媒体が含まれうる。コンピュータ記憶媒体には、コンピュータ可読命令、データ構造、プログラムモジュール、または他のデータなどの情報を格納するため任意の方法または技術で実装される、揮発性と不揮発性の両方の媒体、およびリムーバルと固定の両方の媒体が含まれる。コンピュータ記憶媒体には、以下に限定されないが、RAM、ROM、EEPROM、フラッシュメモリ、または他のメモリ技術、CD−ROM、DVD(デジタル多用途ディスク)、または他の光ディスクストレージ、磁気カセット、磁気テープ、磁気ディスクストレージ、または他の磁気記憶装置、あるいは、所望の情報を格納するのに使用することができコンピュータ110によってアクセスすることができる他の任意の媒体が含まれる。通信媒体は、通常、搬送波や他の搬送メカニズムなどの変調されたデータ信号としてコンピュータ可読命令、データ構造、プログラムモジュール、または他のデータなどを具体化し、また、任意の情報伝達媒体を含む。「変調されたデータ信号」という用語は、信号として情報を符号化するようにセットまたは変更された1つまたは複数の信号特性を有する信号を意味する。限定ではなく例として挙げると、通信媒体には、有線ネットワークまたは直接配線接続などの有線媒体、ならびに、音響、RF、赤外線、および他の無線媒体などの無線媒体が含まれる。上記の媒体の任意の組合せも、コンピュータ可読媒体の範囲に含まれることになる。
【0012】
システムメモリ130は、コンピュータ記憶媒体を、ROM(読出し専用メモリ)131およびRAM(ランダムアクセスメモリ)132などの揮発性および/または不揮発性のメモリの形態で含む。始動時などにコンピュータ110内の要素間で情報を転送する助けとなる基本ルーチンを含むBIOS(基本入出力システム)133は、通常、ROM131に格納されている。RAM132は、通常、処理装置120により、即座にアクセス可能および/または現在処理中である、データおよび/またはプログラムモジュールを含む。図1は、限定ではなく例として、オペレーティングシステム134、アプリケーションプログラム135、他のプログラムモジュール136、およびプログラムデータ137を示す。
【0013】
コンピュータ110は、他のリムーバル/固定、および揮発性/不揮発性のコンピュータ記憶媒体を含むこともできる。単に例として示すが、図1では、固定で不揮発性の磁気媒体から読み取りまたはそれに書き込むハードディスクドライブ141、リムーバルで不揮発性の磁気ディスク152から読み取りまたはそれに書き込む磁気ディスクドライブ151、および、CD−ROMまたは他の光媒体などリムーバルで不揮発性の光ディスク156から読み取りまたはそれに書き込む光ディスクドライブ155を示している。例示的動作環境において使用することができる他のリムーバル/固定で揮発性/不揮発性のコンピュータ記憶媒体には、以下に限定されないが、磁気テープカセット、フラッシュメモリカード、DVD、デジタルビデオテープ、半導体RAM、および半導体ROMなどが含まれる。ハードディスクドライブ141は、通常、インターフェース140などの固定メモリインターフェースを介してシステムバス121に接続され、磁気ディスクドライブ151および光ディスクドライブ155は、通常、インターフェース150などのリムーバルメモリインターフェースによってシステムバス121に接続される。
【0014】
図1に示される前述のドライブおよび関連するコンピュータ記憶媒体は、コンピュータ110のための、コンピュータ可読命令、データ構造、プログラムモジュール、および他のデータのストレージを提供する。例えば、図1では、ハードディスクドライブ141が、オペレーティングシステム144、アプリケーションプログラム145、他のプログラムモジュール146、およびプログラムデータ147を格納するものとして示されている。これらのコンポーネントは、オペレーティングシステム134、アプリケーションプログラム135、他のプログラムモジュール136、およびプログラムデータ137と同じにすることも異なるようにすることもできることに留意されたい。オペレーティングシステム144、アプリケーションプログラム145、他のプログラムモジュール146、およびプログラムデータ147には、これらが少なくとも互いに異なるコピーであることを示すために、ここでは異なる番号を与えている。
【0015】
ユーザは、キーボード162、マイク163、および、マウス、トラックボール、またはタッチパッドなどのポインティングデバイス161などの入力装置を介して、コマンドおよび情報をコンピュータ110に入力することができる。他の入力装置(図示せず)には、ジョイスティック、ゲームパッド、パラボラアンテナ、スキャナなどが含まれうる。上記その他の入力装置は、多くの場合、システムバスに結合されたユーザ入力インターフェース160を介して処理装置120に接続されるが、パラレルポート、ゲームポート、またはUSB(ユニバーサルシリアルバス)など他のインターフェースおよびバス構造によって接続してもよい。モニタ191または他のタイプの表示装置も、ビデオインターフェース190などのインターフェースを介してシステムバス121に接続される。このコンピュータはまた、モニタに加え、スピーカ197およびプリンタ196など他の周辺出力装置を含むこともでき、これらは、出力周辺装置インターフェース195を介して接続することができる。
【0016】
コンピュータ110は、リモートコンピュータ180など1つまたは複数のリモートコンピュータへの論理接続を使用してネットワーク化された環境で動作する。リモートコンピュータ180は、パーソナルコンピュータ、ハンドヘルドデバイス、サーバ、ルータ、ネットワークPC、ピアデバイス、または他の共通ネットワークノードとすることができ、通常、コンピュータ110に関係する上述の要素の多くまたは全部を含む。図1に示す論理接続は、LAN(ローカルエリアネットワーク)171、およびWAN(広域ネットワーク)173を含むが、他のネットワークを含むこともできる。このようなネットワーク環境は、オフィス、企業規模のコンピュータネットワーク、イントラネット、およびインターネットにおいて一般的である。
【0017】
LANネットワーク環境で使用する場合、コンピュータ110は、ネットワークインターフェースまたはアダプタ170を介してLAN171に接続される。WANネットワーク環境で使用する場合、コンピュータ110は、通常、モデム172、または、インターネットなどのWAN173を介して接続を確立する他の手段を含む。モデム172は、内蔵モデムでも外部のモデムでもよく、ユーザ入力インターフェース160または他の適切なメカニズムを介してシステムバス121に接続することができる。ネットワーク環境では、コンピュータ110に関して示されたプログラムモジュールまたはその部分をリモートメモリ記憶装置に格納することができる。図1では、限定ではなく例として、リモートアプリケーションプログラム185がリモートコンピュータ180に存在するように示している。ここに示したネットワーク接続は例示であり、コンピュータ間で通信リンクを確立する他の手段を使用することもできることは認識されよう。
【0018】
図2は、例示的コンピューティング環境であるモバイルデバイス200を示すブロック図である。モバイルデバイス200は、マイクロプロセッサ202、メモリ204、入出力(I/O)コンポーネント206、および、リモートコンピュータまたは他のモバイルデバイスと通信するための通信インターフェース208を含む。一実施形態では、上述のコンポーネントは、適切なバス210を介して互いに通信するために結合される。
【0019】
メモリ204は、モバイルデバイス200の全体の電源がシャットダウンされたときにメモリ204に格納された情報が失われないように、バッテリバックアップモジュール(図示せず)を有するRAM(ランダムアクセスメモリ)などのような不揮発性の電子メモリとして実装される。メモリ204の一部分は、プログラム実行のためにアドレス可能なメモリとして割り当てられることが好ましく、メモリ204の他の部分は、ディスクドライブ上の記憶をシミュレートするような記憶域に使用されることが好ましい。
【0020】
メモリ204は、オペレーティングシステム212、アプリケーションプログラム214、ならびに、オブジェクトストア216を含む。動作中、オペレーティングシステム212は、好ましくは、メモリ204からプロセッサ202によって実行される。好ましい一実施形態では、オペレーティングシステム212は、マイクロソフト社から市販されているWindows(登録商標)CEブランドのオペレーティングシステムである。オペレーティングシステム212は、好ましくは、モバイルデバイス用に設計されており、公開されている1組のアプリケーションプログラミングインターフェースおよびメソッドを介してアプリケーション214によって利用可能なデータベース機能を実装する。オブジェクトストア216内のオブジェクトは、公開されているアプリケーションプログラミングインターフェースおよびメソッドに対する呼出しに少なくとも部分的には応答して、アプリケーション214およびオペレーティングシステム212によって維持される。
【0021】
通信インターフェース208は、モバイルデバイス200が情報を送受信することを可能にする多数の装置および技術を表す。いくつか例を挙げると、これらの装置には、有線および無線のモデム、衛星放送受信機、ブロードキャストチューナが含まれている。モバイルデバイス200は、コンピュータとデータを交換するためにそのコンピュータに直接接続されている。このような場合、通信インターフェース208は、赤外線トランシーバ、あるいはシリアルまたはパラレル通信接続とすることができ、これらはすべて、ストリーミング情報を送信することができる。
【0022】
入出力コンポーネント206は、タッチスクリーン、ボタン、ローラ、およびマイクなどの様々な入力装置、ならびに、オーディオジェネレータ(audio generator)、振動装置、およびディスプレイなどの様々な出力装置を含む。上に列挙したデバイスは、例示であって、そのすべてがモバイルデバイス200上に存在する必要はない。さらに、他の入出力デバイスが、本発明の範囲内で、モバイルデバイス200に取り付けられても、モバイルデバイス200とともに存在してもよい。
【0023】
図3は、本発明の実施形態のための音声強調システムのブロック図を示す。図3では、ユーザ/話者300が、音声信号302(X)を生成し、音声信号302(X)は、気導マイク304および代替センサ306によって検出される。代替センサの例には、ユーザの喉の振動を測定する咽喉マイク、および、ユーザの顔面骨または頭蓋骨の上またはその付近(例えば、顎骨)あるいはユーザの耳の中に配置され、ユーザによって生成された音声に対応する頭蓋および顎の振動を検知する骨伝導センサが含まれる。気導マイク304は、音波を電気信号に変換するために一般に使用されるタイプのマイクである。
【0024】
気導マイク304はまた、1つまたは複数のノイズ源310によって生成される周辺ノイズ308(V)を受け取る。ノイズ308は、代替センサのタイプおよびノイズのレベルによっては、代替センサ306によっても検出されうる。しかし、本発明の実施形態においては、代替センサ306は、通常、気導マイク304よりも周辺ノイズに対して感度が低い。したがって、一般に、代替センサ306によって生成された代替センサ信号は、気導マイク304によって生成された気導マイク信号より少ないノイズを含む。代替センサ306は、周辺ノイズに対して感度がより低いが、いくらかのセンサノイズ320(W)を生成する。
【0025】
話者300から代替センサ信号316への経路は、チャネル応答Hを有するチャネルとしてモデル化することができる。周辺ノイズ源310から代替センサ信号316への経路は、チャネル応答Gを有するチャネルとしてモデル化することができる。
【0026】
代替センサ306からの代替センサ信号、および気導マイク304からの気導マイク信号はそれぞれ、アナログ−デジタルコンバータ322および324に供給され、それぞれにより、一連のデジタル値が生成され、生成されたデジタル値はそれぞれ、フレームコンストラクタ(frame constructor)326および328によって、いくつかのフレームにグループ化される。一実施形態では、A/Dコンバータ322および324は、16kHzかつ16ビット/サンプルでアナログ信号をサンプリングし、それにより、毎秒32キロバイトの音声データを作成し、フレームコンストラクタ326および328は、新規のそれぞれのフレームを10ミリ秒毎で作成し、新規フレームは、20ミリ秒相当のデータを含む。
【0027】
フレームコンストラクタ326および328によって提供される各フレームのデータはそれぞれ、高速フーリエ変換(FFT)330および332を用いて周波数領域に変換される。これにより、代替センサ信号についての周波数領域の値334(B)、および気導マイク信号についての周波数領域の値336(Y)がもたらされる。
【0028】
代替センサ信号334についての周波数領域の値334、および気導マイク信号についての周波数領域の値336は、強調モデルトレーナ338、およびダイレクトフィルタリング強調ユニット340に送られる。強調モデルトレーナ338は、代替センサの値Bおよび気導マイクの値Yに基づいて、チャネル応答HおよびGならびに周辺ノイズVおよびセンサノイズWを記述するモデルパラメータを訓練する。これらのモデルパラメータは、ダイレクトフィルタリング強調ユニット340に提供され、ダイレクトフィルタリンク強調ユニット340は、これらのパラメータと周波数領域値BおよびYを使用して、クリーン音声信号342
【0029】
【数1】

【0030】
を推定する。
【0031】
クリーン音声推定値342は、1組の周波数領域値である。これらの値は、逆高速フーリエ変換(IFFT)344を用いて時間領域に変換される。時間領域値の各フレームは、重複加算(overlap−and−add)ユニット346によって、その近接フレームと重複されて加算される。これにより、連続的な時間領域値のセットが作成され、音声処理348に提供される。音声処理348には、音声符号化または音声認識が含まれうる。
【0032】
本発明者は、図3に示されるクリーン信号推定値を識別するためのシステムは、気導マイク304よりも代替センサ306によって検出される、歯のクラック音などの過渡ノイズによって、悪影響を受けるおそれがあることを見い出した。本発明者は、このような過渡ノイズが、チャネル応答Hの推定値を破損し、クリーン信号推定値においてヌルを生じさせることを見い出した。さらに、代替センサ値Bが、このような過渡ノイズによって破損すると、代替センサ値から推定されるクリーン音声値にも破損を引き起こす。
【0033】
本発明は、代替センサ信号における歯のクラック音などの過渡ノイズによって引き起こされるクリーン音声推定値の破損を回避する、クリーン音声信号342を推定するためのダイレクトフィルタリング技術を提供する。以下の議論では、この過渡ノイズを、システムに見られる他のタイプのノイズとの混同を避けるために、歯クラック(teeth clack)音と呼ぶ。しかし、本発明を、気導マイクよりも代替センサによってより検出される任意のタイプのノイズによってシステムが影響を受けるときに、クリーン信号値を識別するために使用することができることは当業者には理解されよう。
【0034】
図4は、本発明の技術を用いる、ノイズのある音声信号からクリーン音声値を推定するために使用されるバッチ更新技術の流れ図を示す。
【0035】
ステップ400で、気導マイク値(Y)および代替センサ値(B)が収集される。これらの値は、強調モデルトレーナ338に提供される。
【0036】
図5は、トレーナ338のブロック図を示す。トレーナ338内で、代替センサ値(B)および気導マイク値(Y)が、音声検出ユニット500に提供される。
【0037】
音声検出ユニット500は、ステップ402で、どの代替センサ値および気導マイク値が、ユーザの発話に対応するかとどの値が、背景音声を含めた背景ノイズに対応するかを決定する。
【0038】
一実施形態においては、音声検出ユニット500は、代替センサ信号の低エネルギー部分を識別することにより、値がユーザの発話に対応するかどうかを決定する。というのは、代替センサのノイズのエネルギーは、代替センサ信号によって捕捉された音声信号よりはるかに小さいためである。
【0039】
詳細には、音声検出ユニット500は、各代替センサ値によって表される各フレームごとの代替センサ信号のエネルギーを識別する。次いで、音声検出ユニット500は、エネルギーのピークを求めるために一連のフレームのエネルギー値を探索する。次いで、ピークの後の谷を求めて探索を行う。この谷のエネルギーは、エネルギーセパレータ(energy separator)、dと呼ばれる。フレームが音声を含むかどうかを決定するために、次いで、エネルギーセパレータdに対するフレームのエネルギーeの比率kが、k=e/dとして決定される。次いで、フレームの音声の信頼性、qが以下のように決定される。
【0040】
【数2】

【0041】
式中、αは、2つの状態の間の遷移を定義し、一実装形態では、2に設定される。最後に、(それ自体を含む)隣接する5つのフレームの平均の信頼値が、そのフレームの最終的な信頼値として用いられる。
【0042】
一実施形態では、音声が存在するかどうかを決定するために、固定された閾値が使用され、信頼値が閾値を超えた場合は、フレームが音声を含むと見なし、信頼値が閾値を超えない場合は、フレームが音声を含んでいないと見なすようになされている。一実施形態では、0.1の閾値が使用される。
【0043】
他の実施形態では、話者が発話をしているときを識別するために、周知の音声検出技術が、気導音声信号に適用される。通常、音声フレーム(speech frame)は、非音声では存在しない高調波を含むため、このようなシステムでは、一般に、ピッチトラッカ(pitch tracker)を使用して音声フレームを識別する。
【0044】
音声に関連する代替センサ値および気導マイク値は、音声フレーム504に格納され、非音声に関連する値は、非音声フレーム502に格納される。
【0045】
ステップ404で、非音声フレーム502内の値を使用して、背景ノイズ推定器506、代替センサノイズ推定器508、およびチャネル応答推定器510は、それぞれ、背景ノイズ、代替センサノイズ、およびチャネル応答Gを記述する推定モデルパラメータを推定する。
【0046】
一実施形態では、背景ノイズVの実部および虚部と、センサノイズWの実部および虚部が、独立の平均0のガウス分布として下記のようにモデル化される。
【0047】
【数3】

【0048】
【数4】

【0049】
式中、
【0050】
【数5】

【0051】
は、背景ノイズVの分散であり、
【0052】
【数6】

【0053】
は、センサノイズWの分散である。
【0054】
背景ノイズの分散
【0055】
【数7】

【0056】
は、非音声フレームにおける気導マイク値から推定される。詳細には、非音声フレームにおける気導マイク値Yは、背景ノイズVと等しいと仮定される。したがって、Yの値が、非音声の期間の平均0のガウス分布としてモデル化されると仮定して、気導マイク値Yを、分散
【0057】
【数8】

【0058】
を決定するために使用することができる。一実施形態では、この分散は、値Yの平方和を、値の個数で割ることによって求められる。
【0059】
代替センサノイズ
【0060】
【数9】

【0061】
の分散は、下記のように、非音声のフレームごとにセンサノイズWtを推定することによって、非音声フレームから決定することができる。
【0062】
t=Bt−GYt 式4
【0063】
上式では、Gは、初期に0として推定されるが、
【0064】
【数10】

【0065】
が反復の一ステップにおいて推定され、Gが反復の第2のステップにおいて推定される反復プロセスによって、更新される。次いで、Wの値は、Wについての平均0のガウスモデルを仮定して、分散
【0066】
【数11】

【0067】
を推定するために使用される。
【0068】
G推定器510は、次式のように反復の第2のステップにおいてチャネル応答Gを推定する。
【0069】
【数12】

【0070】
式中、Dは、ユーザが発話していないフレームの個数である。式5では、Gは、発話のすべてのフレームにわたって一定であり、つまり、時間フレームtに依存していない。
【0071】
式4および5は、
【0072】
【数13】

【0073】
およびGが、安定した値に収束するまで反復される。
【0074】
【数14】

【0075】
およびGの最終値は、モデルパラメータ512に格納される。
【0076】
ステップ406で、チャネル応答Hについてのモデルパラメータは、モデルパラメータ512に格納されたノイズについてのモデルパラメータ、および、音声フレーム504におけるBおよびYの値を使用して、Hおよび
【0077】
【数15】

【0078】
推定器518によって最初に推定される。詳細には、Hは、次のように推定される。
【0079】
【数16】

【0080】
上式において、Sは、音声フレームの個数であり、Gは、Hの計算の際に0であると仮定される。
【0081】
さらに、ステップ406で、H、
【0082】
【数17】

【0083】
の先行のモデルの分散が決定される。
【0084】
【数18】

【0085】
の値は、
【0086】
【数19】

【0087】
のように計算することができる。
【0088】
いくつかの実施形態では、
【0089】
【数20】

【0090】
は、代わりに、H2のパーセンテージとして推定される。例えば、
【0091】
【数21】

【0092】
のようになる。
【0093】
ステップ406で、Hおよび
【0094】
【数22】

【0095】
が決定されると、これらの値は、ステップ408で、音声フレーム504ごとの判別関数の値を決定するために使用される。詳細には、音声フレームごとに、歯クラック音検出器514は、
【0096】
【数23】

【0097】
の値を決定する。
【0098】
上式において、Kは、BtおよびYtの周波数領域値における周波数成分の個数である。
【0099】
本発明者は、Ftの大きい値は、音声フレームが歯クラック音を含むことを示し、Ftのより小さい値は、音声フレームが歯クラック音を含んでいないことを示すことを見出した。したがって、音声フレームは、単純な閾値を使用して、歯クラック音フレームとして分類されうる。これは、図4のステップ410に示されている。
【0100】
一実施形態では、Fに対する閾値は、許容されるエラー率を有するカイ2乗分布としてFをモデル化することによって決定される。式としては、
【0101】
P(Ft<ε|Ψ)=α 式10
【0102】
となる。上式において、P(Ft<ε|Ψ)は、このフレームが歯クラック音フレームではないという仮説Pを仮定する、Ftが閾値εより小さい確率であり、αは、許容されるエラーフリー率である。
【0103】
一実施形態では、α=.99である。言い換えれば、このモデルは、実際に、フレームが、時間についてわずか1%も歯クラック音を含まないとき、歯クラック音として音声フレームを分類する。このエラー率を用いると、Fに対する閾値は、カイ2乗分布についての公表値に基づき、ε=365.3650となる。本発明の範囲内で、他の閾値が導かれる他のエラーフリー率を使用することもできることに留意されたい。
【0104】
ステップ410で、カイ2乗分布から決定された閾値を使用して、各フレームは、歯クラック音フレーム、または非歯クラック音フレームに分類される。Fは、背景ノイズの分散およびセンサノイズの分散に依存しているので、その分類は、これらの分散の値を決定する際の誤りに敏感である。分散での誤りにより、余分に多くのフレームが、歯クラック音を含むと分類されないようにするために、歯クラック音検出器514は、初期に歯クラック音として分類されるフレームのパーセンテージを決定する。ステップ412で、そのパーセンテージが、選択されたパーセンテージ、例えば5%より大きい場合、ステップ414で、閾値が増大され、ステップ416で、フレームが再分類されて、選択されたパーセンテージのフレームのみが、歯クラック音を含んでいると識別されるようになる。上記では、フレームのパーセンテージが使用されているが、代わりに、フレームの固定された個数を使用することもできる。
【0105】
ステップ412またはステップ416で、選択されたパーセンテージより少ないフレームが、歯クラック音を含んでいると識別されると、非クラック音フレーム516として分類されたフレームが、Hおよび
【0106】
【数24】

【0107】
推定器518に提供されて、Hおよび
【0108】
【数25】

【0109】
の値が再計算される(ステップ418)。詳細には、非クラック音フレーム516において得られるBtおよびYtの値を使用して、式6が再計算される。
【0110】
ステップ420で、ダイレクトフィルタリング強調ユニット340により、Hの更新された値を、Gの値、ならびにノイズの分散
【0111】
【数26】

【0112】
および
【0113】
【数27】

【0114】
の値とともに使用して、次のようにクリーン音声値を推定する。
【0115】
【数28】

【0116】
式中、H*は、Hの複素共役をあらわしている。歯クラック音を含むと分類されたフレームについては、Btの値は、歯クラック音によって破損されており、クリーン音声信号を推定するために使用されるべきではない。このようなフレームに関しては、式11において、Btは、
【0117】
【数29】

【0118】
として推定される。音声を含み歯クラック音を含むフレームの分類は、強調モデルトレーナ338によって、ダイレクトフィルタリング強調340に提供され、この置き換えが、式10において行われる。
【0119】
本発明は、歯クラック音を含まないフレームのみを使用してHを推定することによって、Hのより適切な推定値を提供する。これは、従来技術のクリーン音声推定値の比較的高い周波数に存在していたヌルを減少させるために役立つ。さらに、本発明は、歯クラック音を含むフレームにおける代替センサ信号を使用しないことにより、これらのフレームについてのクリーン音声値のより適切な推定値を提供する。
【0120】
図4の流れ図は、チャネル応答、および歯クラック音を含むフレームの分類のバッチ更新を表す。このバッチ更新は、発話全体にわたって行われる。図6は、チャネル応答値を更新し、クリーン音声信号を推定するための連続的または「オンライン」の方法の流れ図を示す。
【0121】
図6のステップ600で、フレームについて気導マイク値Ytおよび代替センサ値Btが、収集される。ステップ602で、音声検出ユニット500が、フレームが音声を含むかどうかを決定する。上述した同じ技術を使用して、この決定を行うことができる。フレームが音声を含まない場合、ステップ604で、背景ノイズの分散、代替センサノイズの分散、およびGの推定値が更新される。詳細には、これらの分散は、以下のように更新される。
【0122】
【数30】

【0123】
【数31】

【0124】
上式において、dは、処理される非音声フレームの個数であり、Gd-1は、現行フレームの前のGの値である。
【0125】
Gの値は、以下のように更新される。
【0126】
【数32】

【0127】
ただし、
【0128】
【数33】

【0129】
【数34】

【0130】
である。式中、c≦1で、効果的なヒストリの長さ(history length)が提供される。
【0131】
現行フレームが音声フレームの場合、ステップ606で、前述の式9を使用して、Fの値が計算される。このFの値は、過去のフレームでのFの値、および、クラック音フレームまたは非クラック音フレームとしてのこれらのフレームの分類を含むバッファに追加される。
【0132】
ステップ608で、現行フレームでのFの値と、歯クラック音についてのFに対する閾値を使用して、現行フレームは、歯クラック音フレームまたは非クラック音フレームとして分類される。この閾値は、上述のカイ2乗分布モデルを使用して初期設定される。このフレームは、後で述べるように、新規のフレームごとに更新される。
【0133】
ステップ610で、現行フレームがクラック音フレームとして分類された場合、ステップ612で、クラック音フレームとして分類されているバッファ内のフレームの個数がカウントされ、バッファ内のクラック音フレームのパーセンテージが、バッファ内のフレームの総数に対する選択されたパーセンテージを上回るかどうかが決定される。
【0134】
クラック音フレームのパーセンテージが、図6では5%として示される選択されたパーセンテージを上回る場合、ステップ614で、選択されたパーセンテージのフレームがクラック音フレームとして分類されるように、Fに対する閾値が増加される。次いで、ステップ616で、バッファ内のフレームは、新しい閾値を使用して再分類される。
【0135】
ステップ618で、現行フレームがクラック音フレームである場合、または、ステップ612で、クラック音フレームのパーセンテージが、フレームの総数に対する選択されたパーセンテージを上回らない場合、現行フレームは、Hチャネル応答モデルのパラメータを調整するために使用されるべきではなく、代替センサ値は、クリーン音声値を推定するために使用されるべきでない。したがって、ステップ620で、Hのチャネル応答パラメータは、現行フレームおよび代替センサ値Btが、
【0136】
【数35】

【0137】
として推定される前に、先行フレームから決定されたそれらの値と等しく設定される。これらのHおよびBtの値は、次いで、ステップ624で、前述の式11を用いてクリーン音声値を推定するために使用される。
【0138】
ステップ610またはステップ618で、現行フレームが、歯クラック音フレームでない場合、ステップ622で、チャネル応答Hのモデルパラメータは、現行フレームでのBtおよびYtの値に基づいて更新される。詳細には、それらの値は、以下のように更新される。
【0139】
【数36】

【0140】
ただし、
【0141】
【数37】

【0142】
【数38】

【0143】
である。上式において、J(t−1)、およびK(t−1)は、一連のフレームにおいて先行の非クラック音フレームについて計算された値に対応する。
【0144】
次いで、Hの分散は、
【0145】
【数39】

【0146】
のように更新される。
【0147】
次いで、ステップ624で、
【0148】
【数40】

【0149】
およびHtの新規の値は、前述の式11を用いてクリーン音声値を推定するために使用される。代替センサ値Btは、歯クラック音によって破損していないため、代替センサから決定された値は、式11で直接使用される。
【0150】
ステップ624で、クリーン音声推定値が決定された後、ステップ600に戻り、次の音声フレームが処理される。図6のプロセスは、それ以上の処理される音声フレームがなくなるまで継続される。
【0151】
図6の方法では、チャネル応答またはクリーン音声値を推定する前に、歯クラック音によって破損した音声フレームを検出する。この検出システムを用いて、本発明は、歯クラック音によって破損したフレームを使用することなくチャネル応答を推定することができる。これは、チャネル応答モデルを改善するために役立ち、したがって、非歯クラック音フレームにおけるクリーン信号の推定値が改善される。さらに、本発明は、それらのフレームのクリーン音声値を推定するときに、歯クラック音フレームからの代替センサ値を使用しない。これにより、歯クラック音フレームのクリーン音声推定値が改善される。
【0152】
本発明は、特定の実施形態を参照して説明されたが、本発明の趣旨および範囲から逸脱することなく、形態および細部の変更を行うことができることは当業者には理解されよう。
【図面の簡単な説明】
【0153】
【図1】本発明を実施することができる一コンピューティング環境を示すブロック図である。
【図2】本発明を実施することができる他のコンピューティング環境を示すブロック図である。
【図3】本発明の音声強調システムを示すブロック図である。
【図4】本発明の一実施形態における音声強調を示す流れ図である。
【図5】本発明の一実施形態の強調モデルトレーニングシステムを示すブロック図である。
【図6】本発明の他の実施形態における音声強調を示す流れ図である。
【符号の説明】
【0154】
100 コンピューティングシステム環境
110 コンピュータ
120 処理装置
121 システムバス
130 システムメモリ
134 オペレーティングシステム
135 アプリケーションプログラム
136 他のプログラムモジュール
137 プログラムデータ
140 固定不揮発性メモリインターフェース
141 ハードディスクドライブ
144 オペレーティングシステム
145 アプリケーションプログラム
146 他のプログラムモジュール
147 プログラムデータ
150 リムーバル不揮発性メモリインターフェース
151 磁気ディスクドライブ
152 磁気ディスク
155 光ディスクドライブ
156 光ディスク
160 ユーザ入力インターフェース
161 ポインティングデバイス
162 キーボード
163 マイク
170 ネットワークインターフェース
171 ローカルエリアネットワーク
172 モデム
173 広域ネットワーク
180 リモートコンピュータ
185 リモートアプリケーションプログラム
190 ビデオインターフェース
191 モニタ
195 出力周辺装置インターフェース
196 プリンタ
197 スピーカ
200 モバイルデバイス
202 プロセッサ
204 メモリ
206 I/O
208 通信インターフェース
212 OS
214 APP(S)
216 オブジェクトストア
300 話者
302 X
304 気導(AIR CONDUCTION)マイク
306 代替センサ
308 V
310 周辺ノイズ源
320 センサノイズW
322 A/D
324 A/D
326 フレーム
328 フレーム
330 FFT
332 FFT
334 B
336 Y
338 強調モデルトレーナ
340 ダイレクトフィルタイリング強調
342 クリーン音声信号
344 IFFT
346 重複と加算
348 音声処理
400 発話に対する気導マイクおよび代替センサの値を収集する
402 音声/非音声フレームを識別する
404 背景ノイズおよび代替センサノイズの分散を決定し、非音声フレームからGを推定する
406 すべての音声フレームにわたりHの推定値を決定する
408 音声フレームごとにFを計算する
410 Fに対する閾値に基づいて、フレームをクラック音フレームとして分類する
412 クラック音フレームの数>5%
414 閾値を変更する
416 閾値に基づいて、フレームをクラック音フレームとして分類する
418 非クラック音声フレームのみを使用してHを再計算する
420 Hを使用して、音声フレームごとに別個のXtを推定する
500 音声検出ユニット
502 非音声フレーム
504 音声フレーム
506 背景ノイズ推定器
508 代替センサノイズ推定器
510 G推定器
512 モデルパラメータ
514 歯クラック音(TEETH CLACK)検出器
516 非クラック音フレーム
518 HおよびσH2推定器
600 フレームについて気導マイクおよび代替センサの値を収集する
602 音声フレームか?
604 背景ノイズおよび代替センサノイズの分散、ならびに推定値Gを更新する。
606 フレームについてFを計算しバッファに追加する
608 Fに対する閾値に基づいて現行フレームを分類する
610 現行フレーム=クラック音フレームか?
612 クラック音フレームの数>5%
614 閾値を変更する
616 新しい閾値に基づいてフレームを再分類する
618 現行フレーム=クラック音フレームか?
620 Ht=Ht-1およびBt=Httに設定する
622 現行フレームに基づいてHtおよびσH2を更新する
624 HtおよびBtを使用してXtを推定する


【特許請求の範囲】
【請求項1】
ノイズが低減された音声信号の一部分を表す、ノイズが低減された値に対する推定値を決定する方法であって、
気導マイク(air conduction microphone)以外の代替センサを使用して代替センサ信号を生成すること、
気導マイク信号を生成すること、
前記気導マイク信号に部分的に基づいて、前記代替センサ信号の一部分が、過渡ノイズによって破損したかどうかを決定すること、および、
前記代替センサ信号の前記部分が過渡ノイズによって破損していないと決定された場合に、前記代替センサ信号の前記部分に基づいて、前記ノイズが低減された値を推定することを備えることを特徴とする方法。
【請求項2】
前記代替センサ信号の前記部分が過渡ノイズによって破損していると決定された場合に、前記ノイズが低減された値を推定するために、前記代替センサ信号の前記部分を使用しないことをさらに備えることを特徴とする請求項1に記載の方法。
【請求項3】
前記ノイズが低減された値を推定することは、前記代替センサに関連するチャネル応答の推定値を使用することを含むことを特徴とする請求項1に記載の方法。
【請求項4】
過渡ノイズによって破損していないと決定された前記代替センサ信号の部分のみに基づいて、前記チャネル応答の前記推定値を更新することをさらに備えることを特徴とする請求項3に記載の方法。
【請求項5】
前記代替センサ信号の一部分が過渡ノイズによって破損したかどうかを決定することは、
前記代替センサ信号の前記部分、および前記気導マイク信号の一部分に基づいて、関数の値を計算すること、および、
前記関数の値を閾値と比較することを含むことを特徴とする請求項1に記載の方法。
【請求項6】
前記関数は、前記代替センサ信号の値と、前記代替センサ信号に関連するチャネル応答に適用される前記気導マイク信号の値の間の差異を含むことを特徴とする請求項5に記載の方法。
【請求項7】
前記閾値は、前記関数の値に対するカイ2乗分布に基づくことを特徴とする請求項5に記載の方法。
【請求項8】
前記音声信号のある特定の数より多い部分が、過渡ノイズによって破損したと決定された場合に、前記閾値を調整することをさらに備えることを特徴とする請求項5に記載の方法。
【請求項9】
代替センサ信号を受け取ること、
前記代替センサ信号の部分を、ノイズを含むまたはノイズを含まないと分類すること、および、
クリーン音声値を推定するために、ノイズを含まないと分類された前記代替センサ信号の部分を使用し、クリーン音声値を推定するために、ノイズを含むと分類された前記代替センサ信号の部分を使用しないことを備えるステップを実行するためのコンピュータ実行可能命令を有することを特徴とするコンピュータ可読媒体。
【請求項10】
クリーン音声値を推定するために気導マイク信号の部分を使用することをさらに備えることを特徴とする請求項9に記載のコンピュータ可読媒体。
【請求項11】
クリーン音声値を推定することは、前記代替センサ信号の対応する一部分がノイズを含むと分類されるとき、前記代替センサ信号の一部分の推定値を形成するために、前記気導マイク信号の一部分から得られる値を、前記代替センサに関連するチャネル応答の推定値に適用することを含むことを特徴とする請求項10に記載のコンピュータ可読媒体。
【請求項12】
前記代替センサに関連するチャネル応答を推定するために、ノイズを含まないと分類された前記代替センサ信号の一部分を使用することをさらに備えることを特徴とする請求項9に記載のコンピュータ可読媒体。
【請求項13】
クリーン音声値を推定することは、前記代替センサ信号の現行の一部分がノイズを含むと分類されたとき、前記代替センサ信号の先行の一部分から決定された前記チャネル応答の推定値を使用することを含むことを特徴とする請求項12に記載のコンピュータ可読媒体。
【請求項14】
代替センサ信号の一部分を分類することは、前記代替センサ信号の一部分、および気導マイク信号の一部分を使用して、関数の値を計算することを含むことを特徴とする請求項9に記載のコンピュータ可読媒体。
【請求項15】
前記関数の値を計算することは、前記代替センサ信号の前記部分の周波数成分の和を取ることを含むことを特徴とする請求項14に記載のコンピュータ可読媒体。
【請求項16】
前記代替センサ信号の一部分を分類することは、前記関数の値を閾値と比較することをさらに含むことを特徴とする請求項14に記載のコンピュータ可読媒体。
【請求項17】
前記閾値は、カイ2乗分布から決定されることを特徴とする請求項16に記載のコンピュータ可読媒体。
【請求項18】
選択されたパーセンテージより大きい、前記代替センサ信号の部分からなるセットが、ノイズを含むと分類されないように、前記閾値を調整することをさらに備えることを特徴とする請求項16に記載のコンピュータ可読媒体。
【請求項19】
代替センサからの信号のフレームに部分的に基づいて、関数に対する値を決定すること、
前記信号の前記フレームを、ノイズを含むまたはノイズを含まないと分類するために、前記値を閾値と比較すること、
選択されたパーセンテージより小さい、前記信号のフレームからなるセットが、ノイズを含むと分類されるように、前記閾値を調整して新しい閾値を形成すること、および、
前記フレームを、ノイズを含むまたはノイズを含まないと再分類するために、前記値を前記新しい閾値と比較することを備えることを特徴とするコンピュータ実装方法。
【請求項20】
前記閾値は、前記関数の値に対するカイ2乗分布に基づいて初期設定されることを特徴とする請求項19に記載の方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate