(57)【特許請求の範囲】
【請求項１】
音声信号を所定の時間長を持つフレーム単位で周波数領域へ変換することにより複数の周波数帯域のそれぞれについての周波数信号を算出する時間周波数変換部と、
現フレームについての前記複数の周波数帯域のそれぞれの周波数信号に基づいて、過去の第１の所定数のフレームに基づいて推定された前記複数の周波数帯域のそれぞれの雑音成分を更新する雑音成分更新部と、
前記複数の周波数帯域のそれぞれについて、現フレームについての前記周波数信号と前記更新された雑音成分とを比較することにより、前記複数の周波数帯域のそれぞれについて信号対雑音比を算出する信号対雑音比算出部と、
前記信号対雑音比の値ごとの周波数帯域の度数分布を求め、当該度数分布の形状が、信号成分を含むフレームについての前記度数分布の第１の基準形状よりも信号成分を含まないフレームについての前記度数分布の第２の基準形状に近い場合、現フレームから前記第１の所定数よりも少ない第２の所定数前までのフレームについての前記複数の周波数帯域の周波数信号に基づいて各周波数帯域の雑音成分を推定する雑音成分補正部と、
を有する雑音推定装置。
【請求項２】
前記雑音成分更新部は、現フレームについての音声信号に雑音以外の信号成分が含まれる場合に前記複数の周波数帯域のそれぞれの雑音成分を更新せず、
前記雑音成分補正部は、現フレームについて前記複数の周波数帯域のそれぞれの雑音成分が更新されず、かつ、前記度数分布の形状が、前記第１の基準形状よりも前記第２の基準形状に近い場合、現フレームから前記第１の所定数前までのフレームについての前記複数の周波数帯域の周波数信号に基づいて各周波数帯域の雑音成分を推定する、請求項１に記載の雑音推定装置。
【請求項３】
前記雑音成分補正部は、前記複数の周波数帯域のそれぞれについて算出された前記信号対雑音比の値の範囲を複数のサブ区間に分割し、各サブ区間に含まれる前記信号対雑音比の値を持つ周波数帯域の度数を前記度数分布の形状として求め、前記複数のサブ区間のうちの最も前記信号対雑音比が小さい第１のサブ区間に含まれる周波数帯域の度数が前記第１のサブ区間よりも前記信号対雑音比が大きい第２のサブ区間に含まれる周波数帯域の度数よりも少ない場合、前記度数分布の形状は前記第１の基準形状よりも前記第２の基準形状に近いと判定する、請求項１または２に記載の雑音推定装置。
【請求項４】
前記雑音成分補正部は、前記複数の周波数帯域のそれぞれについて算出された前記信号対雑音比の値の範囲を複数のサブ区間に分割し、各サブ区間に含まれる前記信号対雑音比の値を持つ周波数帯域の度数を前記度数分布の形状として求め、前記度数の最大値に対応するサブ区間の前記信号対雑音比が前記各周波数帯域の前記信号対雑音比のうちの最小値よりも前記各周波数帯域の前記信号対雑音比の平均値に近い場合、前記度数分布の形状は前記第１の基準形状よりも前記第２の基準形状に近いと判定する、請求項１または２に記載の雑音推定装置。
【請求項５】
前記雑音成分補正部は、現フレームにおける前記信号対雑音比の平均値が直前のフレームにおける前記信号対雑音比の平均値よりも大きい場合に限り、現フレームから前記第２の所定数前までのフレームについての前記複数の周波数帯域の周波数信号に基づいて各周波数帯域の雑音成分を推定する、請求項１に記載の雑音推定装置。
【請求項６】
前記雑音成分補正部は、現フレームにおける前記信号対雑音比の平均値が、各周波数帯域の前記周波数信号の絶対値平均が雑音成分よりも小さいことを表す第２の閾値未満となる場合、前記度数分布の形状が前記第２の基準形状よりも前記第１の基準形状に近くても、現フレームから前記第２の所定数前までのフレームについての前記複数の周波数帯域の周波数信号に基づいて各周波数帯域の雑音成分を推定する、請求項１に記載の雑音推定装置。
【請求項７】
音声信号を所定の時間長を持つフレーム単位で周波数領域へ変換することにより複数の周波数帯域のそれぞれについての周波数信号を算出する時間周波数変換部と、
現フレームについての前記複数の周波数帯域のそれぞれの周波数信号に基づいて、過去の第１の所定数のフレームに基づいて推定された前記複数の周波数帯域のそれぞれの雑音成分を更新する雑音成分更新部と、
前記複数の周波数帯域のそれぞれについて、現フレームについての前記周波数信号と前記更新された雑音成分とを比較することにより、前記複数の周波数帯域のそれぞれについて信号対雑音比を算出する信号対雑音比算出部と、
現フレームの各周波数帯域の前記信号対雑音比の平均値が、各周波数帯域の前記周波数信号の絶対値平均が雑音成分よりも小さいことを表す閾値未満となる場合、現フレームから前記第１の所定数よりも少ない第２の所定数前までのフレームについての前記複数の周波数帯域の周波数信号に基づいて各周波数帯域の雑音成分を推定する雑音成分補正部と、
を有する雑音推定装置。
【請求項８】
前記雑音成分更新部は、現フレームについての音声信号に雑音以外の信号成分が含まれる場合に前記複数の周波数帯域のそれぞれの雑音成分を更新せず、
前記雑音成分補正部は、現フレームについて前記複数の周波数帯域のそれぞれの雑音成分が更新されず、かつ、現フレームの各周波数帯域の前記信号対雑音比の平均値が、各周波数帯域の前記周波数信号の絶対値平均が雑音成分よりも小さいことを表す閾値未満となる場合、現フレームから前記第１の所定数前までのフレームについての前記複数の周波数帯域の周波数信号に基づいて各周波数帯域の雑音成分を推定する、請求項７に記載の雑音推定装置。
【請求項９】
音声信号を所定の時間長を持つフレーム単位で周波数領域へ変換することにより複数の周波数帯域のそれぞれについての周波数信号を算出し、
現フレームについての前記複数の周波数帯域のそれぞれの周波数信号に基づいて、過去の第１の所定数のフレームに基づいて推定された前記複数の周波数帯域のそれぞれの雑音成分を更新し、
前記複数の周波数帯域のそれぞれについて、現フレームについての前記周波数信号と前記更新された雑音成分とを比較することにより、前記複数の周波数帯域のそれぞれについて信号対雑音比を算出し、
前記信号対雑音比の値ごとの周波数帯域の度数分布を求め、当該度数分布の形状が、信号成分を含むフレームについての前記度数分布の第１の基準形状よりも信号成分を含まないフレームについての前記度数分布の第２の基準形状に近い場合、現フレームから前記第１の所定数よりも少ない第２の所定数前までのフレームについての前記複数の周波数帯域の周波数信号に基づいて各周波数帯域の雑音成分を推定する、
ことを含む雑音推定方法。
【請求項１０】
音声信号を所定の時間長を持つフレーム単位で周波数領域へ変換することにより複数の周波数帯域のそれぞれについての周波数信号を算出し、
現フレームについての前記複数の周波数帯域のそれぞれの周波数信号に基づいて、過去の第１の所定数のフレームに基づいて推定された前記複数の周波数帯域のそれぞれの雑音成分を更新し、
前記複数の周波数帯域のそれぞれについて、現フレームについての前記周波数信号と前記更新された雑音成分とを比較することにより、前記複数の周波数帯域のそれぞれについて信号対雑音比を算出し、
前記信号対雑音比の値ごとの周波数帯域の度数分布を求め、当該度数分布の形状が、信号成分を含むフレームについての前記度数分布の第１の基準形状よりも信号成分を含まないフレームについての前記度数分布の第２の基準形状に近い場合、現フレームから前記第１の所定数よりも少ない第２の所定数前までのフレームについての前記複数の周波数帯域の周波数信号に基づいて各周波数帯域の雑音成分を推定する、
ことをコンピュータに実行させる雑音推定用コンピュータプログラム。
【請求項１１】
音声信号を所定の時間長を持つフレーム単位で周波数領域へ変換することにより複数の周波数帯域のそれぞれについての周波数信号を算出し、
現フレームについての前記複数の周波数帯域のそれぞれの周波数信号に基づいて、過去の第１の所定数のフレームに基づいて推定された前記複数の周波数帯域のそれぞれの雑音成分を更新し、
前記複数の周波数帯域のそれぞれについて、現フレームについての前記周波数信号と前記更新された雑音成分とを比較することにより、前記複数の周波数帯域のそれぞれについて信号対雑音比を算出し、
現フレームの各周波数帯域の前記信号対雑音比の平均値が、各周波数帯域の前記周波数信号の絶対値平均が雑音成分よりも小さいことを表す閾値未満となる場合、現フレームから前記第１の所定数よりも少ない第２の所定数前までのフレームについての前記複数の周波数帯域の周波数信号に基づいて各周波数帯域の雑音成分を推定する、
ことを含む雑音推定方法。
【請求項１２】
音声信号を所定の時間長を持つフレーム単位で周波数領域へ変換することにより複数の周波数帯域のそれぞれについての周波数信号を算出し、
現フレームについての前記複数の周波数帯域のそれぞれの周波数信号に基づいて、過去の第１の所定数のフレームに基づいて推定された前記複数の周波数帯域のそれぞれの雑音成分を更新し、
前記複数の周波数帯域のそれぞれについて、現フレームについての前記周波数信号と前記更新された雑音成分とを比較することにより、前記複数の周波数帯域のそれぞれについて信号対雑音比を算出し、
現フレームの各周波数帯域の前記信号対雑音比の平均値が、各周波数帯域の前記周波数信号の絶対値平均が雑音成分よりも小さいことを表す閾値未満となる場合、現フレームから前記第１の所定数よりも少ない第２の所定数前までのフレームについての前記複数の周波数帯域の周波数信号に基づいて各周波数帯域の雑音成分を推定する、
ことをコンピュータに実行させる雑音推定用コンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、例えば、音声信号に含まれる雑音成分を推定する雑音推定装置、雑音推定方法及び雑音推定用コンピュータプログラムに関する。
【背景技術】
【０００２】
マイクロホンにより集音された音声を聞き取り易くするため、あるいは、その音声を認識するために、集音された音声に含まれる雑音成分を抑制することが好ましい。そこで、音声信号に含まれる雑音成分を推定する技術が開発されている（例えば、特許文献１〜３を参照）。
【０００３】
例えば、特許文献１に開示された背景雑音除去装置は、入力信号をフレーム単位で周波数成分に変換し、音声信号が検出されないノイズ期間においてフレームの周波数成分と１フレーム前に生成した推定背景雑音との平均をとることで推定背景雑音を生成する。一方、音声信号が検出された音声期間において、この背景雑音除去装置は、フレームの周波数成分から推定背景雑音を減算する。そしてこの背景雑音除去装置は、減算によって得られた周波数成分を信号とし推定背景雑音を雑音として、全周波数帯域の信号対雑音比と全周波数帯域を複数に分割した小領域ごとの信号対雑音比を計算する。この背景雑音除去装置は、小領域の信号対雑音比と全周波数帯域の信号対雑音比との差が所定以下の各小領域について、減算により得られた周波数成分と推定背景雑音とを所定の割合で含む再更新推定背景雑音を生成する。
【０００４】
また、特許文献２に開示された雑音抑圧装置は、入力音声信号の振幅スペクトルを複数の周波数帯域に分割し、周波数帯域ごとにスペクトル形状を解析して音声、雑音、及び音声に類似した音声的雑音を区別する。そしてこの雑音抑圧装置は、そのスペクトル形状の判定結果に基づいて周波数帯域ごとの推定雑音スペクトルを更新するか否かを決定する。
【０００５】
また、特許文献３に開示されたノイズレベル検出方法は、音声データの所定時間幅におけるパワーレベルを所定時間ごとに求め、所定時間幅ごとのパワーレベルの頻度分布特性を求める。そしてこの検出方法は、パワーレベルの頻度分布特性に基づいてノイズレベル領域と音声レベル領域との境界を推定し、ノイズレベル領域についてのノイズレベルの分布からノイズレベルを算定する。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開平１０−１７１４９７号公報
【特許文献２】特開２００４−３４１３３９号公報
【特許文献３】特開平１０−３１９９８５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
これらの従来技術では、雑音成分のパワーが急激に変動することは想定されていない。しかしながら、実際には、雑音成分のパワーが急激に変動することがある。例えば、車室内に設置されたマイクロホンにより、乗員の発した声を集音する場合、集音された音には、車載空調装置の作動音が雑音として含まれる。車載空調装置は、車室内の温度などの条件によって動作レベルが変動する。そして動作レベルが変動するときに、作動音の大きさが急激に変化することがある。
このような場合、従来技術を用いて雑音成分を推定すると、雑音成分のパワーの変動に推定された雑音成分が追従できず、その結果として、推定された雑音成分のパワーが、実際の雑音成分のパワーよりも大き過ぎたり、あるいは小さ過ぎたりすることがあった。そして、推定された雑音成分のパワーと実際の雑音成分のパワーとの差が大きいと、その雑音成分を含む音声信号に対して雑音成分を抑制する処理を実行しても、雑音成分の低下が不十分であったり、雑音成分だけでなく、音声成分が誤って抑制されたりしてしまう。この結果、雑音抑制処理が施された音声信号であっても、聞き取り難いものとなったり、あるいは、雑音抑制処理が施された音声信号に対して音声認識処理を行っても、正確にキーワードが検出されないおそれがあった。
【０００８】
そこで本明細書は、音声信号に含まれる雑音成分のパワーが急激に変動する場合でも、雑音成分を適切に推定できる雑音推定装置を提供することを目的とする。
【課題を解決するための手段】
【０００９】
一つの実施形態によれば、雑音推定装置が提供される。この雑音推定装置は、音声信号を所定の時間長を持つフレーム単位で周波数領域へ変換することにより複数の周波数帯域のそれぞれについての周波数信号を算出する時間周波数変換部と、現フレームについての複数の周波数帯域のそれぞれの周波数信号に基づいて、過去の第１の所定数のフレームに基づいて推定された複数の周波数帯域のそれぞれの雑音成分を更新する雑音成分更新部と、複数の周波数帯域のそれぞれについて、現フレームについての周波数信号と更新された雑音成分とを比較することにより、複数の周波数帯域のそれぞれについて信号対雑音比を算出する信号対雑音比算出部と、信号対雑音比の値ごとの周波数帯域の度数分布を求め、その度数分布の形状が、信号成分を含むフレームについての度数分布の第１の基準形状よりも信号成分を含まないフレームについての度数分布の第２の基準形状に近い場合、現フレームから第１の所定数よりも少ない第２の所定数前までのフレームについての複数の周波数帯域の周波数信号に基づいて各周波数帯域の雑音成分を推定する雑音成分補正部とを有する。
【００１０】
また他の実施形態によれば、雑音推定装置が提供される。この雑音推定装置は、音声信号を所定の時間長を持つフレーム単位で周波数領域へ変換することにより複数の周波数帯域のそれぞれについての周波数信号を算出する時間周波数変換部と、現フレームについての複数の周波数帯域のそれぞれの周波数信号に基づいて、過去の第１の所定数のフレームに基づいて推定された複数の周波数帯域のそれぞれの雑音成分を更新する雑音成分更新部と、複数の周波数帯域のそれぞれについて、現フレームについての周波数信号と更新された雑音成分とを比較することにより、複数の周波数帯域のそれぞれについて信号対雑音比を算出する信号対雑音比算出部と、現フレームの各周波数帯域の信号対雑音比の平均値が、各周波数帯域の周波数信号の絶対値平均が雑音成分よりも小さいことを表す閾値未満となる場合、現フレームから第１の所定数よりも少ない第２の所定数前までのフレームについての複数の周波数帯域の周波数信号に基づいて各周波数帯域の雑音成分を推定する雑音成分補正部とを有する。
【００１１】
本発明の目的及び利点は、請求項において特に指摘されたエレメント及び組み合わせにより実現され、かつ達成される。
上記の一般的な記述及び下記の詳細な記述の何れも、例示的かつ説明的なものであり、請求項のように、本発明を限定するものではないことを理解されたい。
【発明の効果】
【００１２】
本明細書に開示された雑音推定装置は、音声信号に含まれる雑音成分のパワーが急激に変動する場合でも、雑音成分を適切に推定できる。
【図面の簡単な説明】
【００１３】
【図１】一つの実施形態による雑音推定装置を有する音声入力システムの概略構成図である。
【図２】雑音推定処理に関する処理部の機能ブロック図である。
【図３】（ａ）は、入力音声信号の波形の一例を示す図である。（ｂ）は、（ａ）に示された入力音声信号のうち、1kHz付近の振幅スペクトルの波形を示す図である。
【図４】図３（ａ）に示された入力音声信号の波形の例に対する、全ての周波数帯域のSNRの平均値の時間変化を示す図である。
【図５】（ａ）は、人の声を含む入力音声信号についてのSNRの値ごとの周波数帯域の度数分布と、背景雑音のみが含まれる入力音声信号についてのSNRの値ごとの周波数帯域の度数分布とを示す図である。（ｂ）は、図３（ａ）に示された入力音声信号の波形の例に対する、SNRの分布の時間変化を示す図である。
【図６】雑音モデルの誤り補正処理の動作フローチャートである。
【図７】雑音推定処理を含む音声認識処理の動作フローチャートである。
【発明を実施するための形態】
【００１４】
以下、図を参照しつつ、一つの実施形態による雑音推定装置について説明する。
この雑音推定装置は、音声信号をフレーム単位で周波数領域へ変換して得られる複数の周波数帯域のそれぞれについての周波数信号を用いて、過去の所定数のフレームに基づいて推定された、周波数帯域ごとの雑音成分を表す雑音モデルを更新する。そしてこの雑音推定装置は、更新した雑音モデルに基づいて周波数帯域ごとの信号対雑音比(Signal to Noise Ratio, SNR)を求めて、SNR値ごとの周波数帯域の度数分布及び平均値を計算する。またこの雑音推定装置は、SNRの値ごとの周波数帯域の度数分布の形状またはSNRの平均値が、雑音成分について想定されるその度数分布の形状またはSNRの平均値と異なっている場合、雑音成分のパワーが急激に変動したと判定する。そしてこの雑音推定装置は、雑音成分のパワーが急激に変動した場合、直近の所定数のフレームに基づいて雑音モデルを推定する。
【００１５】
図１は、一つの実施形態による雑音推定装置が実装された音声入力システムの概略構成図である。本実施形態では、音声入力システム１は、例えば、車載のナビゲーションシステムであり、マイクロホン２と、スピーカ３と、記憶媒体アクセス装置４と、記憶部５と、ユーザインターフェース部６と、処理部７とを有する。
【００１６】
マイクロホン２は、音声入力部の一例であり、音声入力システム１の周囲の音を集音し、その音の強度に応じたアナログ音声信号を生成し、そのアナログ音声信号をアナログ−デジタル変換器（図示せず）へ出力する。アナログ−デジタル変換器は、アナログ音声信号を所定のサンプリング周期でサンプリングすることによりデジタル化された入力音声信号を生成する。また、アナログ／デジタル変換器は、増幅器を有し、アナログ音声信号を増幅した後にデジタル化してもよい。そしてアナログ−デジタル変換器は、入力音声信号をアナログ−デジタル変換器と接続された処理部７へ出力する。
【００１７】
スピーカ３は、処理部７から受け取った音声信号を再生する。
【００１８】
記憶媒体アクセス装置４は、例えば、半導体メモリカードあるいは光記録媒体といった記憶媒体８にアクセスする装置である。記憶媒体アクセス装置４は、例えば、記憶媒体８に記憶された処理部７上で実行されるコンピュータプログラム、あるいは、そのコンピュータプログラムで利用されるデータを読み込み、処理部７に渡す。また記憶媒体アクセス装置４は、記憶媒体８から雑音推定用コンピュータプログラムを読み込んで、処理部７に渡してもよい。
【００１９】
記憶部５は、例えば、読み書き可能な不揮発性の半導体メモリと、読み書き可能な揮発性の半導体メモリとを有する。そして記憶部５は、処理部７上で実行される各種のアプリケーションプログラム及び各種のデータ、例えば、様々な場所の地図データを記憶する。また記憶部５は、雑音推定処理を実行するためのコンピュータプログラム及び雑音推定処理に用いられる各種のデータを記憶する。例えば、記憶部５は、周波数帯域ごとの推定された雑音成分を表す雑音モデルを記憶する。また記憶部５は、直近の複数のフレーム分の各周波数帯域の周波数信号を保存してもよい。さらに記憶部５は、音声認識のために用いられる単語辞書、および、マイクロホン２を介して取得された入力音声信号を記憶してもよい。
【００２０】
ユーザインターフェース部６は、例えば、複数の操作キーといった入力装置と液晶ディスプレイといった表示装置とを有する。あるいは、ユーザインターフェース部６は、タッチパネルディスプレイのように、入力装置と表示装置とが一体化された装置を有してもよい。そしてユーザインターフェース部６は、ユーザによる入力装置の操作に応じた操作信号を生成し、その操作信号を処理部７へ出力する。またユーザインターフェース部６は、処理部７から受け取った各種の情報、例えば、現在地周辺の地図、音声入力システム１が搭載された車両の現在位置、目的地までのルートを表示装置上に表示する。
【００２１】
処理部７は、一つまたは複数のプロセッサと、メモリ回路と、周辺回路とを有する。処理部７は、音声入力システム１の各部と信号線を介して接続されており、音声入力システム１の各部を制御する。また処理部７は、図示しないGlobal Positioning System(GPS)から取得した、音声入力システム１が搭載された車両の現在位置に基づいて、目的地までの最適ルートを、例えば、ダイクストラ法に従って算出する。そして処理部７は、その最適ルート及び現在位置を、現在位置周辺の地図とともにユーザインターフェース部６の表示装置に表示させる。また処理部７は、音声入力システム１が搭載された車両の現在位置が右折または左折すべき交差点から所定の距離範囲内になると、スピーカ３を介して、ユーザに注意を促す音声を再生させる。
【００２２】
また処理部７は、雑音推定装置としての機能も備えており、マイクロホン２から受け取った入力音声信号に含まれる雑音成分を推定する。処理部７は、その雑音成分を抑制するよう入力音声信号を補正する。そして処理部７は、補正された入力音声信号に基づいてユーザの音声を認識し、その認識結果に応じた処理を実行する。
【００２３】
図２は、雑音推定処理に関する処理部７の機能ブロック図である。処理部７は、時間周波数変換部１１と、雑音モデル更新部１２と、信号対雑音比算出部１３と、雑音モデル補正部１４と、音声／雑音判定部１５と、雑音抑制部１６と、周波数時間変換部１７と、音声認識部１８とを有する。
なお、この実施形態においては、雑音推定処理自体は、時間周波数変換部１１と、雑音モデル更新部１２と、信号対雑音比算出部１３と、雑音モデル補正部１４とによって実現される。
処理部７が有するこれらの各部は、例えば、処理部７が有するプロセッサ上で動作するコンピュータプログラムにより実現される機能モジュールである。あるいは、処理部７が有するこれらの各部は、それぞれ、別個の回路として、音声入力システム１に実装されてもよく、あるいはこれらの各部の機能を実現する一つの集積回路として、処理部７とは別個に音声入力システム１に実装されてもよい。
【００２４】
時間周波数変換部１１は、入力音声信号を、所定の時間長（例えば、数10msec）を持つフレーム単位で周波数領域へ変換することにより複数の周波数帯域のそれぞれについて周波数信号を求める。そのために、時間周波数変換部１１は、例えば、入力音声信号に対して、高速フーリエ変換(Fast Fourier Transform, FFT)、または修正離散コサイン変換(Modified Discrete Cosine Transform, MDCT)といった時間周波数変換を実行することにより周波数信号へ変換する。あるいは、時間周波数変換部１１は、Quadrature Mirror Filter(QMF)フィルタバンクあるいはウェーブレット変換を上記の時間周波数変換として用いてもよい。さらに時間周波数変換部１１は、周波数帯域ごとに、次式に従って振幅スペクトルを算出する。
【数１】
0005867199.tif 000002
ここで、Xt(f)は、周波数帯域fにおける現フレームの周波数信号であり、St(f)は、周波数帯域fにおける現フレームの振幅スペクトルである。
時間周波数変換部１１は、フレームごとに、各周波数帯域の振幅スペクトルを雑音モデル更新部１２、信号対雑音比算出部１３及び音声／雑音判定部１５へ出力するとともに、記憶部５に記憶する。また時間周波数変換部１１は、フレームごとに、各周波数帯域の周波数信号を雑音抑制部１６へ出力する。
【００２５】
雑音モデル更新部１２は、雑音成分更新部の一例であり、過去の所定数のフレームに基づいて推定された周波数帯域ごとの雑音成分を表す雑音モデルを、最新のフレームである現フレームの各周波数帯域の振幅スペクトルに基づいて更新する。
具体的には、雑音モデル更新部１２は、各周波数帯域の振幅スペクトルを時間周波数変換部１１から受け取る度に、その振幅スペクトルの平均値pを次式に従って算出する。
【数２】
0005867199.tif 000003
ここでNは周波数帯域の総数であり、時間周波数変換において1フレームに含まれるサンプル点数の1/2である。flowは、最も低い周波数帯域を表し、fhighは、最も高い周波数帯域を表す。またSt(f)は、周波数帯域fにおける現フレームの振幅スペクトルである。
【００２６】
次に、雑音モデル更新部１２は、現フレームの振幅スペクトルの平均値pと、雑音成分の振幅スペクトルの上限に相当する閾値Thrとを比較する。そして雑音モデル更新部１２は、平均値pが閾値Thr未満である場合、各周波数帯域について次式に従って振幅スペクトルを時間方向に平均することにより、雑音モデルを更新する。
【数３】
0005867199.tif 000004
ただし、Nt-1(f)は、現フレームよりも一つ前のフレームに対する雑音モデルに含まれる周波数帯域fの雑音成分であり、記憶部５から読み込まれる。また、Nt(f)は、現フレームについての更新された雑音モデルに含まれる周波数帯域fの雑音成分である。係数αは忘却係数であり、例えば、0.01〜0.1の何れかの値に設定される。一方、平均値pが閾値Thr以上である場合、現フレームには、雑音以外の信号成分が含まれると推定されるので、忘却係数αを0とすることで、雑音モデル更新部１２は一つ前のフレームについて求めた雑音モデルそのものを、現フレームについての雑音モデルとする。すなわち、雑音モデル更新部１２は、雑音モデルを更新せず、全ての周波数帯域についてNt(f)=Nt-1(f)とする。あるいは、雑音モデル更新部１２は、雑音以外の信号成分が含まれる場合には、忘却係数αを、例えば、0.0001のように非常に小さい値にすることで、雑音モデルに対する現フレームの影響を小さくしてもよい。
【００２７】
なお、雑音モデル更新部１２は、振幅スペクトルの平均値pを算出する代わりに、現フレームから数フレーム（例えば、5フレーム）前までの振幅スペクトルの平均値の時間平均値を算出し、その時間平均値と閾値Thrとを比較してもよい。あるいは、雑音モデル更新部１２は、全ての周波数帯域の振幅スペクトルのうちの最大値を求め、その最大値を閾値Thrと比較してもよい。
また、特に雑音が白色雑音に近い場合、フレーム間での振幅スペクトルの相関性が低い。そこで雑音モデル更新部１２は、現フレームと一つ前のフレーム間における、全ての周波数帯域にわたる振幅スペクトルの相互相関値が所定の閾値以下である場合に限り、雑音モデルを更新してもよい。なお、所定の閾値は、例えば、0.1とすることができる。
【００２８】
雑音モデル更新部１２は、更新した雑音モデルを記憶部５に記憶するとともに、信号対雑音比算出部１３へ渡す。
【００２９】
信号対雑音比算出部１３は、各フレームについて、周波数帯域ごとのSNRを算出する。
本実施形態では、信号対雑音比算出部１３は、次式に従って周波数帯域ごとのSNRを算出する。
【数４】
0005867199.tif 000005
ここで、SNR(f)は、周波数帯域fにおけるSNRを表す。またSt(f)は、現フレームの周波数帯域fにおける振幅スペクトルであり、Nt(f)は雑音モデル更新部１２によって更新された現フレームについての雑音モデルに含まれる、周波数帯域fの雑音成分である。
【００３０】
信号対雑音比算出部１３は、各周波数帯域のSNRを雑音モデル補正部１４へ渡す。
【００３１】
雑音モデル補正部１４は、雑音成分補正部の一例であり、フレームごとに、各周波数帯域のSNRに基づいて、雑音モデル更新部１２によって更新された雑音モデルが誤りであるか否かを判定する。そして雑音モデル補正部１４は、雑音モデルが誤りであると判定した場合、雑音モデルの推定に利用したフレーム数よりも少ない直近の所定数のフレームに基づいて、雑音モデルを補正する。
【００３２】
ここで先ず、理解を容易にするために、雑音モデルに誤りが生じ易い音声信号について説明する。
図３（ａ）は、入力音声信号の波形の一例を示す図である。図３（ｂ）は、図３（ａ）に示された入力音声信号のうち、1kHz付近の振幅スペクトルの波形を示す図である。図３（ａ）及び図３（ｂ）において、横軸は時間を表す。また図３（ａ）において、縦軸は入力音声信号の強度を表し、図３（ｂ）において、縦軸は振幅スペクトルの大きさを表す。そしてグラフ３０１は、入力音声信号の波形を表す。グラフ３０２は、1kHz付近の振幅スペクトルを表す。またグラフ３０３は、1kHz付近の周波数についての従来技術による雑音モデルを表す。この例では、期間P1〜P3の入力音声信号が、それぞれ、雑音以外の音声、例えば、ユーザの声を含んでいる。
【００３３】
図３（ａ）に示されるように、この例では、期間P2の開始時刻t2よりも前の時刻t1において、雑音が急激に大きくなり、振幅スペクトル３０２も時刻t1において急激に大きくなる。そのため、時刻t1から一定期間の間、入力音声信号には雑音以外の音声が含まれると誤判定され、その一定期間中の雑音モデルは、時刻t1以前の雑音モデルをそのまま維持したものとなる。その結果、その一定期間中、振幅スペクトル３０２と雑音モデル３０３との間に大きなレベル差が生じてしまう。
【００３４】
また、期間P2終了後の時刻t3において雑音が急激に小さくなり、振幅スペクトル３０２も時刻t3において急激に小さくなる。しかし、雑音モデル３０３の振幅スペクトルのレベルは、時刻t3以前の雑音レベルの影響により、徐々にしか低下しない。その結果として、時刻t3以降の一定期間において、振幅スペクトル３０２と雑音モデル３０３との間に大きなレベル差が生じてしまう。
【００３５】
このような問題に対して、発明者は、各フレームについて、SNRの値ごとの周波数帯域の度数分布の形状及び全ての周波数帯域のSNRの平均値が、従来技術により求められた雑音モデルに誤りが有るか否かを判定するための重要な指標となるという知見を得た。そこで、以下では、従来技術によって求められた雑音モデルに基づいて算出されたSNRの値ごとの周波数帯域の度数分布及びSNRの平均値と音声信号の波形との関係について説明する。先ず、雑音のレベルが急激に低下するときの音声信号の波形と、全ての周波数帯域のSNRの平均値との関係について説明する。
【００３６】
図４は、図３（ａ）に示された入力音声信号の波形の例に対する、全ての周波数帯域のSNRの平均値の時間変化を示す図である。図４において、横軸は時間を表し、縦軸はSNRの平均値の大きさを表す。そしてグラフ４０１は、図３（ａ）に示された入力音声信号の波形に対応する、全ての周波数帯域のSNRの平均値SNRavgの時間変化を表すグラフである。なお、その平均値SNRavgは、次式に従って算出される。
【数５】
0005867199.tif 000006
ここでNは周波数帯域の総数である。flowは、最も低い周波数帯域を表し、fhighは、最も高い周波数帯域を表す。そしてSNR(f)は、周波数帯域fにおけるSNRである。
【００３７】
雑音モデルが正しければ、音声信号に雑音しか含まれない場合であっても、振幅スペクトルよりも雑音の振幅スペクトルが大きくなることはない。したがって、（１）式から明らかなように、一般的には平均値SNRavgが1未満となることはない。しかし、雑音のレベルが急激に低下する時刻t3以降の一定期間のように、雑音モデルにより表される雑音成分の振幅スペクトルが、本来の雑音成分の振幅スペクトルよりも大きくなっていると、グラフ４０１に示されるように、平均値SNRavgも1未満となる。そこで、平均値SNRavgが1未満となっていれば、雑音モデルは、実際の雑音のレベルが急激に低下したことにより、誤っている可能性が高い。
そこで、雑音モデル補正部１４は、平均値SNRavgが所定の閾値Th1未満となっている場合、雑音モデルは誤っていると判定する。なお、閾値Th1は、各周波数帯域の周波数信号の絶対値平均が雑音成分よりも小さいことを表すSNRの上限値であり、1または1から所定のオフセットを減じた値、例えば、0.95〜1に設定される。また閾値Th1は、雑音モデルが正しく推定された場合のSNRの平均値SNRavgの下限値に相当する。
【００３８】
次に、雑音のレベルが急激に上昇するときの音声信号の波形と、SNRの値ごとの周波数帯域の度数分布との関係について説明する。
【００３９】
図５（ａ）は、人の声を含む入力音声信号についてのSNRの値ごとの周波数帯域の度数分布と、背景雑音のみが含まれる入力音声信号についてのSNRの値ごとの周波数帯域の度数分布とを示す図である。図５（ａ）において、横軸は、SNRの最小値から最大値の範囲で正規化したSNRの値を表し、縦軸は、SNRの値ごとの周波数帯域の度数を表す。グラフ５０１は、人の声を含む入力音声信号についてのSNRの値ごとの周波数帯域の度数分布を表すグラフであり、信号成分を含むフレームについてのSNRの値ごとの度数分布の第１の基準形状の一例である。グラフ５０２は、背景雑音のみを含む入力音声信号についてのSNRの値ごとの周波数帯域の度数分布を表すグラフであり、信号成分を含まないフレームについてのSNRの値ごとの周波数帯域の度数分布の第２の基準形状の一例である。
【００４０】
一般に、人の声では、フォルマント周波数及びその整数倍の周波数において振幅スペクトルがピークとなり、その他の周波数の振幅スペクトルは低くなる傾向がある。そのため、それら特定の周波数を含む周波数帯域については比較的SNRが大きくなるものの、それら特定の周波数を含まない周波数帯域については比較的SNRが小さくなる。その結果、グラフ５０１に示されるように、全ての周波数帯域のうち、SNRの最小値付近のSNR値を持つ周波数帯域の度数が高くなり、SNRの値が大きくなるにつれて、その度数も低下する。
【００４１】
一方、背景雑音では、周波数帯域ごとの振幅スペクトルの大きさの偏りは比較的小さく、その結果として全ての周波数帯域についてSNRがある程度大きな値を持ち得る。そのため、グラフ５０２に示されるように、SNRの最小値よりもある程度大きなSNR値を持つ周波数帯域の度数が高くなる。したがって、SNRの最小値付近のSNR値を持つ周波数帯域の度数が、SNR値の平均値付近のSNR値を持つ周波数帯域の度数よりも少なければ、雑音のレベルが急激に上昇したことにより、雑音モデルの推定は誤っている可能性が高い。なお、以下では、便宜上、SNRの最小値付近のSNRの値の範囲を最小域と呼び、一方、最小域よりも大きく、かつ、雑音成分のみを含む周波数信号についてのSNR値を多く含むSNRの値の範囲を中間域と呼ぶ。SNRの最小域は、例えば、全ての周波数帯域について算出されたSNRのうちの最小値SNRminから、全ての周波数帯域について算出されたSNRの平均値SNRavgとを２等分したサブ区間のうちの小さい方のサブ区間{SNRmin〜(SNRmin+SNRavg)/2}とすることができる。一方、SNRの中間域は、その二つのサブ区間のうちの大きい方のサブ区間{(SNRmin+SNRavg)/2〜SNRavg}とすることができる。
【００４２】
図５（ｂ）は、図３（ａ）に示された入力音声信号の波形の例に対する、SNR値ごとの周波数帯域の度数分布の時間変化を示す図である。図５（ｂ）において、横軸は時間を表し、縦軸は度数を表す。そしてグラフ５１１は、最小域に含まれるSNR値を持つ周波数帯域の度数RLの時間変化を表す。またグラフ５１２は、中間域に含まれるSNR値を持つ周波数帯域の度数RMを表す。
【００４３】
グラフ５１１及びグラフ５１２に示されるように、雑音以外の音の信号が含まれる期間P1〜P3の間、最小域に含まれるSNR値を持つ周波数帯域の度数RLが、中間域に含まれるSNR値を持つ周波数帯域の度数RMよりも大きくなる傾向にある。一方、雑音のみが入力音声信号に含まれる場合には、雑音が急激に大きくなる時刻t1から期間P2の開始時刻t2の間であっても、度数RLが度数RMより小さくなることが分かる。
そこで雑音モデル補正部１４は、最小域に含まれるSNR値を持つ周波数帯域の度数が、中間域に含まれるSNR値を持つ周波数帯域の度数よりも少ない場合、SNR値ごとの周波数帯域の度数分布の形状は、第１の基準形状よりも第２の基準形状に近いと判定する。なお、第１の基準形状は、上述したように、信号成分を含むフレームについてのSNR値ごとの周波数帯域の度数分布の形状である。一方、第２の基準形状は、信号成分を含まない（すなわち、雑音成分のみが含まれる）フレームについてのSNR値ごとの周波数帯域の度数分布の形状である。
【００４４】
さらに、雑音のレベルが急激に上昇した直後のフレームでは、雑音成分が誤って信号成分と判断された上でSNRが求められる可能性が高いので、全ての周波数帯域のSNRの平均値SNRavgも比較的大きな値となる可能性が高い。
【００４５】
そこで雑音モデル補正部１４は、SNR値ごとの周波数帯域の度数分布の形状が第１の基準形状よりも第２の基準形状に近く、かつ、SNRavgが所定の閾値Th2よりも大きい場合、雑音モデルは誤っていると判定する。なお、閾値Th2は、例えば、雑音以外の音声を含まない入力音声信号に基づいて算出された雑音モデルについての周波数帯域ごとのSNRの平均値に、約1程度のオフセット値を加えた値、例えば、3.0に設定される。
【００４６】
雑音モデル補正部１４は、雑音モデルが誤っていると判定した場合、現フレームから所定数前のフレームまでの各フレームの周波数信号に基づいて各周波数帯域の雑音成分を推定することで雑音モデルを補正する。本実施形態では、雑音モデル補正部１４は、次式に従って、各周波数帯域の雑音成分を推定する。
【数６】
0005867199.tif 000007
N't(f)は、現フレームについての補正された雑音モデルに含まれる、周波数帯域fの雑音成分を表す。Sk(f)は、フレームkにおける周波数帯域fの周波数信号である。ただし、St(f)は現フレームの周波数信号を表す。Mは、補正された雑音モデルの算出に利用するフレームの総数であり、雑音モデル更新部１２が雑音モデルを更新する際に利用するフレームの数（すなわち、（３）式における忘却係数αの逆数）よりも少ない値、例えば、1〜5に設定される。
【００４７】
また、雑音モデル補正部１４は、雑音モデル更新部１２が現フレームに関して雑音モデルを更新しなかった場合については、（６）式におけるフレームの総数Mを、雑音モデル更新部１２が雑音モデルを更新する際に利用するフレームの数と同数としてもよい。
【００４８】
雑音モデル補正部１４は、記憶部５に記憶されている、現フレームについての雑音モデルを、補正された雑音モデルで書き換える。
【００４９】
図６は、処理部７により実行される雑音モデルの誤り補正処理の動作フローチャートである。処理部７は、フレームごとに、以下に示される動作フローチャートに従って雑音モデルの誤り補正処理を実行する。
【００５０】
信号対雑音比算出部１３は、雑音モデル更新部１２により更新され、記憶部５に記憶された雑音モデルに基づいて、周波数帯域ごとのSNRを算出する（ステップＳ１０１）。そして信号対雑音比算出部１３は、周波数帯域ごとのSNRを雑音モデル補正部１４へ渡す。
【００５１】
雑音モデル補正部１４は、全周波数帯域にわたるSNRの平均値SNRavgを算出する（ステップＳ１０２）。そして雑音モデル補正部１４は、その平均値SNRavgが閾値Th1未満か否か判定する（ステップＳ１０３）。平均値SNRavgが閾値Th1未満であれば（ステップＳ１０３−Ｙｅｓ）、雑音モデル補正部１４は、雑音モデルが誤りであると判定する。そして雑音モデル補正部１４は、直近の所定数のフレームの周波数信号に基づいて各周波数帯域の雑音成分を推定することで雑音モデルを補正する（ステップＳ１０４）。雑音モデル補正部１４は、補正した雑音モデルで記憶部５に記憶されている雑音モデルを置換する。そして処理部７は、誤り補正処理を終了する。
【００５２】
一方、平均値SNRavgが閾値Th1以上であれば（ステップＳ１０３−Ｎｏ）、雑音モデル補正部１４は、最小域に含まれるSNRの値を持つ周波数帯域の度数RLと中間域に含まれるSNRの値を持つ周波数帯域の度数RMとを算出する（ステップＳ１０５）。
【００５３】
雑音モデル補正部１４は、平均値SNRavgが閾値Th2よりも大きく、かつ、最小域の度数RLが中間域の度数RMよりも小さいか否か判定する（ステップＳ１０６）。平均値SNRavgが閾値Th2よりも大きく、かつ、最小域の度数RLが中間域の度数RMよりも小さい場合（ステップＳ１０６−Ｙｅｓ）、SNR値ごとの周波数帯域の度数分布の形状は、第１の基準形状よりも第２の基準形状に近い。そこで雑音モデル補正部１４は、雑音モデルが誤りであると判定する。そして雑音モデル補正部１４は、直近の所定数のフレームの周波数信号に基づいて各周波数帯域の雑音成分を推定することで雑音モデルを補正する（ステップＳ１０４）。雑音モデル補正部１４は、補正した雑音モデルで記憶部５に記憶されている雑音モデルを置換する。そして処理部７は、誤り補正処理を終了する。
【００５４】
一方、平均値SNRavgが閾値Th2以下であるか、あるいは、最小域の度数RLが中間域の度数RM以上である場合（ステップＳ１０６−Ｎｏ）、SNR値ごとの周波数帯域の度数分布の形状は、第２の基準形状よりも第１の基準形状に近い。そこで雑音モデル補正部１４は、雑音モデルは適切であると判定する。そして処理部７は、雑音モデルを補正せずに誤り補正処理を終了する。
【００５５】
音声／雑音判定部１５は、フレームごとに、記憶部５に記憶されている雑音モデルを用いてそのフレームの周波数信号に雑音以外の信号成分が含まれているか否か判定する。例えば、音声／雑音判定部１５は、周波数帯域ごとに、現フレームの振幅スペクトルと、雑音モデルのその周波数帯域の成分とを比較する。そして音声／雑音判定部１５は、現フレームの振幅スペクトルが雑音モデルのその周波数帯域の成分に揺らぎ分を加えた値よりも大きい場合、その周波数帯域には、雑音以外の成分が含まれると判定する。一方、現フレームの振幅スペクトルが雑音モデルのその周波数帯域の成分に揺らぎ分を減算した値以下である場合、音声／雑音判定部１５は、現フレームのその周波数帯域には、雑音成分のみが含まれると判定する。なお、雑音成分の揺らぎ分は、入力信号が雑音のみである場合に求められた雑音モデルが表す各周波数帯域の雑音成分と、その入力信号についての各周波数帯域の振幅スペクトルの絶対値との差分の最大値と最小値の差として予め算出される。
音声／雑音判定部１５は、例えば、周波数帯域ごとに、信号成分が含まれるか否かを表す判定フラグF(f)を設定する。例えば、周波数帯域fに雑音成分のみが含まれる場合、判定フラグF(f)は'0'に設定され、一方、周波数帯域fに雑音成分以外の信号成分が含まれる場合、判定フラグF(f)は'1'に設定される。そして音声／雑音判定部１５は、その判定フラグF(f)を雑音抑制部１６へ通知する。
【００５６】
雑音抑制部１６は、フレームごとに、周波数信号に含まれる雑音成分を抑制する。そのために、雑音抑制部１６は、例えば、次式に従って、周波数信号を補正する。
【数７】
0005867199.tif 000008
ここで、Xt(f)は、現フレームにおける周波数帯域fの周波数信号である。F(f)は、上記の判定フラグである。そしてX't(f)は、補正後における周波数帯域fの周波数信号である。G(f)は周波数帯域fに対するゲインであり、例えば、1未満の正の実数に設定される。なおゲインG(f)は、現フレームにおける周波数帯域fの推定された雑音成分が大きいほど、小さい値に設定されてもよい。（７）式から明らかなように、雑音抑制部１６は、雑音成分のみが含まれると判定された周波数帯域については、周波数信号を減衰させ、一方、雑音成分以外の信号成分が含まれると判定された周波数帯域については、周波数信号を減衰させない。
雑音抑制部１６は、補正後の周波数信号を周波数時間変換部１７へ渡す。
【００５７】
周波数時間変換部１７は、補正された周波数信号を、それぞれ、時間周波数変換部１１が用いた時間周波数変換の逆変換を用いて時間領域へ変換することにより、補正された音声信号を得る。
【００５８】
音声認識部１８は、補正された音声信号から、音声入力システム１を制御するためのキーワードを検出する。
本実施形態では、音声認識部１８は、認識対象となる１以上のキーワードが登録された単語辞書と、予め作成された音響モデルを用いてキーワードを検出する。
音響モデルは、例えば、単語の発音を音素または音節といった単位音ごとに区分し、その単位音の順序に従って、その単位音に対応する単位音響モデルを連結することにより生成され、予め、記憶部５に記憶される。この単位音響モデル及び音響モデルは、例えば、それぞれ、隠れマルコフモデル(Hidden Markov Model, HMM)により表される。
【００５９】
音声認識部１８は、例えば、フレームから、音声認識に用いられる特徴量を抽出する。そのために、音声認識部１８は、例えば、フレームごとにFFTまたはMDCTを用いて周波数領域の信号に変換することでフレームごとのスペクトルを求める。そして音声認識部１８は、そのスペクトルに基づいて、特徴量として、例えば、フレームごとに、メル周波数ケプストラム係数(Mel Frequency Cepstral Coefficient、MFCC)を求める。または、音声認識部１８は、連続するフレーム間のパワーの差分値を求める。音声認識部１８は、特徴量としてMFCCを算出する場合、例えば、各フレームのスペクトルをメル尺度のパワー値に変換した後、そのパワー値の対数に対して再度MDCTなどの周波数変換を行うことによりMFCCを算出する。また音声認識部１８は、特徴量としてフレーム間のパワーの差分値を求める場合、例えば、各フレームの周波数帯域ごとのスペクトルの２乗の和をパワーとして求め、連続する二つのフレーム間でパワーの差を求めることによりその差分値を求める。
【００６０】
なお、音声認識部１８は、特徴量として、音響モデルを用いた音声認識で用いられる他の様々な特徴量（例えば、基本周波数）の何れかを抽出してもよい。また音声認識部１８は、音声認識の対象とされた各フレームから複数の種類の特徴量を抽出してもよい。
【００６１】
音声認識部１８は、単位音響モデルを表すHMMを用いて、音声信号の認識対象フレームから抽出される１以上の特徴量に基づいて、１以上のフレームが特定の単位音と推定される確率または尤度を類似度として算出する。そして音声認識部１８は、単語辞書に含まれるキーワードごとに単位音響モデルを連結して生成したキーワードの音響モデルとの類似度を求める。そして音声認識部１８は、類似度が最大となり、かつその類似度が所定の閾値以上となるキーワードを検出する。
【００６２】
なお、音声認識部１８は、動的時間伸縮法など、他の音声認識の手法に従って補正された音声信号からキーワードを検出してもよい。
【００６３】
図７は、処理部７により実行される、雑音推定処理を含む、音声認識処理の動作フローチャートである。
時間周波数変換部１１は、入力音声信号をフレーム単位で周波数領域へ変換することにより、複数の周波数帯域のそれぞれの周波数信号を算出する（ステップＳ２０１）。そして時間周波数変換部１１は、各周波数帯域の振幅スペクトルを求める。時間周波数変換部１１は、各周波数帯域の振幅スペクトルを雑音モデル更新部１２、信号対雑音比算出部１３、及び音声／雑音判定部１５へ出力するとともに、記憶部５に記憶する。また時間周波数変換部１１は、各周波数帯域の周波数信号を雑音抑制部１６へ出力する。
雑音モデル更新部１２は、過去の所定数のフレームについて算出された雑音モデルを、現フレームの各周波数帯域の振幅スペクトルに基づいて更新する（ステップＳ２０２）。そして雑音モデル更新部１２は、更新した雑音モデルを記憶部５に記憶する。
【００６４】
信号対雑音比算出部１３及び雑音モデル補正部１４は、図６に示された動作フローチャートに従って、雑音モデルの誤り補正処理を実行する（ステップＳ２０３）。その後、音声／雑音判定部１５は、雑音モデル補正部１４により補正された雑音モデルを用いて、現フレームの周波数帯域ごとに、その周波数信号が雑音成分か否かを判定する（ステップＳ２０４）。そして雑音抑制部１６は、音声／雑音判定部１５により雑音成分であると判定された周波数の信号を減衰させるように周波数信号を補正する（ステップＳ２０５）。
【００６５】
周波数時間変換部１７は、補正された周波数信号を時間領域の補正された音声信号に変換する（ステップＳ２０６）。音声認識部１８は、補正された音声信号に基づいて音声認識処理を実行する（ステップＳ２０７）。その後、処理部７は、音声認識処理を終了する。
【００６６】
以上に説明してきたように、この雑音推定装置は、一旦求めた雑音モデルに基づいて、周波数帯域ごとのSNRを求める。そしてこの雑音推定装置は、フレームごとに、雑音か信号を判別するための特徴を表すSNRの平均値またはSNR値ごとの周波数帯域の度数分布により、雑音モデルが正しいか否かを判定する。そのため、この雑音推定装置は、雑音成分のパワーが急激に変動しても、音声信号に含まれる雑音成分を正確に推定できる。
【００６７】
変形例によれば、雑音モデル補正部は、ステップＳ１０５において、最小域に含まれるSNR値を持つ周波数帯域の度数RLと中間域に含まれるSNR値を持つ周波数帯域の度数RMを算出する代わりに、周波数帯域の個数がピークとなるSNR値SNRpeakを求めてもよい。例えば、雑音モデル補正部は、SNRの最小値からSNRの最大値までの区間を40個のサブ区間に分割し、サブ区間ごとに、そのサブ区間に含まれるSNR値を持つ周波数帯域の度数を求める。そして雑音モデル補正部は、全てのサブ区間のうちで、周波数帯域の度数が最大となるサブ区間の中心値をSNRpeakとする。なお、一般に、SNRの最大値付近において周波数帯域の度数が最大となることはない。そこで雑音モデル補正部は、SNRの最小値から全ての周波数帯域のSNRの平均値SNRavgまでの区間を所定個（例えば、20個）のサブ区間に分割し、そのサブ区間ごとに周波数帯域の度数を求めることで、SNRpeakを決定してもよい。
【００６８】
再度図５（ａ）を参照すると、グラフ５０１に示されるように、音声信号に人の声といった信号成分が含まれる場合のSNRpeakは、平均値SNRavgよりも最小値SNRminに近い。一方、グラフ５０２に示されるように、信号成分が含まれない場合のSNRpeakは、最小値SNRminよりも平均値SNRavgに近い。そこで、雑音モデル補正部は、ステップＳ１０６において、度数RLと度数RMを比較する代わりに、SNRpeakとSNRの平均値SNRavgとの差の絶対値|SNRpeak-SNRavg|が、SNRpeakからSNRの最小値SNRminを引いた値(SNRpeak-SNRmin)よりも小さいか否かを判定する。|SNRpeak-SNRavg|が(SNRpeak-SNRmin)よりも小さければ、SNR値ごとの周波数帯域の度数分布の形状は、信号成分を含むフレームについてのその度数分布の形状よりも、雑音成分のみを含むフレームについてのその度数分布の形状に近い。したがって、雑音モデル補正部は、|SNRpeak-SNRavg|が(SNRpeak-SNRmin)よりも小さく、かつ、SNRavgが閾値Th2よりも大きい場合に、雑音が急激に大きくなったことにより雑音モデルが誤っていると判定する。
【００６９】
さらに他の変形例によれば、雑音モデル補正部は、現フレームについてのSNRの平均値SNRavg(t)が直前のフレームについてのSNRの平均値SNRavg(t-1)よりも大きい場合に限り、ステップＳ１０６の処理を行ってもよい。あるいはまた、雑音モデル補正部は、ステップＳ１０６の処理とともに、SNRavg(t)とSNRavg(t-1)の比較を行ってもよい。これは、雑音が急激に大きくなる場合には、SNRの平均値SNRavgも大きくなる傾向があるためである。これにより、雑音モデル補正部は、雑音が急激に大きくなったことにより雑音モデルが誤っているか否かをより正確に判断できる。
【００７０】
さらに他の変形例によれば、雑音モデル補正部は、ステップＳ１０６において、SNRの平均値SNRavgを閾値Th2と比較しなくてもよい。この場合、雑音モデル補正部は、度数RLと度数RMの比較結果、または、|SNRpeak-SNRavg|と(SNRpeak-SNRmin)との比較結果に基づいて、雑音モデルが誤っているか否かを判定してもよい。あるいは、雑音モデル補正部は、雑音モデル更新部にて雑音以外の信号成分を含むと判定されたフレームについてのみ、度数RLと度数RMの比較結果か、|SNRpeak-SNRavg|と(SNRpeak-SNRmin)との比較結果に基づいて雑音モデルが誤っているか否かを判定してもよい。
【００７１】
さらに他の変形例によれば、雑音モデル補正部は、雑音のレベルが急激に上昇することによる雑音モデルの誤りのみを検出して、雑音モデルを補正してもよい。この場合には、雑音モデル補正部は、ステップＳ１０３の処理を省略し、ステップＳ１０２の後に直接ステップＳ１０５の処理を実行すればよい。逆に、雑音モデル補正部は、雑音のレベルが急激に減少することによる雑音モデルの誤りのみを検出して、雑音モデルを補正してもよい。この場合には、雑音モデル補正部は、ステップＳ１０５及びステップＳ１０６の処理を省略すればよい。
【００７２】
さらに他の変形例によれば、雑音モデル更新部は、雑音モデルを、各周波数帯域における雑音成分のパワースペクトルで表してもよい。この場合には、雑音モデル更新部は、各フレームについて周波数帯域ごとの振幅スペクトルを計算する代わりに、周波数帯域ごとのパワースペクトルを算出すればよい。そして信号対雑音比算出部も、SNRを、周波数帯域ごとの周波数信号のパワースペクトルと雑音成分のパワースペクトルの比として算出する。
【００７３】
さらに他の変形例によれば、信号対雑音比算出部は、各周波数帯域のSNRを、（４）式の代わりに次式に従って算出してもよい。
【数８】
0005867199.tif 000009
この場合、雑音モデル補正部で用いられる閾値Th1は、0または0から所定のオフセット値を引いた値、例えば、-0.05に設定される。
【００７４】
さらに他の変形例によれば、音声認識部は、補正された周波数信号から、直接、キーワードを検出するための特徴量を求めてもよい。この場合には、図２に示した処理部の機能ブロックにおいて、周波数時間変換部は省略されてもよい。
【００７５】
なお、この雑音推定装置は、音声認識処理を伴わない装置、例えば、ハンズフリーホン、携帯電話機、またはテレビ会議システムにも適用できる。この場合、図２に示した処理部の機能ブロックにおいて、音声認識部は省略されてもよい。
【００７６】
さらに、上記の各実施形態による音声処理装置の処理部が有する各機能をコンピュータに実現させるコンピュータプログラムは、磁気記録媒体あるいは光記録媒体といった、コンピュータによって読み取り可能な媒体に記録された形で提供されてもよい。
【００７７】
ここに挙げられた全ての例及び特定の用語は、読者が、本発明及び当該技術の促進に対する本発明者により寄与された概念を理解することを助ける、教示的な目的において意図されたものであり、本発明の優位性及び劣等性を示すことに関する、本明細書の如何なる例の構成、そのような特定の挙げられた例及び条件に限定しないように解釈されるべきものである。本発明の実施形態は詳細に説明されているが、本発明の精神及び範囲から外れることなく、様々な変更、置換及び修正をこれに加えることが可能であることを理解されたい。
【００７８】
以上説明した実施形態及びその変形例に関し、更に以下の付記を開示する。
（付記１）
音声信号を所定の時間長を持つフレーム単位で周波数領域へ変換することにより複数の周波数帯域のそれぞれについての周波数信号を算出する時間周波数変換部と、
現フレームについての前記複数の周波数帯域のそれぞれの周波数信号に基づいて、過去の第１の所定数のフレームに基づいて推定された前記複数の周波数帯域のそれぞれの雑音成分を更新する雑音成分更新部と、
前記複数の周波数帯域のそれぞれについて、現フレームについての前記周波数信号と前記更新された雑音成分とを比較することにより、前記複数の周波数帯域のそれぞれについて信号対雑音比を算出する信号対雑音比算出部と、
前記信号対雑音比の値ごとの周波数帯域の度数分布を求め、当該度数分布の形状が、信号成分を含むフレームについての前記度数分布の第１の基準形状よりも信号成分を含まないフレームについての前記度数分布の第２の基準形状に近い場合、現フレームから前記第１の所定数よりも少ない第２の所定数前までのフレームについての前記複数の周波数帯域の周波数信号に基づいて各周波数帯域の雑音成分を推定する雑音成分補正部と、
を有する雑音推定装置。
（付記２）
前記雑音成分更新部は、現フレームについての音声信号に雑音以外の信号成分が含まれる場合に前記複数の周波数帯域のそれぞれの雑音成分を更新せず、
前記雑音成分補正部は、現フレームについて前記複数の周波数帯域のそれぞれの雑音成分が更新されず、かつ、前記度数分布の形状が、前記第１の基準形状よりも前記第２の基準形状に近い場合、現フレームから前記第１の所定数前までのフレームについての前記複数の周波数帯域の周波数信号に基づいて各周波数帯域の雑音成分を推定する、付記１に記載の雑音推定装置。
（付記３）
前記雑音成分補正部は、前記複数の周波数帯域のそれぞれについて算出された前記信号対雑音比の値の範囲を複数のサブ区間に分割し、各サブ区間に含まれる前記信号対雑音比の値を持つ周波数帯域の度数を前記度数分布の形状として求め、前記複数のサブ区間のうちの最も前記信号対雑音比が小さい第１のサブ区間に含まれる周波数帯域の度数が前記第１のサブ区間よりも前記信号対雑音比が大きい第２のサブ区間に含まれる周波数帯域の度数よりも少ない場合、前記度数分布の形状は前記第１の基準形状よりも前記第２の基準形状に近いと判定する、付記１または２に記載の雑音推定装置。
（付記４）
前記雑音成分補正部は、前記複数の周波数帯域のそれぞれについて算出された前記信号対雑音比の値の範囲を複数のサブ区間に分割し、各サブ区間に含まれる前記信号対雑音比の値を持つ周波数帯域の度数を前記度数分布の形状として求め、前記度数の最大値に対応するサブ区間の前記信号対雑音比が前記各周波数帯域の前記信号対雑音比のうちの最小値よりも前記各周波数帯域の前記信号対雑音比の平均値に近い場合、前記度数分布の形状は前記第１の基準形状よりも前記第２の基準形状に近いと判定する、付記１または２に記載の雑音推定装置。
（付記５）
前記雑音成分補正部は、現フレームにおける前記信号対雑音比の平均値が第１の閾値よりも大きい場合に限り、現フレームから前記第２の所定数前までのフレームについての前記複数の周波数帯域の周波数信号に基づいて各周波数帯域の雑音成分を推定する、付記１に記載の雑音推定装置。
（付記６）
前記雑音成分補正部は、現フレームにおける前記信号対雑音比の平均値が直前のフレームにおける前記信号対雑音比の平均値よりも大きい場合に限り、現フレームから前記第２の所定数前までのフレームについての前記複数の周波数帯域の周波数信号に基づいて各周波数帯域の雑音成分を推定する、付記１に記載の雑音推定装置。
（付記７）
前記雑音成分補正部は、現フレームにおける前記信号対雑音比の平均値が、各周波数帯域の前記周波数信号の絶対値平均が雑音成分よりも小さいことを表す第２の閾値未満となる場合、前記度数分布の形状が前記第２の基準形状よりも前記第１の基準形状に近くても、現フレームから前記第２の所定数前までのフレームについての前記複数の周波数帯域の周波数信号に基づいて各周波数帯域の雑音成分を推定する、付記１に記載の雑音推定装置。
（付記８）
音声信号を所定の時間長を持つフレーム単位で周波数領域へ変換することにより複数の周波数帯域のそれぞれについての周波数信号を算出する時間周波数変換部と、
現フレームについての前記複数の周波数帯域のそれぞれの周波数信号に基づいて、過去の第１の所定数のフレームに基づいて推定された前記複数の周波数帯域のそれぞれの雑音成分を更新する雑音成分更新部と、
前記複数の周波数帯域のそれぞれについて、現フレームについての前記周波数信号と前記更新された雑音成分とを比較することにより、前記複数の周波数帯域のそれぞれについて信号対雑音比を算出する信号対雑音比算出部と、
現フレームの各周波数帯域の前記信号対雑音比の平均値が、各周波数帯域の前記周波数信号の絶対値平均が雑音成分よりも小さいことを表す閾値未満となる場合、現フレームから前記第１の所定数よりも少ない第２の所定数前までのフレームについての前記複数の周波数帯域の周波数信号に基づいて各周波数帯域の雑音成分を推定する雑音成分補正部と、
を有する雑音推定装置。
（付記９）
前記雑音成分更新部は、現フレームについての音声信号に雑音以外の信号成分が含まれる場合に前記複数の周波数帯域のそれぞれの雑音成分を更新せず、
前記雑音成分補正部は、現フレームについて前記複数の周波数帯域のそれぞれの雑音成分が更新されず、かつ、現フレームの各周波数帯域の前記信号対雑音比の平均値が、各周波数帯域の前記周波数信号の絶対値平均が雑音成分よりも小さいことを表す閾値未満となる場合、現フレームから前記第１の所定数前までのフレームについての前記複数の周波数帯域の周波数信号に基づいて各周波数帯域の雑音成分を推定する、付記８に記載の雑音推定装置。
（付記１０）
前記複数の周波数帯域のうち、現フレームについての前記周波数信号が前記雑音成分補正部により推定された当該周波数帯域の雑音成分以下となる周波数帯域について前記周波数信号を減衰させることで前記周波数信号を補正する雑音抑制部と、
前記補正された周波数信号を時間領域の補正後の音声信号に変換する周波数時間変換部とをさらに有する、付記１〜９の何れか一項に記載の雑音推定装置。
（付記１１）
音声信号を所定の時間長を持つフレーム単位で周波数領域へ変換することにより複数の周波数帯域のそれぞれについての周波数信号を算出し、
現フレームについての前記複数の周波数帯域のそれぞれの周波数信号に基づいて、過去の第１の所定数のフレームに基づいて推定された前記複数の周波数帯域のそれぞれの雑音成分を更新し、
前記複数の周波数帯域のそれぞれについて、現フレームについての前記周波数信号と前記更新された雑音成分とを比較することにより、前記複数の周波数帯域のそれぞれについて信号対雑音比を算出し、
前記信号対雑音比の値ごとの周波数帯域の度数分布を求め、当該度数分布の形状が、信号成分を含むフレームについての前記度数分布の第１の基準形状よりも信号成分を含まないフレームについての前記度数分布の第２の基準形状に近い場合、現フレームから前記第１の所定数よりも少ない第２の所定数前までのフレームについての前記複数の周波数帯域の周波数信号に基づいて各周波数帯域の雑音成分を推定する、
ことを含む雑音推定方法。
（付記１２）
音声信号を所定の時間長を持つフレーム単位で周波数領域へ変換することにより複数の周波数帯域のそれぞれについての周波数信号を算出し、
現フレームについての前記複数の周波数帯域のそれぞれの周波数信号に基づいて、過去の第１の所定数のフレームに基づいて推定された前記複数の周波数帯域のそれぞれの雑音成分を更新し、
前記複数の周波数帯域のそれぞれについて、現フレームについての前記周波数信号と前記更新された雑音成分とを比較することにより、前記複数の周波数帯域のそれぞれについて信号対雑音比を算出し、
前記信号対雑音比の値ごとの周波数帯域の度数分布を求め、当該度数分布の形状が、信号成分を含むフレームについての前記度数分布の第１の基準形状よりも信号成分を含まないフレームについての前記度数分布の第２の基準形状に近い場合、現フレームから前記第１の所定数よりも少ない第２の所定数前までのフレームについての前記複数の周波数帯域の周波数信号に基づいて各周波数帯域の雑音成分を推定する、
ことをコンピュータに実行させる雑音推定用コンピュータプログラム。
（付記１３）
音声信号を所定の時間長を持つフレーム単位で周波数領域へ変換することにより複数の周波数帯域のそれぞれについての周波数信号を算出し、
現フレームについての前記複数の周波数帯域のそれぞれの周波数信号に基づいて、過去の第１の所定数のフレームに基づいて推定された前記複数の周波数帯域のそれぞれの雑音成分を更新し、
前記複数の周波数帯域のそれぞれについて、現フレームについての前記周波数信号と前記更新された雑音成分とを比較することにより、前記複数の周波数帯域のそれぞれについて信号対雑音比を算出し、
現フレームの各周波数帯域の前記信号対雑音比の平均値が、各周波数帯域の前記周波数信号の絶対値平均が雑音成分よりも小さいことを表す閾値未満となる場合、現フレームから前記第１の所定数よりも少ない第２の所定数前までのフレームについての前記複数の周波数帯域の周波数信号に基づいて各周波数帯域の雑音成分を推定する、
ことを含む雑音推定方法。
（付記１４）
音声信号を所定の時間長を持つフレーム単位で周波数領域へ変換することにより複数の周波数帯域のそれぞれについての周波数信号を算出し、
現フレームについての前記複数の周波数帯域のそれぞれの周波数信号に基づいて、過去の第１の所定数のフレームに基づいて推定された前記複数の周波数帯域のそれぞれの雑音成分を更新し、
前記複数の周波数帯域のそれぞれについて、現フレームについての前記周波数信号と前記更新された雑音成分とを比較することにより、前記複数の周波数帯域のそれぞれについて信号対雑音比を算出し、
現フレームの各周波数帯域の前記信号対雑音比の平均値が、各周波数帯域の前記周波数信号の絶対値平均が雑音成分よりも小さいことを表す閾値未満となる場合、現フレームから前記第１の所定数よりも少ない第２の所定数前までのフレームについての前記複数の周波数帯域の周波数信号に基づいて各周波数帯域の雑音成分を推定する、
ことをコンピュータに実行させる雑音推定用コンピュータプログラム。
【符号の説明】
【００７９】
１    音声入力システム
２    マイクロホン
３    スピーカ
４    記憶媒体アクセス装置
５    記憶部
６    ユーザインターフェース部
７    処理部
８    記憶媒体
１１    時間周波数変換部
１２    雑音モデル更新部
１３    信号対雑音比算出部
１４    雑音モデル補正部
１５    音声／雑音判定部
１６    雑音抑制部
１７    周波数時間変換部
１８    音声認識部
【図１】
0005867199.tif 000010
【図２】
0005867199.tif 000011
【図３】
0005867199.tif 000012
【図４】
0005867199.tif 000013
【図５】
0005867199.tif 000014
【図６】
0005867199.tif 000015
【図７】
0005867199.tif 000016