マスク作成装置、雑音スペクトル推定装置及び音声認識装置
【課題】 過去のフレームから未来のフレームに渡る時間スペクトルパターンを参照することによって、帯域の音声らしさを正しく推定できるマスク作成装置を提供することを目的とする。
【解決手段】 音声入力部1は、音声信号を入力し分析フレームを生成する。帯域分析部2は、音声入力部1が生成した分析フレームの音声信号から帯域パワーを求める。遅延メモリ3は、帯域分析部2が求めた帯域パワーの時系列を記憶する。時間長探索部61は、帯域パワーの時系列に基づいて、パターンの時間長を求める。時間長メモリ62は、時間長を記憶する。音声らしさ推定部4は、帯域パワーの時系列及びパターンの時間長に基づいて、現在のフレームにおける帯域の音声らしさを推定する。そして、音声らしさに基づいてマスク出力5する。
【解決手段】 音声入力部1は、音声信号を入力し分析フレームを生成する。帯域分析部2は、音声入力部1が生成した分析フレームの音声信号から帯域パワーを求める。遅延メモリ3は、帯域分析部2が求めた帯域パワーの時系列を記憶する。時間長探索部61は、帯域パワーの時系列に基づいて、パターンの時間長を求める。時間長メモリ62は、時間長を記憶する。音声らしさ推定部4は、帯域パワーの時系列及びパターンの時間長に基づいて、現在のフレームにおける帯域の音声らしさを推定する。そして、音声らしさに基づいてマスク出力5する。
【発明の詳細な説明】
【技術分野】
【0001】
この発明は、入力された音声を分析し、目的周波数の帯域成分の音声らしさを推定するマスク作成装置と、マスク作成装置の出力するマスク値に基づいて雑音スペクトルを推定する雑音スペクトル推定装置、及び、入力された音声の尤度を算出する音声認識装置に関するものである。
【背景技術】
【0002】
従来、雑音除去技術として、音声スペクトルから雑音スペクトルを引き去るスペクトルサブトラクション法が知られている(例えば、非特許文献1、非特許文献2参照)。音声スペクトルから引き去るべき雑音抑圧量は、雑音スペクトルに雑音抑圧係数αを掛けて求められる。
ここで、雑音抑圧係数αを求める技術としては、入力スペクトルと雑音スペクトルのSN比から求める技術(例えば、特許文献1参照)や、SN比と音声信号と雑音の位相差に基づいて求める技術(例えば、特許文献1参照)、現在の入力スペクトルと雑音の平均値だけでなく雑音の標準偏差に基づいて求める技術(例えば、特許文献2参照)等が公開されている。
【0003】
一方、雑音スペクトルを求める技術としては、定常的な雑音の場合、音声区間直前の非音声区間の入力スペクトルを平均して雑音スペクトルを求める技術(例えば、非特許文献3参照)や、非定常な雑音の場合や音声区間検出を陽に行わない場合、過去及び現在の入力スペクトルに基づいて雑音スペクトルを逐次更新する技術等が公開されている。ここで、後者の雑音スペクトルを逐次更新する技術としては、帯域毎に、過去のスペクトル値を保存しておき、保存されたスペクトル値の最小値を雑音スペクトルとして更新する技術(例えば、特許文献1、特許文献3、特許文献4、非特許文献4参照)や、入力スペクトルの雑音らしさ(或いは音声らしさ)を求め、雑音らしさが大きい(或いは音声らしさが小さい)とき、入力スペクトルに近づくように雑音スペクトルを修正する技術(例えば、特許文献5参照)が公開されている。
【0004】
なお、入力スペクトルの雑音らしさ(或いは音声らしさ)を求める技術として、音声信号の分析で得られる特徴量(例えば、自己相関係数の正のピーク値とローパス残差信号のパワーとフレームパワー)から求める技術(例えば、特許文献5参照)や、入力スペクトルの形状を解析して求める技術(例えば、特許文献6参照)が公開されている。
【0005】
スペクトルサブトラクション法以外の雑音除去技術としては、音声を周波数分析して時間スペクトルパターンを求め、時間軸上でパターンとして連続するフレーム数が所定数に満たない場合や、周波数軸上でパターンとして連続して現れたチャネル数が所定数に満たないとき、該当する部分のパターンを除去する技術(例えば、特許文献7参照)が公開されている。この場合、時間スペクトル上の孤立したパターンを雑音によるものとして除去していると解釈される。
【0006】
また、上記以外の耐雑音技術として、音声認識の分野で、音声を帯域分析し、音声成分が支配的な帯域の音声らしさの信頼度を1、雑音成分が支配的な帯域の音声らしさの信頼度を0とするマスクを作成し、このマスクの有する音声らしさの信頼度1の帯域成分だけに基づいて入力音声を識別する技術(例えば、非特許文献5参照)が公開されている.ここで、マスクの音声らしさの信頼度を求める技術としては、帯域ごとのSN比に基づく技術(例えば、非特許文献5参照)や、入力スペクトルの特徴量を識別機に通して求める技術(例えば、非特許文献6参照)が公開されている。
【0007】
【特許文献1】特開2003−44086号公報
【特許文献2】特開2003−316381号公報
【特許文献3】特許3499113号公報
【特許文献4】特開2002−258893号公報
【特許文献5】特開2002−366200号公報 第3頁
【特許文献6】特開2004−341339号公報
【特許文献7】特開平2−278299号公報
【非特許文献1】“Suppression of acoustic noise in speech using spectral subtraction”, IEEE Trans. ASSP, Vol.27 No.2, Apr.1979
【非特許文献2】“Experiments with a nonlinear spectral subtractor (NSS), hidden Markov models and the projection, for robust speech recognition in cars”, Speech Communication 11(1992)215-228
【非特許文献3】“スペクトルサブトラクションと時間方向スムージングを用いた雑音環境下音声認識”,電子情報通信学会論文誌D-II, Vol.J85-D-II, 2000年2月 504頁
【非特許文献4】“A multidimensional robust front-end feature extraction with a noise reduction procedure based on improved spectral subtraction algorithm”, Eurospeech2001, pp.197-200
【非特許文献5】“Robust automatic speech recognition with missing and unreliable acoustic data”, Speech Communication 34(2001)267-285
【非特許文献6】“Classifier-based mask estimation for missing feature methods of robust speech recognition”, ICSLP2000, pp.III-538-541
【発明の開示】
【発明が解決しようとする課題】
【0008】
従来のマスク作成装置は、過去のフレーム或いは現在のフレームの入力スペクトルに基づいて、帯域の音声らしさを推定していたので、未来のフレームに渡る時間スペクトルパターンを参照しないと音声が支配的か雑音が支配的か判断がつかないような帯域の音声らしさを正しく推定できないという課題があった。
また、従来のマスク作成装置は、背景音楽等による継続時間の長い狭帯域雑音の音声らしさを誤って大きい値として推定するという課題があった。
更に、従来のマスク作成装置は、背景に音楽等の雑音パワーの時間的な変化が激しい雑音が存在すると、雑音スペクトルの更新が追随することができない。その結果、音声成分が支配的である帯域を検出できず、音声らしさを誤って小さい値として推定するという課題があった。
【0009】
この発明は上記のような課題を解消するためになされたもので、過去のフレームから未来のフレームに渡る時間スペクトルパターンを参照することによって、未来のフレームに渡る時間スペクトルパターンを参照しないと判断がつかないような帯域の音声らしさを正しく推定できるマスク作成装置を提供することを目的とする。
【課題を解決するための手段】
【0010】
この発明に係るマスク作成装置は、入力音声を分析し、前記入力音声に含まれる帯域成分を求める帯域分析部と、前記帯域分析部で求められた前記帯域成分を記憶する遅延メモリと、目的の時刻における目的の周波数を含む目的の帯域成分の周辺に存在する、前記目的の時刻より未来の時刻における目的の周波数と同一または異なる周波数を含む帯域成分を参照し、前記目的の帯域成分の音声らしさを推定する音声らしさ推定部とを備えたマスク作成装置。
【発明の効果】
【0011】
この発明によれば、前記遅延メモリに記憶された、前記目的の時刻に対して過去から未来に渡る帯域成分の時系列を参照して、前記目的の帯域成分の音声らしさを推定するように構成されているので、前記目的の帯域成分の音声らしさを正確に推定することができる。
【発明を実施するための最良の形態】
【0012】
実施の形態1.
以下、この発明の実施の形態1について説明する。図1は、この発明の実施の形態1に係るマスク作成装置を示す構成図である。
図1において、音声入力部1は、音声信号を入力し分析フレームを生成する。
帯域分析部2は、音声入力部1が生成した分析フレームの音声信号に対して時間窓を掛けてFFTにより周波数スペクトルを求め、帯域パワー(帯域成分)を求める。
遅延メモリ3は、帯域分析部2が求めた帯域パワーの時系列を記憶する。
時間長探索部61は、遅延メモリ3に記憶された帯域パワーの時系列に基づいて、パターンの時間長を探索し、時間長を求める。
時間長メモリ62は、時間長探索部61が求めた時間長を記憶する。
音声らしさ推定部4は、遅延メモリ3に記憶された帯域パワーの時系列及び時間長メモリに記憶されたパターンの時間長に基づいて、現在のフレームtにおける周波数kの帯域の音声らしさψ(t,k)を推定する。そして、音声らしさψ(t,k)に基づいて、マスク値m(t,k)を出力する(マスク出力5)。
【0013】
次に、動作について説明する。帯域分析部2は、音声入力部1が作成した長さL(例えば256点)のフレームtの音声信号にハミングの時間窓を掛け、N点(Nは例えば256)のFFTを実行し、周波数スペクトルを求める。そして、周波数スペクトル(R(k),I(k))から生の帯域パワーE(k)を求める。生の帯域パワーE(k)は、周波数スペクトルの実数部R(k)と虚数部I(k)のそれぞれの2乗の和として求める。ここで、kは周波数である。実数数列のパワースペクトルはN/2を中心に対称となるため、以下、0,...N/2の範囲の周波数のみを処理の対象とする。
【0014】
平滑化部81は、帯域分析結果の特定の周波数kの生の帯域パワーE(t,k)をフレーム方向に平滑化する。平滑化は例えば、数式1の非線形フィルタを用い、ピークの包絡を保存した平滑パターンを出力する。平滑化された帯域パワーは遅延メモリ3のセルY(t,k)に記憶される。
【数1】
遅延メモリ3は、t−T1からt+T2までのフレームの帯域パワーY(t’,k’)(t’=t−T1,...t+T2)を記憶する。なお、T2はT4より大きい値に設定されている。T4は時間長の閾値とする。
【0015】
図2は、図1中の遅延メモリ3に記憶された帯域パワーの時間周波数パターンを模式的に示した図である。図2において、帯域パワーの時系列パターンAは、音楽による狭帯域雑音のパターンでT4を超える時間長Taを有する。また、帯域パワーの時系列パターンBは、音声のパターンでT4より短い時間長Tbを有する。同様に帯域パワーの時系列パターンCも音声のパターンでT4より短い時間長Tcを有する。また、t0はパターンA及びパターンBの開始フレームを示し、tは音声らしさψ(t,k)を求める現在のフレームの位置を示し、t−T1は遅延メモリ3に記憶された最も過去のフレームを示し、t+T2は遅延メモリに記憶された最新のフレームの位置を示す。
【0016】
図3は、図2に示したパターンについて、遅延メモリ3に記憶された特定の帯域k1及び帯域k2における帯域パワーの時系列Y(t,k1)、Y(t,k2)を模式的に示した図である。図3において、θは帯域パワーの閾値を示し、従来の方法では、θより高い帯域パワーは音声の成分と判断されていたものである。このため、θ以下の時間パターンの形状は図3では割愛して示している。なお、θは別の実施の形態で後述するようにフレームtと周波数kの関数θ(t,k)として求めることができる。ここでは、説明の便宜上、周波数kの帯域のノイズレベルよりもδ(例えば、6dB)だけ高い値に設定されているものとする。
【0017】
以下、図3を用いて帯域k1と帯域k2の処理について説明する。先ず、帯域k1の時系列パターンの処理について説明する。時間長探索部61は、帯域k1について、フレームt’をフレームtから過去の方向にフレームt−T1まで帯域パワーY(t’,k1)を探索し、帯域パワーY(t’,k1)が閾値θ未満となるか、フレームt’がt−T1に達するまで、帯域パワー時系列(この例ではパターンB)の開始フレームt0を探す。
【0018】
次に、探索された開始フレームt0から、フレーム数のカウンタcを0に設定して、未来のフレームt0+T4までカウンタcを進める。カウンタcを進める途中でもし帯域パワーY(t0+c,k1)が閾値θ未満となるかt0+T4に達した時、カウンタcの値を時間長メモリ62のセルd(t,k1)に記憶する(この例では、t0+TbでパターンBが終了しているのでセルd(t,k1)の値はTbとなる)。
【0019】
時間長探索部61の動作の後、音声らしさ推定部4は、帯域k1について、時間長メモリ62のセルd(t,k1)に記憶された時間長の値を調べ、時間長(Tb)がT4未満のとき、帯域パワーY(t,k1)は音声パターンの一部であると判定し、帯域パワーY(t,k1)の音声らしさψ(t,k1)を大きい値1とする。
【0020】
次に、帯域k2の時系列パターンの処理について説明する。時間長探索部61は、帯域k2について、先ず、フレームt’をフレームtから過去の方向にフレームt−T1まで帯域パワーY(t’,k2)を探索し、帯域パワーY(t’,k2)が閾値θ未満となるか、フレームt’がt−T1に達するまで、帯域パワー時系列(この例ではパターンA)の開始フレームt0を探す。
【0021】
次に、探索された開始フレームt0から、フレーム数のカウンタcを0に設定して、未来のフレームt0+T4までカウンタcを進める。カウンタcを進める途中で帯域パワーY(t0+c,k2)が閾値θ未満となるかカウンタcがT4に達したとき、カウンタcの値を時間長メモリ62のセルd(t,k2)に記憶する(この例ではt+T4までにパターンは終了しないのでカウンタcの値はT4となる)。
【0022】
時間長探索部61の動作の後、音声らしさ推定部4は、帯域k2について、時間長メモリ62のセルd(t,k2)に記憶された時間長を調べる。時間長(T4)がT4以上なので、帯域パワーY(t,k1)は雑音パターン(この例では帯域パターンA)の一部であると判定し、音声らしさψ(t,k1)を小さい値0とする。
【0023】
以上の動作に引き続いて、音声らしさ推定部4は、周波数kの帯域の音声らしさψ(t,k)をマスクとして出力する(マスク出力5)。図4は、図1中のマスク出力5の時間周波数パターンを模式的に示した図である。図4において、パターンAは雑音と判定されマスク値は0となる。また、パターンBやパターンCは音声成分と判定されマスク値は1となる。従来の未来のフレームを用いない方法では、パターンAも音声成分と判断され、そのマスク値は誤って1となるが、実施の形態1によれば、パターンAは雑音成分と判定され、そのマスク値を0とすることができる。
【0024】
以上のように、この実施の形態1によれば、遅延メモリ3に記憶された過去のフレームt−T1から未来のフレームt+T4に渡る帯域パワーの時系列Y(t’,k)を参照して、フレームt、帯域kの音声らしさψ(t,k)を算出するように構成されているので、未来のフレームを参照しないとわからないような音声らしさを推定できるマスク作成装置を提供することができる。
【0025】
実施の形態2.
以下、この発明の実施の形態2について説明する。実施の形態1では、雑音と音声の判別に用いる時間長の閾値T4を一定の値としたものであるが、実施の形態2では、時間長の閾値T4を周波数kの関数としたものである。図5は、この発明の実施の形態2において、数式2で与えられる時間長の閾値を表す関数f(k)の特性を示した図である。実施の形態2に係るマスク作成装置は、実施の形態1(図1)と同様であるので説明を省略する。
【0026】
実施の形態2では、実施の形態1で所定の値であるとしたT4を周波数kの関数f(k)としている。関数f(k)は、例えば、数式2で与えられる周波数kの関数で、図5に示す特性を有しており、周波数K2(例えば、4KHz)以上の高域ではT4(例えば、250ms)、周波数K1(例えば、3KHz)以下の低域ではT4+T5(例えば、250ms+250ms)で、周波数K1からK2の範囲では、直線的に変化する。
【数2】
【0027】
図6は、周波数k1にT4以上長く続く音声のパターンDを示した図である。図6において、実施の形態1では、音声のパターンDは時間長がT4以上であるので、誤って雑音のパターンと判断され、そのマスク値は0として出力される。一方、実施の形態2によれば、パターンDの時間長が周波数k1における閾値f(k1)=T4+T5より短いので、パターンDは音声のパターンと正しく判定することができる。また、高域に存在する周波数k2のパターンAは、時間長が閾値f(k2)=T4以上あるので正しく雑音パターンと判定され、マスク値0が出力される。図7は、図1中のマスク出力5の時間周波数パターンを模式的に示した図である。
【0028】
以上のように、この実施の形態2によれば、周波数の高い高域では実施の形態1と同じ時間長T4で判定し、周波数の低い低域ではT4より長い時間長T4+T5で判定するので、低域で音声の時系列パターンが長く続く場合、誤って、雑音と判断することがないマスク作成装置を提供することができる。
【0029】
実施の形態3.
以下、この発明の実施の形態3について説明する。実施の形態1、2では、雑音と音声の判別に用いる時間長の閾値T4を所定の値や周波数の関数としたものであるが、実施の形態3では、雑音と音声の判別に帯域幅の閾値を用いるものである。図8は、この発明の実施の形態3に係るマスク作成装置を示す構成図である。図8において、図1の構成に帯域幅探索部71、帯域幅メモリ72が追加されている。その他の構成は実施の形態1(図1)と同様であるので説明を省略する。
【0030】
図9は、図8中の遅延メモリ3に記憶された帯域パワーの時間周波数パターンを模式的に示した図である。図9において、パターンAは帯域幅がBaの音楽による狭帯域雑音である。また、パターンEは帯域幅がBeである音声によるパターンである。いずれも、時間長はT4より大きいため、実施の形態1、2では、両者が雑音パターンと判定される。
【0031】
次に、動作について説明する。図10は、図9に示した時間周波数パターンのフレームtにおける帯域の周波数パターンを模式的に示した図である。あるフレームtの特定の周波数k3において、帯域幅探索部71は、周波数k’を周波数k3から周波数の低い0の方に向けて、帯域パワーY(t,k’)を探索し、帯域パワーY(t,k’)が閾値θ未満となる周波数k0を探索し、カウンタcを0に設定し、今度は周波数k’を周波数k0から周波数の高い方にカウンタcを進め、帯域パワーY(t,k’)を探索し、帯域パワーY(t,k’)が閾値θ未満となるときのカウンタcの値(この例では周波数パターンEの帯域幅であるBe)を帯域幅メモリ72のセルB(t,k3)に記憶する。
【0032】
帯域幅探索部71の上記の動作の後、音声らしさ推定部4は、周波数k3において、帯域幅メモリ72のセルB(t,k3)に記憶された帯域幅(Be)が所定の帯域幅の閾値B4より大きいので、帯域パワーY(t,k3)を音声成分と判定し、音声らしさψ(t,k3)として、大きい値1を出力する。
【0033】
同様に、あるフレームtの特定の周波数k2において、帯域幅探索部71は、周波数k’を周波数k2から周波数の低い0の方に向けて、帯域パワーY(t,k’)を探索し、帯域パワーY(t,k’)が閾値θ未満となる周波数k4を探索し、カウンタcを0に設定し、今度は周波数k’を周波数k4から周波数の高い方にカウンタを進め、帯域パワーY(t,k’)を探索し、帯域パワーY(t,k’)が閾値θ未満となるときのカウンタの値(この例では周波数パターンAの帯域幅であるBa)を帯域幅メモリ72のセルB(t,k2)に記憶する。
【0034】
帯域幅探索部71の上記の動作の後、音声らしさ推定部4は、周波数k2において、帯域幅メモリ72のセルB(t,k2)に記憶された帯域幅(Ba)が帯域幅の閾値B4より小さく、かつ、時間長メモリ62のセルd(t,k2)が判定閾値T4より長いので、帯域パワーY(t,k2)を雑音成分と判定し、音声らしさψ(t,k2)として、小さい値0を出力する。
【0035】
以上のように、この実施の形態3によれば、実施の形態1、2では時間長が長いため音声と判定することができなかった、帯域幅の広い時間周波数パターンに含まれる帯域パワーを音声成分と正しく判定し、大きいマスク値を出力することができる。
【0036】
実施の形態4.
以下、この発明の実施の形態4について説明する。実施の形態1〜3では、閾値θは過去のフレームの雑音レベル等から決定するものであるが、実施の形態4では、閾値を未来の帯域パワーも用いて決定するものである。図11は、この発明の実施の形態4に係るマスク作成装置を示す構成図である。図11において、図8の構成に最大値/最小値探索部83、閾値算出部84が追加されている。その他の構成は実施の形態3(図8)と同様であるので説明を省略する。
【0037】
図12は、図11中の遅延メモリ3に記憶された周波数kの帯域パワーの時間パターンを模式的に示した図である。図12において、フレームtn付近から以降のフレームで雑音が重畳し、パターンの振幅の下側に見られるように雑音レベルが増大していることを示している。
【0038】
最大値/最小値探索部83は、特定の帯域kについて、遅延メモリ3のセルY(t’,k)をフレームt’について探索し、現在のフレームtを基準に過去t−T1フレームまでの範囲の過去の最小値min1と最大値max1、及び、過去t−T3フレームまでの第2の過去の最小値min3と最大値max3、更に、未来t+T2フレームまでの範囲の未来の最小値min2と最大値max2を求める。
【0039】
閾値算出部84は、第2の過去の最大値と最小値の差(max3−min3)より未来の最大値と最小値の差(max2−min2)が小さいので、差の小さい方(max2−min2)に基づくフレームtの閾値θ(t,k)を算出する。例えば、数式3によって、フレームtの閾値θ(t,k)を算出する。なお、数式3において、Rmin(例えば、数値7.5(単位dB))は閾値を適応的に求める場合の最大値と最小値の差の下限であり、最大値と最小値の差がRminを下回るときは、最大値と最小値の差としてRminを用いる。また、r0(例えば数値0.40)は最大値と最小値のどの付近に閾値を設けるかを決める数であり、この例では最小値に近い方に閾値を算出している。
【数3】
【0040】
図12には、従来の閾値と、本発明(実施の形態4)の閾値が図示の全フレームについて示してある。従来の過去のフレームの最小値と最大値に基づく閾値では、フレームtsにおいて若干閾値が上昇するだけであり、それ以前のフレームtnにおいては小さい値のままであるため、重畳雑音成分が誤って音声として検出されてしまう。それに対して、実施の形態4による閾値はフレームtsよりT2だけまえのフレームts−T2において、上昇するため、フレームtnより開始する重畳雑音を誤って検出することはなく、しかも、フレームtとフレームtsの間で開始する音声を正しく検出する様子が示されている。
【0041】
図13は、少なくともt−T1からこれまで存在した雑音がフレームtne以降でなくなる場合を模式的に示した図である。図13の場合、フレームtにおいて、第2の過去の最大値と最小値の差(max3−min3)の方が未来の最大値と最小値の差(max2−min2)より小さいので、差の小さい方を用いる数式4を用いて、閾値を算出する。
【数4】
【0042】
図13には、従来の過去の最小値と最大値に基づく閾値と、実施の形態4による閾値が図示の範囲の全フレームについて示してある。従来の閾値では、重畳雑音成分が音声として検出されるが、実施の形態4による閾値では音声の時間パターンだけが音声として検出される様子が示されている。
【0043】
以上のように、この実施の形態4によれば、遅延メモリに記憶された未来のフレームの帯域パワーの最大値と最小値に基づいて、現在のフレームの閾値を適応的に求めているので、雑音レベルが途中で上昇する場合でも、雑音を誤って音声として検出することがなく、音声を正しく検出することができる正確なマスク作成装置を提供することができる。
【0044】
実施の形態5.
以下、この発明の実施の形態5について説明する。実施の形態5では、実施の形態4で得られた最小値minと最大値maxを用いて、マスク値m(t,k)を数式5のように算出する。図14は、この発明の実施の形態5に係るマスク作成装置を示す構成図である。
【0045】
図14において、マスク値変換部86は、最大値/最小値探索部83の内部で得られる最小値minと最大値maxを用いて、マスク値m(t,k)を数式5のように算出する。ここで、数式5中のr(t,k)は、正規化SN比算出部85により算出され、数式6で示される正規化された局所SN比である。また、r1とr2はマスク値として、0と1の中間の値を出力するあいまい性を許す範囲である。例えば、数式3、4のr0(例えば0.40)を中心として、r1=0.3、r2=0.6と設定する。
【数5】
【数6】
図15は、数式5を正規化された局所SN比r(t,k)の関数として模式的に示した図である。
【0046】
以上のように、この実施の形態5によれば、実施の形態4のような閾値θと帯域パワーの比較でマスク値を0,1で出力するよりも、r1とr2の範囲にある帯域パワーについて0と1の中間のマスク値を出力できるので、閾値付近の帯域パワーが上下に連続する場合に見られる判定誤りのバタつきをより滑らかにすることができる。
【0047】
実施の形態6.
以下、この発明の実施の形態6について説明する。実施の形態1〜5は、マスク作成装置の性能改善に関するものであるが、実施の形態6では、以上示したマスク作成装置を雑音スペクトル推定装置に応用する。図16は、この発明の実施の形態6に係る雑音スペクトル推定装置を示す構成図である。図16の各構成のうち、図1と重複する構成については同様であるので説明を省略する。
【0048】
図16において、雑音スペクトル更新部10は、遅延メモリ3に記憶された帯域パワーE(t,k)を参照し、数式7を用いて雑音スペクトルN(t,k)を更新して、推定した雑音スペクトルを出力する(推定雑音スペクトル出力11)。ここで、m(t,k)は音声らしさ推定部4が出力するマスク値、αは更新係数である。更新係数αが大きいほど、N(t,k)を帯域パワーY(t,k)に近づける作用がある。
【数7】
【0049】
数式7によって、マスク値m(t,k)が大きい値(即ち1に近い値)であると、帯域パワーY(t,k)は音声成分が強いので、1−m(t,k)は小さい値(即ち0に近い値)となり、N(t,k)はわずかしか更新されない。一方、マスク値m(t,k)が小さい値(即ち0に近い値)であると、帯域パワーY(t,k)は雑音成分が強いので、1−m(t,k)は大きい値(即ち1に近い値)になり、N(t,k)は大きく更新される。
【0050】
以上のように、この実施の形態6によれば、前述のような音声成分と雑音成分の判定精度の高いマスク作成装置の出力するマスク値を用いて雑音スペクトルを更新しているので、従来よりも、精度の高い雑音スペクトルを推定することができる。
【0051】
実施の形態7.
以下、この発明の実施の形態7について説明する。実施の形態1〜5は、マスク作成装置の性能改善に関するものであるが、実施の形態6では、以上示したマスク作成装置を音声認識装置に応用する。図17は、この発明の実施の形態7に係る音声認識装置を示す構成図である。図17の各構成のうち、図1と重複する構成については同様であるので説明を省略する。
【0052】
図17において、HMMパラメータメモリ12にはHMMの分散パラメータが記憶されている。HMMの分散パラメータとは、特定の音素pの学習データから得られる帯域パワーの周波数パターンのM個の混合分布の平均μ(k,m)、標準偏差σ(k,m)、分岐確率λ(m)の各パラメータである。ここで、kは周波数、mは混合分布のインデックスである。
【0053】
HMM尤度計算部13は、遅延メモリ3からフレームtの帯域パワーの周波数パターンY(t,k)を取得するとともに、音声らしさ推定部4からマスクm(t,k)を取得し、例えば、数式8に基づいて、特定の音素pの尤度を計算する。HMM尤度計算部13は、計算した特定音素pの尤度を出力する(HMM尤度出力14)。
【数8】
【0054】
数式8により、マスクm(t,k)が大きい値(即ち1に近い値)であるときは、帯域パワーY(t,k)は音声成分である可能性が高いので、従来のガウス分布の計算式に近づく。一方、マスクm(t,k)が小さい値(即ち0に近い値)であるときは、帯域パワーY(t,k)が雑音成分である可能性が高いので、等価的に標準偏差をσ(k,m)×εとして大きくしたのと同じ計算式に近づく。εはマスクm(t,k)が1のときの標準偏差の拡大率(例えば1.5)である。
【0055】
以上のように、この実施の形態7によれば、前述のような音声成分と雑音成分の判定精度の高いマスク作成装置の出力するマスク値を用いて、HMMの尤度計算を行うので、従来よりも、雑音下における精度の高い音声認識装置を提供することができる。
【図面の簡単な説明】
【0056】
【図1】この発明の実施の形態1に係るマスク作成装置を示す構成図である。
【図2】図1中の遅延メモリ3に記憶された帯域パワーの時間周波数パターンを模式的に示した図である。
【図3】図2に示したパターンについて、遅延メモリ3に記憶された特定の帯域k1及び帯域k2における帯域パワーの時系列Y(t,k1)、Y(t,k2)を模式的に示した図である。
【図4】図1中のマスク出力5の時間周波数パターンを模式的に示した図である。
【図5】この発明の実施の形態2において、数式2で与えられる時間長の閾値を表す関数f(k)の特性を示した図である。
【図6】周波数k1にT4以上長く続く音声のパターンDを示した図である。
【図7】図1中のマスク5の時間周波数パターンを模式的に示した図である。
【図8】この発明の実施の形態3に係るマスク作成装置を示す構成図である。
【図9】図8中の遅延メモリ3に記憶された帯域パワーの時間周波数パターンを模式的に示した図である。
【図10】図9に示した時間周波数パターンのフレームtにおける帯域の周波数パターンを模式的に示した図である。
【図11】この発明の実施の形態4に係るマスク作成装置を示す構成図である。
【図12】図11中の遅延メモリ3に記憶された周波数kの帯域パワーの時間パターンを模式的に示した図である。
【図13】少なくともt−T1からこれまで存在した雑音がフレームtne以降でなくなる場合を模式的に示した図である。
【図14】この発明の実施の形態5に係るマスク作成装置を示す構成図である。
【図15】数式5を正規化された局所SN比r(t,k)の関数として模式的に示した図である。
【図16】この発明の実施の形態6に係る雑音スペクトル推定装置を示す構成図である。
【図17】この発明の実施の形態7に係る音声認識装置を示す構成図である。
【符号の説明】
【0057】
1 音声入力部、2 帯域分析部、3 遅延メモリ、4 音声らしさ推定部、5 マスク出力、10 雑音スペクトル更新部、11 推定雑音スペクトル出力、12 HMMパラメータメモリ、13 HMM尤度計算部、14 HMM尤度出力、61 時間長探索部、62 時間長メモリ、71 帯域幅探索部、72 帯域幅メモリ、81平滑化部、83 最大値/最小値探索部、84 閾値算出部、85 正規化SN比算出部、86 マスク値変換部。
【技術分野】
【0001】
この発明は、入力された音声を分析し、目的周波数の帯域成分の音声らしさを推定するマスク作成装置と、マスク作成装置の出力するマスク値に基づいて雑音スペクトルを推定する雑音スペクトル推定装置、及び、入力された音声の尤度を算出する音声認識装置に関するものである。
【背景技術】
【0002】
従来、雑音除去技術として、音声スペクトルから雑音スペクトルを引き去るスペクトルサブトラクション法が知られている(例えば、非特許文献1、非特許文献2参照)。音声スペクトルから引き去るべき雑音抑圧量は、雑音スペクトルに雑音抑圧係数αを掛けて求められる。
ここで、雑音抑圧係数αを求める技術としては、入力スペクトルと雑音スペクトルのSN比から求める技術(例えば、特許文献1参照)や、SN比と音声信号と雑音の位相差に基づいて求める技術(例えば、特許文献1参照)、現在の入力スペクトルと雑音の平均値だけでなく雑音の標準偏差に基づいて求める技術(例えば、特許文献2参照)等が公開されている。
【0003】
一方、雑音スペクトルを求める技術としては、定常的な雑音の場合、音声区間直前の非音声区間の入力スペクトルを平均して雑音スペクトルを求める技術(例えば、非特許文献3参照)や、非定常な雑音の場合や音声区間検出を陽に行わない場合、過去及び現在の入力スペクトルに基づいて雑音スペクトルを逐次更新する技術等が公開されている。ここで、後者の雑音スペクトルを逐次更新する技術としては、帯域毎に、過去のスペクトル値を保存しておき、保存されたスペクトル値の最小値を雑音スペクトルとして更新する技術(例えば、特許文献1、特許文献3、特許文献4、非特許文献4参照)や、入力スペクトルの雑音らしさ(或いは音声らしさ)を求め、雑音らしさが大きい(或いは音声らしさが小さい)とき、入力スペクトルに近づくように雑音スペクトルを修正する技術(例えば、特許文献5参照)が公開されている。
【0004】
なお、入力スペクトルの雑音らしさ(或いは音声らしさ)を求める技術として、音声信号の分析で得られる特徴量(例えば、自己相関係数の正のピーク値とローパス残差信号のパワーとフレームパワー)から求める技術(例えば、特許文献5参照)や、入力スペクトルの形状を解析して求める技術(例えば、特許文献6参照)が公開されている。
【0005】
スペクトルサブトラクション法以外の雑音除去技術としては、音声を周波数分析して時間スペクトルパターンを求め、時間軸上でパターンとして連続するフレーム数が所定数に満たない場合や、周波数軸上でパターンとして連続して現れたチャネル数が所定数に満たないとき、該当する部分のパターンを除去する技術(例えば、特許文献7参照)が公開されている。この場合、時間スペクトル上の孤立したパターンを雑音によるものとして除去していると解釈される。
【0006】
また、上記以外の耐雑音技術として、音声認識の分野で、音声を帯域分析し、音声成分が支配的な帯域の音声らしさの信頼度を1、雑音成分が支配的な帯域の音声らしさの信頼度を0とするマスクを作成し、このマスクの有する音声らしさの信頼度1の帯域成分だけに基づいて入力音声を識別する技術(例えば、非特許文献5参照)が公開されている.ここで、マスクの音声らしさの信頼度を求める技術としては、帯域ごとのSN比に基づく技術(例えば、非特許文献5参照)や、入力スペクトルの特徴量を識別機に通して求める技術(例えば、非特許文献6参照)が公開されている。
【0007】
【特許文献1】特開2003−44086号公報
【特許文献2】特開2003−316381号公報
【特許文献3】特許3499113号公報
【特許文献4】特開2002−258893号公報
【特許文献5】特開2002−366200号公報 第3頁
【特許文献6】特開2004−341339号公報
【特許文献7】特開平2−278299号公報
【非特許文献1】“Suppression of acoustic noise in speech using spectral subtraction”, IEEE Trans. ASSP, Vol.27 No.2, Apr.1979
【非特許文献2】“Experiments with a nonlinear spectral subtractor (NSS), hidden Markov models and the projection, for robust speech recognition in cars”, Speech Communication 11(1992)215-228
【非特許文献3】“スペクトルサブトラクションと時間方向スムージングを用いた雑音環境下音声認識”,電子情報通信学会論文誌D-II, Vol.J85-D-II, 2000年2月 504頁
【非特許文献4】“A multidimensional robust front-end feature extraction with a noise reduction procedure based on improved spectral subtraction algorithm”, Eurospeech2001, pp.197-200
【非特許文献5】“Robust automatic speech recognition with missing and unreliable acoustic data”, Speech Communication 34(2001)267-285
【非特許文献6】“Classifier-based mask estimation for missing feature methods of robust speech recognition”, ICSLP2000, pp.III-538-541
【発明の開示】
【発明が解決しようとする課題】
【0008】
従来のマスク作成装置は、過去のフレーム或いは現在のフレームの入力スペクトルに基づいて、帯域の音声らしさを推定していたので、未来のフレームに渡る時間スペクトルパターンを参照しないと音声が支配的か雑音が支配的か判断がつかないような帯域の音声らしさを正しく推定できないという課題があった。
また、従来のマスク作成装置は、背景音楽等による継続時間の長い狭帯域雑音の音声らしさを誤って大きい値として推定するという課題があった。
更に、従来のマスク作成装置は、背景に音楽等の雑音パワーの時間的な変化が激しい雑音が存在すると、雑音スペクトルの更新が追随することができない。その結果、音声成分が支配的である帯域を検出できず、音声らしさを誤って小さい値として推定するという課題があった。
【0009】
この発明は上記のような課題を解消するためになされたもので、過去のフレームから未来のフレームに渡る時間スペクトルパターンを参照することによって、未来のフレームに渡る時間スペクトルパターンを参照しないと判断がつかないような帯域の音声らしさを正しく推定できるマスク作成装置を提供することを目的とする。
【課題を解決するための手段】
【0010】
この発明に係るマスク作成装置は、入力音声を分析し、前記入力音声に含まれる帯域成分を求める帯域分析部と、前記帯域分析部で求められた前記帯域成分を記憶する遅延メモリと、目的の時刻における目的の周波数を含む目的の帯域成分の周辺に存在する、前記目的の時刻より未来の時刻における目的の周波数と同一または異なる周波数を含む帯域成分を参照し、前記目的の帯域成分の音声らしさを推定する音声らしさ推定部とを備えたマスク作成装置。
【発明の効果】
【0011】
この発明によれば、前記遅延メモリに記憶された、前記目的の時刻に対して過去から未来に渡る帯域成分の時系列を参照して、前記目的の帯域成分の音声らしさを推定するように構成されているので、前記目的の帯域成分の音声らしさを正確に推定することができる。
【発明を実施するための最良の形態】
【0012】
実施の形態1.
以下、この発明の実施の形態1について説明する。図1は、この発明の実施の形態1に係るマスク作成装置を示す構成図である。
図1において、音声入力部1は、音声信号を入力し分析フレームを生成する。
帯域分析部2は、音声入力部1が生成した分析フレームの音声信号に対して時間窓を掛けてFFTにより周波数スペクトルを求め、帯域パワー(帯域成分)を求める。
遅延メモリ3は、帯域分析部2が求めた帯域パワーの時系列を記憶する。
時間長探索部61は、遅延メモリ3に記憶された帯域パワーの時系列に基づいて、パターンの時間長を探索し、時間長を求める。
時間長メモリ62は、時間長探索部61が求めた時間長を記憶する。
音声らしさ推定部4は、遅延メモリ3に記憶された帯域パワーの時系列及び時間長メモリに記憶されたパターンの時間長に基づいて、現在のフレームtにおける周波数kの帯域の音声らしさψ(t,k)を推定する。そして、音声らしさψ(t,k)に基づいて、マスク値m(t,k)を出力する(マスク出力5)。
【0013】
次に、動作について説明する。帯域分析部2は、音声入力部1が作成した長さL(例えば256点)のフレームtの音声信号にハミングの時間窓を掛け、N点(Nは例えば256)のFFTを実行し、周波数スペクトルを求める。そして、周波数スペクトル(R(k),I(k))から生の帯域パワーE(k)を求める。生の帯域パワーE(k)は、周波数スペクトルの実数部R(k)と虚数部I(k)のそれぞれの2乗の和として求める。ここで、kは周波数である。実数数列のパワースペクトルはN/2を中心に対称となるため、以下、0,...N/2の範囲の周波数のみを処理の対象とする。
【0014】
平滑化部81は、帯域分析結果の特定の周波数kの生の帯域パワーE(t,k)をフレーム方向に平滑化する。平滑化は例えば、数式1の非線形フィルタを用い、ピークの包絡を保存した平滑パターンを出力する。平滑化された帯域パワーは遅延メモリ3のセルY(t,k)に記憶される。
【数1】
遅延メモリ3は、t−T1からt+T2までのフレームの帯域パワーY(t’,k’)(t’=t−T1,...t+T2)を記憶する。なお、T2はT4より大きい値に設定されている。T4は時間長の閾値とする。
【0015】
図2は、図1中の遅延メモリ3に記憶された帯域パワーの時間周波数パターンを模式的に示した図である。図2において、帯域パワーの時系列パターンAは、音楽による狭帯域雑音のパターンでT4を超える時間長Taを有する。また、帯域パワーの時系列パターンBは、音声のパターンでT4より短い時間長Tbを有する。同様に帯域パワーの時系列パターンCも音声のパターンでT4より短い時間長Tcを有する。また、t0はパターンA及びパターンBの開始フレームを示し、tは音声らしさψ(t,k)を求める現在のフレームの位置を示し、t−T1は遅延メモリ3に記憶された最も過去のフレームを示し、t+T2は遅延メモリに記憶された最新のフレームの位置を示す。
【0016】
図3は、図2に示したパターンについて、遅延メモリ3に記憶された特定の帯域k1及び帯域k2における帯域パワーの時系列Y(t,k1)、Y(t,k2)を模式的に示した図である。図3において、θは帯域パワーの閾値を示し、従来の方法では、θより高い帯域パワーは音声の成分と判断されていたものである。このため、θ以下の時間パターンの形状は図3では割愛して示している。なお、θは別の実施の形態で後述するようにフレームtと周波数kの関数θ(t,k)として求めることができる。ここでは、説明の便宜上、周波数kの帯域のノイズレベルよりもδ(例えば、6dB)だけ高い値に設定されているものとする。
【0017】
以下、図3を用いて帯域k1と帯域k2の処理について説明する。先ず、帯域k1の時系列パターンの処理について説明する。時間長探索部61は、帯域k1について、フレームt’をフレームtから過去の方向にフレームt−T1まで帯域パワーY(t’,k1)を探索し、帯域パワーY(t’,k1)が閾値θ未満となるか、フレームt’がt−T1に達するまで、帯域パワー時系列(この例ではパターンB)の開始フレームt0を探す。
【0018】
次に、探索された開始フレームt0から、フレーム数のカウンタcを0に設定して、未来のフレームt0+T4までカウンタcを進める。カウンタcを進める途中でもし帯域パワーY(t0+c,k1)が閾値θ未満となるかt0+T4に達した時、カウンタcの値を時間長メモリ62のセルd(t,k1)に記憶する(この例では、t0+TbでパターンBが終了しているのでセルd(t,k1)の値はTbとなる)。
【0019】
時間長探索部61の動作の後、音声らしさ推定部4は、帯域k1について、時間長メモリ62のセルd(t,k1)に記憶された時間長の値を調べ、時間長(Tb)がT4未満のとき、帯域パワーY(t,k1)は音声パターンの一部であると判定し、帯域パワーY(t,k1)の音声らしさψ(t,k1)を大きい値1とする。
【0020】
次に、帯域k2の時系列パターンの処理について説明する。時間長探索部61は、帯域k2について、先ず、フレームt’をフレームtから過去の方向にフレームt−T1まで帯域パワーY(t’,k2)を探索し、帯域パワーY(t’,k2)が閾値θ未満となるか、フレームt’がt−T1に達するまで、帯域パワー時系列(この例ではパターンA)の開始フレームt0を探す。
【0021】
次に、探索された開始フレームt0から、フレーム数のカウンタcを0に設定して、未来のフレームt0+T4までカウンタcを進める。カウンタcを進める途中で帯域パワーY(t0+c,k2)が閾値θ未満となるかカウンタcがT4に達したとき、カウンタcの値を時間長メモリ62のセルd(t,k2)に記憶する(この例ではt+T4までにパターンは終了しないのでカウンタcの値はT4となる)。
【0022】
時間長探索部61の動作の後、音声らしさ推定部4は、帯域k2について、時間長メモリ62のセルd(t,k2)に記憶された時間長を調べる。時間長(T4)がT4以上なので、帯域パワーY(t,k1)は雑音パターン(この例では帯域パターンA)の一部であると判定し、音声らしさψ(t,k1)を小さい値0とする。
【0023】
以上の動作に引き続いて、音声らしさ推定部4は、周波数kの帯域の音声らしさψ(t,k)をマスクとして出力する(マスク出力5)。図4は、図1中のマスク出力5の時間周波数パターンを模式的に示した図である。図4において、パターンAは雑音と判定されマスク値は0となる。また、パターンBやパターンCは音声成分と判定されマスク値は1となる。従来の未来のフレームを用いない方法では、パターンAも音声成分と判断され、そのマスク値は誤って1となるが、実施の形態1によれば、パターンAは雑音成分と判定され、そのマスク値を0とすることができる。
【0024】
以上のように、この実施の形態1によれば、遅延メモリ3に記憶された過去のフレームt−T1から未来のフレームt+T4に渡る帯域パワーの時系列Y(t’,k)を参照して、フレームt、帯域kの音声らしさψ(t,k)を算出するように構成されているので、未来のフレームを参照しないとわからないような音声らしさを推定できるマスク作成装置を提供することができる。
【0025】
実施の形態2.
以下、この発明の実施の形態2について説明する。実施の形態1では、雑音と音声の判別に用いる時間長の閾値T4を一定の値としたものであるが、実施の形態2では、時間長の閾値T4を周波数kの関数としたものである。図5は、この発明の実施の形態2において、数式2で与えられる時間長の閾値を表す関数f(k)の特性を示した図である。実施の形態2に係るマスク作成装置は、実施の形態1(図1)と同様であるので説明を省略する。
【0026】
実施の形態2では、実施の形態1で所定の値であるとしたT4を周波数kの関数f(k)としている。関数f(k)は、例えば、数式2で与えられる周波数kの関数で、図5に示す特性を有しており、周波数K2(例えば、4KHz)以上の高域ではT4(例えば、250ms)、周波数K1(例えば、3KHz)以下の低域ではT4+T5(例えば、250ms+250ms)で、周波数K1からK2の範囲では、直線的に変化する。
【数2】
【0027】
図6は、周波数k1にT4以上長く続く音声のパターンDを示した図である。図6において、実施の形態1では、音声のパターンDは時間長がT4以上であるので、誤って雑音のパターンと判断され、そのマスク値は0として出力される。一方、実施の形態2によれば、パターンDの時間長が周波数k1における閾値f(k1)=T4+T5より短いので、パターンDは音声のパターンと正しく判定することができる。また、高域に存在する周波数k2のパターンAは、時間長が閾値f(k2)=T4以上あるので正しく雑音パターンと判定され、マスク値0が出力される。図7は、図1中のマスク出力5の時間周波数パターンを模式的に示した図である。
【0028】
以上のように、この実施の形態2によれば、周波数の高い高域では実施の形態1と同じ時間長T4で判定し、周波数の低い低域ではT4より長い時間長T4+T5で判定するので、低域で音声の時系列パターンが長く続く場合、誤って、雑音と判断することがないマスク作成装置を提供することができる。
【0029】
実施の形態3.
以下、この発明の実施の形態3について説明する。実施の形態1、2では、雑音と音声の判別に用いる時間長の閾値T4を所定の値や周波数の関数としたものであるが、実施の形態3では、雑音と音声の判別に帯域幅の閾値を用いるものである。図8は、この発明の実施の形態3に係るマスク作成装置を示す構成図である。図8において、図1の構成に帯域幅探索部71、帯域幅メモリ72が追加されている。その他の構成は実施の形態1(図1)と同様であるので説明を省略する。
【0030】
図9は、図8中の遅延メモリ3に記憶された帯域パワーの時間周波数パターンを模式的に示した図である。図9において、パターンAは帯域幅がBaの音楽による狭帯域雑音である。また、パターンEは帯域幅がBeである音声によるパターンである。いずれも、時間長はT4より大きいため、実施の形態1、2では、両者が雑音パターンと判定される。
【0031】
次に、動作について説明する。図10は、図9に示した時間周波数パターンのフレームtにおける帯域の周波数パターンを模式的に示した図である。あるフレームtの特定の周波数k3において、帯域幅探索部71は、周波数k’を周波数k3から周波数の低い0の方に向けて、帯域パワーY(t,k’)を探索し、帯域パワーY(t,k’)が閾値θ未満となる周波数k0を探索し、カウンタcを0に設定し、今度は周波数k’を周波数k0から周波数の高い方にカウンタcを進め、帯域パワーY(t,k’)を探索し、帯域パワーY(t,k’)が閾値θ未満となるときのカウンタcの値(この例では周波数パターンEの帯域幅であるBe)を帯域幅メモリ72のセルB(t,k3)に記憶する。
【0032】
帯域幅探索部71の上記の動作の後、音声らしさ推定部4は、周波数k3において、帯域幅メモリ72のセルB(t,k3)に記憶された帯域幅(Be)が所定の帯域幅の閾値B4より大きいので、帯域パワーY(t,k3)を音声成分と判定し、音声らしさψ(t,k3)として、大きい値1を出力する。
【0033】
同様に、あるフレームtの特定の周波数k2において、帯域幅探索部71は、周波数k’を周波数k2から周波数の低い0の方に向けて、帯域パワーY(t,k’)を探索し、帯域パワーY(t,k’)が閾値θ未満となる周波数k4を探索し、カウンタcを0に設定し、今度は周波数k’を周波数k4から周波数の高い方にカウンタを進め、帯域パワーY(t,k’)を探索し、帯域パワーY(t,k’)が閾値θ未満となるときのカウンタの値(この例では周波数パターンAの帯域幅であるBa)を帯域幅メモリ72のセルB(t,k2)に記憶する。
【0034】
帯域幅探索部71の上記の動作の後、音声らしさ推定部4は、周波数k2において、帯域幅メモリ72のセルB(t,k2)に記憶された帯域幅(Ba)が帯域幅の閾値B4より小さく、かつ、時間長メモリ62のセルd(t,k2)が判定閾値T4より長いので、帯域パワーY(t,k2)を雑音成分と判定し、音声らしさψ(t,k2)として、小さい値0を出力する。
【0035】
以上のように、この実施の形態3によれば、実施の形態1、2では時間長が長いため音声と判定することができなかった、帯域幅の広い時間周波数パターンに含まれる帯域パワーを音声成分と正しく判定し、大きいマスク値を出力することができる。
【0036】
実施の形態4.
以下、この発明の実施の形態4について説明する。実施の形態1〜3では、閾値θは過去のフレームの雑音レベル等から決定するものであるが、実施の形態4では、閾値を未来の帯域パワーも用いて決定するものである。図11は、この発明の実施の形態4に係るマスク作成装置を示す構成図である。図11において、図8の構成に最大値/最小値探索部83、閾値算出部84が追加されている。その他の構成は実施の形態3(図8)と同様であるので説明を省略する。
【0037】
図12は、図11中の遅延メモリ3に記憶された周波数kの帯域パワーの時間パターンを模式的に示した図である。図12において、フレームtn付近から以降のフレームで雑音が重畳し、パターンの振幅の下側に見られるように雑音レベルが増大していることを示している。
【0038】
最大値/最小値探索部83は、特定の帯域kについて、遅延メモリ3のセルY(t’,k)をフレームt’について探索し、現在のフレームtを基準に過去t−T1フレームまでの範囲の過去の最小値min1と最大値max1、及び、過去t−T3フレームまでの第2の過去の最小値min3と最大値max3、更に、未来t+T2フレームまでの範囲の未来の最小値min2と最大値max2を求める。
【0039】
閾値算出部84は、第2の過去の最大値と最小値の差(max3−min3)より未来の最大値と最小値の差(max2−min2)が小さいので、差の小さい方(max2−min2)に基づくフレームtの閾値θ(t,k)を算出する。例えば、数式3によって、フレームtの閾値θ(t,k)を算出する。なお、数式3において、Rmin(例えば、数値7.5(単位dB))は閾値を適応的に求める場合の最大値と最小値の差の下限であり、最大値と最小値の差がRminを下回るときは、最大値と最小値の差としてRminを用いる。また、r0(例えば数値0.40)は最大値と最小値のどの付近に閾値を設けるかを決める数であり、この例では最小値に近い方に閾値を算出している。
【数3】
【0040】
図12には、従来の閾値と、本発明(実施の形態4)の閾値が図示の全フレームについて示してある。従来の過去のフレームの最小値と最大値に基づく閾値では、フレームtsにおいて若干閾値が上昇するだけであり、それ以前のフレームtnにおいては小さい値のままであるため、重畳雑音成分が誤って音声として検出されてしまう。それに対して、実施の形態4による閾値はフレームtsよりT2だけまえのフレームts−T2において、上昇するため、フレームtnより開始する重畳雑音を誤って検出することはなく、しかも、フレームtとフレームtsの間で開始する音声を正しく検出する様子が示されている。
【0041】
図13は、少なくともt−T1からこれまで存在した雑音がフレームtne以降でなくなる場合を模式的に示した図である。図13の場合、フレームtにおいて、第2の過去の最大値と最小値の差(max3−min3)の方が未来の最大値と最小値の差(max2−min2)より小さいので、差の小さい方を用いる数式4を用いて、閾値を算出する。
【数4】
【0042】
図13には、従来の過去の最小値と最大値に基づく閾値と、実施の形態4による閾値が図示の範囲の全フレームについて示してある。従来の閾値では、重畳雑音成分が音声として検出されるが、実施の形態4による閾値では音声の時間パターンだけが音声として検出される様子が示されている。
【0043】
以上のように、この実施の形態4によれば、遅延メモリに記憶された未来のフレームの帯域パワーの最大値と最小値に基づいて、現在のフレームの閾値を適応的に求めているので、雑音レベルが途中で上昇する場合でも、雑音を誤って音声として検出することがなく、音声を正しく検出することができる正確なマスク作成装置を提供することができる。
【0044】
実施の形態5.
以下、この発明の実施の形態5について説明する。実施の形態5では、実施の形態4で得られた最小値minと最大値maxを用いて、マスク値m(t,k)を数式5のように算出する。図14は、この発明の実施の形態5に係るマスク作成装置を示す構成図である。
【0045】
図14において、マスク値変換部86は、最大値/最小値探索部83の内部で得られる最小値minと最大値maxを用いて、マスク値m(t,k)を数式5のように算出する。ここで、数式5中のr(t,k)は、正規化SN比算出部85により算出され、数式6で示される正規化された局所SN比である。また、r1とr2はマスク値として、0と1の中間の値を出力するあいまい性を許す範囲である。例えば、数式3、4のr0(例えば0.40)を中心として、r1=0.3、r2=0.6と設定する。
【数5】
【数6】
図15は、数式5を正規化された局所SN比r(t,k)の関数として模式的に示した図である。
【0046】
以上のように、この実施の形態5によれば、実施の形態4のような閾値θと帯域パワーの比較でマスク値を0,1で出力するよりも、r1とr2の範囲にある帯域パワーについて0と1の中間のマスク値を出力できるので、閾値付近の帯域パワーが上下に連続する場合に見られる判定誤りのバタつきをより滑らかにすることができる。
【0047】
実施の形態6.
以下、この発明の実施の形態6について説明する。実施の形態1〜5は、マスク作成装置の性能改善に関するものであるが、実施の形態6では、以上示したマスク作成装置を雑音スペクトル推定装置に応用する。図16は、この発明の実施の形態6に係る雑音スペクトル推定装置を示す構成図である。図16の各構成のうち、図1と重複する構成については同様であるので説明を省略する。
【0048】
図16において、雑音スペクトル更新部10は、遅延メモリ3に記憶された帯域パワーE(t,k)を参照し、数式7を用いて雑音スペクトルN(t,k)を更新して、推定した雑音スペクトルを出力する(推定雑音スペクトル出力11)。ここで、m(t,k)は音声らしさ推定部4が出力するマスク値、αは更新係数である。更新係数αが大きいほど、N(t,k)を帯域パワーY(t,k)に近づける作用がある。
【数7】
【0049】
数式7によって、マスク値m(t,k)が大きい値(即ち1に近い値)であると、帯域パワーY(t,k)は音声成分が強いので、1−m(t,k)は小さい値(即ち0に近い値)となり、N(t,k)はわずかしか更新されない。一方、マスク値m(t,k)が小さい値(即ち0に近い値)であると、帯域パワーY(t,k)は雑音成分が強いので、1−m(t,k)は大きい値(即ち1に近い値)になり、N(t,k)は大きく更新される。
【0050】
以上のように、この実施の形態6によれば、前述のような音声成分と雑音成分の判定精度の高いマスク作成装置の出力するマスク値を用いて雑音スペクトルを更新しているので、従来よりも、精度の高い雑音スペクトルを推定することができる。
【0051】
実施の形態7.
以下、この発明の実施の形態7について説明する。実施の形態1〜5は、マスク作成装置の性能改善に関するものであるが、実施の形態6では、以上示したマスク作成装置を音声認識装置に応用する。図17は、この発明の実施の形態7に係る音声認識装置を示す構成図である。図17の各構成のうち、図1と重複する構成については同様であるので説明を省略する。
【0052】
図17において、HMMパラメータメモリ12にはHMMの分散パラメータが記憶されている。HMMの分散パラメータとは、特定の音素pの学習データから得られる帯域パワーの周波数パターンのM個の混合分布の平均μ(k,m)、標準偏差σ(k,m)、分岐確率λ(m)の各パラメータである。ここで、kは周波数、mは混合分布のインデックスである。
【0053】
HMM尤度計算部13は、遅延メモリ3からフレームtの帯域パワーの周波数パターンY(t,k)を取得するとともに、音声らしさ推定部4からマスクm(t,k)を取得し、例えば、数式8に基づいて、特定の音素pの尤度を計算する。HMM尤度計算部13は、計算した特定音素pの尤度を出力する(HMM尤度出力14)。
【数8】
【0054】
数式8により、マスクm(t,k)が大きい値(即ち1に近い値)であるときは、帯域パワーY(t,k)は音声成分である可能性が高いので、従来のガウス分布の計算式に近づく。一方、マスクm(t,k)が小さい値(即ち0に近い値)であるときは、帯域パワーY(t,k)が雑音成分である可能性が高いので、等価的に標準偏差をσ(k,m)×εとして大きくしたのと同じ計算式に近づく。εはマスクm(t,k)が1のときの標準偏差の拡大率(例えば1.5)である。
【0055】
以上のように、この実施の形態7によれば、前述のような音声成分と雑音成分の判定精度の高いマスク作成装置の出力するマスク値を用いて、HMMの尤度計算を行うので、従来よりも、雑音下における精度の高い音声認識装置を提供することができる。
【図面の簡単な説明】
【0056】
【図1】この発明の実施の形態1に係るマスク作成装置を示す構成図である。
【図2】図1中の遅延メモリ3に記憶された帯域パワーの時間周波数パターンを模式的に示した図である。
【図3】図2に示したパターンについて、遅延メモリ3に記憶された特定の帯域k1及び帯域k2における帯域パワーの時系列Y(t,k1)、Y(t,k2)を模式的に示した図である。
【図4】図1中のマスク出力5の時間周波数パターンを模式的に示した図である。
【図5】この発明の実施の形態2において、数式2で与えられる時間長の閾値を表す関数f(k)の特性を示した図である。
【図6】周波数k1にT4以上長く続く音声のパターンDを示した図である。
【図7】図1中のマスク5の時間周波数パターンを模式的に示した図である。
【図8】この発明の実施の形態3に係るマスク作成装置を示す構成図である。
【図9】図8中の遅延メモリ3に記憶された帯域パワーの時間周波数パターンを模式的に示した図である。
【図10】図9に示した時間周波数パターンのフレームtにおける帯域の周波数パターンを模式的に示した図である。
【図11】この発明の実施の形態4に係るマスク作成装置を示す構成図である。
【図12】図11中の遅延メモリ3に記憶された周波数kの帯域パワーの時間パターンを模式的に示した図である。
【図13】少なくともt−T1からこれまで存在した雑音がフレームtne以降でなくなる場合を模式的に示した図である。
【図14】この発明の実施の形態5に係るマスク作成装置を示す構成図である。
【図15】数式5を正規化された局所SN比r(t,k)の関数として模式的に示した図である。
【図16】この発明の実施の形態6に係る雑音スペクトル推定装置を示す構成図である。
【図17】この発明の実施の形態7に係る音声認識装置を示す構成図である。
【符号の説明】
【0057】
1 音声入力部、2 帯域分析部、3 遅延メモリ、4 音声らしさ推定部、5 マスク出力、10 雑音スペクトル更新部、11 推定雑音スペクトル出力、12 HMMパラメータメモリ、13 HMM尤度計算部、14 HMM尤度出力、61 時間長探索部、62 時間長メモリ、71 帯域幅探索部、72 帯域幅メモリ、81平滑化部、83 最大値/最小値探索部、84 閾値算出部、85 正規化SN比算出部、86 マスク値変換部。
【特許請求の範囲】
【請求項1】
入力音声を分析し、前記入力音声に含まれる帯域成分を求める帯域分析部と、
前記帯域分析部で求められた前記帯域成分を記憶する遅延メモリと、
目的の時刻における目的の周波数を含む目的の帯域成分の周辺に存在する、前記目的の時刻より未来の時刻における目的の周波数と同一または異なる周波数を含む帯域成分を参照し、前記目的の帯域成分の音声らしさを推定する音声らしさ推定部とを備えたマスク作成装置。
【請求項2】
前記遅延メモリに記憶された前記帯域成分の時間長を探索する時間長探索部と、
前記時間長探索部が探索した前記時間長を記憶する時間長メモリとを備え、
前記音声らしさ推定部は、前記目的の帯域成分の時間長が時間長の閾値以上である場合は雑音と推定して第1のマスク値を出力し、前記帯域成分の時間長が前記時間長の閾値未満である場合は音声と推定して第2のマスク値を出力することを特徴とする請求項1記載のマスク作成装置。
【請求項3】
前記時間長の閾値が、周波数の関数であることを特徴とする請求項2記載のマスク作成装置。
【請求項4】
前記遅延メモリに記憶された前記帯域成分の帯域幅を探索する帯域幅探索部と、
前記帯域幅探索部が探索した前記帯域成分の帯域幅を記憶する帯域幅メモリとを備え、
前記音声らしさ推定部は、前記帯域幅メモリに記憶された前記目的の帯域成分の帯域幅が、帯域幅の閾値より大きい場合は音声と推定して前記第2のマスク値を出力することを特徴とする請求項2記載のマスク作成装置。
【請求項5】
前記音声らしさ推定部は、前記遅延メモリに記憶された、前記目的の時刻より過去の時刻または未来の時刻における前記帯域成分の最大値と最小値とに基づいて、前記目的の帯域成分の音声らしさを推定することを特徴とする請求項1記載のマスク作成装置。
【請求項6】
前記帯域成分の前記最大値と前記最小値を探索する最大値/最小値探索部と、
前記最大値/最小値探索部が探索した前記帯域成分の前記最大値と前記最小値のうち、両者の差が最小となる最大値と最小値に基づいて、帯域成分の閾値を算出する閾値算出部とを備えたことを特徴とする請求項5記載のマスク作成装置。
【請求項7】
前記遅延メモリに記憶された前記帯域成分と、前記最大値と前記最小値とから正規化されたSN比を算出する正規化SN比算出部と、
前記正規化SN比算出部が算出した前記正規化されたSN比から第3のマスク値を算出するマスク値変換部とを備えた請求項5記載のマスク作成装置。
【請求項8】
請求項1から請求項7のうちのいずれか1項記載のマスク作成装置が作成する音声らしさと、前記遅延メモリに記憶された帯域成分と、前記音声らしさに基づいて変更される更新係数とを用いて雑音スペクトルを更新する雑音スペクトル更新部を備える雑音スペクトル推定装置。
【請求項9】
HMMの分散パラメータを記憶するHMMパラメータメモリと、
請求項1から請求項7のうちのいずれか1項記載のマスク作成装置が作成した音声らしさと、前記遅延メモリに記憶された帯域成分と、前記音声らしさに基づいて変更される前記分散パラメータとを用いて前記入力音声の尤度を計算するHMM尤度計算部とを備えていることを特徴とする音声認識装置。
【請求項1】
入力音声を分析し、前記入力音声に含まれる帯域成分を求める帯域分析部と、
前記帯域分析部で求められた前記帯域成分を記憶する遅延メモリと、
目的の時刻における目的の周波数を含む目的の帯域成分の周辺に存在する、前記目的の時刻より未来の時刻における目的の周波数と同一または異なる周波数を含む帯域成分を参照し、前記目的の帯域成分の音声らしさを推定する音声らしさ推定部とを備えたマスク作成装置。
【請求項2】
前記遅延メモリに記憶された前記帯域成分の時間長を探索する時間長探索部と、
前記時間長探索部が探索した前記時間長を記憶する時間長メモリとを備え、
前記音声らしさ推定部は、前記目的の帯域成分の時間長が時間長の閾値以上である場合は雑音と推定して第1のマスク値を出力し、前記帯域成分の時間長が前記時間長の閾値未満である場合は音声と推定して第2のマスク値を出力することを特徴とする請求項1記載のマスク作成装置。
【請求項3】
前記時間長の閾値が、周波数の関数であることを特徴とする請求項2記載のマスク作成装置。
【請求項4】
前記遅延メモリに記憶された前記帯域成分の帯域幅を探索する帯域幅探索部と、
前記帯域幅探索部が探索した前記帯域成分の帯域幅を記憶する帯域幅メモリとを備え、
前記音声らしさ推定部は、前記帯域幅メモリに記憶された前記目的の帯域成分の帯域幅が、帯域幅の閾値より大きい場合は音声と推定して前記第2のマスク値を出力することを特徴とする請求項2記載のマスク作成装置。
【請求項5】
前記音声らしさ推定部は、前記遅延メモリに記憶された、前記目的の時刻より過去の時刻または未来の時刻における前記帯域成分の最大値と最小値とに基づいて、前記目的の帯域成分の音声らしさを推定することを特徴とする請求項1記載のマスク作成装置。
【請求項6】
前記帯域成分の前記最大値と前記最小値を探索する最大値/最小値探索部と、
前記最大値/最小値探索部が探索した前記帯域成分の前記最大値と前記最小値のうち、両者の差が最小となる最大値と最小値に基づいて、帯域成分の閾値を算出する閾値算出部とを備えたことを特徴とする請求項5記載のマスク作成装置。
【請求項7】
前記遅延メモリに記憶された前記帯域成分と、前記最大値と前記最小値とから正規化されたSN比を算出する正規化SN比算出部と、
前記正規化SN比算出部が算出した前記正規化されたSN比から第3のマスク値を算出するマスク値変換部とを備えた請求項5記載のマスク作成装置。
【請求項8】
請求項1から請求項7のうちのいずれか1項記載のマスク作成装置が作成する音声らしさと、前記遅延メモリに記憶された帯域成分と、前記音声らしさに基づいて変更される更新係数とを用いて雑音スペクトルを更新する雑音スペクトル更新部を備える雑音スペクトル推定装置。
【請求項9】
HMMの分散パラメータを記憶するHMMパラメータメモリと、
請求項1から請求項7のうちのいずれか1項記載のマスク作成装置が作成した音声らしさと、前記遅延メモリに記憶された帯域成分と、前記音声らしさに基づいて変更される前記分散パラメータとを用いて前記入力音声の尤度を計算するHMM尤度計算部とを備えていることを特徴とする音声認識装置。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【公開番号】特開2006−349840(P2006−349840A)
【公開日】平成18年12月28日(2006.12.28)
【国際特許分類】
【出願番号】特願2005−173954(P2005−173954)
【出願日】平成17年6月14日(2005.6.14)
【出願人】(000006013)三菱電機株式会社 (33,312)
【Fターム(参考)】
【公開日】平成18年12月28日(2006.12.28)
【国際特許分類】
【出願日】平成17年6月14日(2005.6.14)
【出願人】(000006013)三菱電機株式会社 (33,312)
【Fターム(参考)】
[ Back to top ]