(57)【特許請求の範囲】
【請求項１】
入力された音声信号から定常ノイズを除去するフィルタと、
このフィルタにより定常ノイズが除去された音声信号について所定の信号区間毎にエネルギー値を算出するエネルギー算出手段と、
このエネルギー算出手段により算出されたエネルギー値に基づいてケプストラム算出の対象とする音声区間を切り出す音声区間切出手段と、
この音声区間切出手段により切り出された音声区間について、ケプストラムを算出し、その高ケフレンシー部に表れるピーク値が所定のスレッシュ値より大きい場合に当該音声区間を音声部分と判断して抽出する音声部分抽出手段と、
この音声部分抽出手段により抽出された音声部分における音声信号について、前記音声部分抽出手段によるケプストラム算出の際に計算されるフーリエ変換の結果をダウンサンプリングし、このダウンサンプリングした値からメルケプストラムを算出し、その低ケフレンシー部を音声の特徴データとして抽出する特徴抽出手段と、
この特徴抽出手段により抽出された特徴データを登録する登録手段と、
新規入力された音声信号について前記音声部分抽出手段及び前記特徴抽出手段によって特徴データを抽出し、この新規入力音声信号の特徴データと前記登録手段により予め登録されている特徴データとをＤＰマッチングにより照合し、その照合結果に基づいて新規入力された音声信号を認証する認証手段と、
を備えることを特徴とする音声認証装置。
【請求項２】
前記認証手段は、前記各特徴データを照合する際、ＤＰマッチングの終点付近の所定範囲内にある複数の点について、各点までのＤＰマッチングの計算値をその点に適した重み付けで正規化し、正規化された各ＤＰマッチングの計算値のうち最適なものを選択してＤＰマッチングの結果とすることを特徴とする請求項１記載の音声認証装置。
【請求項３】
前記認証手段は、前記各特徴データを照合する際、ＤＰマッチングの始点付近の所定範囲内にある複数の点における各特徴データの距離をその点に適した値で重み付けし、その重み付けされた距離のうち最適なものを選択してＤＰマッチングの始点値とすることを特徴とする請求項１記載の音声認証装置。
【請求項４】
前記認証手段による認証の結果、新規入力された音声信号の特徴データが前記登録特徴データと同一であると認証された場合は、その新規入力された音声信号の特徴データを登録特徴データとして、予め登録されている登録特徴データに代えて更新登録する更新登録手段を更に備えることを特徴とする請求項１から３何れかに記載の音声認証装置。
【請求項５】
入力された音声信号から定常ノイズを除去するノイズ除去工程と、
このノイズ除去工程により定常ノイズが除去された音声信号について所定の信号区間毎にエネルギー値を算出するエネルギー算出工程と、
このエネルギー算出工程により算出されたエネルギー値に基づいてケプストラム算出の対象とする音声区間を切り出す音声区間切出工程と、
この音声区間切出工程により切り出された音声区間について、ケプストラムを算出し、その高ケフレンシー部に表れるピーク値が所定のスレッシュ値より大きい場合に当該音声区間を音声部分と判断して抽出する音声部分抽出工程と、
この音声部分抽出工程により抽出された音声部分における音声信号について、前記音声部分抽出工程によるケプストラム算出の際に計算されるフーリエ変換の結果をダウンサンプリングし、このダウンサンプリングした値からメルケプストラムを算出し、その低ケフレンシー部を音声の特徴データとして抽出する特徴抽出工程と、
この特徴抽出工程により抽出された特徴データを登録する登録工程と、
新規入力された音声信号について前記音声部分抽出工程及び前記特徴抽出工程によって特徴データを抽出し、この新規入力音声信号の特徴データと前記登録工程により予め登録されている特徴データとをＤＰマッチングにより照合し、その照合結果に基づいて新規入力された音声信号を認証する認証工程と、
を含むことを特徴とする音声認証方法。
【請求項６】
音声認識装置に用いられるコンピュータを、
入力された音声信号から定常ノイズを除去するフィルタ、
このフィルタにより定常ノイズが除去された音声信号について所定の信号区間毎にエネルギー値を算出するエネルギー算出手段、
このエネルギー算出手段により算出されたエネルギー値に基づいてケプストラム算出の対象とする音声区間を切り出す音声区間切出手段、
この音声区間切出手段により切り出された音声区間について、ケプストラムを算出し、その高ケフレンシー部に表れるピーク値が所定のスレッシュ値より大きい場合に当該音声区間を音声部分と判断して抽出する音声部分抽出手段、
この音声部分抽出手段により抽出された音声部分における音声信号について、前記音声部分抽出手段によるケプストラム算出の際に計算されるフーリエ変換の結果をダウンサンプリングし、このダウンサンプリングした値からメルケプストラムを算出し、その低ケフレンシー部を音声の特徴データとして抽出する特徴抽出手段、
この特徴抽出手段により抽出された特徴データを登録する登録手段、
新規入力された音声信号について前記音声部分抽出手段及び前記特徴抽出手段によって特徴データを抽出し、この新規入力音声信号の特徴データと前記登録手段により予め登録されている特徴データとをＤＰマッチングにより照合し、その照合結果に基づいて新規入力された音声信号を認証する認証手段、
として機能させるためのプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、音声認証装置、音声認証方法、及びプログラムに係り、詳細には、発話者により発話される音声によって個人を認証する音声認証装置、音声認証方法、及びプログラムに関する。
【０００２】
【従来の技術】
従来より、コンピュータシステムやネットワークシステムを使用する際に本人であることを確認するため、認証処理が行われている。
このような認証の手法の一つとして、音声による個人認証がある。また、音声認証処理をコンピュータ等により行わせるための音声認証装置が開発されている。
【０００３】
この種の音声認証装置では、入力されたアナログ音声信号をデジタル音声信号に変換し、このデジタル音声信号から音声区間を切り出し、切り出された音声区間について夫々特徴データを抽出し、予め登録されている音声についての特徴データと照合することにより、入力された音声が、同一人物による音声であるかを認証する。
【０００４】
このような音声認証装置において、入力された音声信号から音声区間を切り出す際は、一般に音声信号のエネルギー値がある程度大きい区間を音声区間として切り出している。そのため、例えば、発話されるまでの非音声区間や、音と音の間の非音声区間についてはエネルギー値が低いため照合の対象から外すことができる。
【０００５】
【発明が解決しようとする課題】
しかしながら、上述のような方法で音声区間を切り出す場合には、エネルギー値に基づいて音声区間であるか非音声区間であるかを判別するため、例えば、マイクに息がかかる等、エネルギー値が大きいにも関わらず音声でない部分については照合の対象から外すことはできなかった。そのため、認証に有用でない音声部分についても認証の対象としてしまい、認証率を損なわせていた。
【０００６】
本発明の課題は、認証に有用な音声部分を的確に抽出して認証率を向上することが可能な音声認証装置、音声認証方法、及びプログラムを提供することである。
【０００７】
【課題を解決するための手段】
このような課題を解決するため、請求項１記載の発明は、
入力された音声信号から定常ノイズを除去するフィルタ（例えば、図３に示すハイパスフィルタ１１１ａ、図６のＳ１１）と、
このフィルタにより定常ノイズが除去された音声信号について所定の信号区間毎にエネルギー値を算出するエネルギー算出手段（例えば、図３に示すエネルギー算出処理部１１２ａ、図６のＳ１２）と、
このエネルギー算出手段により算出されたエネルギー値に基づいてケプストラム算出の対象とする音声区間を切り出す音声区間切出手段（例えば、図３に示す音声区間切り出し部１１３ａ、図６のＳ１５〜Ｓ１７）と、
この音声区間切出手段により切り出された音声区間について、ケプストラムを算出し、その高ケフレンシー部に表れるピーク値が所定のスレッシュ値より大きい場合に当該音声区間を音声部分と判断して抽出する音声部分抽出手段（例えば、図２に示す特徴抽出処理部１１ｂ、図４の１１１ｂ〜１１３ｂ、１１８ｂ、図７のＳ２１〜Ｓ２５）と、
この音声部分抽出手段により抽出された音声部分における音声信号について、前記音声部分抽出手段によるケプストラム算出の際に計算されるフーリエ変換の結果をダウンサンプリングし、このダウンサンプリングした値からメルケプストラムを算出し、その低ケフレンシー部を音声の特徴データとして抽出する特徴抽出手段（例えば、図２に示す特徴抽出処理部１１ｂ、図４の１１４ｂ〜１１７ｂ，図７のＳ２６〜Ｓ３１）と、
この特徴抽出手段により抽出された特徴データを登録する登録手段（例えば、図２に示す登録データバッファ１１ｃ、図５のＳ６）と、
新規入力された音声信号について前記音声部分抽出手段及び前記特徴抽出手段によって特徴データを抽出し、この新規入力音声信号の特徴データと前記登録手段により予め登録されている特徴データとをＤＰマッチングにより照合し、その照合結果に基づいて新規入力された音声信号を認証する認証手段（例えば、図２に示す特徴照合部１１ｄ、図５のＳ７、図９のＳ６１〜Ｓ６７）と、
を備えることを特徴としている。
【００１１】
【発明の実施の形態】
以下、図を参照して本発明に係る音声認証装置の実施の形態を詳細に説明する。
【００１２】
まず構成を説明する。
図１は、本願発明の音声認証装置の回路構成図である。
本実施の形態において音声認証装置１は、ＣＰＵ（Central Processing Unit）１０、入力部１２、表示部１３、通信制御部１４、音声入力部１５、ＲＡＭ（Random Access Memory）１６、ＲＯＭ（Read Only Memory）１７、外部記憶装置１８、及び記録媒体１９によって構成されており、記録媒体１９を除く各部はバス２０によって接続されている。
【００１３】
ＣＰＵ１０は、ＲＯＭ１７または外部記憶装置１８に記憶されている当該音声認証装置１に対応する各種アプリケーションプログラムの中から指定されたアプリケーションプログラム、入力部１２または音声入力部１５から入力される各種指示をＲＡＭ１６内のワークメモリに格納し、この入力指示及び入力データに応じてＲＡＭ１６内に格納したアプリケーションプログラムに従って各種処理を実行し、その処理結果をＲＡＭ１６内のワークメモリに格納するとともに、表示部１３に表示する。そして、ワークメモリに格納した処理結果を入力部１２から指示される外部記憶装置１８内の保存先に保存する。
【００１４】
また、ＣＰＵ１０は、音声入力部１５から入力された音声について認証処理を実行する音声認証処理部１１を備える。
図２は、音声認証処理部１１の構成を示す機能ブロック図である。
図２に示すように、音声認証処理部１１は、音声区間切り出し処理部１１ａ、特徴抽出処理部１１ｂ、登録データバッファ１１ｃ、及び特徴照合部１１ｄにより構成される。
【００１５】
音声認証処理部１１には、デジタル化された音声信号が入力音声として入力される。入力音声は、まず音声区間切り出し処理部１１ａによってエネルギー値に基づいて音声区間が切り出され、その後、特徴抽出処理部１１ｂによって、その音声区間の特徴データが抽出される。抽出された特徴データは、登録モードであれば登録データバッファ１１ｃに送出され保存される。また、認証モードであれば特徴照合部１１ｄに送出され、登録データバッファ１１ｃに予め保存されている特徴データと照合されて、その照合結果が出力される。
【００１６】
照合の結果、入力された音声と登録されている音声の各特徴データが同一と照合された場合は、同一人物による音声であると認証するとともに、新たに入力された音声の特徴データを登録データバッファ１１ｃに送り、登録されている特徴データに代えて更新登録する。
【００１７】
図３は音声区間切り出し処理部１１ａの具体的な構成例、及びエネルギーのスレッシュ値の一例を説明する図である。
【００１８】
図３（ａ）に示すように、音声区間切り出し処理部１１ａは、ハイパスフィルタ１１１ａ、エネルギー算出処理部１１２ａ、及び音声区間切り出し部１１３ａによって構成される。
入力音声は、まずハイパスフィルタ１１１ａによってその直流成分が除去される。このとき１００Hz程度のハイパスフィルタをかけることで定常ノイズを除去する。ハイパスフィルタ１１１ａは、例えば次式（１）で表されるものを用いればよい。
【００１９】
H(z)=(0.46-0.93z-1+0.46z-2)/(1-1.91z-1+0.91z-2)    ・・・・（１）
【００２０】
ハイパスフィルタ１１１ａにより定常ノイズが除去された入力音声は、次に、エネルギー算出処理部１１２ａにより、一定サンプル毎、即ち各信号区間毎にエネルギー値の対数が計算される。以下の説明において一定サンプルの各信号区間をフレームという。各フレームのエネルギー値Ｅの算出式を次式（２）に示す。
【００２１】
【数１】
0004244524.tif 000002
【００２２】
ここで、Ｓiはサンプル値、ｎは各フレームのサンプル数を示し、例えば、ｎ＝１００等とすればよい。
エネルギー値Ｅを算出する際に対数をとることで、音声区間を精度よく切り出すことができる。
【００２３】
エネルギー算出処理部１１２ａは、上式（２）を入力音声の全信号（全フレーム）にわたって計算する。発話者がマイク（音声入力部１５）に十分接近して発声している場合には、音声区間は非音声区間に比べて十分にエネルギーが高い。そこで、エネルギー算出処理部１１２ａは、各フレームのエネルギーＥのレンジを計算し、算出したエネルギー値Ｅからスレッシュ値Ｅｔを算出する。
【００２４】
図３（ｂ）にエネルギーのスレッシュ値Ｅtの一例を示す。図３（ｂ）に示すように、例えば、全フレームのエネルギー値Ｅのレンジ（Ｅmin≦Ｅ≦Ｅmax）の１／２以上のエネルギーを持つフレームを音声区間とみなす場合には、スレッシュ値Ｅtは以下の式（３）で表される。
【００２５】
Ｅt＝（Ｅmax-Ｅmin）/２＋Ｅmin    ・・・・・・（３）
ここで、Ｅmaxはエネルギーの最大値であり、Ｅminはエネルギーの最小値である。
なお、この例ではエネルギーのスレッシュ値Ｅtを全フレームにおけるエネルギーのレンジの１／２としているが、これに限定されるものではない。
【００２６】
次に音声区間切出し部１１３ａはエネルギー算出処理部１１２ａにより算出された各フレームのエネルギー値Ｅをスレッシュ値Ｅtと比較し、エネルギーＥがスレッシュ値Ｅtより大きいフレームを音声区間とみなし、またスレッシュ値Ｅt以下となるフレームを非音声区間とみなす。そして、音声区間とみなされたフレームを切出し、特徴抽出処理部１１ｂへ出力する。
【００２７】
特徴抽出処理部１１ｂは、音声の特徴データとしてケプストラムＣ（τ）及びメルケプストラムを算出する。ケプストラムとは、波形の短時間スペクトルの対数の逆フーリエ変換として定義され、次式（４）で表される。ケプストラムの横軸はケフレンシーと呼ばれる。また、メルケプストラムとはメル軸に変換されたケプストラムをいい、聴力特性に近似した特徴を表すことが知られている。
【００２８】
Ｃ（τ）＝IFFT（LOG|FFT(ｘ(t))|）    ・・・・・（４）
ここで、FFT()はフーリエ変換、IFFT()は逆フーリエ変換、ｘ(t)は入力信号である。
【００２９】
図４は、特徴抽出処理部１１ｂによる特徴抽出の手順を示す図である。
まず、入力音声ｘ(ｔ)をフーリエ変換（ＦＦＴ；Fast Fourier Transform）する（１１１ｂ）。ここでは、ケプストラムの高ケフレンシー部に表れるピークに、８０Hz程度の低い音声まで表現可能とするため、ある程度細かい精度でフーリエ変換する。具体的には、例えば１１kHzでサンプリングした音声信号であれば５１２点のフーリエ変換を行えばよい。
【００３０】
次に、フーリエ変換されたスペクトルの絶対値|Ｘ(ｔ)|の対数を取り、逆フーリエ変換して、ケプストラムＣ(τ)を算出する（１１２ｂ）。ケプストラムの高ケフレンシー部には入力信号の基本周波数がピークとして表れる。
そこで、特徴抽出処理部１１ｂはケプストラムの高ケフレンシー部を抽出し（１１３ｂ）、その高ケフレンシー部に表れるピーク値が所定のスレッシュ値よりも小さければ基本周波数が存在しない、即ち音声でない（有声音でない）と判定する。ピーク値が所定のスレッシュ値以上であれば音声部分（有声音）と判定する。
【００３１】
具体的には、例えばケプストラムの３０次以降を高ケフレンシー部とし、ピーク値のスレッシュ値は０．１とすればよい。
音声部分と判定された音声信号はその後、特徴データの抽出対象となる（１１８ｂ）。
【００３２】
一方、ケプストラムＣ(τ)の低ケフレンシー部にはスペクトラム包絡の情報が含まれ、やや粗くケプストラムを算出する方が個人差を表現しやすい。
【００３３】
そこで、特徴抽出処理部１１ｂは、高ケフレンシー部に現れるピーク値に基づき音声部分として抽出された音声信号について、やや粗いケプストラムを算出し（１１４ｂ、１１５ｂ）、そのケプストラムを聴力特性と近似するためにメル軸に変換し（１１６ｂ）、変換されたメル軸のケプストラム（以下、メルケプストラムという）の低ケフレンシー部を抽出し（１１７ｂ）、特徴データとして音声認証に利用する。
【００３４】
粗いケプストラムを算出するため、具体的には、例えば図４に示すように、細かいケプストラムを算出した際に既に算出されているフーリエ変換の結果をダウンサンプリングし（１１１ｂ→１１４ｂ）、その値を利用してケプストラムを算出する。
【００３５】
メルケプストラム係数は、ケプストラム係数Ｃnにより次の再帰式を用いて近似的に算出される。メルケプストラムの算出式を次式（５）に示す。
【００３６】
【数２】
0004244524.tif 000003
【００３７】
ここで、Ｃnはケプストラム係数、Ｎはケプストラムの次元数、ｉ，ｊは夫々｛i｜0,1,…,N｝、｛j｜0,1,…,N｝である。また、αはサンプリング周波数に依存した値であり、サンプリング周波数が８kHzのときはα＝0.31、10kHzのときはα＝0.35に設定する。この再帰式を計算すると、MCk0にメルケプストラムが代入される。
ここではメルケプストラムの例えば３０次までを低ケフレンシー部とする。
【００３８】
特徴抽出処理部１１ｂは、抽出された音声部分のやや粗く算出されたメルケプストラムの低ケフレンシー部を音声の特徴データとし、登録モードであれば登録データバッファ１１ｃに送出し、認証モードであれば特徴照合部１１ｄに送出する。
【００３９】
登録データバッファ１１ｃには、やや粗く算出されたメルケプストラムの低ケフレンシー部が登録特徴データとして記憶される。
【００４０】
特徴照合部１１ｄは、特徴抽出処理部１１ｂから供給される新たに入力された音声についての特徴データ（やや粗く算出されたメルケプストラムの低ケフレンシー部）を、登録データバッファ１１ｃに登録されている登録特徴データと照合する。
【００４１】
ここで、特徴照合処理について説明する。
特徴照合にはＤＰマッチングを利用する。
ＤＰマッチングとは、時間長の変動を動的計画法（ＤＰ：Dynamic Programming）を用いて時間正規化する手法である。以下、ＤＰマッチングについて簡単に説明する。
【００４２】
対応すべき２つのベクトルの系列を次のように表す。
Ａ＝ａ1，ａ2，…，ａI
Ｂ＝ｂ1，ｂ2，…，ｂJ
【００４３】
Ａ，Ｂ両パターンの時間軸の対応付けは、ベクトルＡ、Ｂからなる平面の格子点の系列で表される。
即ち、マッチングでは、（ａ1，ｂ1）から始まり、（ａI，ｂJ）まで到達する交点の系列を算出する。交点の系列Ｆは次のように表される。
Ｆ＝ｃ1，ｃ2，…，ｃk，…，ｃK          ｃk＝（ｉk，ｊk）
【００４４】
また、Ａ，Ｂ間の各ベクトルの組（ａi，ｂj）間の距離をｄ（ｉ，ｊ）で表すと、交点の系列Ｆに沿ったＡ，Ｂの距離の総和Ｄ（Ｆ）は次の式（６）で表される。
【００４５】
【数３】
0004244524.tif 000004
【００４６】
ここで、ｗkは重み付け関数である。
このＤ（Ｆ）の値が小さいほど、ＡとＢの対応付けがよいこととなる。
【００４７】
単調連続性条件として、
０≦ｉk−ｉk-1≦１
０≦ｊk−ｊk-1≦１
境界条件として、
ｉ1＝ｊ1＝１
ｉK＝Ｉ，ｊK＝Ｊ
を導入し、これらの条件を満たす範囲で、上式（６）に示すＤ（Ｆ）が最小となる交点系列Ｆを算出すればよい。
【００４８】
ＤＰマッチング時の重みとして、市街化距離を採用すると、
ｗk＝（ｉk−ｉk-1）＋（ｊk−ｊk-1），（ｉ0＝ｊ0＝０）
となる。
このとき、Ｄ（Ｆ）は次の式（７）に簡略化される。
【００４９】
【数４】
0004244524.tif 000005
【００５０】
ＤＰマッチングにより最小のＤ（Ｆ）を算出し、この算出した結果値が所定のスレッシュ値未満となる場合は、新規入力された音声が登録されている音声に一致すると判定する。例えば、１０kHz程度でサンプリングした音声についてユークリッド距離を採用し、その重み付けとして市街化距離を採用したＤＰマッチングを行う場合は、スレッシュ値を０．７程度とすればよい。
【００５１】
以上の説明がＤＰマッチングの簡単な説明である。
本実施の形態では、照合すべきデータは予め登録された登録特徴データ（ベクトル列）と新規入力音声の特徴データ（ベクトル列）である。
まず、特徴照合部１１ｄは各特徴データの各点（ベクトル）間の距離ｄ（ｉ，ｊ）を算出する。ベクトル間距離は、例えばユークリッド距離を用いる。
各ベクトルの要素を
ａ＝｛ｘ1，…，ｘN｝
ｂ＝｛ｙ1，…，ｙN｝
とすると、ユークリッド距離ｄは、以下の式（８）で表される。
【００５２】
【数５】
0004244524.tif 000006
【００５３】
上述のＤＰマッチングの説明では(ａ1，ｂ1)から（ａI，ｂJ）までのＤ（F）を算出することとしているが、これはベクトル列ＡとＢの長さだけが異なり、始点と終点が一致している場合に適用するものである。
【００５４】
ところが、音声では「サ行」や「シャ行」のように徐々にフェードインし、音声区間の切り出し方によって、照合すべき２つの音声の始点が必ずしも一致しない場合がある。そのため、本実施の形態では、特徴照合部１１ｄはＤＰマッチングの始点付近の複数の点群（以下、初期点群という）から最適な始点を選択する。
【００５５】
即ち、（ａ1，ｂ1）だけでなく、（ａ1，ｂ2），…，（ａ1，ｂs）や、（ａ2，ｂ１），…，（ａs，ｂ1）等の所定範囲内に含まれる複数の点を初期点群とし、この初期点群に含まれる各点については、ベクトル間距離を算出する際に各点に適した重み付けを行う。
例えば点（ａp，ｂq）でのベクトル間距離ｄ（ａp，ｂq）に対して、（ｐ＋ｑ）の重みを掛ける。即ち、点（ａp，ｂq）でのスコアは、（ｐ＋ｑ）×ｄ（ａp，ｂq）として算出される。そして、上記初期点群の各点についてスコアを計算し、最小の値を最適な初期値とし、その点を始点として選択する。
【００５６】
また、延音で終わる単語は照合すべき２つの音声の終点が必ずしも一致しない場合がある。そのため、特徴照合部１１ｄはＤＰマッチングの終点付近の複数の点群（以下、終点群という）から終点として最適な点を選択し、その点におけるＤＰマッチングの値をその点に適した重み付けで正規化し、ＤＰマッチングの結果とする。
【００５７】
即ち、（ａI，ｂJ）だけでなく、（ａI，ｂJ-1），…，（ａI，ｂJ-s）や、（ａI-1，ｂJ），…，（ａI-s，ｂJ）等の所定範囲内に含まれる複数の点を終点群とし、終点群に含まれる各点までのＤＰマッチングの結果（スコア）を算出し、それらスコアを比較して最小となる点を終点として選択する。また、選択された終点に適した重み付けでその点におけるＤＰマッチングの結果値を正規化する。例えば、点（ａp，ｂq）を終点とした場合には、その点のスコアＳを（ｐ＋ｑ）で割る、即ちＳ／（ｐ＋ｑ）を計算することにより正規化し、ＤＰマッチングの結果とする。
【００５８】
また、上記初期点群、終点群の範囲、即ち上記のｓの値はＦＦＴ窓のシフト量に依存するが、例えば、1/100sec程度の点を取ることにすればよい。
【００５９】
特徴照合部１１ｄは、登録特徴データと、新規入力された音声の特徴データと、について上述のようなＤＰマッチングによる照合処理を行い、その照合結果をＣＰＵ１０に出力する。ＣＰＵ１０は照合結果に応じた処理を実行する。
【００６０】
照合結果により両特徴データが同一であると認証された場合は、新規入力された音声の特徴データを、予め登録されている登録特徴データに代えて登録データバッファ１１ｃに更新登録させる。
また、照合結果により両特徴データが同一でないと認証された場合は、例えばこの音声認証装置１に接続されたコンピュータシステムの利用を禁止させる処理等を実行する。
【００６１】
入力部１２は、カーソルキー、数字入力キー及び各種機能キー等を備えたキーボード、及びマウスを含み、キーボードで押下された押下信号やマウスの位置信号をＣＰＵ１０に出力する。
【００６２】
表示部１３は、ＣＲＴ（Cathode Ray Tube）、またはＬＣＤ（Liquid Crystal Display）等により構成され、ＣＰＵ１０から入力される表示指示に従って各種表示データの画面表示を行う。
【００６３】
通信制御部１４は、モデム（ＭＯＤＥＭ：MOdulator/DEModulator ）またはターミナルアダプタ（ＴＡ：Terminal Adapter）等によって構成され、通信回線を介して外部機器との通信を行うための制御を行う。
【００６４】
音声入力部１５は、マイク、及びＡ／Ｄ変換器により構成され、発話者によりマイクに対して入力された音声のアナログ信号をデジタル音声信号に変換し、音声認証処理部１１へ出力する。
【００６５】
ＲＡＭ１６は、指定されたアプリケーションプログラム、入力指示、入力データ及び処理結果等を格納するメモリ領域を有する。
【００６６】
ＲＯＭ１７は、音声認証装置１に対応する基本プログラムを格納している。すなわち、音声認証装置１の電源がＯＮ状態にされた際に実行する初期プログラム、各種演算プログラム、各処理モードにおいて実行される処理プログラム等の書き換え不要な基本プログラムを格納している。
【００６７】
外部記憶装置１８は、プログラム、データ等が予め記憶されており、この外部記憶装置１８は磁気的、光学的記録媒体、若しくは半導体メモリ等ＣＰＵで読取り可能な記録媒体１９を含んだ構成である。この記録媒体１９はＣＤ−ＲＯＭ、メモリカード等の可搬型の媒体やハードディスク等の固定的な媒体を含む。また、この記録媒体１９に格納するプログラム、データ等は、その一部若しくは全部をサーバやクライアントからＷＡＮ、ＬＡＮなどのネットワークを介して通信制御部１４から受信する構成にしてもよく、更に、前記記録媒体１９はネットワーク上に構築されたサーバやクライアントの記録媒体であってもよい。
【００６８】
次に動作を説明する。
後述する各フローチャートは本願発明の音声認証装置を構成するコンピュータに各機能を実現させるためのプログラムを説明するためのものである。このプログラムはＣＰＵ１０が読取り可能なプログラムコードの形態で前記記録媒体１９に格納されている例で説明するが、全ての機能を前記記録媒体１９に格納する必要はなく、必要に応じて、その一部若しくは全部をネットワークを介して通信制御部１４から受信して実現するようにしてもよい。
【００６９】
図５は音声認証装置１における音声認証処理の全体的な流れを説明するフローチャートである。
【００７０】
まず、ユーザは音声入力部１５に対して所定の音声を発話する（ステップＳ１）。音声入力部１５は入力された音声のアナログ信号を所定のサンプリング周波数で標本化し、量子化し、符号化することにより、デジタル音声信号に変換し、変換されたデジタル音声信号を入力音声として音声認証処理部１１へ送出する（ステップＳ２）。
【００７１】
音声認証処理部１１では、まず音声区間切り出し処理部１１ａにより入力音声からエネルギー値に基づいて音声区間を切り出す処理を行う（ステップＳ３）。
ここで、音声区間切り出し処理について図６を参照して説明する。
図６は音声区間切り出し処理を説明するフローチャートである。
図６に示すように、音声区間切り出し処理では、まず、ハイパスフィルタ１１１ａにより入力音声から直流成分、及び定常ノイズを除去する（ステップＳ１１）。
次に、エネルギー算出部１１２ａによって入力音声の一定サンプル毎の各区間（フレーム）のエネルギー値を算出し（ステップＳ１２）、対数処理を行う（ステップＳ１３）。例えば、１００サンプル毎の区間（フレーム）に区切り、エネルギー値を算出する（上式（２）参照）。
【００７２】
入力音声の信号全域に渡って、各フレームのエネルギー値を算出すると（ステップＳ１４；Ｙｅｓ）、次に音声区間切り出し処理部１１ａは、算出した各フレームのエネルギー値から、音声区間か或いは非音声区間かのスレッシュ値Ｅtを算出する（ステップＳ１５）。スレッシュ値Ｅtは、エネルギー値のレンジ（Ｅmin≦Ｅ≦Ｅmax）の例えば１／２とすればよい（上式（３）参照）。
【００７３】
そして、音声区間切り出し部１１３ａは各フレームのエネルギー値Ｅがスレッシュ値Ｅtより大きいか否かを判別し（ステップＳ１６）、スレッシュ値Ｅtより大きければ（ステップＳ１６；Ｙｅｓ）、そのフレームを音声区間として切り出す（ステップＳ１７）。また、エネルギー値Ｅがスレッシュ値Ｅt以下であれば、そのフレームは非音声区間であるとみなし、以降のケプストラム計算の対象としない。
【００７４】
全区間（フレーム）についてエネルギー値に基づく音声区間の切り出しが終了すると（ステップＳ１８；Ｙｅｓ）、一連の音声区間切り出し処理を終了し、図５のステップＳ４へ移行する。
【００７５】
音声区間として切り出された音声信号は次に特徴抽出処理部１１ｂによって特徴データが抽出される（ステップＳ４）。
ここで、特徴抽出処理について図７を参照して説明する。
図７は特徴抽出処理を説明するフローチャートである。
まず、切り出された音声信号についてケプストラムを算出するため、フーリエ変換（ＦＦＴ処理）を行う（ステップＳ２１）。ここで、低い声（８０Hz程度）でも高ケフレンシー部にピークが表れるようにするため、ある程度細かくフーリエ変換をとる。例えばサンプリング周波数が１１kHzの音声信号であれば５１２点のフーリエ変換を行えばよい。ここで算出されたフーリエ変換の結果はＲＡＭ１６に保存される（ステップＳ２２）
【００７６】
次に、フーリエ変換された値の絶対値の対数をとり、逆フーリエ変換を計算することによりケプストラムを算出する（ステップＳ２３）。特徴抽出処理部１１ｂでは、算出したケプストラムの例えば３０次以降を高ケフレンシー部として抽出する（ステップＳ２４）。そして高ケフレンシー部に現れるピーク値が所定のスレッシュ値（例えば、０．１）より大きいか判定することによりその音声信号が有声音（音声部分）であるか判別する（ステップＳ２５）。マイクに息がかかる等、有声音でない場合は高ケフレンシー部のピーク値が所定のスレッシュ値（例えば、０．１）以下になるため音声部分でないと判別される。以降の処理（ステップＳ２７〜Ｓ３１）では音声部分と判別された音声信号のみ特徴抽出（メルケプストラム計算）の対象とし（ステップＳ２６；Ｙｅｓ）、音声部分でない音声信号は特徴抽出の対象としない（ステップＳ２６；Ｎｏ）。
【００７７】
ステップＳ２５において音声部分と判別された音声信号について、特徴抽出処理部１１ｂはステップＳ２３において算出したケプストラムよりも粗くケプストラムを算出する。ここでは、ＲＡＭ１６に保存したＦＦＴ処理結果を読み出し（ステップＳ２７）、ダウンサンプリングする（ステップＳ２８）。ダウンダンプリングは例えば１２８点とすればよい。次に、ダウンサンプリングしたＦＦＴの結果の対数を計算し、逆フーリエ変換することによりやや粗いケプストラムを算出する（ステップＳ２９）。
【００７８】
次に、算出したやや粗いケプストラムをメル軸に変換することにより、メルケプストラムを算出する（ステップＳ３０）。
メルケプストラム算出処理について図８を参照して説明する。
図８はメルケプストラム算出処理を説明するフローチャートである。
このフローチャートにおいて、Ｎはケプストラムの次元数、C[0,…,N]は求められているケプストラムの値、MC[0,…,N][0,…,N+1]は計算に用いるバッファであり、αはサンプリング周波数に依存した定数である。
【００７９】
まず、バッファMC[0][N+1]，MC[1][N+1]，…，MC[N][N+1]に「０」を代入し初期化する（ステップＳ４１）。また、カウンタｎにＮを代入し初期化する（ステップＳ４２）。
次に、C[n]+α×MC[0][n+1]を計算し、バッファMC[0][n]に代入する（ステップＳ４３）。この計算をカウンタｎが０になるまで、即ちＮ＋１回繰り返す（ステップＳ４４；Ｎｏ→ステップＳ４５→ステップＳ４３）。
カウンタｎが０になった場合は（ステップＳ４４；Ｙｅｓ）、再度カウンタｎにＮを代入して初期化し（ステップＳ４６）、次に、式(1-α^2)×MC[0][n+1]+α×MC[1][n+1]を計算し、バッファMC[1][n]に代入する（ステップＳ４７）。この計算をカウンタｎが０になるまで、即ちＮ＋１回繰り返す（ステップＳ４８；Ｎｏ→ステップＳ４９→ステップＳ４７）。
【００８０】
次に、カウンタｋに２を代入し（ステップＳ５０）、カウンタｎにＮを代入して（ステップＳ５１）、初期化する。
次に、MC[k-1][n+1]+α×(MC[k][n+1]-MC[k-1][n])を計算し、バッファMC[k][n]に代入する（ステップＳ５２）。この計算をカウンタｎが０になるまで、即ちＮ＋１回繰り返す（ステップＳ５３；Ｎｏ→ステップＳ５４→ステップＳ５２）。
また、ステップＳ５１〜Ｓ５３の計算をカウンタｋがＮになるまで（即ち、Ｎ−１回）繰り返す（ステップＳ５５；Ｎｏ→ステップＳ５６→ステップＳ５１〜Ｓ５３）。
以上の計算が終了すると（ステップＳ５５；Ｙｅｓ）、MC[0][0],MC[1][0],…,MC[N][0]に、メルケプストラムの値が夫々代入されている。
【００８１】
メルケプストラムが算出されると、図７のステップＳ３１に戻り、算出されたメルケプストラムのうち、低ケフレンシー部を抽出する。ここでは、例えば３０次までのメルケプストラムを低ケフレンシー部とする（ステップＳ３１）。
全音声区間について特徴抽出処理が終了すると（ステップＳ３２；Ｙｅｓ）図５のステップＳ５に移行する。ＣＰＵ１０は登録モードであるか認証モードであるか判別する。
【００８２】
登録モードであれば（ステップＳ５；登録）、特徴抽出処理部１１ｂにより抽出されたメルケプストラムの低ケフレンシー部を登録特徴データとして、登録データバッファ１１ｃに記憶させる（ステップＳ６）。
認証モードであれば（ステップＳ５；認証）、特徴抽出処理部１１ｂにより抽出されたメルケプストラムの低ケフレンシー部を新規特徴データとして、特徴照合部１１ｄに出力し、特徴照合処理を行わせる（ステップＳ７）。
【００８３】
ここで、特徴照合処理について図９を参照して説明する。
図９は特徴照合処理を説明するフローチャートである。
図９に示すように、特徴照合部１１ｄは、登録データバッファ１１ｃに登録されている登録特徴データを読出し、この登録特徴データと特徴抽出処理部１１ｂから供給される新規特徴データとをＤＰマッチングにより照合する。
【００８４】
ＤＰマッチングではまず、登録特徴データ（例えば３０次のベクトル列で表される）の各点（各要素）と新規特徴データ（例えば３０次のベクトル列で表される）の各点（各要素）とのベクトル間距離を算出する（上式（８）参照）（ステップＳ６１）。
次に、所定の初期点群については、ベクトル間距離に各点に適切な重み付けを行ってスコアを求める（ステップＳ６２）。そして、ＤＰマッチングを実行する（ステップＳ６３）。
【００８５】
また、所定の終点群について、その点に適した重み付けで正規化した、各点におけるＤＰマッチングの結果（スコア）を求め、それらの結果の中から最適なものを選択する（ステップＳ６４）。その値を所定のスレッシュ値と比較し（ステップＳ６５）、スレッシュ値以上であれば（ステップＳ６５；Ｎｏ）、他人による音声と判定して（ステップＳ６６）、その照合結果をＣＰＵ１０に出力する。また、ＤＰマッチングの結果がスレッシュ値未満であれば（ステップＳ６５；Ｙｅｓ）、同一人物による音声と判定して（ステップＳ６７）、その照合結果をＣＰＵ１０に出力する。
【００８６】
同一人物による音声であると認証された場合は、ＣＰＵ１０は登録データバッファ１１ｃに登録されている特徴データに代えて、新規特徴データを登録特徴データとして更新登録し（ステップＳ６８）、一連の音声認証処理を終了する。
【００８７】
以上説明したように、本実施の形態の音声認証装置１は、音声認証処理部１１として、音声区間切り出し処理部１１ａ、特徴抽出処理部１１ｂ、登録データバッファ１１ｃ、及び特徴照合部１１ｄを備え、音声区間切り出し処理部１１ａによって入力音声からエネルギー値に基づいて音声区間を切り出し、その音声区間についての特徴データ（メルケプストラム）を特徴抽出処理部１１ｂによって算出する。特徴データを算出する際は、まず、８０Hz程度の低い音声まで基本周波数が検出できるように細かくフーリエ変換し、ケプストラムを算出し、その高ケフレンシー部に現れるピーク値が所定のスレッシュ値より大きい場合はその区間を音声部分（有声音）と判断して抽出する。次に、その抽出された音声部分について、個人の特徴がよく現れるようにやや粗くフーリエ変換し、ケプストラムを算出し、更にメル軸に変換してメルケプストラムを算出し、その低ケフレンシー部を特徴データとして抽出する。そして、抽出した特徴データを登録データバッファ１１ｃに記憶しておく。
【００８８】
また、新たに音声が入力された場合は、音声区間切り出し処理部１１ａ、及び特徴抽出処理部１１ｂにて同様の処理を行って、入力音声の音声部分についてのメルケプストラムの低ケフレンシー部を新規特徴データとして抽出する。
そして、特徴照合部１１ｄにより、その新規特徴データと登録データバッファ１１ｃに予め登録されている登録特徴データとをＤＰマッチングにより照合し、照合結果に基づいて新規音声が登録音声と同一であるか認証する。
【００８９】
従って、音声から特徴データを抽出する際に、まずケプストラムを細かく算出して高ケフレンシー部に現れるピーク値に基づいて音声部分であるか否かを判別するため音声部分を的確に抽出できる。つまり、マイクに息がかかったときのようにエネルギー値が大きいが音声でない部分を認証の対象から削除できる。その後、粗いメルケプストラムを算出するため個人差をよく表すことができる。そのため、音声認証に有用な音声部分について個人の特徴をよく表した特徴データで各音声を照合できるため、高性能な音声認証を行うことができる。
【００９０】
また、特徴抽出処理部１１ｂでは、粗いメルケプストラムを算出する際に、ケプストラムの高ケフレンシー部抽出の際に細かく計算したフーリエ変換の値をダウンサンプリングして用いるので、フーリエ変換の演算量を削減して高速な処理を行える。
【００９１】
また、音声区間切り出し処理部１１ａにより、音声のエネルギー値に基づいて予め音声認証の処理対象とする音声区間を切り出し、非音声区間についてのケプストラム計算等の処理を省略できるため、一般に演算に時間のかかるケプストラムの計算量を削減でき、より高速な処理を行える。
【００９２】
また、特徴照合部１１ｄでは、特徴データをＤＰマッチングにより照合する際に、所定の初期点群については各点に適当な重み付けを行ってスコアを算出し、その中で最適な始点を決定する。つまり音声の始点に幅を持たせたＤＰマッチングを行えるため、「サ行」や「シャ行」のように、フェードインする音声の照合率を向上できる。
【００９３】
更に、音声の終点についても、所定の終点群については各点においてその点に適した重み付けで正規化したＤＰマッチングの結果を比較して最適なものを選択する。つまり、終点に幅を持たせたＤＰマッチングを行えるため、延音で終わる音声の照合率を向上できる。
【００９４】
また、認証の結果、新たに入力された音声と登録された音声とが同一人物による音声であることが認証された場合は、その新たに入力された音声の特徴データを予め登録されている登録特徴データに代えて更新登録するため、音声の経年変化に追従した認証を行うことが可能となり、認証率を向上できる。
【００９５】
なお、上述の実施の形態では、粗い精度でメルケプストラムを算出する際に予め細かく算出されているフーリエ変換の値をダウンサンプリングして用いることとしたが、これに限定されるものではなく、入力音声から粗い精度でフーリエ変換を計算し直すようにしてもよい。
【００９６】
また、特徴照合部１１ｄでは、ＤＰマッチングに用いるベクトル間距離としてユークリッド距離を用いる例を示したが、これに限定されるものではなく、例えばハミング距離
ｄ＝(1/N)Σ｜(ｘn−ｙn)｜
や、チェビシェフ距離
ｄ＝max｜(ｘn−ｙn)｜
を用いることとしてもよい。
【００９７】
その他、上述の実施の形態に示した各種スレッシュ値（エネルギーのスレッシュ値、ケプストラムの高ケフレンシー部のピーク値のスレッシュ値、ＤＰマッチングの結果のスレッシュ値等）の具体的な数値は夫々一例を示したものであり、本発明の趣旨を逸脱しない範囲で適宜変更可能である。
【００９８】
【発明の効果】
請求項１、５、及び６記載の発明によれば、ケプストラムの高ケフレンシー部に表れる音声の基本周波数を表すピーク値に基づいて音声部分を抽出するため、認証に有用な音声部分を的確に抽出できる。また、その抽出した音声部分について、ケプストラム算出の際に計算されるフーリエ変換の結果をダウンサンプリングし、このダウンサンプリングした値からメルケプストラムを算出して特徴データを抽出するため音声の個人差をよく表せる。そのため、個人の認証に有用な音声部分を用いて特徴データを照合することが可能になり、認証率を向上できる。
【０１０１】
請求項２記載の発明によれば、ＤＰマッチングの終点付近の所定範囲内にある複数の点について、各点までのＤＰマッチングの計算値をその点に適した重み付けで正規化し、正規化された各ＤＰマッチングの計算値のうち最適なものを選択してＤＰマッチングの結果とするので、ＤＰマッチングの終点に幅を持たせた照合が可能となり、延音で終わる音声の照合率を向上できる。
【０１０２】
請求項３記載の発明によれば、ＤＰマッチングの始点付近の所定範囲内にある複数の点における各特徴データの距離をその点に適した値で重み付けし、その重み付けされた距離のうち最適なものを選択してＤＰマッチングの始点値とするので、ＤＰマッチングの始点に幅を持たせた照合が可能となり、例えばサ行やシャ行等のフェードインする音声の照合率を向上できる。
【０１０３】
請求項４記載の発明によれば、認証の結果、新規入力された音声信号の特徴データが前記登録特徴データと同一であると認証された場合は、その新規入力された音声信号の特徴データを登録特徴データとして更新登録するので、日々変化する音声に追従した音声認証を可能とし、音声認証装置の性能を向上できる。
【図面の簡単な説明】
【図１】本願発明の音声認証装置の回路構成図である。
【図２】音声認証処理部１１の構成を示す機能ブロック図である。
【図３】（ａ）は音声区間切り出し処理部１１ａの構成例、（ｂ）はエネルギーのスレッシュ値Ｅｔの一例を説明する図である。
【図４】特徴抽出処理部１１ｂによる特徴抽出の手順を示す図である。
【図５】音声認証処理の全体的な流れを説明するフローチャートである。
【図６】音声区間切り出し処理を説明するフローチャートである。
【図７】特徴抽出処理を説明するフローチャートである。
【図８】メルケプストラム算出処理を説明するフローチャートである。
【図９】特徴照合処理を説明するフローチャートである。
【符号の説明】
１      音声認証装置
１０      ＣＰＵ
１１      音声認証処理部
１１ａ    音声区間切り出し処理部
１１１ａ  ハイパスフィルタ
１１２ａ  エネルギー算出処理部
１１３ａ  音声区間切り出し部
１１ｂ    特徴抽出処理部
１１ｃ    登録データバッファ
１１ｄ    特徴照合部
１２      入力部
１３      表示部
１４      通信制御部
１５      音声入力部
１６      ＲＡＭ
１７      ＲＯＭ
１８      外部記憶装置
１９      記録媒体
２０      バス
【図１】
0004244524.tif 000007
【図２】
0004244524.tif 000008
【図３】
0004244524.tif 000009
【図４】
0004244524.tif 000010
【図５】
0004244524.tif 000011
【図６】
0004244524.tif 000012
【図７】
0004244524.tif 000013
【図８】
0004244524.tif 000014
【図９】
0004244524.tif 000015