(57)【要約】【課題】代替センサ信号の一部分を、ノイズを含むまたはノイズを含まないものとして分類する方法および装置を提供すること。【解決手段】ノイズを含むと分類された代替センサ信号の部分は、クリーン音声信号の一部分、および代替センサに関連するチャネル応答を推定するために使用されない。ノイズを含まないと分類された代替センサ信号の部分は、クリーン音声信号の一部分、および代替センサに関連するチャネル応答を推定するために使用される。【選択図】図４
2006215549.tif 000002
【特許請求の範囲】
【請求項１】
ノイズが低減された音声信号の一部分を表す、ノイズが低減された値に対する推定値を決定する方法であって、
気導マイク（ａｉｒ  ｃｏｎｄｕｃｔｉｏｎ  ｍｉｃｒｏｐｈｏｎｅ）以外の代替センサを使用して代替センサ信号を生成すること、
気導マイク信号を生成すること、
前記気導マイク信号に部分的に基づいて、前記代替センサ信号の一部分が、過渡ノイズによって破損したかどうかを決定すること、および、
前記代替センサ信号の前記部分が過渡ノイズによって破損していないと決定された場合に、前記代替センサ信号の前記部分に基づいて、前記ノイズが低減された値を推定することを備えることを特徴とする方法。
【請求項２】
前記代替センサ信号の前記部分が過渡ノイズによって破損していると決定された場合に、前記ノイズが低減された値を推定するために、前記代替センサ信号の前記部分を使用しないことをさらに備えることを特徴とする請求項１に記載の方法。
【請求項３】
前記ノイズが低減された値を推定することは、前記代替センサに関連するチャネル応答の推定値を使用することを含むことを特徴とする請求項１に記載の方法。
【請求項４】
過渡ノイズによって破損していないと決定された前記代替センサ信号の部分のみに基づいて、前記チャネル応答の前記推定値を更新することをさらに備えることを特徴とする請求項３に記載の方法。
【請求項５】
前記代替センサ信号の一部分が過渡ノイズによって破損したかどうかを決定することは、
前記代替センサ信号の前記部分、および前記気導マイク信号の一部分に基づいて、関数の値を計算すること、および、
前記関数の値を閾値と比較することを含むことを特徴とする請求項１に記載の方法。
【請求項６】
前記関数は、前記代替センサ信号の値と、前記代替センサ信号に関連するチャネル応答に適用される前記気導マイク信号の値の間の差異を含むことを特徴とする請求項５に記載の方法。
【請求項７】
前記閾値は、前記関数の値に対するカイ２乗分布に基づくことを特徴とする請求項５に記載の方法。
【請求項８】
前記音声信号のある特定の数より多い部分が、過渡ノイズによって破損したと決定された場合に、前記閾値を調整することをさらに備えることを特徴とする請求項５に記載の方法。
【請求項９】
代替センサ信号を受け取ること、
前記代替センサ信号の部分を、ノイズを含むまたはノイズを含まないと分類すること、および、
クリーン音声値を推定するために、ノイズを含まないと分類された前記代替センサ信号の部分を使用し、クリーン音声値を推定するために、ノイズを含むと分類された前記代替センサ信号の部分を使用しないことを備えるステップを実行するためのコンピュータ実行可能命令を有することを特徴とするコンピュータ可読媒体。
【請求項１０】
クリーン音声値を推定するために気導マイク信号の部分を使用することをさらに備えることを特徴とする請求項９に記載のコンピュータ可読媒体。
【請求項１１】
クリーン音声値を推定することは、前記代替センサ信号の対応する一部分がノイズを含むと分類されるとき、前記代替センサ信号の一部分の推定値を形成するために、前記気導マイク信号の一部分から得られる値を、前記代替センサに関連するチャネル応答の推定値に適用することを含むことを特徴とする請求項１０に記載のコンピュータ可読媒体。
【請求項１２】
前記代替センサに関連するチャネル応答を推定するために、ノイズを含まないと分類された前記代替センサ信号の一部分を使用することをさらに備えることを特徴とする請求項９に記載のコンピュータ可読媒体。
【請求項１３】
クリーン音声値を推定することは、前記代替センサ信号の現行の一部分がノイズを含むと分類されたとき、前記代替センサ信号の先行の一部分から決定された前記チャネル応答の推定値を使用することを含むことを特徴とする請求項１２に記載のコンピュータ可読媒体。
【請求項１４】
代替センサ信号の一部分を分類することは、前記代替センサ信号の一部分、および気導マイク信号の一部分を使用して、関数の値を計算することを含むことを特徴とする請求項９に記載のコンピュータ可読媒体。
【請求項１５】
前記関数の値を計算することは、前記代替センサ信号の前記部分の周波数成分の和を取ることを含むことを特徴とする請求項１４に記載のコンピュータ可読媒体。
【請求項１６】
前記代替センサ信号の一部分を分類することは、前記関数の値を閾値と比較することをさらに含むことを特徴とする請求項１４に記載のコンピュータ可読媒体。
【請求項１７】
前記閾値は、カイ２乗分布から決定されることを特徴とする請求項１６に記載のコンピュータ可読媒体。
【請求項１８】
選択されたパーセンテージより大きい、前記代替センサ信号の部分からなるセットが、ノイズを含むと分類されないように、前記閾値を調整することをさらに備えることを特徴とする請求項１６に記載のコンピュータ可読媒体。
【請求項１９】
代替センサからの信号のフレームに部分的に基づいて、関数に対する値を決定すること、
前記信号の前記フレームを、ノイズを含むまたはノイズを含まないと分類するために、前記値を閾値と比較すること、
選択されたパーセンテージより小さい、前記信号のフレームからなるセットが、ノイズを含むと分類されるように、前記閾値を調整して新しい閾値を形成すること、および、
前記フレームを、ノイズを含むまたはノイズを含まないと再分類するために、前記値を前記新しい閾値と比較することを備えることを特徴とするコンピュータ実装方法。
【請求項２０】
前記閾値は、前記関数の値に対するカイ２乗分布に基づいて初期設定されることを特徴とする請求項１９に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ノイズリダクションに関する。より詳細には、本発明は、音声信号からノイズを除去することに関する。
【背景技術】
【０００２】
音声認識および音声伝送における共通する問題は、付加ノイズによる音声信号の破損である。特に、別の話者の音声による破損は、検出および／または補正が困難であることが分かっている。
【０００３】
近年、骨導マイク（ｂｏｎｅ  ｃｏｎｄｕｃｔｉｏｎ  ｍｉｃｒｏｐｈｏｎｅ）および気導マイク（ａｉｒ  ｃｏｎｄｕｃｔｉｏｎ  ｍｉｃｒｏｐｈｏｎｅ）のような代替センサの組合せを使用することによって、ノイズを除去することを試みるシステムが開発された。このシステムは、骨導マイクを介して音声およびノイズの伝送に関連するチャネル応答を推定する。次いで、ノイズのある骨導マイク信号とノイズのある気導マイク信号に基づいてクリーン音声信号の推定値が識別されるために、これらのチャネル応答は、ダイレクトフィルタリング（ｄｉｒｅｃｔ  ｆｉｌｔｅｒｉｎｇ）技術において使用される。
【発明の開示】
【発明が解決しようとする課題】
【０００４】
このシステムは、うまく機能するが、より高周波において音声信号内にヌル（ｎｕｌｌ）がもたらされる傾向があり、さらに、ユーザが発話中に歯のクラック音（ｃｌａｃｋ）を立てた場合、推定されるクリーン音声信号に不快なクリック音（ｃｌｉｃｋ）が含まれる傾向がある。
【０００５】
したがって、不快なクリック音を除去し、クリーン音声推定を改善するために、ダイレクトフィルタリング技術を改善するシステムが必要とされる。
【課題を解決するための手段】
【０００６】
１つの方法および装置は、代替センサ信号の一部分を、ノイズを含むまたはノイズを含まないものとして分類する。ノイズを含むと分類された代替センサ信号の部分は、クリーン音声信号の一部分、および、代替センサに関連するチャネル応答を推定するために使用されない。ノイズを含まないと分類された代替センサ信号の部分は、クリーン音声信号の一部分、および、代替センサに関連するチャネル応答を推定するために使用される。
【発明を実施するための最良の形態】
【０００７】
図１は、本発明を実装することができる適切なコンピューティングシステム環境１００の例を示す。コンピューティングシステム環境１００は、適切なコンピューティング環境の一例に過ぎず、本発明の使用または機能の範囲についてどんな限定も示唆するものではない。コンピューティング環境１００は、例示的動作環境１００に示される任意のコンポーネントまたはそれらの組合せに関係するどのような依存性も要件も有していると解釈されるべきではない。
【０００８】
本発明は、他の多数の汎用または専用コンピューティングシステム環境または構成で動作可能である。本発明とともに使用するのに適切であり得る周知のコンピューティングシステム、環境、および／または構成の例には、以下に限定されないが、パーソナルコンピュータ、サーバコンピュータ、ハンドヘルドまたはラップトップ装置、マルチプロセッサシステム、マイクロプロセッサベースのシステム、セットトップボックス、プログラム可能な家庭用電化製品、ネットワークＰＣ、ミニコンピュータ、メインフレームコンピュータ、電話システム、および、上記のシステムまたは装置のいずれかを含む分散コンピューティング環境などが含まれる。
【０００９】
本発明は、コンピュータによって実行されるプログラムモジュールなどのコンピュータ実行可能命令の一般的コンテキストで記述される。一般に、プログラムモジュールには、特定のタスクを実行しまたは特定の抽象データ型を実装する、ルーチン、プログラム、オブジェクト、コンポーネント、およびデータ構造などが含まれる。本発明は、通信ネットワークを介してリンクされるリモート処理装置によってタスクが実行される分散コンピューティング環境において実施されるように設計される。分散コンピューティング環境では、プログラムモジュールは、メモリ記憶装置を含むローカルとリモートの両方のコンピュータ記憶媒体に配置される。
【００１０】
図１を参照すると、本発明を実装するための例示的なシステムは、汎用コンピューティングデバイスをコンピュータ１１０の形態で含む。コンピュータ１１０のコンポーネントには、処理装置１２０、システムメモリ１３０、および、システムメモリを含めて様々なシステムコンポーネントを処理装置１２０に結合するシステムバス１２１が含まれうるが、それに限定されない。システムバス１２１は、様々なバスアーキテクチャのいずれかを使用するメモリバスまたはメモリコントローラ、周辺バス、およびローカルバスなどを含めて、いくつかのタイプのバス構造のいずれでもよい。このようなアーキテクチャには、限定ではなく例として挙げれば、ＩＳＡ（業界標準アーキテクチャ）バス、ＭＣＡ（マイクロチャネルアーキテクチャ）バス、ＥＩＳＡ（拡張ＩＳＡ）バス、ＶＥＳＡ（ビデオ電子規格協会）ローカルバス、および、メザニン（Ｍｅｚｚａｎｉｎｅ）バスとしても知られるＰＣＩ（周辺コンポーネント相互接続）バスが含まれる。
【００１１】
コンピュータ１１０は、通常、様々なコンピュータ可読媒体を含む。コンピュータ可読媒体は、コンピュータ１１０によってアクセスすることができる任意の利用可能な媒体とすることができ、それには、揮発性と不揮発性の両方の媒体、およびリムーバルと固定の両方の媒体が含まれる。限定ではなく例として、コンピュータ可読媒体には、コンピュータ記憶媒体および通信媒体が含まれうる。コンピュータ記憶媒体には、コンピュータ可読命令、データ構造、プログラムモジュール、または他のデータなどの情報を格納するため任意の方法または技術で実装される、揮発性と不揮発性の両方の媒体、およびリムーバルと固定の両方の媒体が含まれる。コンピュータ記憶媒体には、以下に限定されないが、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、フラッシュメモリ、または他のメモリ技術、ＣＤ−ＲＯＭ、ＤＶＤ（デジタル多用途ディスク）、または他の光ディスクストレージ、磁気カセット、磁気テープ、磁気ディスクストレージ、または他の磁気記憶装置、あるいは、所望の情報を格納するのに使用することができコンピュータ１１０によってアクセスすることができる他の任意の媒体が含まれる。通信媒体は、通常、搬送波や他の搬送メカニズムなどの変調されたデータ信号としてコンピュータ可読命令、データ構造、プログラムモジュール、または他のデータなどを具体化し、また、任意の情報伝達媒体を含む。「変調されたデータ信号」という用語は、信号として情報を符号化するようにセットまたは変更された１つまたは複数の信号特性を有する信号を意味する。限定ではなく例として挙げると、通信媒体には、有線ネットワークまたは直接配線接続などの有線媒体、ならびに、音響、ＲＦ、赤外線、および他の無線媒体などの無線媒体が含まれる。上記の媒体の任意の組合せも、コンピュータ可読媒体の範囲に含まれることになる。
【００１２】
システムメモリ１３０は、コンピュータ記憶媒体を、ＲＯＭ（読出し専用メモリ）１３１およびＲＡＭ（ランダムアクセスメモリ）１３２などの揮発性および／または不揮発性のメモリの形態で含む。始動時などにコンピュータ１１０内の要素間で情報を転送する助けとなる基本ルーチンを含むＢＩＯＳ（基本入出力システム）１３３は、通常、ＲＯＭ１３１に格納されている。ＲＡＭ１３２は、通常、処理装置１２０により、即座にアクセス可能および／または現在処理中である、データおよび／またはプログラムモジュールを含む。図１は、限定ではなく例として、オペレーティングシステム１３４、アプリケーションプログラム１３５、他のプログラムモジュール１３６、およびプログラムデータ１３７を示す。
【００１３】
コンピュータ１１０は、他のリムーバル／固定、および揮発性／不揮発性のコンピュータ記憶媒体を含むこともできる。単に例として示すが、図１では、固定で不揮発性の磁気媒体から読み取りまたはそれに書き込むハードディスクドライブ１４１、リムーバルで不揮発性の磁気ディスク１５２から読み取りまたはそれに書き込む磁気ディスクドライブ１５１、および、ＣＤ−ＲＯＭまたは他の光媒体などリムーバルで不揮発性の光ディスク１５６から読み取りまたはそれに書き込む光ディスクドライブ１５５を示している。例示的動作環境において使用することができる他のリムーバル／固定で揮発性／不揮発性のコンピュータ記憶媒体には、以下に限定されないが、磁気テープカセット、フラッシュメモリカード、ＤＶＤ、デジタルビデオテープ、半導体ＲＡＭ、および半導体ＲＯＭなどが含まれる。ハードディスクドライブ１４１は、通常、インターフェース１４０などの固定メモリインターフェースを介してシステムバス１２１に接続され、磁気ディスクドライブ１５１および光ディスクドライブ１５５は、通常、インターフェース１５０などのリムーバルメモリインターフェースによってシステムバス１２１に接続される。
【００１４】
図１に示される前述のドライブおよび関連するコンピュータ記憶媒体は、コンピュータ１１０のための、コンピュータ可読命令、データ構造、プログラムモジュール、および他のデータのストレージを提供する。例えば、図１では、ハードディスクドライブ１４１が、オペレーティングシステム１４４、アプリケーションプログラム１４５、他のプログラムモジュール１４６、およびプログラムデータ１４７を格納するものとして示されている。これらのコンポーネントは、オペレーティングシステム１３４、アプリケーションプログラム１３５、他のプログラムモジュール１３６、およびプログラムデータ１３７と同じにすることも異なるようにすることもできることに留意されたい。オペレーティングシステム１４４、アプリケーションプログラム１４５、他のプログラムモジュール１４６、およびプログラムデータ１４７には、これらが少なくとも互いに異なるコピーであることを示すために、ここでは異なる番号を与えている。
【００１５】
ユーザは、キーボード１６２、マイク１６３、および、マウス、トラックボール、またはタッチパッドなどのポインティングデバイス１６１などの入力装置を介して、コマンドおよび情報をコンピュータ１１０に入力することができる。他の入力装置（図示せず）には、ジョイスティック、ゲームパッド、パラボラアンテナ、スキャナなどが含まれうる。上記その他の入力装置は、多くの場合、システムバスに結合されたユーザ入力インターフェース１６０を介して処理装置１２０に接続されるが、パラレルポート、ゲームポート、またはＵＳＢ（ユニバーサルシリアルバス）など他のインターフェースおよびバス構造によって接続してもよい。モニタ１９１または他のタイプの表示装置も、ビデオインターフェース１９０などのインターフェースを介してシステムバス１２１に接続される。このコンピュータはまた、モニタに加え、スピーカ１９７およびプリンタ１９６など他の周辺出力装置を含むこともでき、これらは、出力周辺装置インターフェース１９５を介して接続することができる。
【００１６】
コンピュータ１１０は、リモートコンピュータ１８０など１つまたは複数のリモートコンピュータへの論理接続を使用してネットワーク化された環境で動作する。リモートコンピュータ１８０は、パーソナルコンピュータ、ハンドヘルドデバイス、サーバ、ルータ、ネットワークＰＣ、ピアデバイス、または他の共通ネットワークノードとすることができ、通常、コンピュータ１１０に関係する上述の要素の多くまたは全部を含む。図１に示す論理接続は、ＬＡＮ（ローカルエリアネットワーク）１７１、およびＷＡＮ（広域ネットワーク）１７３を含むが、他のネットワークを含むこともできる。このようなネットワーク環境は、オフィス、企業規模のコンピュータネットワーク、イントラネット、およびインターネットにおいて一般的である。
【００１７】
ＬＡＮネットワーク環境で使用する場合、コンピュータ１１０は、ネットワークインターフェースまたはアダプタ１７０を介してＬＡＮ１７１に接続される。ＷＡＮネットワーク環境で使用する場合、コンピュータ１１０は、通常、モデム１７２、または、インターネットなどのＷＡＮ１７３を介して接続を確立する他の手段を含む。モデム１７２は、内蔵モデムでも外部のモデムでもよく、ユーザ入力インターフェース１６０または他の適切なメカニズムを介してシステムバス１２１に接続することができる。ネットワーク環境では、コンピュータ１１０に関して示されたプログラムモジュールまたはその部分をリモートメモリ記憶装置に格納することができる。図１では、限定ではなく例として、リモートアプリケーションプログラム１８５がリモートコンピュータ１８０に存在するように示している。ここに示したネットワーク接続は例示であり、コンピュータ間で通信リンクを確立する他の手段を使用することもできることは認識されよう。
【００１８】
図２は、例示的コンピューティング環境であるモバイルデバイス２００を示すブロック図である。モバイルデバイス２００は、マイクロプロセッサ２０２、メモリ２０４、入出力（Ｉ／Ｏ）コンポーネント２０６、および、リモートコンピュータまたは他のモバイルデバイスと通信するための通信インターフェース２０８を含む。一実施形態では、上述のコンポーネントは、適切なバス２１０を介して互いに通信するために結合される。
【００１９】
メモリ２０４は、モバイルデバイス２００の全体の電源がシャットダウンされたときにメモリ２０４に格納された情報が失われないように、バッテリバックアップモジュール（図示せず）を有するＲＡＭ（ランダムアクセスメモリ）などのような不揮発性の電子メモリとして実装される。メモリ２０４の一部分は、プログラム実行のためにアドレス可能なメモリとして割り当てられることが好ましく、メモリ２０４の他の部分は、ディスクドライブ上の記憶をシミュレートするような記憶域に使用されることが好ましい。
【００２０】
メモリ２０４は、オペレーティングシステム２１２、アプリケーションプログラム２１４、ならびに、オブジェクトストア２１６を含む。動作中、オペレーティングシステム２１２は、好ましくは、メモリ２０４からプロセッサ２０２によって実行される。好ましい一実施形態では、オペレーティングシステム２１２は、マイクロソフト社から市販されているＷｉｎｄｏｗｓ（登録商標）ＣＥブランドのオペレーティングシステムである。オペレーティングシステム２１２は、好ましくは、モバイルデバイス用に設計されており、公開されている１組のアプリケーションプログラミングインターフェースおよびメソッドを介してアプリケーション２１４によって利用可能なデータベース機能を実装する。オブジェクトストア２１６内のオブジェクトは、公開されているアプリケーションプログラミングインターフェースおよびメソッドに対する呼出しに少なくとも部分的には応答して、アプリケーション２１４およびオペレーティングシステム２１２によって維持される。
【００２１】
通信インターフェース２０８は、モバイルデバイス２００が情報を送受信することを可能にする多数の装置および技術を表す。いくつか例を挙げると、これらの装置には、有線および無線のモデム、衛星放送受信機、ブロードキャストチューナが含まれている。モバイルデバイス２００は、コンピュータとデータを交換するためにそのコンピュータに直接接続されている。このような場合、通信インターフェース２０８は、赤外線トランシーバ、あるいはシリアルまたはパラレル通信接続とすることができ、これらはすべて、ストリーミング情報を送信することができる。
【００２２】
入出力コンポーネント２０６は、タッチスクリーン、ボタン、ローラ、およびマイクなどの様々な入力装置、ならびに、オーディオジェネレータ（ａｕｄｉｏ  ｇｅｎｅｒａｔｏｒ）、振動装置、およびディスプレイなどの様々な出力装置を含む。上に列挙したデバイスは、例示であって、そのすべてがモバイルデバイス２００上に存在する必要はない。さらに、他の入出力デバイスが、本発明の範囲内で、モバイルデバイス２００に取り付けられても、モバイルデバイス２００とともに存在してもよい。
【００２３】
図３は、本発明の実施形態のための音声強調システムのブロック図を示す。図３では、ユーザ／話者３００が、音声信号３０２（Ｘ）を生成し、音声信号３０２（Ｘ）は、気導マイク３０４および代替センサ３０６によって検出される。代替センサの例には、ユーザの喉の振動を測定する咽喉マイク、および、ユーザの顔面骨または頭蓋骨の上またはその付近（例えば、顎骨）あるいはユーザの耳の中に配置され、ユーザによって生成された音声に対応する頭蓋および顎の振動を検知する骨伝導センサが含まれる。気導マイク３０４は、音波を電気信号に変換するために一般に使用されるタイプのマイクである。
【００２４】
気導マイク３０４はまた、１つまたは複数のノイズ源３１０によって生成される周辺ノイズ３０８（Ｖ）を受け取る。ノイズ３０８は、代替センサのタイプおよびノイズのレベルによっては、代替センサ３０６によっても検出されうる。しかし、本発明の実施形態においては、代替センサ３０６は、通常、気導マイク３０４よりも周辺ノイズに対して感度が低い。したがって、一般に、代替センサ３０６によって生成された代替センサ信号は、気導マイク３０４によって生成された気導マイク信号より少ないノイズを含む。代替センサ３０６は、周辺ノイズに対して感度がより低いが、いくらかのセンサノイズ３２０（Ｗ）を生成する。
【００２５】
話者３００から代替センサ信号３１６への経路は、チャネル応答Ｈを有するチャネルとしてモデル化することができる。周辺ノイズ源３１０から代替センサ信号３１６への経路は、チャネル応答Ｇを有するチャネルとしてモデル化することができる。
【００２６】
代替センサ３０６からの代替センサ信号、および気導マイク３０４からの気導マイク信号はそれぞれ、アナログ−デジタルコンバータ３２２および３２４に供給され、それぞれにより、一連のデジタル値が生成され、生成されたデジタル値はそれぞれ、フレームコンストラクタ（ｆｒａｍｅ  ｃｏｎｓｔｒｕｃｔｏｒ）３２６および３２８によって、いくつかのフレームにグループ化される。一実施形態では、Ａ／Ｄコンバータ３２２および３２４は、１６ｋＨｚかつ１６ビット／サンプルでアナログ信号をサンプリングし、それにより、毎秒３２キロバイトの音声データを作成し、フレームコンストラクタ３２６および３２８は、新規のそれぞれのフレームを１０ミリ秒毎で作成し、新規フレームは、２０ミリ秒相当のデータを含む。
【００２７】
フレームコンストラクタ３２６および３２８によって提供される各フレームのデータはそれぞれ、高速フーリエ変換（ＦＦＴ）３３０および３３２を用いて周波数領域に変換される。これにより、代替センサ信号についての周波数領域の値３３４（Ｂ）、および気導マイク信号についての周波数領域の値３３６（Ｙ）がもたらされる。
【００２８】
代替センサ信号３３４についての周波数領域の値３３４、および気導マイク信号についての周波数領域の値３３６は、強調モデルトレーナ３３８、およびダイレクトフィルタリング強調ユニット３４０に送られる。強調モデルトレーナ３３８は、代替センサの値Ｂおよび気導マイクの値Ｙに基づいて、チャネル応答ＨおよびＧならびに周辺ノイズＶおよびセンサノイズＷを記述するモデルパラメータを訓練する。これらのモデルパラメータは、ダイレクトフィルタリング強調ユニット３４０に提供され、ダイレクトフィルタリンク強調ユニット３４０は、これらのパラメータと周波数領域値ＢおよびＹを使用して、クリーン音声信号３４２
【００２９】
【数１】
2006215549.tif 000003
【００３０】
を推定する。
【００３１】
クリーン音声推定値３４２は、１組の周波数領域値である。これらの値は、逆高速フーリエ変換（ＩＦＦＴ）３４４を用いて時間領域に変換される。時間領域値の各フレームは、重複加算（ｏｖｅｒｌａｐ−ａｎｄ−ａｄｄ）ユニット３４６によって、その近接フレームと重複されて加算される。これにより、連続的な時間領域値のセットが作成され、音声処理３４８に提供される。音声処理３４８には、音声符号化または音声認識が含まれうる。
【００３２】
本発明者は、図３に示されるクリーン信号推定値を識別するためのシステムは、気導マイク３０４よりも代替センサ３０６によって検出される、歯のクラック音などの過渡ノイズによって、悪影響を受けるおそれがあることを見い出した。本発明者は、このような過渡ノイズが、チャネル応答Ｈの推定値を破損し、クリーン信号推定値においてヌルを生じさせることを見い出した。さらに、代替センサ値Ｂが、このような過渡ノイズによって破損すると、代替センサ値から推定されるクリーン音声値にも破損を引き起こす。
【００３３】
本発明は、代替センサ信号における歯のクラック音などの過渡ノイズによって引き起こされるクリーン音声推定値の破損を回避する、クリーン音声信号３４２を推定するためのダイレクトフィルタリング技術を提供する。以下の議論では、この過渡ノイズを、システムに見られる他のタイプのノイズとの混同を避けるために、歯クラック（ｔｅｅｔｈ  ｃｌａｃｋ）音と呼ぶ。しかし、本発明を、気導マイクよりも代替センサによってより検出される任意のタイプのノイズによってシステムが影響を受けるときに、クリーン信号値を識別するために使用することができることは当業者には理解されよう。
【００３４】
図４は、本発明の技術を用いる、ノイズのある音声信号からクリーン音声値を推定するために使用されるバッチ更新技術の流れ図を示す。
【００３５】
ステップ４００で、気導マイク値（Ｙ）および代替センサ値（Ｂ）が収集される。これらの値は、強調モデルトレーナ３３８に提供される。
【００３６】
図５は、トレーナ３３８のブロック図を示す。トレーナ３３８内で、代替センサ値（Ｂ）および気導マイク値（Ｙ）が、音声検出ユニット５００に提供される。
【００３７】
音声検出ユニット５００は、ステップ４０２で、どの代替センサ値および気導マイク値が、ユーザの発話に対応するかとどの値が、背景音声を含めた背景ノイズに対応するかを決定する。
【００３８】
一実施形態においては、音声検出ユニット５００は、代替センサ信号の低エネルギー部分を識別することにより、値がユーザの発話に対応するかどうかを決定する。というのは、代替センサのノイズのエネルギーは、代替センサ信号によって捕捉された音声信号よりはるかに小さいためである。
【００３９】
詳細には、音声検出ユニット５００は、各代替センサ値によって表される各フレームごとの代替センサ信号のエネルギーを識別する。次いで、音声検出ユニット５００は、エネルギーのピークを求めるために一連のフレームのエネルギー値を探索する。次いで、ピークの後の谷を求めて探索を行う。この谷のエネルギーは、エネルギーセパレータ（ｅｎｅｒｇｙ  ｓｅｐａｒａｔｏｒ）、ｄと呼ばれる。フレームが音声を含むかどうかを決定するために、次いで、エネルギーセパレータｄに対するフレームのエネルギーｅの比率ｋが、ｋ＝ｅ／ｄとして決定される。次いで、フレームの音声の信頼性、ｑが以下のように決定される。
【００４０】
【数２】
2006215549.tif 000004
【００４１】
式中、αは、２つの状態の間の遷移を定義し、一実装形態では、２に設定される。最後に、（それ自体を含む）隣接する５つのフレームの平均の信頼値が、そのフレームの最終的な信頼値として用いられる。
【００４２】
一実施形態では、音声が存在するかどうかを決定するために、固定された閾値が使用され、信頼値が閾値を超えた場合は、フレームが音声を含むと見なし、信頼値が閾値を超えない場合は、フレームが音声を含んでいないと見なすようになされている。一実施形態では、０．１の閾値が使用される。
【００４３】
他の実施形態では、話者が発話をしているときを識別するために、周知の音声検出技術が、気導音声信号に適用される。通常、音声フレーム（ｓｐｅｅｃｈ  ｆｒａｍｅ）は、非音声では存在しない高調波を含むため、このようなシステムでは、一般に、ピッチトラッカ（ｐｉｔｃｈ  ｔｒａｃｋｅｒ）を使用して音声フレームを識別する。
【００４４】
音声に関連する代替センサ値および気導マイク値は、音声フレーム５０４に格納され、非音声に関連する値は、非音声フレーム５０２に格納される。
【００４５】
ステップ４０４で、非音声フレーム５０２内の値を使用して、背景ノイズ推定器５０６、代替センサノイズ推定器５０８、およびチャネル応答推定器５１０は、それぞれ、背景ノイズ、代替センサノイズ、およびチャネル応答Ｇを記述する推定モデルパラメータを推定する。
【００４６】
一実施形態では、背景ノイズＶの実部および虚部と、センサノイズＷの実部および虚部が、独立の平均０のガウス分布として下記のようにモデル化される。
【００４７】
【数３】
2006215549.tif 000005
【００４８】
【数４】
2006215549.tif 000006
【００４９】
式中、
【００５０】
【数５】
2006215549.tif 000007
【００５１】
は、背景ノイズＶの分散であり、
【００５２】
【数６】
2006215549.tif 000008
【００５３】
は、センサノイズＷの分散である。
【００５４】
背景ノイズの分散
【００５５】
【数７】
2006215549.tif 000009
【００５６】
は、非音声フレームにおける気導マイク値から推定される。詳細には、非音声フレームにおける気導マイク値Ｙは、背景ノイズＶと等しいと仮定される。したがって、Ｙの値が、非音声の期間の平均０のガウス分布としてモデル化されると仮定して、気導マイク値Ｙを、分散
【００５７】
【数８】
2006215549.tif 000010
【００５８】
を決定するために使用することができる。一実施形態では、この分散は、値Ｙの平方和を、値の個数で割ることによって求められる。
【００５９】
代替センサノイズ
【００６０】
【数９】
2006215549.tif 000011
【００６１】
の分散は、下記のように、非音声のフレームごとにセンサノイズＷtを推定することによって、非音声フレームから決定することができる。
【００６２】
Ｗt＝Ｂt−ＧＹt                                                        式４
【００６３】
上式では、Ｇは、初期に０として推定されるが、
【００６４】
【数１０】
2006215549.tif 000012
【００６５】
が反復の一ステップにおいて推定され、Ｇが反復の第２のステップにおいて推定される反復プロセスによって、更新される。次いで、Ｗの値は、Ｗについての平均０のガウスモデルを仮定して、分散
【００６６】
【数１１】
2006215549.tif 000013
【００６７】
を推定するために使用される。
【００６８】
Ｇ推定器５１０は、次式のように反復の第２のステップにおいてチャネル応答Ｇを推定する。
【００６９】
【数１２】
2006215549.tif 000014
【００７０】
式中、Ｄは、ユーザが発話していないフレームの個数である。式５では、Ｇは、発話のすべてのフレームにわたって一定であり、つまり、時間フレームｔに依存していない。
【００７１】
式４および５は、
【００７２】
【数１３】
2006215549.tif 000015
【００７３】
およびＧが、安定した値に収束するまで反復される。
【００７４】
【数１４】
2006215549.tif 000016
【００７５】
およびＧの最終値は、モデルパラメータ５１２に格納される。
【００７６】
ステップ４０６で、チャネル応答Ｈについてのモデルパラメータは、モデルパラメータ５１２に格納されたノイズについてのモデルパラメータ、および、音声フレーム５０４におけるＢおよびＹの値を使用して、Ｈおよび
【００７７】
【数１５】
2006215549.tif 000017
【００７８】
推定器５１８によって最初に推定される。詳細には、Ｈは、次のように推定される。
【００７９】
【数１６】
2006215549.tif 000018
【００８０】
上式において、Ｓは、音声フレームの個数であり、Ｇは、Ｈの計算の際に０であると仮定される。
【００８１】
さらに、ステップ４０６で、Ｈ、
【００８２】
【数１７】
2006215549.tif 000019
【００８３】
の先行のモデルの分散が決定される。
【００８４】
【数１８】
2006215549.tif 000020
【００８５】
の値は、
【００８６】
【数１９】
2006215549.tif 000021
【００８７】
のように計算することができる。
【００８８】
いくつかの実施形態では、
【００８９】
【数２０】
2006215549.tif 000022
【００９０】
は、代わりに、Ｈ2のパーセンテージとして推定される。例えば、
【００９１】
【数２１】
2006215549.tif 000023
【００９２】
のようになる。
【００９３】
ステップ４０６で、Ｈおよび
【００９４】
【数２２】
2006215549.tif 000024
【００９５】
が決定されると、これらの値は、ステップ４０８で、音声フレーム５０４ごとの判別関数の値を決定するために使用される。詳細には、音声フレームごとに、歯クラック音検出器５１４は、
【００９６】
【数２３】
2006215549.tif 000025
【００９７】
の値を決定する。
【００９８】
上式において、Ｋは、ＢtおよびＹtの周波数領域値における周波数成分の個数である。
【００９９】
本発明者は、Ｆtの大きい値は、音声フレームが歯クラック音を含むことを示し、Ｆtのより小さい値は、音声フレームが歯クラック音を含んでいないことを示すことを見出した。したがって、音声フレームは、単純な閾値を使用して、歯クラック音フレームとして分類されうる。これは、図４のステップ４１０に示されている。
【０１００】
一実施形態では、Ｆに対する閾値は、許容されるエラー率を有するカイ２乗分布としてＦをモデル化することによって決定される。式としては、
【０１０１】
Ｐ（Ｆt＜ε｜Ψ）＝α                                                式１０
【０１０２】
となる。上式において、Ｐ（Ｆt＜ε｜Ψ）は、このフレームが歯クラック音フレームではないという仮説Ｐを仮定する、Ｆtが閾値εより小さい確率であり、αは、許容されるエラーフリー率である。
【０１０３】
一実施形態では、α＝．９９である。言い換えれば、このモデルは、実際に、フレームが、時間についてわずか１％も歯クラック音を含まないとき、歯クラック音として音声フレームを分類する。このエラー率を用いると、Ｆに対する閾値は、カイ２乗分布についての公表値に基づき、ε＝３６５．３６５０となる。本発明の範囲内で、他の閾値が導かれる他のエラーフリー率を使用することもできることに留意されたい。
【０１０４】
ステップ４１０で、カイ２乗分布から決定された閾値を使用して、各フレームは、歯クラック音フレーム、または非歯クラック音フレームに分類される。Ｆは、背景ノイズの分散およびセンサノイズの分散に依存しているので、その分類は、これらの分散の値を決定する際の誤りに敏感である。分散での誤りにより、余分に多くのフレームが、歯クラック音を含むと分類されないようにするために、歯クラック音検出器５１４は、初期に歯クラック音として分類されるフレームのパーセンテージを決定する。ステップ４１２で、そのパーセンテージが、選択されたパーセンテージ、例えば５％より大きい場合、ステップ４１４で、閾値が増大され、ステップ４１６で、フレームが再分類されて、選択されたパーセンテージのフレームのみが、歯クラック音を含んでいると識別されるようになる。上記では、フレームのパーセンテージが使用されているが、代わりに、フレームの固定された個数を使用することもできる。
【０１０５】
ステップ４１２またはステップ４１６で、選択されたパーセンテージより少ないフレームが、歯クラック音を含んでいると識別されると、非クラック音フレーム５１６として分類されたフレームが、Ｈおよび
【０１０６】
【数２４】
2006215549.tif 000026
【０１０７】
推定器５１８に提供されて、Ｈおよび
【０１０８】
【数２５】
2006215549.tif 000027
【０１０９】
の値が再計算される（ステップ４１８）。詳細には、非クラック音フレーム５１６において得られるＢtおよびＹtの値を使用して、式６が再計算される。
【０１１０】
ステップ４２０で、ダイレクトフィルタリング強調ユニット３４０により、Ｈの更新された値を、Ｇの値、ならびにノイズの分散
【０１１１】
【数２６】
2006215549.tif 000028
【０１１２】
および
【０１１３】
【数２７】
2006215549.tif 000029
【０１１４】
の値とともに使用して、次のようにクリーン音声値を推定する。
【０１１５】
【数２８】
2006215549.tif 000030
【０１１６】
式中、Ｈ*は、Ｈの複素共役をあらわしている。歯クラック音を含むと分類されたフレームについては、Ｂtの値は、歯クラック音によって破損されており、クリーン音声信号を推定するために使用されるべきではない。このようなフレームに関しては、式１１において、Ｂtは、
【０１１７】
【数２９】
2006215549.tif 000031
【０１１８】
として推定される。音声を含み歯クラック音を含むフレームの分類は、強調モデルトレーナ３３８によって、ダイレクトフィルタリング強調３４０に提供され、この置き換えが、式１０において行われる。
【０１１９】
本発明は、歯クラック音を含まないフレームのみを使用してＨを推定することによって、Ｈのより適切な推定値を提供する。これは、従来技術のクリーン音声推定値の比較的高い周波数に存在していたヌルを減少させるために役立つ。さらに、本発明は、歯クラック音を含むフレームにおける代替センサ信号を使用しないことにより、これらのフレームについてのクリーン音声値のより適切な推定値を提供する。
【０１２０】
図４の流れ図は、チャネル応答、および歯クラック音を含むフレームの分類のバッチ更新を表す。このバッチ更新は、発話全体にわたって行われる。図６は、チャネル応答値を更新し、クリーン音声信号を推定するための連続的または「オンライン」の方法の流れ図を示す。
【０１２１】
図６のステップ６００で、フレームについて気導マイク値Ｙtおよび代替センサ値Ｂtが、収集される。ステップ６０２で、音声検出ユニット５００が、フレームが音声を含むかどうかを決定する。上述した同じ技術を使用して、この決定を行うことができる。フレームが音声を含まない場合、ステップ６０４で、背景ノイズの分散、代替センサノイズの分散、およびＧの推定値が更新される。詳細には、これらの分散は、以下のように更新される。
【０１２２】
【数３０】
2006215549.tif 000032
【０１２３】
【数３１】
2006215549.tif 000033
【０１２４】
上式において、ｄは、処理される非音声フレームの個数であり、Ｇd-1は、現行フレームの前のＧの値である。
【０１２５】
Ｇの値は、以下のように更新される。
【０１２６】
【数３２】
2006215549.tif 000034
【０１２７】
ただし、
【０１２８】
【数３３】
2006215549.tif 000035
【０１２９】
【数３４】
2006215549.tif 000036
【０１３０】
である。式中、ｃ≦１で、効果的なヒストリの長さ（ｈｉｓｔｏｒｙ  ｌｅｎｇｔｈ）が提供される。
【０１３１】
現行フレームが音声フレームの場合、ステップ６０６で、前述の式９を使用して、Ｆの値が計算される。このＦの値は、過去のフレームでのＦの値、および、クラック音フレームまたは非クラック音フレームとしてのこれらのフレームの分類を含むバッファに追加される。
【０１３２】
ステップ６０８で、現行フレームでのＦの値と、歯クラック音についてのＦに対する閾値を使用して、現行フレームは、歯クラック音フレームまたは非クラック音フレームとして分類される。この閾値は、上述のカイ２乗分布モデルを使用して初期設定される。このフレームは、後で述べるように、新規のフレームごとに更新される。
【０１３３】
ステップ６１０で、現行フレームがクラック音フレームとして分類された場合、ステップ６１２で、クラック音フレームとして分類されているバッファ内のフレームの個数がカウントされ、バッファ内のクラック音フレームのパーセンテージが、バッファ内のフレームの総数に対する選択されたパーセンテージを上回るかどうかが決定される。
【０１３４】
クラック音フレームのパーセンテージが、図６では５％として示される選択されたパーセンテージを上回る場合、ステップ６１４で、選択されたパーセンテージのフレームがクラック音フレームとして分類されるように、Ｆに対する閾値が増加される。次いで、ステップ６１６で、バッファ内のフレームは、新しい閾値を使用して再分類される。
【０１３５】
ステップ６１８で、現行フレームがクラック音フレームである場合、または、ステップ６１２で、クラック音フレームのパーセンテージが、フレームの総数に対する選択されたパーセンテージを上回らない場合、現行フレームは、Ｈチャネル応答モデルのパラメータを調整するために使用されるべきではなく、代替センサ値は、クリーン音声値を推定するために使用されるべきでない。したがって、ステップ６２０で、Ｈのチャネル応答パラメータは、現行フレームおよび代替センサ値Ｂtが、
【０１３６】
【数３５】
2006215549.tif 000037
【０１３７】
として推定される前に、先行フレームから決定されたそれらの値と等しく設定される。これらのＨおよびＢtの値は、次いで、ステップ６２４で、前述の式１１を用いてクリーン音声値を推定するために使用される。
【０１３８】
ステップ６１０またはステップ６１８で、現行フレームが、歯クラック音フレームでない場合、ステップ６２２で、チャネル応答Ｈのモデルパラメータは、現行フレームでのＢtおよびＹtの値に基づいて更新される。詳細には、それらの値は、以下のように更新される。
【０１３９】
【数３６】
2006215549.tif 000038
【０１４０】
ただし、
【０１４１】
【数３７】
2006215549.tif 000039
【０１４２】
【数３８】
2006215549.tif 000040
【０１４３】
である。上式において、Ｊ（ｔ−１）、およびＫ（ｔ−１）は、一連のフレームにおいて先行の非クラック音フレームについて計算された値に対応する。
【０１４４】
次いで、Ｈの分散は、
【０１４５】
【数３９】
2006215549.tif 000041
【０１４６】
のように更新される。
【０１４７】
次いで、ステップ６２４で、
【０１４８】
【数４０】
2006215549.tif 000042
【０１４９】
およびＨtの新規の値は、前述の式１１を用いてクリーン音声値を推定するために使用される。代替センサ値Ｂtは、歯クラック音によって破損していないため、代替センサから決定された値は、式１１で直接使用される。
【０１５０】
ステップ６２４で、クリーン音声推定値が決定された後、ステップ６００に戻り、次の音声フレームが処理される。図６のプロセスは、それ以上の処理される音声フレームがなくなるまで継続される。
【０１５１】
図６の方法では、チャネル応答またはクリーン音声値を推定する前に、歯クラック音によって破損した音声フレームを検出する。この検出システムを用いて、本発明は、歯クラック音によって破損したフレームを使用することなくチャネル応答を推定することができる。これは、チャネル応答モデルを改善するために役立ち、したがって、非歯クラック音フレームにおけるクリーン信号の推定値が改善される。さらに、本発明は、それらのフレームのクリーン音声値を推定するときに、歯クラック音フレームからの代替センサ値を使用しない。これにより、歯クラック音フレームのクリーン音声推定値が改善される。
【０１５２】
本発明は、特定の実施形態を参照して説明されたが、本発明の趣旨および範囲から逸脱することなく、形態および細部の変更を行うことができることは当業者には理解されよう。
【図面の簡単な説明】
【０１５３】
【図１】本発明を実施することができる一コンピューティング環境を示すブロック図である。
【図２】本発明を実施することができる他のコンピューティング環境を示すブロック図である。
【図３】本発明の音声強調システムを示すブロック図である。
【図４】本発明の一実施形態における音声強調を示す流れ図である。
【図５】本発明の一実施形態の強調モデルトレーニングシステムを示すブロック図である。
【図６】本発明の他の実施形態における音声強調を示す流れ図である。
【符号の説明】
【０１５４】
１００  コンピューティングシステム環境
１１０  コンピュータ
１２０  処理装置
１２１  システムバス
１３０  システムメモリ
１３４  オペレーティングシステム
１３５  アプリケーションプログラム
１３６  他のプログラムモジュール
１３７  プログラムデータ
１４０  固定不揮発性メモリインターフェース
１４１  ハードディスクドライブ
１４４  オペレーティングシステム
１４５  アプリケーションプログラム
１４６  他のプログラムモジュール
１４７  プログラムデータ
１５０  リムーバル不揮発性メモリインターフェース
１５１  磁気ディスクドライブ
１５２  磁気ディスク
１５５  光ディスクドライブ
１５６  光ディスク
１６０  ユーザ入力インターフェース
１６１  ポインティングデバイス
１６２  キーボード
１６３  マイク
１７０  ネットワークインターフェース
１７１  ローカルエリアネットワーク
１７２  モデム
１７３  広域ネットワーク
１８０  リモートコンピュータ
１８５  リモートアプリケーションプログラム
１９０  ビデオインターフェース
１９１  モニタ
１９５  出力周辺装置インターフェース
１９６  プリンタ
１９７  スピーカ
２００  モバイルデバイス
２０２  プロセッサ
２０４  メモリ
２０６  Ｉ／Ｏ
２０８  通信インターフェース
２１２  ＯＳ
２１４  ＡＰＰ（Ｓ）
２１６  オブジェクトストア
３００  話者
３０２  Ｘ
３０４  気導（ＡＩＲ ＣＯＮＤＵＣＴＩＯＮ）マイク
３０６  代替センサ
３０８  Ｖ
３１０  周辺ノイズ源
３２０  センサノイズＷ
３２２  Ａ／Ｄ
３２４  Ａ／Ｄ
３２６  フレーム
３２８  フレーム
３３０  ＦＦＴ
３３２  ＦＦＴ
３３４  Ｂ
３３６  Ｙ
３３８  強調モデルトレーナ
３４０  ダイレクトフィルタイリング強調
３４２  クリーン音声信号
３４４  ＩＦＦＴ
３４６  重複と加算
３４８  音声処理
４００  発話に対する気導マイクおよび代替センサの値を収集する
４０２  音声／非音声フレームを識別する
４０４  背景ノイズおよび代替センサノイズの分散を決定し、非音声フレームからＧを推定する
４０６  すべての音声フレームにわたりＨの推定値を決定する
４０８  音声フレームごとにＦを計算する
４１０  Ｆに対する閾値に基づいて、フレームをクラック音フレームとして分類する
４１２  クラック音フレームの数＞５％
４１４  閾値を変更する
４１６  閾値に基づいて、フレームをクラック音フレームとして分類する
４１８  非クラック音声フレームのみを使用してＨを再計算する
４２０  Ｈを使用して、音声フレームごとに別個のＸtを推定する
５００  音声検出ユニット
５０２  非音声フレーム
５０４  音声フレーム
５０６  背景ノイズ推定器
５０８  代替センサノイズ推定器
５１０  Ｇ推定器
５１２  モデルパラメータ
５１４  歯クラック音（ＴＥＥＴＨ  ＣＬＡＣＫ）検出器
５１６  非クラック音フレーム
５１８  ＨおよびσH2推定器
６００  フレームについて気導マイクおよび代替センサの値を収集する
６０２  音声フレームか？
６０４  背景ノイズおよび代替センサノイズの分散、ならびに推定値Ｇを更新する。
６０６  フレームについてＦを計算しバッファに追加する
６０８  Ｆに対する閾値に基づいて現行フレームを分類する
６１０  現行フレーム＝クラック音フレームか？
６１２  クラック音フレームの数＞５％
６１４  閾値を変更する
６１６  新しい閾値に基づいてフレームを再分類する
６１８  現行フレーム＝クラック音フレームか？
６２０  Ｈt＝Ｈt-1およびＢt＝ＨtＹtに設定する
６２２  現行フレームに基づいてＨtおよびσH2を更新する
６２４  ＨtおよびＢtを使用してＸtを推定する
【図１】
2006215549.tif 000043
【図２】
2006215549.tif 000044
【図３】
2006215549.tif 000045
【図４】
2006215549.tif 000046
【図５】
2006215549.tif 000047
【図６】
2006215549.tif 000048