(57)【要約】【課題】  頑健な信号の端点検出を行うことができる信号処理装置および方法を提供すること。【解決手段】  まず、フレーム内の信号の存在を検出し、その後、その検出結果を過去のフレームに対する検出結果を用いてスムージングするためのフィルタ（９１）を、現フレームの検出結果に適用する。そして、そのフィルタ（９１）の出力を所定のしきい値と比較し、その比較結果に基づいて現フレームの信号系列の状態を判定する（９０）。【選択図】  図８
2005283634.tif 000002
【特許請求の範囲】
【請求項１】
入力した信号系列を所定時間長のフレームに分割し、フレームごとに前記信号系列の状態を判定する信号処理装置であって、
フレーム内の信号の存在を検出する検出手段と、
前記検出手段による検出結果を過去のフレームに対する前記検出手段による検出結果を用いてスムージングするフィルタと、
前記フィルタの出力を所定のしきい値と比較し、その比較結果に基づいて前記信号系列の状態を判定する状態判定手段と、
を有することを特徴とする信号処理装置。
【請求項２】
前記信号系列が音響信号系列であることを特徴とする請求項１に記載の信号処理装置。
【請求項３】
前記音響信号系列が音声信号系列であることを特徴とする請求項２に記載の信号処理装置。
【請求項４】
前記音声信号系列の状態は、音声状態、非音声状態、非音声状態から音声状態に向かう中間の状態を示す準音声状態、音声状態から非音声状態に向かう中間の状態を示す準非音声状態、の４状態を有することを特徴とする請求項３に記載の信号処理装置。
【請求項５】
前記所定しきい値は、準音声状態と音声状態とを判別するための第１のしきい値と、準音声状態もしくは準非音声状態と非音声状態とを判別するための第２のしきい値とを含み、
前記状態判定手段は、前記フィルタの出力が前記第１のしきい値を超えたときに、前記信号系列の状態が音声状態に遷移したと判定し、前記フィルタの出力が前記第２のしきい値を下回ったときに、前記信号系列の状態が非音声状態に遷移したと判定する
ことを特徴とする請求項４に記載の信号処理装置。
【請求項６】
前記状態判定手段は更に、
前記信号系列の現在の状態が音声状態である場合において前記検出手段により音声の存在が検出されなかったときは、前記信号系列の状態が準非音声状態に遷移したと判定し、
前記信号系列の現在の状態が準非音声状態である場合において前記検出手段により音声の存在が検出されたときは、前記信号系列の状態が音声状態に遷移したと判定する
ことを特徴とする請求項５に記載の信号処理装置。
【請求項７】
前記状態判定手段は更に、
前記信号系列の現在の状態が非音声状態である場合において前記検出手段により音声の存在が検出されたときは、前記信号系列の状態が準音声状態に遷移したと判定する
ことを特徴とする請求項５または６に記載の信号処理装置。
【請求項８】
入力した信号系列を所定時間長のフレームに分割し、フレームごとに前記信号系列の状態を判定する信号処理方法であって、
（ａ）フレーム内の信号の存在を検出するステップと、
（ｂ）上記ステップ（ａ）での検出結果を過去のフレームに対する上記ステップ（ａ）での検出結果を用いてスムージングするためのフィルタリングを行うステップと、
（ｃ）上記ステップ（ｂ）の出力を所定のしきい値と比較し、その比較結果に基づいて前記信号系列の状態を判定するステップと、
を有することを特徴とする信号処理方法。
【請求項９】
前記信号系列が音響信号系列であることを特徴とする請求項８に記載の信号処理方法。
【請求項１０】
前記音響信号系列が音声信号系列であることを特徴とする請求項９に記載の信号処理方法。
【請求項１１】
前記音声信号系列の状態は、音声状態、非音声状態、非音声状態から音声状態に向かう中間の状態を示す準音声状態、音声状態から非音声状態に向かう中間の状態を示す準非音声状態、の４状態を有することを特徴とする請求項１０に記載の信号処理方法。
【請求項１２】
前記所定しきい値は、準音声状態と音声状態とを判別するための第１のしきい値と、準音声状態もしくは準非音声状態と非音声状態とを判別するための第２のしきい値とを含み、
上記ステップ（ｃ）では、上記ステップ（ｂ）の出力が前記第１のしきい値を超えたときに、前記信号系列の状態が音声状態に遷移したと判定し、上記ステップ（ｂ）の出力が前記第２のしきい値を下回ったときに、前記信号系列の状態が非音声状態に遷移したと判定する
ことを特徴とする請求項１１に記載の信号処理方法。
【請求項１３】
上記ステップ（ｃ）は更に、
前記信号系列の現在の状態が音声状態である場合において上記ステップ（ａ）により音声の存在が検出されなかったときは、前記信号系列の状態が準非音声状態に遷移したと判定し、
前記信号系列の現在の状態が準非音声状態である場合において上記ステップ（ａ）により音声の存在が検出されたときは、前記信号系列の状態が音声状態に遷移したと判定する
ことを特徴とする請求項１２に記載の信号処理方法。
【請求項１４】
上記ステップ（ｃ）は更に、
前記信号系列の現在の状態が非音声状態である場合において上記ステップ（ａ）により音声の存在が検出されたときは、前記信号系列の状態が準音声状態に遷移したと判定する
ことを特徴とする請求項１２または１３に記載の信号処理方法。
【請求項１５】
入力した信号系列を所定時間長のフレームに分割し、フレームごとに前記信号系列の状態を判定する信号処理方法をコンピュータによって実現するためのプログラムであって、
（ａ）フレーム内の信号の存在を検出するステップのコードと、
（ｂ）上記ステップ（ａ）での検出結果を過去のフレームに対する上記ステップ（ａ）での検出結果を用いてスムージングするためのフィルタリングを行うステップのコードと、
（ｃ）上記ステップ（ｂ）の出力を所定のしきい値と比較し、その比較結果に基づいて前記信号系列の状態を判定するステップのコードと、
を含むことを特徴とするプログラム。
【請求項１６】
請求項１５に記載のプログラムを格納したコンピュータ読み取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、信号処理装置および方法に関し、特に、音響信号などの信号系列の状態を判定する信号処理装置および方法に関する。
【背景技術】
【０００２】
たとえば音声処理の分野では、音声区間を検出する技術が多くの場面で必要とされる。音声区間の検出は一般に、ＶＡＤ（Voice Activity Detection）と呼ばれている。また、とりわけ音声認識の分野では、単語等の意味のあるひとかたまりの音声部分の始点および終点（端点）を検出する端点検出の技術が重要である。
【０００３】
図１に、ＶＡＤおよび端点検出を含む音声認識の処理例を示す。同図において、ＶＡＤ２２は、音声認識（ＡＳＲ）部２４における音声認識処理で背景雑音を音声として認識してしまうことを防止する役割を果たす。すなわち、ＶＡＤ２２の機能は、雑音を単語として変換してしまう誤りを起こさないようにすることである。加えて、ＶＡＤ２２を設けることにより、一般的に多くの計算機資源を利用する音声認識システムにおいて、システム全体の処理能力をよりうまく管理することが可能になる。例えば、音声により携帯機器などの制御を可能にするのである。具体的には、ＶＡＤは、利用者が発声していない区間と、利用者がコマンドを指示している区間と区別する。この結果、装置は、音声認識を行っていないときは他の機能に専念し、他方、利用者が発声している時は音声認識（ＡＳＲ）に専念するように制御することが可能になる。
【０００４】
また、ＶＡＤ２２および音声認識部２４の前段に設けられる前処理部２１を、図示の如く共通のものとすることができる。そして、本例においては、音声端点検出部２３が、ＶＡＤの信号を利用して、発声の始端および終端と、単語間のポーズとの区別を行う。これは、音声認識部２４では、すべての単語間で間隙のない音声を受け取る必要があるからである。
【０００５】
このような音声区間の検出および端点検出の技術に関しては非常に多くの従来技術が存在するので、以下では、近年の代表的な従来技術に限って説明する。
【０００６】
米国特許第4,696,039号（特許文献１）で提案されている端点検出方法は、本発明の方法に比較的近いものである。ただし、本発明が特許文献１の方法と大きく異なる重要な点は、特許文献１では音声から無音への遷移をカウンタを用いて判断していることである。このカウンタ値が所定値になるのを待つことで確実に無音に遷移したと判断するので、その判断は、実際に無音に遷移した時点から所定時間遅れてされることになる。これに対して、本発明では、状態遷移を判断するのにそのようなカウンタを用いることはない。
【０００７】
米国特許第6,249,757号（特許文献２）に開示されているVAD／始端点検出は、本発明と類似の方法により統合フィルタ（integrating filter）を用いている。しかし、この特許文献２では、２つのフィルタを用いており、また、そのフィルタは音声信号に直接掛けられており、ＶＡＤ尺度あるいは閾値処理された信号に掛けたものではない。
【０００８】
この他、固定された時間長を計ることにより動作する状態系を用いるものもある。米国特許第6,453,285号（特許文献３）は、状態系を含んだＶＡＤの設計について記載している。この状態系は、いくつかの要因に基づいて状態を変えるが、その多くは固定された時間長に基づくものである。米国特許第4,281,218号（特許文献４）は、フレーム数を数えることにより動作する状態系の初期の例である。また、米国特許第5,579,431号（特許文献５）もＶＡＤにより動作する状態系について記載している。しかし、その状態遷移もまた、時間長の計測に基づくものである。さらに、米国特許第6,480,823号（特許文献６）は比較的最近の文献で、多くの閾値を含んだシステムを記載しているが、それらの閾値はエネルギー信号を用いたものである。
【０００９】
また、非特許文献１にも、状態系および閾値の系列についての記載がある。しかし、この状態系もまた、固定された時間長を基にしたものである。
【００１０】
【特許文献１】米国特許第4,696,039号
【特許文献２】米国特許第6,249,757号
【特許文献３】米国特許第6,453,285号
【特許文献４】米国特許第4,281,218号
【特許文献５】米国特許第5,579,431号
【特許文献６】米国特許第6,480,823号
【非特許文献１】Li Zheng, Tsai and Zhou, "Robust endpoint detection and energy normalization for real-time speech and speaker recognition", IEEE transactions on speech and audio processing, Vol. 10, No. 3, March 2002.
【発明の開示】
【発明が解決しようとする課題】
【００１１】
上記の先行技術における状態系に基づいた端点検出方法は、音声の始終端を決定するためにフレームを数えることを必要としている。しかしながら、このような端点検出方法は以下の点で不利な点を抱えている。
【００１２】
マイクロホンを横切るように吹く風の音や足音といった突発性雑音は、通常大きなエネルギーを有するので、ＶＡＤにより音声であると誤判定される場合が多い。この場合、このような雑音に対するＶＡＤの判定結果は、音声と非音声とを短い周期で振動することになる。しかし、実際の音声信号は、無音フレームがいくつか連続した後に有音フレームが連続するのが通常であり、このような実際の状態遷移に応じた２値（音声／非音声）の判別を行うようにしなければ精度のよい端点検出は望めない。その点で、従来のフレームを数える方法は非常に不利である。
【００１３】
また従来技術では、無音フレーム数をカウントして音声の終端を判別する場合において、そのカウント中にわずかに孤立した音声を検出したためにカウンタがリセットされてしまい、そのために有音から無音に遷移したことを認定するのに遅れが生じてしまう場合があるという問題もある。
【００１４】
本発明は、このような従来技術の問題点に対処すべくなされたものであり、頑健な信号の端点検出を行うことができる信号処理装置および方法を提供することを目的とする。
【課題を解決するための手段】
【００１５】
上記した課題は、本発明の信号処理装置および方法によって解決される。本発明の信号処理装置および方法においてはまず、フレーム内の信号の存在を検出する。その後、その検出結果を過去のフレームに対する検出結果を用いてスムージングするためのフィルタリングを行う。そして、そのフィルタの出力を所定のしきい値と比較し、その比較結果に基づいて前記信号系列の状態を判定する。
【発明の効果】
【００１６】
本発明によれば、頑健な信号の端点検出が実現される。
【発明を実施するための最良の形態】
【００１７】
＜用語についての注釈＞
まず、本明細書で使用する用語について定義しておく。
【００１８】
（１）本明細書における「音声区間検出（ＶＡＤ）」とは、１フレームもしくは１サンプル毎に行われる処理であって、１フレームもしくは１サンプル毎に音声の存否を示す情報を生成する処理をいう。
（２）本明細書における「端点検出」とは、単語もしく音声として有意な部分の発声の始点および終点を、ＶＡＤの結果を用いて検出する処理をいう。
（３）「無音」の用語は「非音声」と同じ意味で用いる。よって、この「無音」は、“silence”のみならず“noise（雑音）”を含みうることに留意されたい。本明細書においては、「雑音」、「無音」、ならびに「非音声」は、相互に交換可能なものとして記述している。
また、以下ではいくつかの数式を示して本発明の信号検出処理を説明するが、一般に信号のベクトル表現についてはスカラ値と区別するためにボールド体で表示するところ、以下の説明ではそのように区別する表示態様とはなっていないことに留意されたい。したがって、信号がベクトルを意味するときは「ベクトル」の文字を表示するが、当業者にとってスカラ値との区別が容易であるときは省略する場合もある。
【００１９】
＜実施形態におけるコンピュータシステムの構成＞
以下、図面を参照して本発明の好適な実施形態について詳細に説明する。
【００２０】
さて、本発明は、一般的なコンピュータシステムで実現することができるものである。もちろん、専用のハードウェアロジックにより実現することもできるが、ここではコンピュータシステムで実現するものとする。
【００２１】
図２は、本実施形態に係るコンピュータシステムの構成を示す図である。図示のように、本コンピュータシステムは、システム全体の制御をつかさどるＣＰＵ１、ブートプログラム等を記憶しているＲＯＭ２、主記憶装置として機能するＲＡＭ３をはじめ、以下の構成を備える。
【００２２】
ＨＤＤ４はハードディスク装置であって、ここにＯＳのほか、音声認識プログラム、ならびにその音声認識プログラムに呼び出されて動作する端点検出プログラムが格納されている。もっとも、このコンピュータシステムが別の機器に組み込まれるなどの場合、これらのプログラムはＨＤＤではなくＲＯＭ２に格納しておくことも可能である。ＶＲＡＭ５は表示しようとするイメージデータを展開するメモリであり、ここにイメージデータ等を展開することでＣＲＴ６に表示させることができる。７および８は、入力デバイスとしてのキーボードおよびマウスである。また、９は音声を入力するためのマイクロフォン、１０はマイクロフォン９からの信号をディジタル信号に変換するＡ／Ｄコンバータである。
【００２３】
＜端点検出プログラムの機能構成＞
図３は、端点検出プログラムの機能構成を示すブロック図である。以下では、この機能ブロック図の概要を説明し、その後ブロックの処理毎に詳細な説明を加えることにする。
【００２４】
４２は、入力した時間軸信号（例えば音声に雑音が混入した信号）の特徴抽出を行うモジュールで、入力信号を所定時間長のフレームに分割するフレーム処理モジュール３２およびフレーム信号の特徴量をメル化するメル化処理モジュール３４を含む。３６は、背景雑音を表す信号の定常な状態を追跡する雑音追跡モジュールである。３８は、雑音追跡モジュール３６の処理によって追跡された背景雑音に基づいて入力信号に対する所定の音声区間検出尺度を計算する音声区間検出尺度計算モジュール（以下、「ＶＡＤモジュール」という。）である。ここで、計算された音声区間検出尺度は、次のしきい値比較モジュールに渡されるほか、雑音追跡モジュール３６にもフィードバックされる。これは、雑音追跡モジュール３６に現在の信号が音声であるか非音声であるかを指示するためである。これにより、より正確な雑音追跡が可能になる。
【００２５】
４０は、ＶＡＤモジュール３８より入力した音声区間検出尺度をしきい値と比較することで各フレームにおける音声の存否を判定するしきい値比較モジュールである。音声区間検出尺度については後述するが、例えば、音声区間検出尺度は非音声よりも音声と判定されるフレームに高い値が与えられる。その場合、音声区間検出尺度がしきい値以上であればそのフレームは音声である判断され、逆に、音声区間検出尺度があるしきい値よりも低いときはそのフレームは非音声であると判断されることになる。そして、４４は、しきい値比較モジュール４０による判定結果に基づいて音声の端点を検出する端点検出モジュールである。
【００２６】
（特徴抽出モジュール４２）
マイクロフォン９より入力された音響信号（音声および背景雑音が含まれうる）は、Ａ／Ｄコンバータ１０によって例えば１１．０２５ｋＨｚでサンプリングされ、フレーム処理モジュール３２により、例えば２５６サンプルからなるフレームに分割される。このフレームは例えば１１０サンプル毎に生成される。これにより、これらのフレームは、隣接するフレームとオーバーラップすることになる。この構成によれば、１００フレームでおよそ１秒となる。
【００２７】
各フレームは、ハミング窓処理の後、ハートレー変換処理が行われ、同じ周波数に対応するハートレー変換の２つの出力結果は２乗和がとられ、ぺリオドグラム（periodgram）が形成される。ぺリオドグラムは一般に、パワースペクトル密度（ＰＳＤ：Power Spectral Density）として知られている。２５６サンプルのフレームでは、ＰＳＤは１２８個の値（ｂｉｎ）からなる。
【００２８】
ここではこのように瞬時信号の尺度としてＰＳＤを用いるが、このかわりに、単位時間当たりの零交差回数、信号の大きさ（エネルギー）もしくはパワー、あるいは、フーリエ変換などの周波数表現を用いてもよい。
【００２９】
ＰＳＤは、メル化処理モジュール３４によって、メル帯域の値（ｂｉｎ）を用いてそのサイズが縮小される（例えば３２点）。メル化処理モジュール３４は、等間隔に線形変換された周波数特性を聴覚特性尺度（メル尺度）の空間に変換する。メル化された各点の値は、ＰＳＤが窓をオーバーラップさせて形成されているため、大きな相関ができる。本実施形態においては、このように生成された３２個のメル尺度信号を音声区間検出の特徴量として使用する。音声認識の分野では、メルによる表現は一般的に用いられている。メルスペクトルを対数化処理を行った後、コサイン変換を施すことによりメルケプストラムに変換する、という処理を行うのがその典型的な使われ方である。しかし、この音声区間検出処理では、直接メル化した値を用いる。このように本実施形態では、メル尺度信号を特徴量として用いるが、その他の尺度による特徴量を用いてもよい。
【００３０】
（雑音追跡モジュール３６）
メル尺度信号は、雑音追跡モジュール３６および音声区間検出尺度計算モジュール（以下、「ＶＡＤモジュール」という。）３８に入力される。雑音追跡モジュール３６は、入力されたメル尺度信号において、緩やかに変動する背景雑音を追跡する。
【００３１】
音声区間検出尺度については後ほど詳細に説明するが、本発明は音声区間検出尺度として尤度比を用いる。フレームｆにおける尤度比Ｌfは例えば次式で定義される。
【００３２】
【数１】
2005283634.tif 000003
【００３３】
上式において、ｓ2fはフレームｆにおいて観測された３２次元の特徴｛ｓ12, ｓ22, ..., ｓS2｝で構成されるベクトルである。分子はフレームｆ が音声として検出される確からしさを示す尤度、分母はフレームｆが雑音として検出される確からしさを示す尤度を表している。なお、本明細書で記述される全ての式において、直接スペクトルマグニチュードのベクトルｓf＝｛ｓ1, ｓ2, ..., ｓS｝をスペクトル尺度として用いることも可能ではあるが、ここでは、特に断らない限り、ＰＳＤから計算した特徴ベクトルである２乗として表す。
【００３４】
雑音追跡モジュール３６による雑音の追跡は、典型的には、次の単一極フィルタ型の式で表される。
【００３５】
【数２】
2005283634.tif 000004
【００３６】
だだし、μfは、フレームｆにおける３２次元の雑音推定ベクトルであり、ρμは雑音更新フィルタ成分の特徴量の極であって最低更新値の意味を持つ。
【００３７】
本実施形態の雑音追跡は、次式で定義される。
【００３８】
【数３】
2005283634.tif 000005
【００３９】
なお、スペクトルパワーｓ2のかわりにスペクトルマグニチュードｓを用いる場合には、尤度比は次式で表される。
【００４０】
【数４】
2005283634.tif 000006
【００４１】
上記したとおり、Ｌfはフレームｆにおける尤度比である。ここで、Ｌfを０に近づけると、この雑音追跡は上記した数２の単一極フィルタ型の式となることが分かる。この場合、極は最小追跡率として機能する。一方、Ｌfの値を大きく（１よりも更に大きく）すると、次式に近づくことが理解されよう。
【００４２】
【数５】
2005283634.tif 000007
【００４３】
このように、本実施形態における雑音成分の抽出には、過去のフレームにおける雑音成分の特徴量と、その過去のフレームにおける尤度比とに基づいて雑音を追跡する処理が含まれる。
【００４４】
（ＶＡＤモジュール３８：音声区間検出尺度の計算）
本発明は音声区間検出尺度として数１に示した尤度比を用いることは先述したとおりである。以下では、この尤度比の算出する３つの手法を示す。
【００４５】
（１）最尤法（ＭＬ：Maximum Likelihood method）
最尤法（ＭＬ：Maximum Likelihood method）は、例えば次式により表される。これは例えば、Jongseo Sohnらによる“A Voice Activity Detector employing soft decision based noise spectrum adaptation.”（Proceedings of the IEEE International Conference on Acoustics, Speech and Signal Processing, p. 365-368, May 1998）にも開示されている。
【００４６】
【数６】
2005283634.tif 000008
【００４７】
【数７】
2005283634.tif 000009
【００４８】
よって、
【００４９】
【数８】
2005283634.tif 000010
【００５０】
ここで、 ｋは特徴ベクトルのインデックスであり、Ｓは特徴ベクトルの特徴（ベクトル要素）の個数（本実施形態では３２）である。また、μkは、フレームｆにおける雑音推定ベクトルμfのｋ番目の要素を表し、λkはベクトルλf （後述する）のｋ番目の要素を表し、また、ｓ2kは、ベクトルｓ2fのｋ番目の要素を表している。なお、この算出手順を図示すると、図４のようになる。
【００５１】
この最尤法を用いた音声区間検出尺度の計算では、ベクトル λfのｋ番目の要素の値λkを求める必要がある。このλfは、フレームｆにおける音声の分散（スペクトルパワーｓ2のかわりにスペクトルマグニチュードｓを用いる場合は、標準偏差）の推定値で、同図中、音声分散推定５０により求められる。本実施形態では、次式で表されるスペクトルサブトラクション法によりλfを求める。
【００５２】
【数９】
2005283634.tif 000011
【００５３】
ただし、αおよびβは適当な固定値であり、本実施形態ではそれぞれ、例えば、α＝１．１、β＝０．３である。
【００５４】
（２）最大事後確率法（ＭＡＰ：Maximum a-posteriori method）
ところで、上記（１）の最尤法を用いた計算方法では、ベクトルλfの計算が必要とされる。この計算には、スペクトルサブトラクション法や、判定結果により導出する推定（"decision directed" estimation）のような処理を必要とする。そこで、最尤法を用いるかわりに最大事後確率法（ＭＡＰ：Maximum a-posteriori method）を用いることもできる。ＭＡＰによる方法では、ベクトルλfの計算を避けることができるという利点がある。この計算手順を図示すると、図５のようになる。この場合では、６１で示される雑音尤度計算は、上記の最尤法の場合（図４の５２で示される雑音尤度計算）と同様であるが、音声尤度計算は上記の最尤法と異なり、次式により計算する。
【００５５】
【数１０】
2005283634.tif 000012
【００５６】
ただし、ωは、実験的に決まる事前の信号対雑音比（ＳＮＲ）であり、γ(*, *)は、低域不完全（lower incomplete）ガンマ関数である。この結果、尤度比は次式で表されることになる。
【００５７】
【数１１】
2005283634.tif 000013
【００５８】
本実施形態では、ω＝１００とした。なお、スペクトルパワーｓ2のかわりにスペクトルマグニチュードｓを用いる場合には、尤度比は次式で表される。
【００５９】
【数１２】
2005283634.tif 000014
【００６０】
（３）差分特徴最尤法（Differential feature ML method）
ところで、上記した２つの計算法は、特徴量を直接用いる方法に基づいている。これと異なる方法として、（時間ドメインではなく）特徴量ドメインにおいて、音声区間検出計算を行う前にローパスフィルタを施す方法がある。特徴量がスペクトルの場合には、下記の２つの利点が生まれる。
【００６１】
（ａ）オフセット（ＤＣ）が除去される。つまり、広帯域にわたる雑音成分が除かれることを意味する。これは、手を叩いた音や堅いもの同士が衝突した音などの、短時間の広帯域雑音（インパルス）に対して実質的に有効である。これらの音は、雑音追跡の速度より非常に速い速度である。
（ｂ）また、メル化する処理の導入により生じる、相関を除くことができる。
【００６２】
典型的なローパスフィルタは、次の再帰式により表される。
ｘ’k = ｘk−ｘk+1
ここで、スペクトルの場合には、 ｘk＝ｓ2kである。
【００６３】
本実施形態では例えば、次のように打ち切りを行っている。通常のフィルタでは、ベクトルｘ’を生成することになる。
【００６４】
ｘ’1 = ｘ1−ｘ2，
ｘ’2 = ｘ2−ｘ3，
・・・
ｘ’S-1 = ｘS-1−ｘS
【００６５】
その結果、ベクトルはＳ−１の要素からなることになる。本実施形態で用いた打ち切りフィルタでは、一つおきの値を用い、その結果、ベクトルはＳ／２の要素からなっている。
【００６６】
ｘ’1 = ｘ1−ｘ2，
ｘ’2 = ｘ3−ｘ4，
・・・
ｘ’S/2 = ｘS-1−ｘS
【００６７】
図６は、この計算手順を示す図である。この場合において、７２で計算される音声尤度と７３で計算される雑音尤度との比（尤度比）は、両スペクトルの要素のどちらが大きいのかに依存する。すなわち、ｓ22k-1＞ｓ22kの場合、音声尤度Ｐ（ｓ2f｜speech）および雑音尤度Ｐ（ｓ2f｜noise）はそれぞれ次式で表される。
【００６８】
【数１３】
2005283634.tif 000015
【００６９】
【数１４】
2005283634.tif 000016
【００７０】
しかし、 ｓ22k＞ｓ22k-1の場合には、音声尤度Ｐ（ｓ2f｜speech）および雑音尤度Ｐ（ｓ2f｜noise）はそれぞれ次式で表される。
【００７１】
【数１５】
2005283634.tif 000017
【００７２】
【数１６】
2005283634.tif 000018
【００７３】
したがって、尤度比は次のように表される。
【００７４】
【数１７】
2005283634.tif 000019
【００７５】
なお、スペクトルパワーｓ2のかわりにスペクトルマグニチュードｓを用いる場合には、尤度比は次式で表される。
【００７６】
【数１８】
2005283634.tif 000020
【００７７】
上述の全てのＬfの計算は、次式のとおり定式化される。
【００７８】
【数１９】
2005283634.tif 000021
【００７９】
しかし、一般的には、Ｌfは様々な相関があるので、これらを掛け合わせると非常に大きな値になる。そこで、次式のように、Ｌkを１／（κＳ）乗することにより、これを抑える。
【００８０】
【数２０】
2005283634.tif 000022
【００８１】
これを対数尤度で表現すると、次式のようになる。
【００８２】
【数２１】
2005283634.tif 000023
【００８３】
この場合では、κＳ＝１のとき、各々の要素の尤度の幾何学的な平均を求めていることに相当する。本実施形態においては、対数の形式を用いており、κＳは場合に応じて最適化を行う。ここでは、概ね０．５〜２の間の値をとる。
【００８４】
このようにして計算される尤度比は、しきい値比較モジュール４０に渡されて、しきい値との比較結果に基づいて各フレームの音声／非音声が判別される。
【００８５】
なお、本発明は上述の音声／非音声を判別する処理に限定されるものではなくその他の方法を採用してもよいが、上記の手法は、各フレームの音声／非音声を判別する処理として好適な具体例である。上述のように、音声区間検出尺度として尤度比を用いることで、さまざまな種類の背景雑音に対して耐性のある音声区間検出を行うことができる。とりわけ、尤度比の算出に最大事後確率法（ＭＡＰ）を導入することで、推定されるＳＮＲに対するＶＡＤの調整が容易になる。これにより、レベルの低い音声に高レベルの雑音が混入しても音声を精度よく検出することができる。また、差分特徴最尤法を用いれば、周波数全域にわたりパワーがほぼ等しい雑音（例えば、足音のような振動音や風や息のような聞き分けにくい音を含む。）に対してもロバストな性能が得られる。
【００８６】
（端点検出モジュール４４）
図８は、端点検出モジュール４４の詳細な機能構成を示すブロック図である。図示のように、端点検出モジュール４４は、状態遷移判定モジュール９０、状態フィルタ９１、およびフレームインデックス（frame index）保持部９２を含む構成である。
【００８７】
状態遷移判定モジュール９０は、図９に示すような状態遷移図に従い状態を判定し、その特定の状態遷移が生じたときのフレームインデックスをフレームインデックス保持部９２に保持する。図９に示すように、状態は、非音声状態“SILENCE”８０および音声状態“SPEECH”８２の２状態だけではなく、非音声状態から音声状態に向かう中間の状態を示す準音声状態“POSSIBLE SPEECH”８１、および、音声状態から非音声状態に向かう中間の状態を示す準非音声状態“POSSIBLE SILENCE”８３を有している。
【００８８】
状態遷移判定モジュール９０による状態遷移の判定方法については後述するが、その判定結果は次のようにフレームインデックス保持部９２に保持される。まず、初期状態を図９における“SILENCE”８０とする。この状態において、８４に示されるように、“POSSIBLE SPEECH”８１に状態が遷移した場合、フレームインデックス保持部９２に現在のフレームインデックスが保持される。続いて、状態が、８６に示されるように、“POSSIBLE SPEECH”８１から“SPEECH”８２に遷移すると、保持されているフレームインデックスが音声の始端点として出力される。
【００８９】
さらに状態が、８７に示すように、“SPEECH”８２から“POSSIBLE SILENCE”８３に遷移した場合には、そのときのフレームインデックスが保持される。続いて、状態が、８９に示されるように、“POSSIBLE SILENCE”８３から“SILENCE”に遷移すると、保持されているフレームインデックスが音声の終端点として出力される。
【００９０】
端点検出モジュール４４では、このような状態遷移機構に基づいて状態遷移を判定し、これにより端点を検出する。
【００９１】
以下、状態遷移判定モジュール９０による状態の判定方法について説明するが、本発明の判定方法を説明する前に、従来の状態判定方法を説明しておく。
【００９２】
従来は、例えば、特定の状態遷移があったときに、ＶＡＤにより「音声」と判断されたフレームまたは「非音声」と判断されたフレームの数をカウントし、そのカウント値に基づいて次の状態遷移が生じたかどうかを判断していた。図１１を参照して具体的に説明する。なお、この従来例も図９に示した状態遷移機構を用いるものとする。
【００９３】
図１１において、（Ａ）は端点検出の対象である入力信号、（Ｂ）はＶＡＤ処理による音声区間検出尺度、（Ｃ）は（Ｂ）の音声区間検出尺度のしきい値比較による音声／非音声の判別結果、そして（Ｄ）は状態判定結果を示している。
【００９４】
“SILENCE”８０から“POSSIBLE SPEECH”８１への状態遷移８４、および、“POSSIBLE SILENCE”８３から“SPEECH”８２への状態遷移８８はそれぞれ、直前のフレームが「非音声」と判別され現フレームが「音声」と判別された場合に、直ちに生じる。図１１のｆ1、ｆ3、ｆ6、ｆ8がこれに該当するケースである。
【００９５】
同様に、“SPEECH”８２から“POSSIBLE SILENCE”８３への状態遷移８７は、直前のフレームが「音声」と判別され現フレームが「非音声」と判別された場合に、直ちに生じる。図１１のｆ5、ｆ7、ｆ9がこれに該当するケースである。
【００９６】
一方、“POSSIBLE SPEECH”８１から“SILENCE”８０もしくは“SPEECH”８２への状態遷移８５，８６、ならびに、“POSSIBLE SILENCE”８３から“SILENCE”８０への状態遷移８９については、慎重に判断される。例えば、ｆ1のような“SILENCE”８０から“POSSIBLE SPEECH”８１に状態が遷移した時点から所定フレーム数（例えば12）の間に、「音声」と判断されたフレームの数がカウントされる。この間にカウント値が所定数（例えば8）に達すれば、状態は“SPEECH”８２に遷移したと判断される。逆に、この所定フレーム数の間に上記カウント値が所定数に達しなければ、状態は“SILENCE”８０に戻る。ｆ2では、カウント値が所定数に達しなかったため状態が“SILENCE”に戻ったことが示されている。状態が“SILENCE”に戻った時点でカウント値はリセットされる。
【００９７】
ｆ3では、“SILENCE”８０の状態において、現フレームが「音声」と判別されたことによって、再び“POSSIBLE SPEECH”８１に状態が遷移し、これにより所定フレーム数の間でＶＡＤによって「音声」と判断されたフレームのカウントが開始される。そして、ｆ4で、カウント値が所定数に達したため、ここで状態は“SPEECH”に遷移したと判断される。この“SPEECH”に遷移した時点でカウント値はリセットされる。
【００９８】
また、“SPEECH”８２から“POSSIBLE SILENCE”８３に状態が遷移した時点からＶＡＤによって「非音声」と判断されたフレームが連続する数がカウントされる。この連続数を示すカウント値が所定数（例えば10）に達すれば、状態は“SILENCE”８０に遷移したと判断される。ここで、この上記カウント値が所定数に達する前にＶＡＤによって「音声」と判断されたフレームが検出されたときは、状態は“SPEECH”８２に戻る。“SPEECH”に遷移したので、この時点でカウント値はリセットされる。
【００９９】
従来の状態判定方法は上記のようなものであるが、この手法の欠点が図１１のｆ8〜ｆ10の期間およびｆ3〜ｆ４の期間に現れている。たとえば、ｆ8に示されているように、突発的または孤立的な音声によって、状態は“SPEECH”８２となり、その後まもなく、ｆ9で状態は“POSSIBLE SILENCE”８３に戻っているが、この間にカウンタ値はリセットされているので、ＶＡＤによって「非音声」と判断されたフレームの連続数のカウントはやり直しとなる。そのために、状態が“SILENCE”８０に遷移したと判断されるのに遅れが生じてしまう（ｆ9〜ｆ10）。また、ｆ3〜ｆ４の期間についても、上記したとおり、ｆ3の時点からＶＡＤによって「音声」と判断されたフレームの数のカウントを開始し、固定されたカウント値になったところで状態が“SPEECH”８２に遷移した判断されるので、実際にはその判断は遅れたものとなってしまうケースが多い。
【０１００】
これに対し、本発明では、状態フィルタ９１のフィルタ出力のしきい値比較に基づいて各フレームの状態を判定する。以下、本実施形態による処理を具体的に説明する。
【０１０１】
この端点検出モジュール４４には、音声／非音声の判別結果がしきい値比較モジュール４０より入力される。ここで、判別結果「音声」を１、「非音声」を０とする。しきい値比較モジュール４０より入力された現フレームの判別結果は、状態フィルタ９１において、例えば次式で表されるようなフィルタによってフィルタリングされる。
【０１０２】
Ｖf ＝ ρＶf-1＋（１−ρ）Ｘf
【０１０３】
ただし、ｆはフレームインデックス、Ｖfはフレームｆのフィルタ出力、Ｘfはフレームｆのフィルタ入力（すなわち、フレームｆの音声／非音声の判別結果）、ρはフィルタの極に当たる一定値である。フィルタの極に当たるρはフィルタの特徴を決定するものである。本実施形態では、典型的には、この値は0.99に設定されている。また、Ｖfの初期値には０を与えている（Ｖf＝０）。上式から分かるように、このフィルタは、フィルタ出力をフィードバックする形式のフィルタであって、１フレーム手前のフィルタ出力Ｖf-1と現フレームの新たな入力Ｘf（音声／非音声の判別結果）との重み付け加算となっている。このフィルタによれば、現フレームの２値（音声／非音声）の判別情報が、過去のフレームに対する２値（音声／非音声）の判別情報を用いてスムージングされることが理解されよう。図１０の（Ｄ）に、このフィルタ出力を示す。なお、同図の（Ａ）〜（Ｃ）は、図１１の（Ａ）〜（Ｃ）と同じものである。
【０１０４】
本実施形態における状態遷移判定モジュール９０による状態の判定は次のように行われる。現在の状態が“SILENCE”８０から開始すると仮定する。この状態は通常、しきい値比較モジュール４０による音声／非音声の判定結果は「非音声」を示す。この状態において、“POSSIBLE SPEECH”８１への状態遷移８４は、現フレームがしきい値比較モジュール４０によって「音声」と判別されたことによって生じる（例えば、図１０のｆ11）。この点は上記の従来例と同様である。
【０１０５】
つぎに、“POSSIBLE SPEECH”８１から“SPEECH”８２への遷移８６は、状態フィルタ９１のフィルタ出力が第１のしきい値ＴSを超えたときに生じる（図１０のｆ13）。一方、“POSSIBLE SPEECH”８１から“SILENCE”８０への遷移８５は、状態フィルタ９１のフィルタ出力が第２のしきい値ＴN（ＴN＜ＴS）を下回ったときに生じる（図１０のｆ12）。本実施形態においては、ＴS＝0.5、ＴN＝0.075に設定している。
【０１０６】
状態が音声から非音声に向かって遷移する場合は、つぎのように判定される。“SPEECH”８２では通常、しきい値比較モジュール４０による音声／非音声の判定結果は「音声」を示す。この状態において、“POSSIBLE SILENCE”８１への状態遷移８７は、現フレームがしきい値比較モジュール４０によって「非音声」と判別されたことによって直ちに生じる。
【０１０７】
つぎに、“POSSIBLE SILENCE”８７から“SILENCE”８０への遷移８９は、状態フィルタ９１のフィルタ出力が第２のしきい値ＴNを下回ったときに生じる（図１０のｆ14）。一方、“POSSIBLE SILENCE”８７から“SPEECH”８２への遷移８７は、現フレームがしきい値比較モジュール４０によって「音声」と判別されたことによって直ちに生じる。
【０１０８】
また、状態遷移判定モジュール９０は、状態フィルタ９１のフィルタ出力Ｖfを次のように制御する。まず、“POSSIBLE SPEECH”８１から“SPEECH”８２に状態が遷移したときは、フィルタ出力Ｖfを１に設定する（図１０（Ｄ）のｆ13を参照。）。一方、“POSSIBLE SILENCE”８７から“SILENCE”８０に状態が遷移したときは、フィルタ出力Ｖfを０に設定する（図１０（Ｄ）のｆ12、ｆ14を参照。）。
【０１０９】
このように、本実施形態では、各フレームの状態（音声／非音声判別結果）をスムージングする状態フィルタ９１を導入し、この状態フィルタ９１の出力に対するしきい値判定に基づいて各フレームの状態を判定する。本実施形態では、状態フィルタ９１の出力が第１のしきい値ＴSを超えたときに“SPEECH”状態と判断され、状態フィルタ９１の出力が第２のしきい値ＴNを下回ったときに、“SILENCE”状態と判断される。このように本実施形態では従来例のようにＶＡＤによって「音声」と判断されたフレームまたは「非音声」と判断されたフレームをカウントしそのカウント値が所定値に達したかどうかによって状態遷移を判断することはしないので、この状態遷移の判断の遅れを大幅に小さくすることができる。これにより高精度な端点検出が実現される。
【０１１０】
＜端点検出処理の詳細＞
図７は、本実施形態における端点検出処理を示すフローチャートである。このフローチャートに対応するプログラムはＨＤＤ４に記憶されている端点検出プログラムに含まれ、ＲＡＭ３にロードされた後、ＣＰＵ１によって実行されるものである。
【０１１１】
この処理はＳ１を初期ステップとして開始し、ステップＳ２でフレームインデックス（frame index）を０に設定し、ステップＳ３で、現在のフレームインデックスに対応するフレームを読み込む。
【０１１２】
次に、ステップＳ４で、フレームインデックスが０（初期フレーム）か否かを判断する。ここで、フレームインデックスが０のときはステップＳ１０に進み、音声区間検出尺度としての尤度比を０に設定し、その後、ステップＳ１１で、その初期フレームの値を雑音推定値に設定してステップＳ１２に進む。
【０１１３】
一方、ステップＳ４で、フレームインデックスが０でないと判断された場合には、ステップＳ５に進み、上述した方法で音声の分散の推定を行う。次に、ステップＳ６で、フレームインデックスが所定値（例えば１０）未満であるか否かを判断する。ここで、フレームインデックスが１０未満の場合にはステップＳ８に進み、尤度比＝０を維持する。他方、フレームインデックスが所定値以上の場合にはステップＳ７に進み、音声区間検出尺度としての尤度比を計算する。次に、ステップＳ９で、ステップＳ７またはＳ８で決定された尤度比を用いて雑音推定の更新を行う。このような処理により、雑音推定を信頼性のある値と仮定することが可能になる。
【０１１４】
次に、ステップＳ１２で、しきい値比較モジュール４０によって、尤度比を所定のしきい値と比較して、２値（音声／非音声を示す値）を生成する。ＭＡＰを用いる場合には、しきい値は例えば０であり、他の場合には例えば２．５である。
【０１１５】
次に、ステップＳ１３で、端点検出モジュール４４によって、前述したような音声の端点検出が行われる。
【０１１６】
そして、ステップＳ１４でフレームインデックスをインクリメントしてステップＳ３に戻り、次のフレームについて処理を繰り返す。
【０１１７】
＜他の実施形態＞
上述した実施形態は、音声認識などの音声に関わる内容で説明したが、本発明は例えば、機械などの音や動物の音などの音声以外の音響信号にも適用することが可能である。また、ソナーや動物の音などのように、人には聞くことができないような領域の音響情報にも利用できるものである。さらに、レーダーや無線信号などの電磁波などの信号にも適用が可能である。
【０１１８】
以上、本発明の実施形態を詳述したが、本発明は、複数の機器から構成されるシステムに適用してもよいし、また、一つの機器からなる装置に適用してもよい。
【０１１９】
なお、本発明は、前述した実施形態の機能を実現するソフトウェアのプログラムを、システムあるいは装置に直接あるいは遠隔から供給し、そのシステムあるいは装置のコンピュータがその供給されたプログラムコードを読み出して実行することによっても達成される。その場合、プログラムの機能を有していれば、その形態はプログラムである必要はない。
【０１２０】
従って、本発明の機能処理をコンピュータで実現するために、そのコンピュータにインストールされるプログラムコード自体およびそのプログラムを格納した記憶媒体も本発明を構成することになる。つまり、本発明の特許請求の範囲には、本発明の機能処理を実現するためのコンピュータプログラム自体、およびそのプログラムを格納した記憶媒体も含まれる。
【０１２１】
その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、ＯＳに供給するスクリプトデータ等、プログラムの形態を問わない。
【０１２２】
プログラムを供給するための記憶媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、ＭＯ、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、磁気テープ、不揮発性のメモリカード、ＲＯＭ、ＤＶＤ（ＤＶＤ−ＲＯＭ，ＤＶＤ−Ｒ）などがある。
【０１２３】
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続し、そのホームページから本発明のコンピュータプログラムそのもの、もしくは圧縮され自動インストール機能を含むファイルをハードディスク等の記憶媒体にダウンロードすることによっても供給できる。また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるＷＷＷサーバも、本発明のクレームに含まれるものである。
【０１２４】
また、本発明のプログラムを暗号化してＣＤ−ＲＯＭ等の記憶媒体に格納してユーザに配布し、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせ、その鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。
【０１２５】
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される他、そのプログラムの指示に基づき、コンピュータ上で稼動しているＯＳなどが、実際の処理の一部または全部を行い、その処理によっても前述した実施形態の機能が実現され得る。
【０１２６】
さらに、記憶媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によっても前述した実施形態の機能が実現される。
【図面の簡単な説明】
【０１２７】
【図１】従来のＶＡＤおよび端点検出を含む音声認識の処理例を示す機能ブロック図である。
【図２】本発明の実施形態に係るコンピュータシステムの構成を示す図である。
【図３】本発明の実施形態における端点検出プログラムの機能構成を示すブロック図である。
【図４】最尤法を用いた音声区間検出尺度の計算手順を示す図である。
【図５】最大事後確率法を用いた音声区間検出尺度の計算手順を示す図である。
【図６】差分特徴最尤法を用いた音声区間検出尺度の計算手順を示す図である。
【図７】実施形態における信号検出処理を示すフローチャートである。
【図８】実施形態における端点検出モジュールの詳細な機能構成を示すブロック図である。
【図９】実施形態における状態遷移図の一例を示す図である。
【図１０】実施形態における状態遷移判定処理を説明するための図である。
【図１１】従来の状態遷移判定処理を説明するための図である。
【図１】
2005283634.tif 000024
【図２】
2005283634.tif 000025
【図３】
2005283634.tif 000026
【図４】
2005283634.tif 000027
【図５】
2005283634.tif 000028
【図６】
2005283634.tif 000029
【図７】
2005283634.tif 000030
【図８】
2005283634.tif 000031
【図９】
2005283634.tif 000032
【図１０】
2005283634.tif 000033
【図１１】
2005283634.tif 000034