子音区間検出装置および子音区間検出方法
【課題】比較的高いノイズレベルの環境下においても精度よく子音区間を検出する。
【解決手段】子音区間検出装置110は、入力信号を予め定められたフレーム単位で切り出し、フレーム化入力信号を生成するフレーム化部120と、フレーム化入力信号を、時間領域から周波数領域に変換して、スペクトルパターンを生成するスペクトル生成部122と、スペクトルパターンにおける、連接する予め定められた帯域幅毎の平均エネルギーである帯域別平均エネルギーを導出する平均導出部126と、導出された帯域別平均エネルギー同士を比較し、第1の周波数帯域の帯域別平均エネルギーが、第1の周波数帯域より低い周波数帯域である第2の周波数帯域の帯域別エネルギーより高いことを検出することによりフレーム化入力信号に子音が含まれるかどうかを判定する子音判定部128とを備える。
【解決手段】子音区間検出装置110は、入力信号を予め定められたフレーム単位で切り出し、フレーム化入力信号を生成するフレーム化部120と、フレーム化入力信号を、時間領域から周波数領域に変換して、スペクトルパターンを生成するスペクトル生成部122と、スペクトルパターンにおける、連接する予め定められた帯域幅毎の平均エネルギーである帯域別平均エネルギーを導出する平均導出部126と、導出された帯域別平均エネルギー同士を比較し、第1の周波数帯域の帯域別平均エネルギーが、第1の周波数帯域より低い周波数帯域である第2の周波数帯域の帯域別エネルギーより高いことを検出することによりフレーム化入力信号に子音が含まれるかどうかを判定する子音判定部128とを備える。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、入力信号の子音区間を検出する子音区間検出装置および子音区間検出方法に関する。
【背景技術】
【0002】
人の声は、母音と子音、または有声音と無声音等に分類できる。そこで、母音、子音、有声音、および無声音等のそれぞれの特徴を利用して、音声の検出や識別をする技術が開発されている。
【0003】
具体的に、有声音と無声音については、入力信号のフレームのゼロクロス数をカウント
するゼロクロス法に基づき、フレーム間のゼロクロス数を比較して有声音と無声音とを識
別する技術が提案されている(例えば、特許文献1)。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2007−292940号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
ところで、入力信号に含まれる音声を検出する場合、母音は子音に比べてエネルギーが大きいため、ノイズレベルが高い環境下において、母音区間(母音が含まれる区間)の検出は比較的容易であったが、子音区間(子音が含まれる区間)の検出は、子音の特徴がノイズに埋もれてしまい誤検出が生じがちであった。
【0006】
また、上述した特許文献1のようなゼロクロス法を子音区間の検出に用いたとしても、ノイズの振幅が偏ると、振幅が偏った影響でサンプリング点での音圧値に変化が生じ、オフセットが発生する。そのため、入力信号が0をクロスしないで振動する区間が生じて、子音区間を検出できない場合がある。
【0007】
そこで本発明は、このような課題に鑑み、比較的高いノイズレベルの環境下においても精度よく子音区間を検出することが可能な、子音区間検出装置および子音区間検出方法を提供することを目的としている。
【課題を解決するための手段】
【0008】
上記課題を解決するために、本発明の子音区間検出装置は、入力信号を予め定められたフレーム単位で切り出し、フレーム化入力信号を生成するフレーム化部と、フレーム化入力信号を、時間領域から周波数領域に変換して、スペクトルパターンを生成するスペクトル生成部と、スペクトルパターンにおける、連接する予め定められた帯域幅毎の平均エネルギーである帯域別平均エネルギーを導出する平均導出部と、導出された帯域別平均エネルギー同士を比較し、第1の周波数帯域の帯域別平均エネルギーが、第1の周波数帯域より低い周波数帯域である第2の周波数帯域の帯域別エネルギーより高いことを検出することにより、フレーム化入力信号に子音が含まれるかどうかを判定する子音判定部と、を備えることを特徴とする。
【0009】
子音判定部は、第1の周波数帯域の帯域別平均エネルギーが、第1周波数より低く第1の周波数帯域に隣接する第2の周波数帯域の帯域別エネルギーより高い、第1の周波数帯域と第2の周波数帯域との組み合わせの数を計数し、計数した計数値が、予め定められた第1閾値以上であるかどうかを判定することにより、子音が含まれるかどうかを判定してもよい。
【0010】
子音判定部は、第1の周波数帯域の帯域別平均エネルギーが、第1の周波数帯域より低く第1の周波数帯域に隣接する第2の周波数帯域の帯域別エネルギーより高い第1の周波数帯域と第2の周波数帯域との組み合わせの数を、その組み合わせが帯域を跨いで連続する場合に重み付けをして計数し、計数した計数値が、予め定められた第2閾値以上であるかどうかを判定することにより、子音が含まれるかどうかを判定してもよい。
【0011】
子音判定部は、第1の周波数帯域の帯域別平均エネルギーが、第1の周波数帯域より低意周波数第1の周波数帯域に隣接する第2の周波数帯域の帯域別エネルギーより高い第1の周波数帯域と第2の周波数帯域との組み合わせを抽出し、抽出した組み合わせ同士を比較し、第1の組み合わせの帯域別平均エネルギーが、第1の組み合わせより高い周波数の帯域の第2の組み合わせの帯域別平均エネルギーの方が大きい組み合わせの数を計数し、計数した計数値が、予め定められた第3閾値以上であるかどうかにより、子音が含まれるかどうかを判定してもよい。
【0012】
子音判定部は、第1の周波数帯域の帯域別平均エネルギーが、第1周波数より低く第1の周波数帯域に隣接する第2の周波数帯域の帯域別エネルギーより高い第1の周波数帯域と第2の周波数帯域との組み合わせの数を計数し、計数した計数値が、予め定められた第1閾値以上であるかどうかを判定することにより、子音が含まれるかどうかを判定する第1判定手段と、第1の周波数帯域の帯域別平均エネルギーが、第1の周波数帯域より低く第1の周波数帯域に隣接する第2の周波数帯域の帯域別エネルギーより高い第1の周波数帯域と第2の周波数帯域との組み合わせの数を、その組み合わせが帯域を跨いで連続する場合に重み付けをして計数し、計数した計数値が、予め定められた第2閾値以上であるかどうかを判定することにより、子音が含まれるかどうかを判定する第2判定手段とを含み、フレーム化入力信号のノイズレベルを導出するノイズレベル導出部と、導出されたノイズレベルが第4閾値未満の場合、第1判定手段を選択し、第4閾値以上の場合、第2判定手段を選択する判定選択部とをさらに備えてもよい。
【0013】
子音判定部は、第1の周波数帯域の帯域別平均エネルギーが、第1の周波数帯域より低く第1の周波数帯域に隣接する第2の周波数帯域の帯域別エネルギーより高い第1の周波数帯域と第2の周波数帯域との組み合わせを抽出し、抽出した組み合わせ同士を比較し、第1の組み合わせの帯域別平均エネルギーが、第1の組み合わせより高い周波数の帯域の第2の組み合わせの帯域別平均エネルギーの方が大きい組み合わせの数を計数し、計数した計数値が、予め定められた第3閾値以上であるかどうかにより、子音が含まれるかどうかを判定する第3判定手段をさらに含み、判定選択部は、第2判定手段によって子音と判定されなかった場合に第3判定手段を選択してもよい。
【0014】
上記課題を解決するために、本発明の子音区間検出方法は、入力信号を予め定められたフレーム単位で切り出し、フレーム化入力信号を生成し、フレーム化入力信号を、時間領域から周波数領域に変換して、スペクトルパターンを生成し、スペクトルパターンにおける、連接する予め定められた帯域幅毎の平均エネルギーである帯域別平均エネルギーを導出し、導出した帯域別平均エネルギー同士を比較し、第1の周波数帯域の帯域別平均エネルギーが、前記第1の周波数帯域より低い第2の周波数帯域の帯域別エネルギーより高いことを検出することにより、フレーム化入力信号に子音が含まれるかどうか判定することを特徴とする。
【発明の効果】
【0015】
以上説明したように本発明では、比較的高いノイズレベルの環境下においても精度よく子音区間を検出することが可能となる。
【図面の簡単な説明】
【0016】
【図1】子音区間を説明するための説明図である。
【図2】子音区間を説明するための説明図である。
【図3】入力信号に繁華街の交差点におけるノイズを重ねて収録した収録時間波形図である。
【図4】ゼロクロス法で検出できない子音区間を説明するための説明図である。
【図5】ゼロクロス法で検出できる子音区間を説明するための説明図である。
【図6】ノイズを含まない入力信号に対する音声区間の判定結果である。
【図7】ノイズを含む入力信号に対する音声区間の判定結果である。
【図8】子音区間検出装置の概略的な機能を示した機能ブロック図である。
【図9】入力信号の子音区間のスペクトルパターンを示すスペクトルパターン図の一例である。
【図10】入力信号の子音区間のスペクトルパターンを示すスペクトルパターン図の一例である。
【図11】入力信号の子音区間のスペクトルパターンを示すスペクトルパターン図の一例である。
【図12】入力信号の時間波形図の一例である。
【図13】スペクトルパターンの一例である。
【図14】帯域別平均エネルギーを示す棒グラフの一例である。
【図15】子音区間検出方法の処理の流れを示すフローチャートである。
【図16】第1判定手段判定ステップを説明するためのフローチャートである。
【図17】第2判定手段判定ステップを説明するためのフローチャートである。
【図18】第3判定手段判定ステップを説明するためのフローチャートである。
【発明を実施するための形態】
【0017】
以下に添付図面を参照しながら、本発明の好適な実施形態について詳細に説明する。かかる実施形態に示す寸法、材料、その他具体的な数値等は、発明の理解を容易とするための例示にすぎず、特に断る場合を除き、本発明を限定するものではない。なお、本明細書及び図面において、実質的に同一の機能、構成を有する要素については、同一の符号を付することにより重複説明を省略し、また本発明に直接関係のない要素は図示を省略する。
【0018】
図1、2は、子音区間を説明するための説明図である。特に、図1(a)は音声が含まれる入力信号の時間波形図であり、図1(b)は同じ入力信号の同時間におけるフォルマント表示図である。図1(b)に示すように、母音区間はフォルマントが強く表れるため縞模様がはっきりしているが、子音区間は母音区間とは特性が異なるためフォルマント表示図を見ても子音区間を判断できない。
【0019】
図2(a)に、図1(a)における子音区間を拡大した時間波形図を、図2(b)に、その子音区間のスペクトルパターンをそれぞれ示す。子音は、母音に比べると周波数成分が高い周波数帯域にまで渡っており、ホワイトノイズに近い周波数成分の構成をしている。したがって、図2(b)に示すように、そのスペクトルパターンは周波数帯域が高くなる程、エネルギーが高くなる傾向がある。
【0020】
このように、子音区間には高周波成分が多く含まれるため、その時間波形図における振幅値は正の値と負の値の間を頻繁に推移する特徴がある。その点に注目して子音区間を判定する手段としてゼロクロス法が提案されている。
【0021】
図3及び図4を用いてゼロクロス法を説明する。
図3は、繁華街の交差点におけるノイズを入力信号に重ねて収録した時間波形図であり、図4は、その子音区間を拡大した時間波形図である。図3、4は、図1(a)、図2(a)に示す時間波形図と同じ入力信号である。図3、4に示したような高いノイズ環境下において、ゼロクロス法は誤検出が非常に多くなる。その理由を、入力信号にノイズを含まない場合と、ノイズを含む場合の子音区間を比較して説明する。
【0022】
図5は、入力信号にノイズを含まない場合と、ノイズを含む場合とを対比させた時間波形図である。特に、図5(a)は、ノイズを含まない場合を、図5(b)は、ノイズを含む場合を示し、図5(c)(d)は、それぞれ図5(a)(b)における子音区間を拡大して示す。ゼロクロス法はゼロ値(図5中「−∞」で表す)をクロスする回数の多さを計測し、高周波成分を主体とする子音区間を検出するものである。図5(c)に示すように、ノイズを含まない入力信号の子音区間の時間波形図では、ゼロ値をクロスして正の値の領域と負の値の領域を頻繁に推移する。しかし、ノイズを含む音声信号は特に低周波数領域のノイズが増大すると、図5(d)に示すようにサンプリング点での音圧にオフセットが発生し、ゼロ値をクロスしなくなる。このように、ゼロクロス法はノイズ環境下において、そもそもゼロ値をクロスしない子音区間を検出できない場合がある。
【0023】
図6及び図7を用いて、音声区間判定の方法を説明する。
図6は、ノイズを含まない入力信号に対する音声区間の判定結果である。特に、図6(a)(b)は従来の有声音分析による音声区間判定手段による判定結果を、図6(c)(d)は従来の有声音分析による音声区間判定手段にゼロクロス法による子音区間判定手段を付加した場合の判定結果を示す。図6において、(a)(c)は時間波形図を、(b)(d)は音声区間の判定結果をそれぞれ示す。音声区間の判定結果は、音声区間と判定したときに1、それ以外を0とする。図6の枠線100で示す部分について図6(b)と図7(d)を比較すると理解できるように、ゼロクロス法を用いることで、従来の有声音分析による音声区間判定手段によって検出できなかった枠線100で示す部分を音声区間と判断できる。このように、ノイズを含まない入力信号においてはゼロクロス法での子音区間の検出が可能であることがわかる。
【0024】
図7は、ノイズを含む入力信号に対する音声区間の判定結果である。図7(a)(b)は従来の有声音分析による音声区間判定手段にゼロクロス法による子音区間判定手段を付加した場合の判定結果を示し、図7(c)(d)は従来の有声音分析による音声区間判定手段に本実施形態の子音区間検出装置による子音区間判定手段を付加した場合の判定結果である。図7において、(a)(c)は時間波形図を、(b)(d)は音声区間の判定結果をそれぞれ示す。判定結果は、ゼロクロス法または本実施形態の子音区間検出装置により音声区間と判定した場合を2、従来の有声音分析による音声区間判定手段により音声区間と判定した場合を1、それ以外の場合を0とする。枠線102で示す部分について、図7(b)と図7(d)を比較すると、従来の有声音分析による音声区間判定手段にゼロクロス法を付加することによっても、音声区間と判断されなかった、枠線102で示す部分は、本実施形態の子音区間検出装置による子音区間判定手段を付加したことにより、音声区間と判断されることが理解できる。
【0025】
そこで、以下の実施形態では、比較的高いノイズレベルの環境下においても精度よく子音区間を検出することが可能な子音区間検出装置について詳述し、その子音区間検出装置を用いた子音区間検出方法について説明する。
【0026】
(子音区間検出装置110)
図8は、この発明の実施形態に従った子音区間検出装置110の概略的な構成を説明するための機能ブロック図である。子音区間検出装置110は、フレーム化部120と、スペクトル生成部122と、帯域分割部124と、平均導出部126と、子音判定部128と、ノイズレベル導出部130と、判定選択部132とを含んで構成される。
【0027】
図8に示す収音装置200は、音声を収音し、入力信号に変換してフレーム化部120に出力する。フレーム化部120は、収音装置200から入力された入力信号を、予め定められた時間幅を有するフレーム単位(所定サンプル数長)で順次切り出し、フレーム単位の入力信号(以下、単に「フレーム化入力信号」と称す)を生成する。また、収音装置200から入力される入力信号がアナログ信号である場合、フレーム化部120の前段にADコンバーターを配置しデジタル信号に変換するとしてもよい。そして、フレーム化部120は、生成したフレーム化入力信号を順次、スペクトル生成部122に送信する。
【0028】
スペクトル生成部122は、フレーム化部120から受信したフレーム化入力信号の周波数分析を行い、時間領域のフレーム化入力信号を周波数領域のフレーム化入力信号に変換して、スペクトルを集めたスペクトルパターンを生成する。スペクトルパターンは、所定の周波数帯域に渡って、周波数とその周波数におけるエネルギーとが対応付けられた、周波数毎のスペクトルを集めたものである。ここで用いられる周波数変換法は、特定の手段に限定しないが、音声のスペクトルを認識するために必要な周波数分解能が必要であるため、比較的分解能が高いFFT(Fast Fourier Transform)やDCT(Discrete Cosine Transform)等の直交変換法を用いるとよい。スペクトル生成部122により生成されたスペクトルパターンは、帯域分割部124とノイズレベル導出部130に出力される。
帯域分割部124は、スペクトル生成部122が生成したスペクトルパターンの各スペクトルを、予め定められた帯域幅毎に分割し、複数の分割周波数帯域を生成する。本実施形態において、帯域分割部124は、例えば、800Hz〜3.5kHzの周波数範囲について、例えば、100Hz〜300Hz程度の帯域幅毎に分割する。
【0029】
平均導出部126は、スペクトルパターンにおける、連接する帯域分割部124が分割した分割周波数帯域(バンド)毎の平均エネルギーである帯域別平均エネルギーを導出
する。
【0030】
子音判定部128は、平均導出部126が導出した帯域別平均エネルギー同士を比較し、より高周波数帯域の帯域別平均エネルギー程、高いエネルギーとなっていると、そのフレーム化入力信号に子音が含まれると判定する。 すなわち、子音判定部128は、平均導出部126が導出した帯域別平均エネルギー同士を比較し、第1の周波数帯域の帯域別平均エネルギーが、第1の周波数帯域より低い周波数帯域の第2の周波数帯域の帯域別平均エネルギーに比べて高いエネルギーとなっていることを検出することにより、そのフレーム化入力信号に子音が含まれるかどうかを判定する。
例えば、帯域分割部124により生成された分割周波数帯域を、低い周波数帯域から高い周波数帯域へと順に、帯域0,帯域1、帯域2、帯域3…帯域n-2、帯域n-1、帯域n(nは自然数)とする。平均導出部126は、帯域分割部124により生成された、それぞれの分割周波数帯域の帯域別平均エネルギーを導出する。子音判定部128は、帯域0と帯域1との組み合わせでそれぞれの分割周波数帯域の帯域別平均エネルギーを比較する。同様に、子音判定部128は、帯域1と帯域2との組み合わせ、帯域2と帯域3との組み合わせ、…帯域n-2と帯域n-1との組み合わせ、帯域n-1と帯域nとの組み合わせでそれぞれの分割周波数帯域の帯域別平均エネルギーを比較する。子音判定部128は、例えば、帯域nの帯域別平均エネルギーが帯域n-1の帯域別平均エネルギーより高い場合、すなわち、隣接する分割周波数帯域において高い周波数の分割周波数帯域のほうが、高い平均エネルギーであった組み合わせを検出することにより、その区間のフレーム化入力信号は子音区間であるかどうかを判定する。
【0031】
一般的に、子音はスペクトルパターンが右上がりになる傾向がある。そこで、本実施形態の子音区間検出装置110は、スペクトルパターンにおける帯域別平均エネルギーを導出し、その帯域別エネルギー同士を比較することで子音に特徴的な、スペクトルパターンにおける右上がりの傾向を検出する。そのため、子音区間検出装置110は、入力信号に子音が含まれる子音区間を精度よく検出することができる。
【0032】
子音判定部128は、具体的に、隣接する分割周波数帯域間の帯域別平均エネルギー同士を比較し、、高い周波数の分割周波数帯域の方が隣接する低い周波数の分割周波数帯域より大きい組み合わせを計数し、計数した計数値が、予め定められた第1閾値以上であると、子音が含まれると判定する第1判定手段と、隣接する分割周波数帯域の帯域別平均エネルギー同士を比較し、高い周波数の分割周波数帯域の帯域別平均エネルギーの方が隣接する低い周波数の分割周波数帯域の帯域別平均エネルギーより大きい組み合わせを計数し、更に高い周波数の分割周波数帯域の帯域別平均エネルギーの方が隣接する低い周波数の分割周波数帯域の帯域別平均エネルギーより大きい組み合わせが帯域を跨いで連続する場合に重み付けをして計数し、計数した計数値が、予め定められた第2閾値以上であると、子音が含まれると判定する第2判定手段とを含み、それぞれノイズレベルに応じて使い分ける。
すなわち、第1判定手段は、第1の周波数帯域の帯域別平均エネルギーが、第1周波数より低く第1の周波数帯域に隣接する第2の周波数帯域の帯域別エネルギーより高い周波数帯域であることを判定した第1の周波数帯域と第2の周波数帯域との組み合わせの数を計数し、計数した計数値が、予め定められた第1閾値以上であるかどうかを判定することにより、子音が含まれるかどうかを判定する。
また、第2判定手段は、第1の周波数帯域の帯域別平均エネルギーが、第1の周波数帯域より低く第1の周波数帯域に隣接する第2の周波数帯域の帯域別エネルギーより高い第1の周波数帯域と第2の周波数帯域との組み合わせの数を、その組み合わせが帯域を跨いで連続する場合に重み付けをして計数し、計数した計数値が、予め定められた第2閾値以上であるかどうかを判定することにより、子音が含まれるかどうかを判定する。
【0033】
図9〜11は、それぞれ、入力信号の子音区間のスペクトルパターンを示すスペクトルパターン図の一例である。ノイズレベルが比較的小さい場合、図9に示すように、子音区間のスペクトルパターンは右上がりの傾向が顕著となる。子音判定部128は、第1判定手段を備える構成により、スペクトルパターンの隣接する分割周波数帯域間の帯域別平均エネルギーが、高い周波数の分割周波数帯域の帯域別平均エネルギーの方が隣接する低い周波数の分割周波数帯域の帯域別平均エネルギーより大きい組み合わせの数に基づいて、子音区間を精度よく検出することができる。
【0034】
また、ノイズレベルが比較的大きい場合、図10に示すように、子音区間のスペクトルパターンは単に隣接する分割周波数帯域のみの比較では全体的な右上がりの傾向がノイズに埋もれてしまう。子音判定部128は、第2判定手段を備える構成により、スペクトルパターンの隣接する分割周波数帯域間の帯域別平均エネルギーが、高い周波数の分割周波数帯域の方が隣接する低い周波数の分割周波数帯域より大きい組み合わせについて、特にそのような組み合わせが隣接する帯域間で連続する場合に、1より大きな乗数で重み付けをして計数する。重み付けをすることで、ノイズに埋もれた子音の右上がりの傾向を検出し易くなる。したがって、子音区間検出装置110は、ノイズレベルが比較的大きい場合であっても、計数された値に基づき、子音区間を精度よく検出することができる。
【0035】
ここで、第1判定手段と第2判定手段とを適宜選択すべく、ノイズレベル導出部130は、フレーム化入力信号のノイズレベルを導出する。本実施形態において、導出部130は、スペクトル生成部122からの信号を基に、すべての周波数帯域のエネルギーを所定時間に渡って平均した平均値をノイズレベルとして導出する。また、ノイズレベル導出部130は、平均導出部126が導出した帯域別平均エネルギーに基づき、特定の帯域の帯域別平均エネルギーを所定時間に渡って時間方向に平均し、ノイズレベルを導出してもよい。
また、ノイズレベル導出部130は、フレーム化入力信号毎にノイズレベルを導出してもよい。判定選択部132は、導出されたノイズレベルが第4閾値未満の場合、第1判定手段を選択し、第4閾値以上の場合、第2判定手段を選択する。第4閾値は、例えば、−50〜−40dBとする。
【0036】
子音区間検出装置110は、ノイズレベルが第4閾値未満の場合、ノイズレベルが比較的低いときに精度よく子音区間を検出できる第1判定手段を選択し、ノイズレベルが第4閾値以上の場合、ノイズレベルが比較的高いときでも、精度よく子音区間を検出できる第2判定手段を選択する。そのため、子音区間検出装置110は、ノイズレベルに応じた適切な手段で、子音区間を検出することが可能となる。
【0037】
また、子音判定部128は、隣接する帯域(分割周波数帯域)間の帯域別平均エネルギーが、高い周波数の帯域の方が隣接する低い周波数の帯域より大きい組み合わせを抽出し、抽出した組み合わせ同士を比較し、帯域別平均エネルギーが、高い周波数の帯域の方が大きい組み合わせを計数し、計数した計数値が、予め定められた第3閾値以上であると、子音が含まれると判定する第3判定手段をさらに含んでもよい。
【0038】
ノイズレベルが比較的大きい場合、子音区間のスペクトルパターンは単に隣接する帯域のみの比較ではその右上がりの傾向がノイズに埋もれてしまう場合がある。その上、図11に示すように、部分的に複数個所でエネルギーが落ち込む(谷となる)スペクトルパターンの場合、右上がりの傾向に連続性がなく、第2判定手段のように、連続性に重み付けをしても子音として判定できない。
【0039】
そのため、判定選択部132は、第2判定手段によって子音と判定されなかった場合に第3判定手段を選択する。第3判定手段は、スペクトルパターンの隣接する帯域間の帯域別平均エネルギーが、高い周波数の帯域の方が隣接する低い周波数の帯域より大きい組み合わせを抽出し、抽出した組み合わせ同士においても高い周波数の帯域の方が大きい場合に、即ち、抽出した組み合わせ同士を比較した際により高い周波数の帯域の組み合わせがより低い周波数の帯域の組み合わせより帯域別平均エネルギーが大きい場合に、1より大きな乗数で重み付けをして計数し、計数した計数値が第3閾値以上であった場合に、子音が含まれると判定する。
言い換えると、第3判定手段は、第1の周波数帯域の帯域別平均エネルギーが、第1の周波数帯域より低く第1の周波数帯域に隣接する第2の周波数帯域の帯域別エネルギーより高い第1の周波数帯域と第2の周波数帯域との組み合わせを抽出し、抽出した組み合わせ同士を比較し、第1の組み合わせの帯域別平均エネルギーが、第1の組み合わせより高い周波数の帯域の第2の組み合わせの帯域別平均エネルギーの方が大きい組み合わせの数を計数し、計数した計数値が、予め定められた第3閾値以上であると、子音が含まれると判定する。
【0040】
このように、帯域別平均エネルギーを広帯域に渡って比較することで、ノイズの影響が比較的大きくともスペクトルパターン全体から、右上がりの傾向を計数として数値化できる。そのため、子音区間検出装置110は、計数された値に基づいて、子音区間を精度よく検出可能となる。
【0041】
すなわち、子音判定部128が第2判定手段をもってしても子音と判定しなかった場合、それでもまだ子音区間の検出漏れの可能性がある。そこで、第2判定手段で子音と判定されなかった場合、子音判定部128は、さらに、ノイズの影響を受けにくい第3判定手段を用いて子音の検出を試みる。かかる構成により、子音区間検出装置110は、より確実に子音区間を検出することが可能となる。
【0042】
第2判定手段、第3判定手段について、図12から図13を用いて、さらに説明する。
図12は、入力信号の時間波形図の一例であり、図13は、図12に示す子音区間210の入力信号のスペクトルパターンの一例であり、図14は、図13で示すスペクトルパターンの帯域別平均エネルギーを示す棒グラフの一例である。
【0043】
図12に示す入力信号の子音区間210について、スペクトルパターンを生成すると、図13に示すように、そのままでは右肩上がりの傾向が検出しにくい。しかし、適切な帯域幅毎のエネルギーの平均値である帯域別平均エネルギーを例えば図14のような、棒グラフに示すと、部分的に右肩上がりの傾向があることがわかる。第2判定手段では、このような部分的な右肩上がりの傾向の強さによって子音区間か否かを判定する。また、たとえ、第2判定手段で子音区間であると判定されなかったとしても、第3判定手段によって子音区間と判定されるので、いずれにせよ、子音区間の検出精度を高めることができる。
【0044】
以上、上述したように、本実施形態の子音区間検出装置110によれば、比較的高いノイズレベルの環境下においても精度よく子音区間を検出することができる。
【0045】
(子音区間検出方法)
次に、上述した子音区間検出装置110を用いて入力信号を分析し、子音区間か否かを判定する子音区間検出方法を説明する。
【0046】
図15は、子音区間検出装置110を用いた子音区間検出方法の処理の流れを示すフローチャートである。入力信号の入力がある場合(S300におけるYES)、フレーム化部120は、子音区間検出装置110が取得した入力信号を、所定のフレーム単位で順次切り出し、フレーム化入力信号を生成する(S302)。そして、スペクトル生成部122は、フレーム化部120から受信したフレーム化入力信号の周波数分析を行い、時間領域のフレーム化入力信号を周波数領域のフレーム化入力信号に変換してスペクトルパターンを生成する(S304)。
【0047】
帯域分割部124は、スペクトルパターンの各スペクトルを複数の分割周波数帯域に分割して、各分割周波数帯域に対して0から昇順に番号を振る(S306)。平均導出部126は、スペクトルパターンにおける、連接する分割周波数帯域毎の帯域別平均エネルギーである帯域別平均エネルギーを導出する(S308)。ノイズレベル導出部130は、フレーム化入力信号のノイズレベルを導出する(S310)。子音判定部128は、ノイズレベル導出部130が導出したノイズレベルが第4閾値未満か否かを判定する(S312)。第4閾値未満の場合(S312におけるYES)、子音判定部128は、第1判定手段によって子音区間の判定を行う(S314)。第4閾値以上の場合(S312におけるNO)、子音判定部128は、第2判定手段によって子音区間の判定を行う(S316)。
【0048】
第2判定手段判定ステップS316において、子音区間と判定されたか否かを判定し(S318)、子音区間と判定されなかった場合(S318におけるNO)、子音判定部128は、第3判定手段によって子音区間の判定を行う(S320)。そして、子音判定部128は、子音区間の判定結果(いずれか1の判定手段において子音区間と判定されれば、判定結果は子音区間となる。)を外部装置に出力し(S322)、入力信号判定ステップS300に戻る。
【0049】
続いて、第1判定手段について図16を用いて説明する。図16は、第1判定手段判定ステップS314を説明するためのフローチャートである。第1判定手段判定ステップS314において、帯域には、周波数の低い帯域から順次、0から始まる整数の番号が振られている。
【0050】
子音判定部128は、変数n、countに0を代入して初期化を行い(S350)、番号n+1が振られている帯域の帯域別平均エネルギーが、番号nが振られている帯域の帯域別平均エネルギーより大きいか否かを判定する(S352)。大きい場合(S352におけるYES)、すなわち、着目する帯域より高い周波数の帯域の帯域別平均エネルギーが高い場合、変数countに1を加える(S354)。番号n+1が振られている帯域の帯域別平均エネルギーが、番号nが振られている帯域の帯域別平均エネルギー以下の場合(S352におけるNO)、変数countはそのままとする。
【0051】
そして、子音判定部128は、番号n+2が振られている帯域があるか否かを判定する(S356)。番号n+2が振られている帯域がある場合(S356におけるYES)、子音判定部128は、変数nに1を加え(S358)、エネルギー判定ステップS352に戻る。番号n+2が振られている帯域がない場合(S356におけるNO)、すべての帯域の帯域別平均エネルギーの比較が終了していることとなるので、子音判定部128は、変数countが、予め定められた第1閾値以上であるか否かを判定する(S360)。第1閾値以上である場合(S360におけるYES)、子音判定部128は、子音が含まれると判定する(S362)。また、第1閾値未満である場合(S360におけるNO)、子音判定部128は、子音が含まれないと判定する(S364)。
以上のように第1判定手段では、隣接する帯域間の帯域別平均エネルギーが、高い周波数の帯域の方が隣接する低い周波数の帯域より大きい組み合わせを変数countとして計数し、変数countが、予め定められた第1閾値以上であると、子音が含まれると判定する。
なお、第1閾値は、例えば、4のような値とするが、第1閾値は周波数分解能によって最適な値は異なる。また、第1閾値は子音区間装置が用いられる場所のノイズの種類や、使用される言語によっても最適な値が異なるので、実測値等を考慮して設定することが好ましい。
【0052】
続いて、第2判定手段について図17を用いて説明する。図17は、第2判定手段判定ステップS316を説明するためのフローチャートである。第2判定手段判定ステップS316においても、第1判定手段判定ステップS314と同様、帯域には、周波数の低い帯域から順次、0から始まる整数の番号が振られている。
【0053】
子音判定部128は、変数n、countに0を、pに1を代入して初期化を行い(S400)、番号n+1が振られている帯域の帯域別平均エネルギーが、番号nが振られている帯域の帯域別平均エネルギーより大きいか否かを判定する(S402)。大きい場合(S402におけるYES)、変数countに変数pを加える(S404)。そして、子音判定部128は、変数pに重み付けとして1を加える(S406)。番号n+1が振られている帯域の帯域別平均エネルギーが、番号nが振られている帯域の帯域別平均エネルギー以下の場合(S402におけるNO)、変数countはそのままとし、変数pに1を代入して変数pをリセットする(S408)。
【0054】
そして、子音判定部128は、番号n+2が振られている帯域があるか否かを判定する(S410)。番号n+2が振られている帯域がある場合(S410におけるYES)、子音判定部128は、変数nに1を加え(S412)、エネルギー判定ステップS402に戻る。番号n+2が振られている帯域がない場合(S410におけるNO)、すべての帯域の帯域別平均エネルギーの比較が終了していることとなるので、子音判定部128は、変数countが、予め定められた第2閾値以上であるか否かを判定する(S414)。第2閾値以上である場合(S414におけるYES)、子音判定部128は、子音が含まれると判定する(S416)。また、第2閾値未満である場合(S414におけるNO)、子音判定部128は、子音が含まれないと判定する(S418)。
【0055】
隣接する帯域間で連続して、高い周波数の帯域の帯域別平均エネルギーの方が低い周波数の帯域の帯域別平均エネルギーより高いということは、子音区間の特徴である。上述したように、子音判定部128は、第2判定手段により、右肩上がりの帯域が隣接する帯域間で連続した場合に重み付けをして子音区間の判定を行う。このことにより、子音区間検出装置110はノイズの影響により判定の指標としている変数countの値が低くなり、子音区間でないと判定されてしまう帯域が増加する事態を回避できる。すなわち、子音区間検出装置110は、比較的高いノイズレベルの環境下において、子音区間の検出漏れを抑制することが可能となる。また、第4閾値よりもノイズレベルが低い場合、第2判定手段は実行されないため(図15のステップS312 Yes)、ノイズレベルが比較的低い環境下において、子音区間でない区間を子音区間と誤判定してしまう事態も回避できる。
【0056】
続いて、第3判定手段について図18を用いて説明する。図18は、第3判定手段判定ステップS320を説明するためのフローチャートである。第3判定手段判定ステップS320においても、第1判定手段判定ステップS314と同様、帯域には、周波数の低い帯域から順次、0から始まる整数の番号が振られている。
【0057】
子音判定部128は、変数n、m、k、countに0を代入して初期化を行う(S450)。ここで追加した変数mは隣接する帯域が右肩上がりの際に新しく割り当てられた番号であり帯域組み合わせ番号:省略して「組み合わせ」と呼び、kは右肩上がりが継続していることを示す目印(指標)の一種である。次に番号n+1が振られている帯域の帯域別平均エネルギーが、番号nが振られている帯域の帯域別平均エネルギーより大きいか否かを判定する(S452)。大きい場合(S452におけるYES)、組み合わせ(m)に番号n+1が振られている帯域の帯域別平均エネルギーを代入し、帯域別平均エネルギーが連続して大きくなっていることを担保すべく変数kに1を設定する(S454)。番号n+1が振られている帯域の帯域別平均エネルギーが、番号nが振られている帯域の帯域別平均エネルギー以下の場合(S452におけるNO)、変数kが1であるか否か判定され(S456)、変数kが1であれば連続して右肩上がりの帯域が存在した結果を残すため(S456におけるYES)、変数mに1を加え、kに0を設定する(S458)。組み合わせ(m)には最後に検出された帯域の平均エネルギーが格納される。変数kが1でない、即ち、0であれば(S456におけるNO)、変数mはそのままとし、帯域判定ステップS460に移行する。
【0058】
そして、子音判定部128は、番号n+2が振られている帯域があるか否かを判定する(S460)。番号n+2が振られている帯域がある場合(S460におけるYES)、子音判定部128は、変数nに1を加え(S462)、エネルギー判定ステップS452に戻る。番号n+2が振られている帯域がない場合(S460におけるNO)、すべての帯域の帯域別平均エネルギーの比較が終了していることとなるので、変数mに0を代入してリセットし(S464)、組み合わせ(m+1)の帯域別平均エネルギーが、組み合わせ(m)の帯域別平均エネルギーより大きいか否かを判定する(S466)。大きい場合(S466におけるYES)、すなわち、着目する帯域組み合わせ番号として認定された帯域より高い周波数の帯域の帯域別平均エネルギーが高い場合、変数countに1を加える(S468)。組み合わせ(m+1)の帯域別平均エネルギーが、組み合わせ(m)の帯域別平均エネルギー以下の場合(S466におけるNO)、変数countはそのままとする。
【0059】
そして、子音判定部128は、組み合わせ(m+2)があるか否かを判定する(S470)。組み合わせ(m+2)がある場合(S470におけるYES)、子音判定部128は、変数mに1を加え(S472)、エネルギー判定ステップS466に戻る。組み合わせ(m+2)がない場合(S470におけるNO)、すべての組み合わせの帯域別平均エネルギーの比較が終了していることとなるので、子音判定部128は、変数countが、予め定められた第3閾値以上であるか否かを判定する(S474)。第3閾値以上である場合(S474におけるYES)、子音判定部128は、子音が含まれると判定する(S476)。また、第3閾値未満である場合(S474におけるNO)、子音判定部128は、子音が含まれないと判定する(S478)。
なお、上述したフローチャートでは、説明を簡単にするために、2つの分割周波数帯域のペアで帯域別エネルギーを比較して、右肩上がりを検出して、子音検出を行ったが、例えば、第3判定手段では、連接する分割周波数帯域が3つ以上に渡って、右肩上がり、すなわち高い周波数の分割周波数帯域ほど高い帯域別エネルギーを持つ場合にのみ、他の3つ以上の分割周波数帯域に渡って右肩上がりである周波数区間と比較して、重み付けを行うかどうか決めてもよい。このような設定の最適値は、周波数分解能や、機器の使われる環境や言語の種類によっても変わるので、状況に応じて選択する。
また、第2閾値についても周囲のノイズ成分や言語の種類、更には重み付けの程度にも依存するため、状況に応じて選択する。また、第3閾値の値についても、周囲のノイズ成分や言語の種類、更には重み付けの程度に依存するため、状況に応じて選択する。
【0060】
ノイズレベルが比較的高い環境下において、隣接する帯域間ではノイズの影響により子音の特徴は部分的に失われる場合がある。第3判定手段では、隣接する帯域間の帯域別平均エネルギーではなく、高い周波数の帯域の方が隣接する低い周波数の帯域より大きい組み合わせにおいて、組み合わせの中に存在する最も高い帯域の平均エネルギー同士を比較することで、周波数軸上における広い周波数帯域に渡る子音の特徴を数値化(モデル化)して、子音区間か否かを判定する。この場合には、さらにノイズレベルが比較的高い環境下においても、広い周波数帯域のエネルギー推移を加点して、子音区間の特徴を計数値に反映することが可能となる。なお、第3判定手段では、高い周波数の帯域の方が隣接する低い周波数の帯域より大きい組み合わせにおいて、組み合わせの中に存在する全ての帯域の平均エネルギーを更に平均した平均エネルギー同士を比較してもよい。
【0061】
上述したように、第2判定手段では、連続性に重み付けをする際、同じ回数だけエネルギー平均値が増加した場合、断続的に増加した場合に対し連続的に増加した場合の方が変数pの値は大きくなる。かかる構成により、より子音区間のスペクトルパターンの特徴を捉えた子音区間の検出が可能となる。また、本実施形態において、変数pに加算する値は1としているが、1に限らず、1以上の値でもよいし、1以下の値でもよい。また、第2閾値の値については、変数pの設定値との関連により最適な値を設定する。
例えば、図17に示した例では、変数countに対する重み付けが右肩上がりの帯域が連続する区間が長くなるにつれ、増大していくため、第2閾値は、少なくとも第1閾値よりは大きな値とし、ノイズを誤って子音と判定しないようにしたい場合は、より大きな値を設定する。第2閾値は、周囲ノイズの大きさによっても最適な値が異なる。また、第2閾値は、第4閾値の設定値によっても、最適な値が異なる。
【0062】
さらに、上述した実施形態では、帯域別平均エネルギーを比較する帯域に制限を設けていないが、例えば、ノイズの影響を回避するために、使用状況に応じ比較する帯域の周波数の範囲を限定してもよい。具体的に、一般的にノイズによるエネルギー成分の高い、低い周波数帯域(約1kHz以下)や、周波数解析(スペクトルパターン生成)処理における折り返し歪が含まれ易い、高い周波数帯域(約3.5kHz以上)は排除してもよい。このように、比較する帯域の周波数の範囲を限定する構成により、子音区間検出装置110は、ノイズレベルが比較的高い環境下においても、子音区間の誤検出を抑制できる。
なお、上述した実施形態では平均導出部126は、スペクトルパターンにおける、連接する帯域分割部124が分割した分割周波数帯域(バンド)毎の平均エネルギーである帯域別平均エネルギーを導出したが、平均導出部126は、スペクトルパターンにおける、連接する帯域分割部124が分割した分割周波数帯域(バンド)毎の例えば帯域別最大エネルギーを導出してもよい。すなわち、平均導出部126は、スペクトルパターンにおける、連接する帯域分割部124が分割した分割周波数帯域(バンド)毎の帯域別エネルギーを導出すればよい。
【0063】
以上説明した子音区間検出方法によっても、ノイズレベルに拘らず、入力信号の音声区間を検出することが可能となる。
【0064】
以上、添付図面を参照しながら本発明の好適な実施形態について説明したが、本発明はかかる実施形態に限定されないことは言うまでもない。当業者であれば、特許請求の範囲に記載された範疇において、各種の変更例または修正例に想到し得ることは明らかであり、それらについても当然に本発明の技術的範囲に属するものと了解される。
【0065】
なお、本明細書の子音区間検出方法における各工程は、必ずしもフローチャートとして記載された順序に沿って時系列に処理する必要はなく、並列的あるいはサブルーチンによる処理を含んでもよい。
【産業上の利用可能性】
【0066】
本発明は、入力信号の子音区間を検出する子音区間検出装置および子音区間検出方法に利用することができる。
【符号の説明】
【0067】
110 …子音区間検出装置
120 …フレーム化部
122 …スペクトル生成部
124 …帯域分割部
126 …平均導出部
128 …子音判定部
130 …ノイズレベル判定部
132 …判定選択部
【技術分野】
【0001】
本発明は、入力信号の子音区間を検出する子音区間検出装置および子音区間検出方法に関する。
【背景技術】
【0002】
人の声は、母音と子音、または有声音と無声音等に分類できる。そこで、母音、子音、有声音、および無声音等のそれぞれの特徴を利用して、音声の検出や識別をする技術が開発されている。
【0003】
具体的に、有声音と無声音については、入力信号のフレームのゼロクロス数をカウント
するゼロクロス法に基づき、フレーム間のゼロクロス数を比較して有声音と無声音とを識
別する技術が提案されている(例えば、特許文献1)。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2007−292940号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
ところで、入力信号に含まれる音声を検出する場合、母音は子音に比べてエネルギーが大きいため、ノイズレベルが高い環境下において、母音区間(母音が含まれる区間)の検出は比較的容易であったが、子音区間(子音が含まれる区間)の検出は、子音の特徴がノイズに埋もれてしまい誤検出が生じがちであった。
【0006】
また、上述した特許文献1のようなゼロクロス法を子音区間の検出に用いたとしても、ノイズの振幅が偏ると、振幅が偏った影響でサンプリング点での音圧値に変化が生じ、オフセットが発生する。そのため、入力信号が0をクロスしないで振動する区間が生じて、子音区間を検出できない場合がある。
【0007】
そこで本発明は、このような課題に鑑み、比較的高いノイズレベルの環境下においても精度よく子音区間を検出することが可能な、子音区間検出装置および子音区間検出方法を提供することを目的としている。
【課題を解決するための手段】
【0008】
上記課題を解決するために、本発明の子音区間検出装置は、入力信号を予め定められたフレーム単位で切り出し、フレーム化入力信号を生成するフレーム化部と、フレーム化入力信号を、時間領域から周波数領域に変換して、スペクトルパターンを生成するスペクトル生成部と、スペクトルパターンにおける、連接する予め定められた帯域幅毎の平均エネルギーである帯域別平均エネルギーを導出する平均導出部と、導出された帯域別平均エネルギー同士を比較し、第1の周波数帯域の帯域別平均エネルギーが、第1の周波数帯域より低い周波数帯域である第2の周波数帯域の帯域別エネルギーより高いことを検出することにより、フレーム化入力信号に子音が含まれるかどうかを判定する子音判定部と、を備えることを特徴とする。
【0009】
子音判定部は、第1の周波数帯域の帯域別平均エネルギーが、第1周波数より低く第1の周波数帯域に隣接する第2の周波数帯域の帯域別エネルギーより高い、第1の周波数帯域と第2の周波数帯域との組み合わせの数を計数し、計数した計数値が、予め定められた第1閾値以上であるかどうかを判定することにより、子音が含まれるかどうかを判定してもよい。
【0010】
子音判定部は、第1の周波数帯域の帯域別平均エネルギーが、第1の周波数帯域より低く第1の周波数帯域に隣接する第2の周波数帯域の帯域別エネルギーより高い第1の周波数帯域と第2の周波数帯域との組み合わせの数を、その組み合わせが帯域を跨いで連続する場合に重み付けをして計数し、計数した計数値が、予め定められた第2閾値以上であるかどうかを判定することにより、子音が含まれるかどうかを判定してもよい。
【0011】
子音判定部は、第1の周波数帯域の帯域別平均エネルギーが、第1の周波数帯域より低意周波数第1の周波数帯域に隣接する第2の周波数帯域の帯域別エネルギーより高い第1の周波数帯域と第2の周波数帯域との組み合わせを抽出し、抽出した組み合わせ同士を比較し、第1の組み合わせの帯域別平均エネルギーが、第1の組み合わせより高い周波数の帯域の第2の組み合わせの帯域別平均エネルギーの方が大きい組み合わせの数を計数し、計数した計数値が、予め定められた第3閾値以上であるかどうかにより、子音が含まれるかどうかを判定してもよい。
【0012】
子音判定部は、第1の周波数帯域の帯域別平均エネルギーが、第1周波数より低く第1の周波数帯域に隣接する第2の周波数帯域の帯域別エネルギーより高い第1の周波数帯域と第2の周波数帯域との組み合わせの数を計数し、計数した計数値が、予め定められた第1閾値以上であるかどうかを判定することにより、子音が含まれるかどうかを判定する第1判定手段と、第1の周波数帯域の帯域別平均エネルギーが、第1の周波数帯域より低く第1の周波数帯域に隣接する第2の周波数帯域の帯域別エネルギーより高い第1の周波数帯域と第2の周波数帯域との組み合わせの数を、その組み合わせが帯域を跨いで連続する場合に重み付けをして計数し、計数した計数値が、予め定められた第2閾値以上であるかどうかを判定することにより、子音が含まれるかどうかを判定する第2判定手段とを含み、フレーム化入力信号のノイズレベルを導出するノイズレベル導出部と、導出されたノイズレベルが第4閾値未満の場合、第1判定手段を選択し、第4閾値以上の場合、第2判定手段を選択する判定選択部とをさらに備えてもよい。
【0013】
子音判定部は、第1の周波数帯域の帯域別平均エネルギーが、第1の周波数帯域より低く第1の周波数帯域に隣接する第2の周波数帯域の帯域別エネルギーより高い第1の周波数帯域と第2の周波数帯域との組み合わせを抽出し、抽出した組み合わせ同士を比較し、第1の組み合わせの帯域別平均エネルギーが、第1の組み合わせより高い周波数の帯域の第2の組み合わせの帯域別平均エネルギーの方が大きい組み合わせの数を計数し、計数した計数値が、予め定められた第3閾値以上であるかどうかにより、子音が含まれるかどうかを判定する第3判定手段をさらに含み、判定選択部は、第2判定手段によって子音と判定されなかった場合に第3判定手段を選択してもよい。
【0014】
上記課題を解決するために、本発明の子音区間検出方法は、入力信号を予め定められたフレーム単位で切り出し、フレーム化入力信号を生成し、フレーム化入力信号を、時間領域から周波数領域に変換して、スペクトルパターンを生成し、スペクトルパターンにおける、連接する予め定められた帯域幅毎の平均エネルギーである帯域別平均エネルギーを導出し、導出した帯域別平均エネルギー同士を比較し、第1の周波数帯域の帯域別平均エネルギーが、前記第1の周波数帯域より低い第2の周波数帯域の帯域別エネルギーより高いことを検出することにより、フレーム化入力信号に子音が含まれるかどうか判定することを特徴とする。
【発明の効果】
【0015】
以上説明したように本発明では、比較的高いノイズレベルの環境下においても精度よく子音区間を検出することが可能となる。
【図面の簡単な説明】
【0016】
【図1】子音区間を説明するための説明図である。
【図2】子音区間を説明するための説明図である。
【図3】入力信号に繁華街の交差点におけるノイズを重ねて収録した収録時間波形図である。
【図4】ゼロクロス法で検出できない子音区間を説明するための説明図である。
【図5】ゼロクロス法で検出できる子音区間を説明するための説明図である。
【図6】ノイズを含まない入力信号に対する音声区間の判定結果である。
【図7】ノイズを含む入力信号に対する音声区間の判定結果である。
【図8】子音区間検出装置の概略的な機能を示した機能ブロック図である。
【図9】入力信号の子音区間のスペクトルパターンを示すスペクトルパターン図の一例である。
【図10】入力信号の子音区間のスペクトルパターンを示すスペクトルパターン図の一例である。
【図11】入力信号の子音区間のスペクトルパターンを示すスペクトルパターン図の一例である。
【図12】入力信号の時間波形図の一例である。
【図13】スペクトルパターンの一例である。
【図14】帯域別平均エネルギーを示す棒グラフの一例である。
【図15】子音区間検出方法の処理の流れを示すフローチャートである。
【図16】第1判定手段判定ステップを説明するためのフローチャートである。
【図17】第2判定手段判定ステップを説明するためのフローチャートである。
【図18】第3判定手段判定ステップを説明するためのフローチャートである。
【発明を実施するための形態】
【0017】
以下に添付図面を参照しながら、本発明の好適な実施形態について詳細に説明する。かかる実施形態に示す寸法、材料、その他具体的な数値等は、発明の理解を容易とするための例示にすぎず、特に断る場合を除き、本発明を限定するものではない。なお、本明細書及び図面において、実質的に同一の機能、構成を有する要素については、同一の符号を付することにより重複説明を省略し、また本発明に直接関係のない要素は図示を省略する。
【0018】
図1、2は、子音区間を説明するための説明図である。特に、図1(a)は音声が含まれる入力信号の時間波形図であり、図1(b)は同じ入力信号の同時間におけるフォルマント表示図である。図1(b)に示すように、母音区間はフォルマントが強く表れるため縞模様がはっきりしているが、子音区間は母音区間とは特性が異なるためフォルマント表示図を見ても子音区間を判断できない。
【0019】
図2(a)に、図1(a)における子音区間を拡大した時間波形図を、図2(b)に、その子音区間のスペクトルパターンをそれぞれ示す。子音は、母音に比べると周波数成分が高い周波数帯域にまで渡っており、ホワイトノイズに近い周波数成分の構成をしている。したがって、図2(b)に示すように、そのスペクトルパターンは周波数帯域が高くなる程、エネルギーが高くなる傾向がある。
【0020】
このように、子音区間には高周波成分が多く含まれるため、その時間波形図における振幅値は正の値と負の値の間を頻繁に推移する特徴がある。その点に注目して子音区間を判定する手段としてゼロクロス法が提案されている。
【0021】
図3及び図4を用いてゼロクロス法を説明する。
図3は、繁華街の交差点におけるノイズを入力信号に重ねて収録した時間波形図であり、図4は、その子音区間を拡大した時間波形図である。図3、4は、図1(a)、図2(a)に示す時間波形図と同じ入力信号である。図3、4に示したような高いノイズ環境下において、ゼロクロス法は誤検出が非常に多くなる。その理由を、入力信号にノイズを含まない場合と、ノイズを含む場合の子音区間を比較して説明する。
【0022】
図5は、入力信号にノイズを含まない場合と、ノイズを含む場合とを対比させた時間波形図である。特に、図5(a)は、ノイズを含まない場合を、図5(b)は、ノイズを含む場合を示し、図5(c)(d)は、それぞれ図5(a)(b)における子音区間を拡大して示す。ゼロクロス法はゼロ値(図5中「−∞」で表す)をクロスする回数の多さを計測し、高周波成分を主体とする子音区間を検出するものである。図5(c)に示すように、ノイズを含まない入力信号の子音区間の時間波形図では、ゼロ値をクロスして正の値の領域と負の値の領域を頻繁に推移する。しかし、ノイズを含む音声信号は特に低周波数領域のノイズが増大すると、図5(d)に示すようにサンプリング点での音圧にオフセットが発生し、ゼロ値をクロスしなくなる。このように、ゼロクロス法はノイズ環境下において、そもそもゼロ値をクロスしない子音区間を検出できない場合がある。
【0023】
図6及び図7を用いて、音声区間判定の方法を説明する。
図6は、ノイズを含まない入力信号に対する音声区間の判定結果である。特に、図6(a)(b)は従来の有声音分析による音声区間判定手段による判定結果を、図6(c)(d)は従来の有声音分析による音声区間判定手段にゼロクロス法による子音区間判定手段を付加した場合の判定結果を示す。図6において、(a)(c)は時間波形図を、(b)(d)は音声区間の判定結果をそれぞれ示す。音声区間の判定結果は、音声区間と判定したときに1、それ以外を0とする。図6の枠線100で示す部分について図6(b)と図7(d)を比較すると理解できるように、ゼロクロス法を用いることで、従来の有声音分析による音声区間判定手段によって検出できなかった枠線100で示す部分を音声区間と判断できる。このように、ノイズを含まない入力信号においてはゼロクロス法での子音区間の検出が可能であることがわかる。
【0024】
図7は、ノイズを含む入力信号に対する音声区間の判定結果である。図7(a)(b)は従来の有声音分析による音声区間判定手段にゼロクロス法による子音区間判定手段を付加した場合の判定結果を示し、図7(c)(d)は従来の有声音分析による音声区間判定手段に本実施形態の子音区間検出装置による子音区間判定手段を付加した場合の判定結果である。図7において、(a)(c)は時間波形図を、(b)(d)は音声区間の判定結果をそれぞれ示す。判定結果は、ゼロクロス法または本実施形態の子音区間検出装置により音声区間と判定した場合を2、従来の有声音分析による音声区間判定手段により音声区間と判定した場合を1、それ以外の場合を0とする。枠線102で示す部分について、図7(b)と図7(d)を比較すると、従来の有声音分析による音声区間判定手段にゼロクロス法を付加することによっても、音声区間と判断されなかった、枠線102で示す部分は、本実施形態の子音区間検出装置による子音区間判定手段を付加したことにより、音声区間と判断されることが理解できる。
【0025】
そこで、以下の実施形態では、比較的高いノイズレベルの環境下においても精度よく子音区間を検出することが可能な子音区間検出装置について詳述し、その子音区間検出装置を用いた子音区間検出方法について説明する。
【0026】
(子音区間検出装置110)
図8は、この発明の実施形態に従った子音区間検出装置110の概略的な構成を説明するための機能ブロック図である。子音区間検出装置110は、フレーム化部120と、スペクトル生成部122と、帯域分割部124と、平均導出部126と、子音判定部128と、ノイズレベル導出部130と、判定選択部132とを含んで構成される。
【0027】
図8に示す収音装置200は、音声を収音し、入力信号に変換してフレーム化部120に出力する。フレーム化部120は、収音装置200から入力された入力信号を、予め定められた時間幅を有するフレーム単位(所定サンプル数長)で順次切り出し、フレーム単位の入力信号(以下、単に「フレーム化入力信号」と称す)を生成する。また、収音装置200から入力される入力信号がアナログ信号である場合、フレーム化部120の前段にADコンバーターを配置しデジタル信号に変換するとしてもよい。そして、フレーム化部120は、生成したフレーム化入力信号を順次、スペクトル生成部122に送信する。
【0028】
スペクトル生成部122は、フレーム化部120から受信したフレーム化入力信号の周波数分析を行い、時間領域のフレーム化入力信号を周波数領域のフレーム化入力信号に変換して、スペクトルを集めたスペクトルパターンを生成する。スペクトルパターンは、所定の周波数帯域に渡って、周波数とその周波数におけるエネルギーとが対応付けられた、周波数毎のスペクトルを集めたものである。ここで用いられる周波数変換法は、特定の手段に限定しないが、音声のスペクトルを認識するために必要な周波数分解能が必要であるため、比較的分解能が高いFFT(Fast Fourier Transform)やDCT(Discrete Cosine Transform)等の直交変換法を用いるとよい。スペクトル生成部122により生成されたスペクトルパターンは、帯域分割部124とノイズレベル導出部130に出力される。
帯域分割部124は、スペクトル生成部122が生成したスペクトルパターンの各スペクトルを、予め定められた帯域幅毎に分割し、複数の分割周波数帯域を生成する。本実施形態において、帯域分割部124は、例えば、800Hz〜3.5kHzの周波数範囲について、例えば、100Hz〜300Hz程度の帯域幅毎に分割する。
【0029】
平均導出部126は、スペクトルパターンにおける、連接する帯域分割部124が分割した分割周波数帯域(バンド)毎の平均エネルギーである帯域別平均エネルギーを導出
する。
【0030】
子音判定部128は、平均導出部126が導出した帯域別平均エネルギー同士を比較し、より高周波数帯域の帯域別平均エネルギー程、高いエネルギーとなっていると、そのフレーム化入力信号に子音が含まれると判定する。 すなわち、子音判定部128は、平均導出部126が導出した帯域別平均エネルギー同士を比較し、第1の周波数帯域の帯域別平均エネルギーが、第1の周波数帯域より低い周波数帯域の第2の周波数帯域の帯域別平均エネルギーに比べて高いエネルギーとなっていることを検出することにより、そのフレーム化入力信号に子音が含まれるかどうかを判定する。
例えば、帯域分割部124により生成された分割周波数帯域を、低い周波数帯域から高い周波数帯域へと順に、帯域0,帯域1、帯域2、帯域3…帯域n-2、帯域n-1、帯域n(nは自然数)とする。平均導出部126は、帯域分割部124により生成された、それぞれの分割周波数帯域の帯域別平均エネルギーを導出する。子音判定部128は、帯域0と帯域1との組み合わせでそれぞれの分割周波数帯域の帯域別平均エネルギーを比較する。同様に、子音判定部128は、帯域1と帯域2との組み合わせ、帯域2と帯域3との組み合わせ、…帯域n-2と帯域n-1との組み合わせ、帯域n-1と帯域nとの組み合わせでそれぞれの分割周波数帯域の帯域別平均エネルギーを比較する。子音判定部128は、例えば、帯域nの帯域別平均エネルギーが帯域n-1の帯域別平均エネルギーより高い場合、すなわち、隣接する分割周波数帯域において高い周波数の分割周波数帯域のほうが、高い平均エネルギーであった組み合わせを検出することにより、その区間のフレーム化入力信号は子音区間であるかどうかを判定する。
【0031】
一般的に、子音はスペクトルパターンが右上がりになる傾向がある。そこで、本実施形態の子音区間検出装置110は、スペクトルパターンにおける帯域別平均エネルギーを導出し、その帯域別エネルギー同士を比較することで子音に特徴的な、スペクトルパターンにおける右上がりの傾向を検出する。そのため、子音区間検出装置110は、入力信号に子音が含まれる子音区間を精度よく検出することができる。
【0032】
子音判定部128は、具体的に、隣接する分割周波数帯域間の帯域別平均エネルギー同士を比較し、、高い周波数の分割周波数帯域の方が隣接する低い周波数の分割周波数帯域より大きい組み合わせを計数し、計数した計数値が、予め定められた第1閾値以上であると、子音が含まれると判定する第1判定手段と、隣接する分割周波数帯域の帯域別平均エネルギー同士を比較し、高い周波数の分割周波数帯域の帯域別平均エネルギーの方が隣接する低い周波数の分割周波数帯域の帯域別平均エネルギーより大きい組み合わせを計数し、更に高い周波数の分割周波数帯域の帯域別平均エネルギーの方が隣接する低い周波数の分割周波数帯域の帯域別平均エネルギーより大きい組み合わせが帯域を跨いで連続する場合に重み付けをして計数し、計数した計数値が、予め定められた第2閾値以上であると、子音が含まれると判定する第2判定手段とを含み、それぞれノイズレベルに応じて使い分ける。
すなわち、第1判定手段は、第1の周波数帯域の帯域別平均エネルギーが、第1周波数より低く第1の周波数帯域に隣接する第2の周波数帯域の帯域別エネルギーより高い周波数帯域であることを判定した第1の周波数帯域と第2の周波数帯域との組み合わせの数を計数し、計数した計数値が、予め定められた第1閾値以上であるかどうかを判定することにより、子音が含まれるかどうかを判定する。
また、第2判定手段は、第1の周波数帯域の帯域別平均エネルギーが、第1の周波数帯域より低く第1の周波数帯域に隣接する第2の周波数帯域の帯域別エネルギーより高い第1の周波数帯域と第2の周波数帯域との組み合わせの数を、その組み合わせが帯域を跨いで連続する場合に重み付けをして計数し、計数した計数値が、予め定められた第2閾値以上であるかどうかを判定することにより、子音が含まれるかどうかを判定する。
【0033】
図9〜11は、それぞれ、入力信号の子音区間のスペクトルパターンを示すスペクトルパターン図の一例である。ノイズレベルが比較的小さい場合、図9に示すように、子音区間のスペクトルパターンは右上がりの傾向が顕著となる。子音判定部128は、第1判定手段を備える構成により、スペクトルパターンの隣接する分割周波数帯域間の帯域別平均エネルギーが、高い周波数の分割周波数帯域の帯域別平均エネルギーの方が隣接する低い周波数の分割周波数帯域の帯域別平均エネルギーより大きい組み合わせの数に基づいて、子音区間を精度よく検出することができる。
【0034】
また、ノイズレベルが比較的大きい場合、図10に示すように、子音区間のスペクトルパターンは単に隣接する分割周波数帯域のみの比較では全体的な右上がりの傾向がノイズに埋もれてしまう。子音判定部128は、第2判定手段を備える構成により、スペクトルパターンの隣接する分割周波数帯域間の帯域別平均エネルギーが、高い周波数の分割周波数帯域の方が隣接する低い周波数の分割周波数帯域より大きい組み合わせについて、特にそのような組み合わせが隣接する帯域間で連続する場合に、1より大きな乗数で重み付けをして計数する。重み付けをすることで、ノイズに埋もれた子音の右上がりの傾向を検出し易くなる。したがって、子音区間検出装置110は、ノイズレベルが比較的大きい場合であっても、計数された値に基づき、子音区間を精度よく検出することができる。
【0035】
ここで、第1判定手段と第2判定手段とを適宜選択すべく、ノイズレベル導出部130は、フレーム化入力信号のノイズレベルを導出する。本実施形態において、導出部130は、スペクトル生成部122からの信号を基に、すべての周波数帯域のエネルギーを所定時間に渡って平均した平均値をノイズレベルとして導出する。また、ノイズレベル導出部130は、平均導出部126が導出した帯域別平均エネルギーに基づき、特定の帯域の帯域別平均エネルギーを所定時間に渡って時間方向に平均し、ノイズレベルを導出してもよい。
また、ノイズレベル導出部130は、フレーム化入力信号毎にノイズレベルを導出してもよい。判定選択部132は、導出されたノイズレベルが第4閾値未満の場合、第1判定手段を選択し、第4閾値以上の場合、第2判定手段を選択する。第4閾値は、例えば、−50〜−40dBとする。
【0036】
子音区間検出装置110は、ノイズレベルが第4閾値未満の場合、ノイズレベルが比較的低いときに精度よく子音区間を検出できる第1判定手段を選択し、ノイズレベルが第4閾値以上の場合、ノイズレベルが比較的高いときでも、精度よく子音区間を検出できる第2判定手段を選択する。そのため、子音区間検出装置110は、ノイズレベルに応じた適切な手段で、子音区間を検出することが可能となる。
【0037】
また、子音判定部128は、隣接する帯域(分割周波数帯域)間の帯域別平均エネルギーが、高い周波数の帯域の方が隣接する低い周波数の帯域より大きい組み合わせを抽出し、抽出した組み合わせ同士を比較し、帯域別平均エネルギーが、高い周波数の帯域の方が大きい組み合わせを計数し、計数した計数値が、予め定められた第3閾値以上であると、子音が含まれると判定する第3判定手段をさらに含んでもよい。
【0038】
ノイズレベルが比較的大きい場合、子音区間のスペクトルパターンは単に隣接する帯域のみの比較ではその右上がりの傾向がノイズに埋もれてしまう場合がある。その上、図11に示すように、部分的に複数個所でエネルギーが落ち込む(谷となる)スペクトルパターンの場合、右上がりの傾向に連続性がなく、第2判定手段のように、連続性に重み付けをしても子音として判定できない。
【0039】
そのため、判定選択部132は、第2判定手段によって子音と判定されなかった場合に第3判定手段を選択する。第3判定手段は、スペクトルパターンの隣接する帯域間の帯域別平均エネルギーが、高い周波数の帯域の方が隣接する低い周波数の帯域より大きい組み合わせを抽出し、抽出した組み合わせ同士においても高い周波数の帯域の方が大きい場合に、即ち、抽出した組み合わせ同士を比較した際により高い周波数の帯域の組み合わせがより低い周波数の帯域の組み合わせより帯域別平均エネルギーが大きい場合に、1より大きな乗数で重み付けをして計数し、計数した計数値が第3閾値以上であった場合に、子音が含まれると判定する。
言い換えると、第3判定手段は、第1の周波数帯域の帯域別平均エネルギーが、第1の周波数帯域より低く第1の周波数帯域に隣接する第2の周波数帯域の帯域別エネルギーより高い第1の周波数帯域と第2の周波数帯域との組み合わせを抽出し、抽出した組み合わせ同士を比較し、第1の組み合わせの帯域別平均エネルギーが、第1の組み合わせより高い周波数の帯域の第2の組み合わせの帯域別平均エネルギーの方が大きい組み合わせの数を計数し、計数した計数値が、予め定められた第3閾値以上であると、子音が含まれると判定する。
【0040】
このように、帯域別平均エネルギーを広帯域に渡って比較することで、ノイズの影響が比較的大きくともスペクトルパターン全体から、右上がりの傾向を計数として数値化できる。そのため、子音区間検出装置110は、計数された値に基づいて、子音区間を精度よく検出可能となる。
【0041】
すなわち、子音判定部128が第2判定手段をもってしても子音と判定しなかった場合、それでもまだ子音区間の検出漏れの可能性がある。そこで、第2判定手段で子音と判定されなかった場合、子音判定部128は、さらに、ノイズの影響を受けにくい第3判定手段を用いて子音の検出を試みる。かかる構成により、子音区間検出装置110は、より確実に子音区間を検出することが可能となる。
【0042】
第2判定手段、第3判定手段について、図12から図13を用いて、さらに説明する。
図12は、入力信号の時間波形図の一例であり、図13は、図12に示す子音区間210の入力信号のスペクトルパターンの一例であり、図14は、図13で示すスペクトルパターンの帯域別平均エネルギーを示す棒グラフの一例である。
【0043】
図12に示す入力信号の子音区間210について、スペクトルパターンを生成すると、図13に示すように、そのままでは右肩上がりの傾向が検出しにくい。しかし、適切な帯域幅毎のエネルギーの平均値である帯域別平均エネルギーを例えば図14のような、棒グラフに示すと、部分的に右肩上がりの傾向があることがわかる。第2判定手段では、このような部分的な右肩上がりの傾向の強さによって子音区間か否かを判定する。また、たとえ、第2判定手段で子音区間であると判定されなかったとしても、第3判定手段によって子音区間と判定されるので、いずれにせよ、子音区間の検出精度を高めることができる。
【0044】
以上、上述したように、本実施形態の子音区間検出装置110によれば、比較的高いノイズレベルの環境下においても精度よく子音区間を検出することができる。
【0045】
(子音区間検出方法)
次に、上述した子音区間検出装置110を用いて入力信号を分析し、子音区間か否かを判定する子音区間検出方法を説明する。
【0046】
図15は、子音区間検出装置110を用いた子音区間検出方法の処理の流れを示すフローチャートである。入力信号の入力がある場合(S300におけるYES)、フレーム化部120は、子音区間検出装置110が取得した入力信号を、所定のフレーム単位で順次切り出し、フレーム化入力信号を生成する(S302)。そして、スペクトル生成部122は、フレーム化部120から受信したフレーム化入力信号の周波数分析を行い、時間領域のフレーム化入力信号を周波数領域のフレーム化入力信号に変換してスペクトルパターンを生成する(S304)。
【0047】
帯域分割部124は、スペクトルパターンの各スペクトルを複数の分割周波数帯域に分割して、各分割周波数帯域に対して0から昇順に番号を振る(S306)。平均導出部126は、スペクトルパターンにおける、連接する分割周波数帯域毎の帯域別平均エネルギーである帯域別平均エネルギーを導出する(S308)。ノイズレベル導出部130は、フレーム化入力信号のノイズレベルを導出する(S310)。子音判定部128は、ノイズレベル導出部130が導出したノイズレベルが第4閾値未満か否かを判定する(S312)。第4閾値未満の場合(S312におけるYES)、子音判定部128は、第1判定手段によって子音区間の判定を行う(S314)。第4閾値以上の場合(S312におけるNO)、子音判定部128は、第2判定手段によって子音区間の判定を行う(S316)。
【0048】
第2判定手段判定ステップS316において、子音区間と判定されたか否かを判定し(S318)、子音区間と判定されなかった場合(S318におけるNO)、子音判定部128は、第3判定手段によって子音区間の判定を行う(S320)。そして、子音判定部128は、子音区間の判定結果(いずれか1の判定手段において子音区間と判定されれば、判定結果は子音区間となる。)を外部装置に出力し(S322)、入力信号判定ステップS300に戻る。
【0049】
続いて、第1判定手段について図16を用いて説明する。図16は、第1判定手段判定ステップS314を説明するためのフローチャートである。第1判定手段判定ステップS314において、帯域には、周波数の低い帯域から順次、0から始まる整数の番号が振られている。
【0050】
子音判定部128は、変数n、countに0を代入して初期化を行い(S350)、番号n+1が振られている帯域の帯域別平均エネルギーが、番号nが振られている帯域の帯域別平均エネルギーより大きいか否かを判定する(S352)。大きい場合(S352におけるYES)、すなわち、着目する帯域より高い周波数の帯域の帯域別平均エネルギーが高い場合、変数countに1を加える(S354)。番号n+1が振られている帯域の帯域別平均エネルギーが、番号nが振られている帯域の帯域別平均エネルギー以下の場合(S352におけるNO)、変数countはそのままとする。
【0051】
そして、子音判定部128は、番号n+2が振られている帯域があるか否かを判定する(S356)。番号n+2が振られている帯域がある場合(S356におけるYES)、子音判定部128は、変数nに1を加え(S358)、エネルギー判定ステップS352に戻る。番号n+2が振られている帯域がない場合(S356におけるNO)、すべての帯域の帯域別平均エネルギーの比較が終了していることとなるので、子音判定部128は、変数countが、予め定められた第1閾値以上であるか否かを判定する(S360)。第1閾値以上である場合(S360におけるYES)、子音判定部128は、子音が含まれると判定する(S362)。また、第1閾値未満である場合(S360におけるNO)、子音判定部128は、子音が含まれないと判定する(S364)。
以上のように第1判定手段では、隣接する帯域間の帯域別平均エネルギーが、高い周波数の帯域の方が隣接する低い周波数の帯域より大きい組み合わせを変数countとして計数し、変数countが、予め定められた第1閾値以上であると、子音が含まれると判定する。
なお、第1閾値は、例えば、4のような値とするが、第1閾値は周波数分解能によって最適な値は異なる。また、第1閾値は子音区間装置が用いられる場所のノイズの種類や、使用される言語によっても最適な値が異なるので、実測値等を考慮して設定することが好ましい。
【0052】
続いて、第2判定手段について図17を用いて説明する。図17は、第2判定手段判定ステップS316を説明するためのフローチャートである。第2判定手段判定ステップS316においても、第1判定手段判定ステップS314と同様、帯域には、周波数の低い帯域から順次、0から始まる整数の番号が振られている。
【0053】
子音判定部128は、変数n、countに0を、pに1を代入して初期化を行い(S400)、番号n+1が振られている帯域の帯域別平均エネルギーが、番号nが振られている帯域の帯域別平均エネルギーより大きいか否かを判定する(S402)。大きい場合(S402におけるYES)、変数countに変数pを加える(S404)。そして、子音判定部128は、変数pに重み付けとして1を加える(S406)。番号n+1が振られている帯域の帯域別平均エネルギーが、番号nが振られている帯域の帯域別平均エネルギー以下の場合(S402におけるNO)、変数countはそのままとし、変数pに1を代入して変数pをリセットする(S408)。
【0054】
そして、子音判定部128は、番号n+2が振られている帯域があるか否かを判定する(S410)。番号n+2が振られている帯域がある場合(S410におけるYES)、子音判定部128は、変数nに1を加え(S412)、エネルギー判定ステップS402に戻る。番号n+2が振られている帯域がない場合(S410におけるNO)、すべての帯域の帯域別平均エネルギーの比較が終了していることとなるので、子音判定部128は、変数countが、予め定められた第2閾値以上であるか否かを判定する(S414)。第2閾値以上である場合(S414におけるYES)、子音判定部128は、子音が含まれると判定する(S416)。また、第2閾値未満である場合(S414におけるNO)、子音判定部128は、子音が含まれないと判定する(S418)。
【0055】
隣接する帯域間で連続して、高い周波数の帯域の帯域別平均エネルギーの方が低い周波数の帯域の帯域別平均エネルギーより高いということは、子音区間の特徴である。上述したように、子音判定部128は、第2判定手段により、右肩上がりの帯域が隣接する帯域間で連続した場合に重み付けをして子音区間の判定を行う。このことにより、子音区間検出装置110はノイズの影響により判定の指標としている変数countの値が低くなり、子音区間でないと判定されてしまう帯域が増加する事態を回避できる。すなわち、子音区間検出装置110は、比較的高いノイズレベルの環境下において、子音区間の検出漏れを抑制することが可能となる。また、第4閾値よりもノイズレベルが低い場合、第2判定手段は実行されないため(図15のステップS312 Yes)、ノイズレベルが比較的低い環境下において、子音区間でない区間を子音区間と誤判定してしまう事態も回避できる。
【0056】
続いて、第3判定手段について図18を用いて説明する。図18は、第3判定手段判定ステップS320を説明するためのフローチャートである。第3判定手段判定ステップS320においても、第1判定手段判定ステップS314と同様、帯域には、周波数の低い帯域から順次、0から始まる整数の番号が振られている。
【0057】
子音判定部128は、変数n、m、k、countに0を代入して初期化を行う(S450)。ここで追加した変数mは隣接する帯域が右肩上がりの際に新しく割り当てられた番号であり帯域組み合わせ番号:省略して「組み合わせ」と呼び、kは右肩上がりが継続していることを示す目印(指標)の一種である。次に番号n+1が振られている帯域の帯域別平均エネルギーが、番号nが振られている帯域の帯域別平均エネルギーより大きいか否かを判定する(S452)。大きい場合(S452におけるYES)、組み合わせ(m)に番号n+1が振られている帯域の帯域別平均エネルギーを代入し、帯域別平均エネルギーが連続して大きくなっていることを担保すべく変数kに1を設定する(S454)。番号n+1が振られている帯域の帯域別平均エネルギーが、番号nが振られている帯域の帯域別平均エネルギー以下の場合(S452におけるNO)、変数kが1であるか否か判定され(S456)、変数kが1であれば連続して右肩上がりの帯域が存在した結果を残すため(S456におけるYES)、変数mに1を加え、kに0を設定する(S458)。組み合わせ(m)には最後に検出された帯域の平均エネルギーが格納される。変数kが1でない、即ち、0であれば(S456におけるNO)、変数mはそのままとし、帯域判定ステップS460に移行する。
【0058】
そして、子音判定部128は、番号n+2が振られている帯域があるか否かを判定する(S460)。番号n+2が振られている帯域がある場合(S460におけるYES)、子音判定部128は、変数nに1を加え(S462)、エネルギー判定ステップS452に戻る。番号n+2が振られている帯域がない場合(S460におけるNO)、すべての帯域の帯域別平均エネルギーの比較が終了していることとなるので、変数mに0を代入してリセットし(S464)、組み合わせ(m+1)の帯域別平均エネルギーが、組み合わせ(m)の帯域別平均エネルギーより大きいか否かを判定する(S466)。大きい場合(S466におけるYES)、すなわち、着目する帯域組み合わせ番号として認定された帯域より高い周波数の帯域の帯域別平均エネルギーが高い場合、変数countに1を加える(S468)。組み合わせ(m+1)の帯域別平均エネルギーが、組み合わせ(m)の帯域別平均エネルギー以下の場合(S466におけるNO)、変数countはそのままとする。
【0059】
そして、子音判定部128は、組み合わせ(m+2)があるか否かを判定する(S470)。組み合わせ(m+2)がある場合(S470におけるYES)、子音判定部128は、変数mに1を加え(S472)、エネルギー判定ステップS466に戻る。組み合わせ(m+2)がない場合(S470におけるNO)、すべての組み合わせの帯域別平均エネルギーの比較が終了していることとなるので、子音判定部128は、変数countが、予め定められた第3閾値以上であるか否かを判定する(S474)。第3閾値以上である場合(S474におけるYES)、子音判定部128は、子音が含まれると判定する(S476)。また、第3閾値未満である場合(S474におけるNO)、子音判定部128は、子音が含まれないと判定する(S478)。
なお、上述したフローチャートでは、説明を簡単にするために、2つの分割周波数帯域のペアで帯域別エネルギーを比較して、右肩上がりを検出して、子音検出を行ったが、例えば、第3判定手段では、連接する分割周波数帯域が3つ以上に渡って、右肩上がり、すなわち高い周波数の分割周波数帯域ほど高い帯域別エネルギーを持つ場合にのみ、他の3つ以上の分割周波数帯域に渡って右肩上がりである周波数区間と比較して、重み付けを行うかどうか決めてもよい。このような設定の最適値は、周波数分解能や、機器の使われる環境や言語の種類によっても変わるので、状況に応じて選択する。
また、第2閾値についても周囲のノイズ成分や言語の種類、更には重み付けの程度にも依存するため、状況に応じて選択する。また、第3閾値の値についても、周囲のノイズ成分や言語の種類、更には重み付けの程度に依存するため、状況に応じて選択する。
【0060】
ノイズレベルが比較的高い環境下において、隣接する帯域間ではノイズの影響により子音の特徴は部分的に失われる場合がある。第3判定手段では、隣接する帯域間の帯域別平均エネルギーではなく、高い周波数の帯域の方が隣接する低い周波数の帯域より大きい組み合わせにおいて、組み合わせの中に存在する最も高い帯域の平均エネルギー同士を比較することで、周波数軸上における広い周波数帯域に渡る子音の特徴を数値化(モデル化)して、子音区間か否かを判定する。この場合には、さらにノイズレベルが比較的高い環境下においても、広い周波数帯域のエネルギー推移を加点して、子音区間の特徴を計数値に反映することが可能となる。なお、第3判定手段では、高い周波数の帯域の方が隣接する低い周波数の帯域より大きい組み合わせにおいて、組み合わせの中に存在する全ての帯域の平均エネルギーを更に平均した平均エネルギー同士を比較してもよい。
【0061】
上述したように、第2判定手段では、連続性に重み付けをする際、同じ回数だけエネルギー平均値が増加した場合、断続的に増加した場合に対し連続的に増加した場合の方が変数pの値は大きくなる。かかる構成により、より子音区間のスペクトルパターンの特徴を捉えた子音区間の検出が可能となる。また、本実施形態において、変数pに加算する値は1としているが、1に限らず、1以上の値でもよいし、1以下の値でもよい。また、第2閾値の値については、変数pの設定値との関連により最適な値を設定する。
例えば、図17に示した例では、変数countに対する重み付けが右肩上がりの帯域が連続する区間が長くなるにつれ、増大していくため、第2閾値は、少なくとも第1閾値よりは大きな値とし、ノイズを誤って子音と判定しないようにしたい場合は、より大きな値を設定する。第2閾値は、周囲ノイズの大きさによっても最適な値が異なる。また、第2閾値は、第4閾値の設定値によっても、最適な値が異なる。
【0062】
さらに、上述した実施形態では、帯域別平均エネルギーを比較する帯域に制限を設けていないが、例えば、ノイズの影響を回避するために、使用状況に応じ比較する帯域の周波数の範囲を限定してもよい。具体的に、一般的にノイズによるエネルギー成分の高い、低い周波数帯域(約1kHz以下)や、周波数解析(スペクトルパターン生成)処理における折り返し歪が含まれ易い、高い周波数帯域(約3.5kHz以上)は排除してもよい。このように、比較する帯域の周波数の範囲を限定する構成により、子音区間検出装置110は、ノイズレベルが比較的高い環境下においても、子音区間の誤検出を抑制できる。
なお、上述した実施形態では平均導出部126は、スペクトルパターンにおける、連接する帯域分割部124が分割した分割周波数帯域(バンド)毎の平均エネルギーである帯域別平均エネルギーを導出したが、平均導出部126は、スペクトルパターンにおける、連接する帯域分割部124が分割した分割周波数帯域(バンド)毎の例えば帯域別最大エネルギーを導出してもよい。すなわち、平均導出部126は、スペクトルパターンにおける、連接する帯域分割部124が分割した分割周波数帯域(バンド)毎の帯域別エネルギーを導出すればよい。
【0063】
以上説明した子音区間検出方法によっても、ノイズレベルに拘らず、入力信号の音声区間を検出することが可能となる。
【0064】
以上、添付図面を参照しながら本発明の好適な実施形態について説明したが、本発明はかかる実施形態に限定されないことは言うまでもない。当業者であれば、特許請求の範囲に記載された範疇において、各種の変更例または修正例に想到し得ることは明らかであり、それらについても当然に本発明の技術的範囲に属するものと了解される。
【0065】
なお、本明細書の子音区間検出方法における各工程は、必ずしもフローチャートとして記載された順序に沿って時系列に処理する必要はなく、並列的あるいはサブルーチンによる処理を含んでもよい。
【産業上の利用可能性】
【0066】
本発明は、入力信号の子音区間を検出する子音区間検出装置および子音区間検出方法に利用することができる。
【符号の説明】
【0067】
110 …子音区間検出装置
120 …フレーム化部
122 …スペクトル生成部
124 …帯域分割部
126 …平均導出部
128 …子音判定部
130 …ノイズレベル判定部
132 …判定選択部
【特許請求の範囲】
【請求項1】
入力信号を予め定められたフレーム単位で切り出し、フレーム化入力信号を生成するフレーム化部と、
前記フレーム化入力信号を、時間領域から周波数領域に変換してスペクトルパターンを生成するスペクトル生成部と、
前記スペクトルパターンにおける、連接する予め定められた帯域幅毎の平均エネルギーである帯域別平均エネルギーを導出する平均導出部と、
導出された前記帯域別平均エネルギー同士を比較し、第1の周波数帯域の帯域別平均エネルギーが、前記第1の周波数帯域より低い周波数帯域である第2の周波数帯域の帯域別エネルギーより高いことを検出することにより、前記フレーム化入力信号に子音が含まれるかどうかを判定する子音判定部と、
を備えることを特徴とする子音区間検出装置。
【請求項2】
前記第1の周波数帯域と、前記第2の周波数帯域は、隣接する帯域であって、
前記子音判定部は、前記第1の周波数帯域の帯域別平均エネルギーが、前記第2の周波数帯域の帯域別エネルギーより高いことを検出した前記第1の周波数帯域と、前記第2の周波数帯域との組み合わせを計数し、計数した計数値が、予め定められた第1閾値以上であるかどうかにより、子音が含まれるかどうかを判定することを特徴とする請求項1に記載の子音区間検出装置。
【請求項3】
前記第1の周波数帯域と、前記第2の周波数帯域は、隣接する帯域であって、
前記子音判定部は、前記第1の周波数帯域の帯域別平均エネルギーが、前記第2の周波数帯域の帯域別エネルギーより高いことを検出した前記第1の周波数帯域と前記第2の周波数帯域との組み合わせを、前記組み合わせが帯域を跨いで連続する場合に重み付けをして計数し、計数した計数値が、予め定められた第2閾値以上であるかどうかにより、子音が含まれるかどうかを判定することを特徴とする請求項1に記載の子音区間検出装置。
【請求項4】
前記第1の周波数帯域と、前記第2の周波数帯域は、隣接する帯域であって、
前記子音判定部は、前記第1の周波数帯域の帯域別平均エネルギーが、前記第2の周波数帯域の帯域別エネルギーより高いことを検出した前記第1の周波数帯域と、前記第2の周波数帯域との組み合わせを抽出し、抽出した前記組み合わせ同士を比較し、第1の組み合わせの帯域別平均エネルギーが、前記第1の組み合わせより低い周波数の帯域の第2の組み合わせの帯域別平均エネルギーより大きい組み合わせの数を計数し、計数した計数値が、予め定められた第3閾値以上であるかどうかにより、子音が含まれるかどうかを判定することを特徴とする請求項1に記載の子音区間検出装置。
【請求項5】
前記第1の周波数帯域と、前記第2の周波数帯域は、隣接する帯域であって、
前記子音判定部は、前記第1の周波数帯域の帯域別平均エネルギーが、前記第2の周波数帯域の帯域別エネルギーより高いことを検出した前記第1の周波数帯域と、前記第2の周波数帯域との組み合わせを計数し、計数した計数値が、予め定められた第1閾値以上であると、子音が含まれると判定する第1判定手段と、前記第1の周波数帯域の帯域別平均エネルギーが、前記第2の周波数帯域の帯域別エネルギーより高いことを検出した前記第1の周波数帯域と、前記第2の周波数帯域との組み合わせを、前記組み合わせが帯域を跨いで連続する場合に重み付けをして計数し、計数した計数値が、予め定められた第2閾値以上かどうかにより、子音が含まれるかどうかを判定する第2判定手段とを含み、
前記フレーム化入力信号のノイズレベルを導出するノイズレベル導出部と、
導出された前記ノイズレベルが第4閾値未満の場合、第1判定手段を選択し、前記第4閾値以上の場合、第2判定手段を選択する判定選択部と、
をさらに備えることを特徴とする請求項1に記載の子音区間検出装置。
【請求項6】
前記第1の周波数帯域と、前記第2の周波数帯域は、隣接する帯域であって、
前記子音判定部は、前記第1の周波数帯域の帯域別平均エネルギーが、前記第2の周波数帯域の帯域別エネルギーより高いことを検出した前記第1の周波数帯域と、前記第2の周波数帯域との組み合わせを抽出し、抽出した前記組み合わせ同士を比較し、前記組み合わせの帯域別平均エネルギーが、第1の組み合わせの帯域別平均エネルギーが、前記第1の組み合わせより低い周波数の帯域の第2の組み合わせの帯域別平均エネルギーより大きい組み合わせの数を計数し、計数した計数値が、予め定められた第3閾値以上であるかどうかにより、子音が含まれるかどうかを判定する第3判定手段をさらに含み、
前記判定選択部は、前記第2判定手段によって子音と判定されなかった場合に前記第3判定手段を選択することを特徴とする請求項5に記載の子音区間検出装置。
【請求項7】
入力信号を予め定められたフレーム単位で切り出し、フレーム化入力信号を生成し、
前記フレーム化入力信号を、時間領域から周波数領域に変換してスペクトルパターンを生成し、
前記スペクトルパターンにおける、連接する予め定められた帯域幅毎の平均エネルギーである帯域別平均エネルギーを導出し、
導出した前記帯域別平均エネルギー同士を比較し、第1の周波数帯域の帯域別平均エネルギーが、前記第1の周波数帯域より低い周波数帯域である第2の周波数帯域の帯域別エネルギーより高いことを検出することにより、前記フレーム化入力信号に子音が含まれるかどうかを判定することを特徴とする子音区間検出方法。
【請求項1】
入力信号を予め定められたフレーム単位で切り出し、フレーム化入力信号を生成するフレーム化部と、
前記フレーム化入力信号を、時間領域から周波数領域に変換してスペクトルパターンを生成するスペクトル生成部と、
前記スペクトルパターンにおける、連接する予め定められた帯域幅毎の平均エネルギーである帯域別平均エネルギーを導出する平均導出部と、
導出された前記帯域別平均エネルギー同士を比較し、第1の周波数帯域の帯域別平均エネルギーが、前記第1の周波数帯域より低い周波数帯域である第2の周波数帯域の帯域別エネルギーより高いことを検出することにより、前記フレーム化入力信号に子音が含まれるかどうかを判定する子音判定部と、
を備えることを特徴とする子音区間検出装置。
【請求項2】
前記第1の周波数帯域と、前記第2の周波数帯域は、隣接する帯域であって、
前記子音判定部は、前記第1の周波数帯域の帯域別平均エネルギーが、前記第2の周波数帯域の帯域別エネルギーより高いことを検出した前記第1の周波数帯域と、前記第2の周波数帯域との組み合わせを計数し、計数した計数値が、予め定められた第1閾値以上であるかどうかにより、子音が含まれるかどうかを判定することを特徴とする請求項1に記載の子音区間検出装置。
【請求項3】
前記第1の周波数帯域と、前記第2の周波数帯域は、隣接する帯域であって、
前記子音判定部は、前記第1の周波数帯域の帯域別平均エネルギーが、前記第2の周波数帯域の帯域別エネルギーより高いことを検出した前記第1の周波数帯域と前記第2の周波数帯域との組み合わせを、前記組み合わせが帯域を跨いで連続する場合に重み付けをして計数し、計数した計数値が、予め定められた第2閾値以上であるかどうかにより、子音が含まれるかどうかを判定することを特徴とする請求項1に記載の子音区間検出装置。
【請求項4】
前記第1の周波数帯域と、前記第2の周波数帯域は、隣接する帯域であって、
前記子音判定部は、前記第1の周波数帯域の帯域別平均エネルギーが、前記第2の周波数帯域の帯域別エネルギーより高いことを検出した前記第1の周波数帯域と、前記第2の周波数帯域との組み合わせを抽出し、抽出した前記組み合わせ同士を比較し、第1の組み合わせの帯域別平均エネルギーが、前記第1の組み合わせより低い周波数の帯域の第2の組み合わせの帯域別平均エネルギーより大きい組み合わせの数を計数し、計数した計数値が、予め定められた第3閾値以上であるかどうかにより、子音が含まれるかどうかを判定することを特徴とする請求項1に記載の子音区間検出装置。
【請求項5】
前記第1の周波数帯域と、前記第2の周波数帯域は、隣接する帯域であって、
前記子音判定部は、前記第1の周波数帯域の帯域別平均エネルギーが、前記第2の周波数帯域の帯域別エネルギーより高いことを検出した前記第1の周波数帯域と、前記第2の周波数帯域との組み合わせを計数し、計数した計数値が、予め定められた第1閾値以上であると、子音が含まれると判定する第1判定手段と、前記第1の周波数帯域の帯域別平均エネルギーが、前記第2の周波数帯域の帯域別エネルギーより高いことを検出した前記第1の周波数帯域と、前記第2の周波数帯域との組み合わせを、前記組み合わせが帯域を跨いで連続する場合に重み付けをして計数し、計数した計数値が、予め定められた第2閾値以上かどうかにより、子音が含まれるかどうかを判定する第2判定手段とを含み、
前記フレーム化入力信号のノイズレベルを導出するノイズレベル導出部と、
導出された前記ノイズレベルが第4閾値未満の場合、第1判定手段を選択し、前記第4閾値以上の場合、第2判定手段を選択する判定選択部と、
をさらに備えることを特徴とする請求項1に記載の子音区間検出装置。
【請求項6】
前記第1の周波数帯域と、前記第2の周波数帯域は、隣接する帯域であって、
前記子音判定部は、前記第1の周波数帯域の帯域別平均エネルギーが、前記第2の周波数帯域の帯域別エネルギーより高いことを検出した前記第1の周波数帯域と、前記第2の周波数帯域との組み合わせを抽出し、抽出した前記組み合わせ同士を比較し、前記組み合わせの帯域別平均エネルギーが、第1の組み合わせの帯域別平均エネルギーが、前記第1の組み合わせより低い周波数の帯域の第2の組み合わせの帯域別平均エネルギーより大きい組み合わせの数を計数し、計数した計数値が、予め定められた第3閾値以上であるかどうかにより、子音が含まれるかどうかを判定する第3判定手段をさらに含み、
前記判定選択部は、前記第2判定手段によって子音と判定されなかった場合に前記第3判定手段を選択することを特徴とする請求項5に記載の子音区間検出装置。
【請求項7】
入力信号を予め定められたフレーム単位で切り出し、フレーム化入力信号を生成し、
前記フレーム化入力信号を、時間領域から周波数領域に変換してスペクトルパターンを生成し、
前記スペクトルパターンにおける、連接する予め定められた帯域幅毎の平均エネルギーである帯域別平均エネルギーを導出し、
導出した前記帯域別平均エネルギー同士を比較し、第1の周波数帯域の帯域別平均エネルギーが、前記第1の周波数帯域より低い周波数帯域である第2の周波数帯域の帯域別エネルギーより高いことを検出することにより、前記フレーム化入力信号に子音が含まれるかどうかを判定することを特徴とする子音区間検出方法。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【公開番号】特開2012−177913(P2012−177913A)
【公開日】平成24年9月13日(2012.9.13)
【国際特許分類】
【出願番号】特願2012−20916(P2012−20916)
【出願日】平成24年2月2日(2012.2.2)
【出願人】(308036402)株式会社JVCケンウッド (1,152)
【Fターム(参考)】
【公開日】平成24年9月13日(2012.9.13)
【国際特許分類】
【出願日】平成24年2月2日(2012.2.2)
【出願人】(308036402)株式会社JVCケンウッド (1,152)
【Fターム(参考)】
[ Back to top ]