(57)【要約】【課題】簡単かつ容易に話者認識を行うことができるようにする。【解決手段】係数蓄積部４０には、音声波形を予測するための予測係数を話者毎に蓄積させておく。予測波形生成部３３は、入力音声の音声データと予測係数を用いた演算を行い、話者毎に予測波形を生成する。予測誤差算出部３４は、入力音声の音声波形に対する予測波形の誤差を話者毎に算出する。話者特定部３５は、算出された話者毎の誤差に基づいて、入力音声の話者を特定する。予測係数は、話者の音声データに対して線形予測分析を行って得られた線形予測係数を用いる。時間領域を周波数領域に変換する処理等を行う必要がなく、時間領域で話者認識を行えるようになる。【選択図】        図１
2009294307.tif 000002
【特許請求の範囲】
【請求項１】
音声波形を予測するための予測係数を話者毎に蓄積した係数蓄積部と、
入力音声の音声データと前記予測係数を用いた演算を行い、前記話者毎に予測波形を生成する予測波形生成部と、
前記入力音声の音声波形に対する前記生成された予測波形の誤差を、前記話者毎に算出する予測誤差算出部と、
前記算出された話者毎の誤差に基づいて、前記入力音声の話者を特定する話者特定部と
を備える話者認識装置。
【請求項２】
前記予測係数は、話者の音声データに対して線形予測分析を行って得られた線形予測係数である
請求項１記載の話者認識装置。
【請求項３】
前記係数蓄積部は、前記誤差の算出対象区間が複数の比較単位区間に分割されて比較単位区間毎に得られた予測係数を蓄積するものとし、
前記予測誤差算出部は、前記比較単位区間毎に得た誤差の統計的処理を行うことで前記予測波形の誤差の特徴を示す統計量を算出し、
前記話者特定部は、前記話者毎の誤差として、前記統計的処理を行うことにより得られた話者毎の統計値を用いる
請求項２記載の話者認識装置。
【請求項４】
前記予測誤差算出部は、前記誤差の算出対象区間の先頭から複数の前記比較単位区間のそれぞれで得た誤差の統計的処理を話者毎に行う
請求項３記載の話者認識装置。
【請求項５】
前記予測誤差算出部は、前記誤差の算出対象区間に対して前記比較単位区間の間引きを行い、間引き後の前記比較単位区間のそれぞれで得た誤差の統計的処理を話者毎に行い、
請求項３記載の話者認識装置。
【請求項６】
前記予測誤差算出部は、前記予測係数の生成に用いた音声に応じて、前記比較単位区間の間引き位置を設定する
請求項５記載の話者認識装置。
【請求項７】
前記予測誤差算出部は、前記比較単位区間毎に得た誤差の統計的処理を行い、前記誤差の平均値または前記誤差の平均値と分散を前記統計値として算出する
請求項３記載の話者認識装置。
【請求項８】
話者毎の音声データに対して線形予測分析を行い、前記音声波形を予測するための予測係数を生成して、該予測係数に話者を関連付けて前記係数蓄積部に蓄積させる係数生成処理部をさらに備える
請求項１記載の話者認識装置。
【請求項９】
音声波形を予測するための予め話者毎に蓄積されている予測係数と、入力音声の音声データとを用いて演算を行い、前記話者毎に予測波形を生成するステップと、
前記入力音声の音声波形に対する前記生成された予測波形の誤差を、前記話者毎に算出するステップと、
前記算出された話者毎の誤差に基づいて、前記入力音声の話者を特定するステップと
を備える話者認識方法。
【請求項１０】
コンピュータに、
音声波形を予測するための予め話者毎に蓄積されている予測係数と、入力音声の音声データとを用いて演算を行い、前記話者毎に予測波形を生成するステップと、
前記入力音声の音声波形に対する前記生成された予測波形の誤差を、前記話者毎に算出するステップと、
前記算出された話者毎の誤差に基づいて、前記入力音声の話者を特定するステップと
を実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、話者認識装置と話者認識方法およびプログラムに関する。詳しくは、話者の音声から予測係数を生成して話者毎に予め蓄積しておき、話者認識を行う際には、入力音声の音声波形と予測係数を用いて生成した話者毎の予測波形を比較して、この比較結果に基づいて入力音声の話者の特定を行うものである。
【背景技術】
【０００２】
従来、話者認識法においては、音響信号の特徴を抽出し、その特徴を話者毎の特徴と照合することによって行われる。音響信号から抽出する特徴として、例えば特許文献１の音響特徴抽出装置では、メルケプストラム係数(ＭＦＣＣ：Mel-Frequency Cepstrum Coefficient)を算出することが開示されている。メルケプストラム係数は、音響信号のフーリエ変換(ＦＦＴ:Fast Fourier Transform)を行って周波数領域の信号に変換したのち、周波数軸上に三角窓を配置して周波数領域の信号のフィルタバンク分析を行い、フィルタバンク出力すなわち窓の幅に対応する周波数帯域のパワーについて、離散コサイン変換(ＤＣＴ:Discrete Cosine Transform)を行うことで得られるものである。
【０００３】
【特許文献１】特開２００２−２７８５８０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
ところで、メルケプストラム係数（ＭＦＣＣ）を用いた従来の話者認識を行う場合、図１４に示すように、ステップＳＴ１１１で音声取得を開始したのち、ステップＳＴ１１２のＦＦＴと、ステップＳＴ１１３のＤＣＴおよびステップＳＴ１１４のＭＦＣＣの処理をカスケードに行って音声の学習が行われる。また、話者認識では、ステップＳＴ１２１で音声取得を開始したのち、音声の学習によって得られた特徴量と、ステップＳＴ１２２のＦＦＴとステップＳＴ１２３のＤＣＴおよびステップＳＴ１２４のＭＦＣＣの処理をカスケードに行って得られた特徴量を、ステップＳＴ１２５において隠れマルコフ則(ＨＭＭ：hidden Markov model)といわれる統計モデルで処理することにより推定した話者がステップＳＴ１２６で提示される。
【０００５】
このようなＦＦＴ、ＤＣＴ、ＭＦＣＣおよびＨＭＭは、複雑な計算を行うものであり、話者認識では、これらの処理をカスケードに行うことから、話者認識を高速に行うためには、性能の高い処理装置が必要となり、安価に話者認識を行うことができない。
【０００６】
また、携帯機器等の認証において、指紋等の生体情報だけでなく、発話音声を用いた認証を行えるようにすれば、認証操作を容易に行うことができる。しかし、携帯機器等は処理能力が高くなく大容量のメモリを実装することも小型化やコスト面から困難であり、ＦＦＴやＭＦＣＣおよびＨＭＭの処理をカスケードに行うものとすると、リアルタイム性を損なわず、速やかに話者認識を行うことができない。
【０００７】
そこで、この発明では、簡単かつ容易に話者認識を行うことができる話者認識装置と話者認識方法およびプログラムを提供するものである。
【課題を解決するための手段】
【０００８】
本発明の第１の側面は、音声波形を予測するための予測係数を話者毎に蓄積した係数蓄積部と、入力音声の音声データと前記予測係数を用いた演算を行い、前記話者毎に予測波形を生成する予測波形生成部と、前記入力音声の音声波形に対する前記生成された予測波形の誤差を、前記話者毎に算出する予測誤差算出部と、前記算出された話者毎の誤差に基づいて、前記入力音声の話者を特定する話者特定部とを備える話者認識装置にある。
【０００９】
この話者認識装置では、話者毎の音声データに対して例えば線形予測分析を行い、音声波形を予測するための予測係数を生成して、この予測係数に話者を関連付けて予め係数蓄積部に蓄積される。また、話者認識装置では、話者認識の対象である入力音声の音声波形に対する予測係数を用いて生成された予測波形の誤差の算出対象区間を、複数の比較単位区間に分割して、比較単位区間毎に予測係数の生成が行われる。
【００１０】
さらに、話者認識装置では、話者認識を行う場合、話者認識の対象である入力音声の音声波形に対する予測係数を用いて生成された予測波形の誤差が話者毎に算出されて、算出された話者毎の誤差に基づいて、入力音声の話者の特定が行われる。話者毎の誤差としては、比較単位区間毎に得た誤差の統計的処理によって得た統計値が用いられる。例えば、比較単位区間毎に得た誤差の平均値や分散が用いられる。誤差の統計的処理では、誤差の算出対象区間における比較単位区間毎の誤差、または算出対象区間の先頭から複数の比較単位区間の誤差、または算出対象区間に対して比較単位区間の間引きを行い、間引き後の比較単位区間の誤差が用いられる。
【００１１】
本発明の第２の側面は、音声波形を予測するための予め話者毎に蓄積されている予測係数と、入力音声の音声データとを用いて演算を行い、前記話者毎に予測波形を生成するステップと、前記入力音声の音声波形に対する前記生成された予測波形の誤差を、前記話者毎に算出するステップと、前記算出された話者毎の誤差に基づいて、前記入力音声の話者を特定するステップとを備える話者認識方法にある。
【００１２】
本発明の第３の側面は、コンピュータに、音声波形を予測するための予め話者毎に蓄積されている予測係数と、入力音声の音声データとを用いて演算を行い、前記話者毎に予測波形を生成するステップと、前記入力音声の音声波形に対する前記生成された予測波形の誤差を、前記話者毎に算出するステップと、前記算出された話者毎の誤差に基づいて、前記入力音声の話者を特定するステップとを実行させるプログラムにある。
【００１３】
なお、本発明のプログラムは、例えば、様々なプログラム・コードを実行可能な汎用コンピュータに対して、コンピュータ読み取り可能な形式で提供する記憶媒体、通信媒体、例えば光ディスクや磁気ディスクおよび半導体メモリ等の記憶媒体、あるいは、ネットワークなどの通信媒体によって提供可能なプログラムである。このようなプログラムをコンピュータ読み取り可能な形式で提供することにより、コンピュータ上でプログラムに応じた処理が実現される。
【発明の効果】
【００１４】
この発明によれば、音声波形を予測するための予め話者毎に蓄積されている予測係数と、入力音声の音声データとを用いて演算が行われて、話者毎に予測波形が生成される。また、入力音声の音声波形に対する生成された予測波形の誤差が話者毎に算出されて、算出された話者毎の誤差に基づいて入力音声の話者が特定される。このため、時間領域を周波数領域に変換する処理等を行うとなく、簡単かつ容易に話者認識を行うことができる。
【発明を実施するための最良の形態】
【００１５】
以下、図を参照しながら、この発明の実施の一形態について説明する。本発明の話者認識装置は、音声波形を予測するための予測係数を予め話者毎に生成して蓄積させておき、この予測係数と入力音声の音声データとを用いて演算を行い、話者毎に予測波形を生成する。さらに、話者認識装置は、入力音声の音声波形に対する予測波形の誤差を話者毎に算出して、この算出された話者毎の誤差に基づいて入力音声の話者を特定する。このように、話者認識装置は、時間領域を周波数領域に変換することなく、時間領域で話者認識を行うものである。
【００１６】
また、話者毎の予測係数は、話者の音声データに対して例えば線形予測分析（ＬＰＣ分析:Linear Predictive Coding)を行って得られた線形予測係数が用いられる。また、予測係数は、予測誤差の算出対象区間（以下「誤差算出対象区間」という）が複数の比較単位区間に分割されて、比較単位区間毎に生成される。
【００１７】
線形予測分析は、過去あるいは未来の信号からそれよりも未来あるいは過去の信号を予測するディジタル信号処理の手法であり、前向き線形予測と後向き線形予測を行うことができる。前向き線形予測は、時刻ｎの信号を、それよりも過去のＭサンプルの信号から予測するものである。また、後向き線形予測は、時刻ｎよりもＭサンプル前の信号を、それよりも未来のＭサンプルの信号から予測するものである。
【００１８】
次に、前向き線形予測によって予め得られている話者毎の予測係数を用いて予測波形を生成して、音声入力波形と予測波形の誤差に基づいて話者の認識を行う場合について説明する。
【００１９】
図１は、話者認識装置の構成を示している。話者認識装置１０は、個人係数登録部２０と話者認識部３０および係数蓄積部４０で構成されている。個人係数登録部２０は、話者の音声の特徴を予測係数で示すものとして、この予測係数を係数蓄積部４０に蓄積させる処理を行う。また、話者認識部３０は、係数蓄積部４０に蓄積されている話者毎の予測係数を用いて予測波形の生成を行い、予測波形と入力音声の音声波形との誤差に基づき、入力音声の話者が予測係数の蓄積を行ったいずれの話者であるか特定する。
【００２０】
個人係数登録部２０は、音声取得部２１とサンプル抽出部２２および係数生成処理部２３で構成されている。
【００２１】
音声取得部２１は、マイクロフォンを用いて構成されており、話者の音声を音声信号Ｓａに変換してサンプル抽出部２２に供給する。
【００２２】
サンプル抽出部２２は、Ａ／Ｄ変換器やピーク検出器を用いて構成されている。サンプル抽出部２２は、音声信号Ｓａをディジタルの音声データＤＳａに変換する処理や、音声波形の最大ピークを検出して、最大ピークが検出された位置から音声データＤＳａを、予測係数の生成に必要とされるサンプル数抽出して係数生成処理部２３に供給する処理を行う。
【００２３】
係数生成処理部２３は、サンプル抽出部２２で抽出された音声データＤＳａを用いて前向き線形予測を行い、予測係数ωを生成する。さらに、生成した予測係数ωを話者と関連付けて係数蓄積部４０に蓄積させる。また、係数生成処理部２３は、良好な話者認識精度が得られるように、誤差算出対象区間を複数の比較単位区間に分割して、比較単位区間毎に予測係数を生成して蓄積させる処理を行う。
【００２４】
話者認識部３０は、音声取得部３１とサンプル抽出部３２、予測波形生成部３３、予測誤差算出部３４、話者特定部３５で構成されている。
【００２５】
音声取得部３１は、音声取得部２１と同様にマイクロフォンを用いて構成されており、話者の音声を音声信号Ｓｂに変換してサンプル抽出部３２に供給する。
【００２６】
サンプル抽出部３２は、音声取得部３１と同様にＡ／Ｄ変換器やピーク検出器を用いて構成されている。サンプル抽出部３２は、音声信号Ｓｂをディジタルの音声データＤＳｂに変換する処理や、音声波形の最大ピークを検出して、最大ピークが検出された位置から音声データＤＳｂをサンプル抽出部２２で抽出したサンプル数抽出して、予測波形生成部３３と予測誤差算出部３４に供給する処理を行う。
【００２７】
予測波形生成部３３は、係数蓄積部４０に蓄積されている話者毎の予測係数ωと、サンプル抽出部３２から供給された音声データＤＳｂを用いて演算を行い、予測値ＤＳｙを算出する。すなわち、予測値ＤＳｙが示す信号波形が予測波形であり、予測波形生成部３３は、算出した予測値ＤＳｙを予測誤差算出部３４に供給する。
【００２８】
予測誤差算出部３４は、入力音声の音声波形に対する予測波形の誤差を、話者毎に算出する。予測誤差算出部３４は、サンプル位置毎に音声データＤＳｂに対する予測値ＤＳｙの誤差を算出して、この誤差を比較単位区間毎に加算する。さらに、予測誤差算出部３４は、比較単位区間毎に得た誤差の統計的処理を行うことで得られた統計値を予測波形の誤差ＥＳとして話者特定部３５に供給する。予測誤差算出部３４は、統計的処理によって予測波形の誤差の特徴を示す統計量を算出する。例えば比較単位区間毎に得た誤差の平均値、または平均値と分散等を統計量として算出する。
【００２９】
話者特定部３５は、算出された予測波形の誤差ＥＳを話者間で比較したり、算出された予測波形の誤差ＥＳと予め設定されている閾値の比較を行い、入力音声の音声波形に対する予測波形の誤差が最小で閾値未満となる予測波形を判別して、この予測波形の生成に用いた予測係数に関連付けられている話者を入力音声の話者と特定する。また、話者特定部３５は、予測誤差と閾値との判定結果に応じて制御信号ＣＳを生成して予測誤差算出部３４に供給して、統計処理に用いる比較単位区間の追加等を行う。
【００３０】
なお、図１の話者認識装置１０では、個人係数登録部２０と話者認識部３０を別個に示しているが、予測係数登録時と話者認識時で音声取得部とサンプル抽出部を共用すれば、話者認識システムの構成が簡単となる。例えば、音声取得部２１とサンプル抽出部２２を削除して、予測係数登録時には、サンプル抽出部３２から出力される音声データを係数生成処理部２３に供給する。
【００３１】
次に、話者認識システムの動作について説明する。図２は個人係数登録部の動作を示すフローチャートである。
【００３２】
ステップＳＴ１で個人係数登録部２０の音声取得部２１は、音声取得を開始してステップＳＴ２に進む。
【００３３】
ステップＳＴ２で個人係数登録部２０のサンプル抽出部２２は、音声波形の最大ピークを検出して、最大ピークが検出された位置を予測係数の算出開始位置としてステップＳＴ３に進む。ここで、時間領域で波形の誤差を算出する場合、波形の位相がずれていると波形が類似していても誤差が大きくなってしまう。そこで、最大ピークが検出された位置を予測係数の算出開始位置に設定することで、波形の位相をそろえるものとする。
【００３４】
ステップＳＴ３で個人係数登録部２０のサンプル抽出部２２は、算出開始位置から所定サンプル数の音声データＤＳａを誤差算出対象区間の音声データとして抽出する。誤差算出対象区間は、良好な認識精度を得ることができるとともに、速やかに話者認識を行うことができるように短い区間とする。
【００３５】
図３は、認識精度と誤差算出対象区間の長さの関係をモデル化して示したものである。誤差算出対象区間が短い場合、音素例えば母音の/a/の一周期よりも短い音声波形に対する予測波形の誤差が算出される。また、誤差算出対象区間が長くなると、母音の/a/の一周期の音声波形に対する予測波形の誤差が算出される。さらに、誤差算出対象区間が長くなると、母音の/a/の複数周期の音声波形に対する予測波形の誤差が算出される。すなわち、誤差算出対象区間が短いために、一周期よりも短い音声波形に対する予測波形の誤差が算出されたときには認識精度が低く、誤差算出対象区間が長くなると認識精度が高くなる。また、認識精度が高くなると、誤差算出対象区間を長くして複数周期の音声波形に対する予測波形の誤差を算出するものとしても、認識精度は大幅に向上することがない。したがって、個人係数登録部２０は、音素例えば母音の/a/の一周期の音声データを抽出できるように誤差算出対象区間を予め設定しておく。ここで、サンプル抽出部３２のサンプリング周波数が４８ｋＨｚであるとき、例えば１００００サンプル期間（約０．２秒）を誤差算出対象区間として音声データＤＳａを抽出する。
【００３６】
ステップＳＴ４で個人係数登録部２０の係数生成処理部２３は、誤差算出対象区間の音声データに基づき予測係数の算出を行ってステップＳＴ５に進む。
【００３７】
図４は、予測係数の算出動作を示すフローチャートである。予測係数は、誤差算出対象区間を複数の比較単位区間に分割して、比較単位区間毎に生成する。
【００３８】
ステップＳＴ１１で係数生成処理部２３は、比較単位区間の予測係数を生成するために予め設定された学習区間の音声データを用いて、予測係数の算出を学習区間毎に行う。個人係数登録部２０は、前向き線形予測における予測誤差が最小となるように学習区間の音声データを用いて予測係数を算出する。
【００３９】
図５は、予測係数の算出処理を説明するための図であり、例えば図５の（Ａ）に示すように、全サンプル数が１２サンプル、学習区間が６サンプルである場合を示している。ここで、予測式を「ＤＳｙ(n)＝ω１・ＤＳa(n-1)＋ω2・ＤＳa(n-2)＋ω3・ＤＳa(n-3)」とすると、図５の（Ｂ）に示す最初の学習区間（図５の（Ａ）で示す学習区間ＴＡ）において、予測値ＤＳy4は「ＤＳｙ4＝ω１・ＤＳa3＋ω2・ＤＳa2＋ω3・ＤＳa1」となる。なお、ＤＳa(n-1)、ＤＳa(n-2)、ＤＳa(n-3)は過去タップ、ω1，ω2，ω3は予測係数である。
【００４０】
また、予測値ＤＳy5，ＤＳy6は「ＤＳｙ5＝ω１・ＤＳa4＋ω2・ＤＳa3＋ω3・ＤＳa2、ＤＳｙ6＝ω１・ＤＳa5＋ω2・ＤＳa4＋ω3・ＤＳa3」となる。なお、図５において、白丸は音声データ、黒丸は予測値を示している。
【００４１】
したがって、個人係数登録部２０は、予測値ＤＳy4と音声データＤＳa4の誤差、予測値ＤＳy5と音声データＤＳa5の誤差、予測値ＤＳy6と音声データＤＳa6の誤差がそれぞれ最小となるように比較単位区間ＰＡの予測係数ω1，ω2，ω3を算出する。ここで、誤差が最小となる予測係数の算出では、例えば最小自乗法を用いるものとする。
【００４２】
図３におけるステップＳＴ１２で係数生成処理部２３は、学習区間を時間方向に（学習区間−過去タップ数）分だけ移動可能であるか否かを判別して、移動可能であるときはステップＳＴ１３に進む。
【００４３】
ステップＳＴ１３で係数生成処理部２３は、学習区間の移動を行う。係数生成処理部２３は、学習区間を（学習区間−過去タップ数）分だけ移動してステップＳＴ１１に戻る。
【００４４】
図５の（Ｃ）は、移動後の学習区間（図５の（Ａ）で示す学習区間ＴＢ）を示している。この学習区間ＴＢにおいても、個人係数登録部２０は、図５の（Ｂ）に示す学習区間と同様に処理を行い、予測値ＤＳy7と音声データＤＳa7の誤差、予測値ＤＳy8と音声データＤＳa8の誤差、予測値ＤＳy9と音声データＤＳa9の誤差がそれぞれ最小となるように比較単位区間ＰＢの予測係数ω1，ω2，ω3を算出する。
【００４５】
図３のステップＳＴ１２で係数生成処理部２３は、学習区間を時間方向に（学習区間−過去タップ数）分だけ移動可能であるか否かを判別して、移動可能であるときはステップＳＴ１３に進み、学習区間を（学習区間−過去タップ数）分だけ移動してステップＳＴ１１に戻る。
【００４６】
図５の（Ｄ）は、移動後の学習区間（図５の（Ａ）で示す学習区間ＴＣ）を示している。この学習区間ＴＣにおいても、個人係数登録部２０は、図５の（Ｂ）に示す学習区間と同様に処理を行い、予測値ＤＳy10と音声データＤＳa10の誤差、予測値ＤＳy11と音声データＤＳa11の誤差、予測値ＤＳy12と音声データＤＳa12の誤差がそれぞれ最小となるように比較単位区間ＰＣの予測係数ω1，ω2，ω3を算出する。
【００４７】
図３のステップＳＴ１２で係数生成処理部２３は、再度学習区間を時間方向に（学習区間−過去タップ数）分だけ移動可能であるか否かを判別する。ここで、学習区間ＴＣは最後のサンプルの位置までとなっていることから、係数生成処理部２３は移動可能でないと判別して図２のステップＳＴ５に進む。
【００４８】
ステップＳＴ５で個人係数登録部２０の係数生成処理部２３は、算出した比較単位区間毎の予測係数を話者に関連付けて係数蓄積部４０に蓄積させる。なお、係数蓄積部４０に予測係数を蓄積させる話者を登録話者と呼ぶものとする。
【００４９】
登録話者は、予測係数を係数蓄積部４０に蓄積させるときの音声として、波形の比較が容易となるように、１音素例えば母音/ａ/，/ｉ/，/ｕ/，/ｅ/，/ｏ/のいずれか１つを発音して、予測係数を係数蓄積部４０に蓄積させる。なお、発音する母音は、登録話者で共通するものとしてもよく、登録話者毎に異なる母音を発音して予測係数を係数蓄積部４０に蓄積させるものとしてもよい。さらに、１人の登録話者について、複数の音素の予測係数を音素毎に蓄積させるものとしてもよい。例えば、１人の登録話者について、母音/ａ/についての予測係数と、母音/ｉ/についての予測係数を蓄積させてもよい。係数蓄積部４０に異なる音素の予測係数を蓄積させる場合、係数蓄積部４０は、予測係数と登録話者だけでなく音素も関連付けて蓄積すれば、後述するように認識精度を低下させることなく話者認識に要する時間を短縮することが可能となる。
【００５０】
個人係数登録部２０は、比較単位区間毎の予測係数を係数蓄積部４０に蓄積させる処理をオフラインで話者毎に行う。したがって、オンラインで話者認識を行うときに、予測係数を算出する処理を行う必要がなく、話者認識を効率よく行うことができる。
【００５１】
また、個人係数登録部２０は、ＦＦＴやＤＣＴおよびＭＦＣＣなどの負荷の高い演算処理が不要となり、単純な積和演算等で予測係数を算出できることから、携帯機器などのように、処理能力が高くなく大容量のメモリを実装することも小型化やコスト面から困難な機器にも適用できる。
【００５２】
なお、図５は、個人係数登録部２０の動作を容易に理解できるものとするため、学習区間を６サンプル、過去タップ数を３サンプルとしているが、実際の動作では、認識精度の高い話者認識を行うことができるように、学習区間や過去タップ数を例えば実験的に決定する。
【００５３】
次に、話者認識部３０の動作について説明する。図６は話者認識部の動作を示すフローチャートである。
【００５４】
ステップＳＴ２１で話者認識部３０の音声取得部３１は、音声取得を開始してステップＳＴ２２に進む。
【００５５】
ステップＳＴ２２で話者認識部３０のサンプル抽出部３２は、音声波形の最大ピークを検出して、最大ピークが検出された位置を話者認識の検出開始位置としてステップＳＴ２３に進む。個人係数登録部２０は、上述のように最大ピークが検出された位置を予測係数の算出開始位置としている。したがって、個人係数登録部２０で取得された入力音声と話者認識部３０で取得された入力音声の波形が類似している場合、話者認識の検出開始位置と予測係数の算出開始位置がほぼ等しくなり、入力音声の音声波形と予測波形の位相をそろえることができる。
【００５６】
ステップＳＴ２３で話者認識部３０のサンプル抽出部３２は、検出開始位置から所定サンプル数の音声データＤＳｂを抽出する。サンプル抽出部３２は、例えば個人係数登録部２０のサンプル抽出部２２で抽出した音声データのサンプル数分だけ音声データＤＳｂを抽出してステップＳＴ２４に進む。
【００５７】
ステップＳＴ２４で話者認識部３０の予測波形生成部３３は、予測波形の生成を行う。図７は予測波形の生成動作を示すフローチャートである。
【００５８】
ステップＳＴ３１で予測波形生成部３３は、予測係数の読み出しを行う。予測波形生成部３３は、係数蓄積部４０に蓄積されている登録話者毎の予測係数を読み出してステップＳＴ３２に進む。
【００５９】
ステップＳＴ３２で予測波形生成部３３は、予測係数を用いて予測波形を生成する。予測波形生成部３３は、予測式を用いて予測係数と抽出した音声データＤＳｂとの演算を行い、予測波形を比較単位区間毎に生成する。ここで、過去Ｍサンプルの音声データを用いて前向き線形予測を行うことで予測係数が生成されている場合、予測式は「ＤＳｙ(n)＝ω１・ＤＳｂ(n-1)＋ω2・ＤＳｂ(n-2)＋ω3・ＤＳｂ(n-3)＋・・・＋ωM・ＤＳｂ(n-M)」とする。なおＤＳｙ(n)は予測値、ω1〜ωMは予測係数である。
【００６０】
ステップＳＴ３３で予測波形生成部３３は、全比較単位区間の予測波形の生成が完了したか否かを判別する。予測波形生成部３３は、予測波形の生成が行われていない比較単位区間があるときはステップＳＴ３４に進み、全比較単位区間すなわち誤差算出対象区間の予測波形の生成が完了したときにはステップＳＴ３５に進む。
【００６１】
ステップＳＴ３４で予測波形生成部３３は、比較単位区間の切り換えを行う。予測波形生成部３３は、予測波形の生成が行われていない比較単位区間の予測係数を選択してステップＳＴ３２に戻る。
【００６２】
誤差算出対象区間の予測波形の生成が完了してステップＳＴ３３からステップＳＴ３５に進むと、予測波形生成部３３は、全登録話者の予測波形の生成が完了したか否かを判別する。予測波形生成部３３は、全登録話者の予測波形の生成が完了していないと判別したときステップＳＴ３６に進み、全登録話者の予測波形の生成が完了していると判別したとき、予測波形の生成を終了して図６のステップＳＴ２５に進む。
【００６３】
ステップＳＴ３６で予測波形生成部３３は、新たな登録話者の予測係数の読み出しを行う。予測波形生成部３３は、係数蓄積部４０から、予測波形の生成が行われていない登録話者の予測係数を読み出してステップＳＴ３２に戻る。
【００６４】
図６のステップＳＴ２５で予測誤差算出部３４は、入力音声の音声波形に対する予測波形の誤差を比較単位区間毎に算出する。予測誤差算出部３４は、サンプル位置毎に音声データＤＳｂと予測値ＤＳｙの差分を求めて、この差分の絶対値を比較単位区間内で加算して得た差分絶対値和を、入力音声の音声波形に対する予測波形の誤差（以下「予測誤差」という）としてステップＳＴ２６に進む。なお、予測誤差は、入力音声波形に対する予測波形を示すものであれば差分絶対値和に限られるものではない。
【００６５】
ステップＳＴ２６で予測誤差算出部３４は、比較単位区間毎の予測誤差を用いて統計処理を行い、予測波形の誤差の特徴を示す統計量を算出する。また、予測誤差算出部３４は統計処理を予測波形毎に行い統計値を算出する。予測誤差算出部３４は、登録話者毎に予測誤差の統計値を算出してステップＳＴ２７に進む。予測誤差の統計値としては、比較単位区間毎の予測誤差の代表的な値、例えば比較単位区間毎の予測誤差の平均値を用いる。また統計値として中央値等を用いるものとしてもよい。
【００６６】
ステップＳＴ２７で話者特定部３５は、予測誤差の統計値に基づき、登録話者毎の予測波形から入力音声の音声波形と最も近似した予測波形を決定してステップＳＴ２８に進む。ここで、予測誤差の統計値として比較単位区間毎の予測誤差の平均値が用いられている場合、平均値が最小となる予測波形を、入力音声の音声波形と最も近似した予測波形と決定する。
【００６７】
ステップＳＴ２８で話者特定部３５は、決定した予測波形に対する予測誤差の統計値が閾値未満であるか否かを判別する。ここで、音声取得部３１で取得された入力音声の話者に対応する予測係数が係数蓄積部４０に蓄積されていないとき、決定した予測波形に対応する登録話者、すなわち予測誤差の平均値が最小となる予測波形の生成で用いた予測係数と関連付けられた登録話者は、音声取得部３１で取得された入力音声の話者と異なる第三者となる。
【００６８】
また、予測誤差の平均値は、音声取得部３１で取得された入力音声の話者と、決定した予測波形に対応する登録話者が異なる場合、この入力音声の話者と登録話者が一致する場合に比べて大きくなる。したがって、閾値は、音声取得部３１で取得された入力音声の話者が、決定した予測波形に対応する登録話者であるかまたは第三者であるかを判別できるように設定する。
【００６９】
例えば予測係数を生成したときに、生成した予測係数を用いて予測波形を生成すれば、予測係数の生成に用いた音声波形と予測波形との予測誤差を算出できる。したがって、個人係数登録部２０は、予測係数を生成したときに話者認識部３０と同様にして予測誤差の算出を行い、予測誤差を係数蓄積部４０に蓄積するとき、算出した予測誤差を予測係数と関連付けて蓄積しておく。話者認識部３０は、係数蓄積部４０に蓄積されている予測係数に関連付けられている予測誤差の中で最大値を判別して、この最大値よりも予測誤差が大きくなるときは第三者と判別できるように閾値を設定する。また、話者認識部３０は、入力音声の音声波形と最も近似した予測波形が決定されたとき、決定された予測波形の生成に用いた予測係数に関連付けられている予測誤差に基づき閾値を設定するものとしてもよい。このように、決定された予測波形の生成に用いた予測係数に関連付けられている予測誤差に基づき閾値を設定すれば、予測誤差の最大値に基づいて閾値を設定する場合に比べて最適な閾値を設定することができる。
【００７０】
このようにして閾値の設定を行い、設定された閾値を用いて音声取得部３１で取得された入力音声の話者が、決定した予測波形に対応する登録話者であるかまたは第三者であるかを判別する。
【００７１】
話者特定部３５は、決定した予測波形に対する予測誤差の統計値が閾値未満であると判別したときステップＳＴ２９に進み、閾値未満でないと判別したときステップＳＴ３０に進む。
【００７２】
ステップＳＴ２９で話者特定部３５は、話者を特定する。話者特定部３５は、予測誤差の統計値が閾値未満であることから、音声取得部３１で取得された入力音声の話者を、決定した予測波形に対応する登録話者と特定して話者認識を終了する。なお、決定した予測波形に対応する登録話者とは、決定した予測波形を生成する際に用いた予測係数に関連付けられている登録話者である。
【００７３】
ステップＳＴ３０で話者特定部３５は認識エラー処理を行う。話者特定部３５は、予測誤差の統計値が閾値未満でないことから、音声取得部３１で取得された入力音声の話者が、決定した予測波形に対応する登録話者とは異なる第三者であり、話者の特定ができない旨の通知を行って話者認識を終了する。
【００７４】
このように、話者認識部３０は、予測係数と音声データを用いて積和演算を行うことにより予測波形を登録話者毎に生成したのち、入力音声の音声波形と予測波形との予測誤差を算出する。さらに、話者認識部３０は、予測誤差が最小となる予測波形を検出することで話者の認識が行われる。したがって、話者認識部３０は、ＦＦＴやＤＣＴおよびＭＦＣＣの等のような負荷の高い演算処理を行わなくとも話者の認識が可能となり、携帯機器等のように、処理能力が高くなく大容量のメモリを実装することも小型化やコスト面から困難な機器にも適用できる。
【００７５】
さらに、予測係数は上述したようにオフラインで予め係数蓄積部４０に蓄積されているので、速やかに話者認識を行うことができるため、例えば特定の話者の音声でコマンド入力を行う場合、入力後の待ち時間が短縮されて応答性が良好なシステムを構築できる。
【００７６】
また、誤差算出対象区間が複数の比較単位区間に分割されて、比較単位区間毎に予測係数が生成されているので、話者認識精度の高い予測係数を生成することができる。さらに、位相シフトによる認識精度の低下を抑制することも可能となる。
【００７７】
表１は、サンプル抽出部のサンプリング周波数が４８ｋＨｚであって、例えば１００００サンプル期間（約０．２秒）の音声データを抽出する場合、過去タップ数と学習区間をどのように設定するか決定するために行った実験結果を例示している。具体的には、過去タップ数と学習サンプル数と誤判定回数の関係を示している。なお、学習サンプル数は、学習区間のサンプル数から過去タップ数を減算した値とする。
【００７８】
表１の（Ａ）は予測式の次数＝１の場合を示している。この場合、過去タップ数が５０で、学習サンプル数が過去タップ数の５倍（×５）および１０倍（×１０）であるとき、誤判定が少ない。また、表１の（Ｂ）は予測式の次数＝２の場合を示している。この場合、過去タップ数が５０で、学習サンプル数が過去タップ数の５倍（×５）であるとき、誤判定が少ない。さらに、表１の（Ｃ）は予測式の次数＝３の場合を示している。この場合、次数＝１であって過去タップ数が５０，学習サンプル数が過去タップ数の１０倍（×１０）のとき、誤判定が「０」となり良好な認識精度が得られる。したがって、過去タップ数は５０サンプルとして、学習サンプル数は過去タップ数の例えば１０倍とする。
【００７９】
【表１】
2009294307.tif 000003
【００８０】
図８は、過去タップ数を５０サンプル、学習サンプル数を過去タップ数の１０倍（５００サンプル）としたときの学習区間（５５０サンプル）を示している。このように過去タップ数と学習区間を設定して図５に示すように学習区間を移動するものとしたとき、サンプル抽出で抽出された１００００サンプルに対して設けられる比較単位区間の数は、「（１００００−５０）／５００＝１９．９」であることから１９個となる。また、予測式を例えば「ＤＳｙ(n)＝ω１・ＤＳa(n-1)＋ω2・ＤＳa(n-2)＋・・・＋ω50・ＤＳa(n-50)」とすると、係数蓄積部４０には、入力された例えば１つの母音に対して予測係数（ω1〜ω50）が１９セット蓄積されることになる。したがって、図６のステップＳＴ２６では、１９個の予測誤差の平均値を予測波形毎に算出することになる。
【００８１】
ところで、図６に示す処理は、比較単位区間毎の予測誤差の統計値として、比較単位区間毎の予測誤差の代表値である予測誤差平均値を用いて予測波形を決定するものである。しかし、比較単位区間毎の予測誤差の代表値のみを用いるものとすると、比較単位区間毎の予測誤差のばらつきを考慮することなく話者認識が行われてしまう。そこで、比較単位区間毎の予測誤差の統計値として、比較単位区間毎の予測誤差のばらつきを示す値、例えば分散や偏差等も用いるものとすれば、予測誤差のばらつきを考慮した話者認識を行うことができるので認識精度を向上させることが可能となる。
【００８２】
図９は、比較単位区間毎の予測誤差の統計量として、予測誤差の平均値と分散を用いる場合の動作を示すフローチャートである。
【００８３】
ステップＳＴ４１で話者認識部３０の音声取得部３１は、音声取得を開始してステップＳＴ４２に進む。
【００８４】
ステップＳＴ４２で話者認識部３０のサンプル抽出部３２は、音声波形の最大ピークを検出して、最大ピークが検出された位置を話者認識の検出開始位置としてステップＳＴ４３に進む。
【００８５】
ステップＳＴ４３で話者認識部３０のサンプル抽出部３２は、検出開始位置から所定サンプル数の音声データＤＳｂを抽出する。サンプル抽出部３２は、例えば個人係数登録部２０のサンプル抽出部２２で抽出した音声データのサンプル数分だけ音声データＤＳｂを抽出してステップＳＴ４４に進む。
【００８６】
ステップＳＴ４４で話者認識部３０の予測波形生成部３３は、予測波形の生成を行う。予測波形の生成では、予測式を用いて予測係数と抽出した音声データＤＳｂとの演算を行い、誤差算出対象区間の予測波形を生成してステップＳＴ４５に進む。
【００８７】
ステップＳＴ４５で予測誤差算出部３４は、入力音声の音声波形に対する予測波形の予測誤差を比較単位区間毎に算出する。予測誤差算出部３４は、サンプル位置毎に音声データＤＳｂと予測値ＤＳｙの差分を求めて、この差分の絶対値を加算することにより差分絶対値和を比較単位区間毎に算出して、この差分絶対値和を予測誤差としてステップＳＴ４６に進む。
【００８８】
ステップＳＴ４６で予測誤差算出部３４は、比較単位区間毎の予測誤差の統計処理を行い、予測波形の誤差の特徴を示す統計量として予測誤差の平均値と分散を、予測波形毎に算出してステップＳＴ４７に進む。
【００８９】
ステップＳＴ４７で話者特定部３５は、予測誤差の平均値と分散に基づき、入力音声の音声波形と最も近似した予測波形を決定してステップＳＴ４８に進む。話者特定部３５は、予測誤差の平均値が小さく分散の少ない予測波形を音声波形と最も近似した予測波形に決定する。
【００９０】
ステップＳＴ４８で話者特定部３５は、決定した予測波形に対する予測誤差の平均値と分散が閾値未満であるか否かを判別する。話者特定部３５は、決定した予測波形について、予測誤差の平均値と分散が閾値未満であると判別したときステップＳＴ４９に進み、閾値未満でないと判別したときステップＳＴ５０に進む。
【００９１】
ステップＳＴ４９で話者特定部３５は、話者を特定する。話者特定部３５は、予測誤差の平均値と分散が閾値未満であることから、音声取得部３１で取得された入力音声の話者を、決定した予測波形に対応する登録話者と特定して話者認識を終了する。
【００９２】
ステップＳＴ５０で話者特定部３５は認識エラー処理を行う。話者特定部３５は、予測誤差の平均値や分散が閾値未満でないことから、音声取得部３１で取得された入力音声の話者が、決定した予測波形に対応する登録話者とは異なる第三者であり、話者の特定ができない旨の通知を行って話者認識を終了する。
【００９３】
このように、学習区間毎の予測誤差のばらつきを考慮して話者認識を行うものとすれば、比較単位区間毎の予測誤差の代表値のみに基づいて話者認識を行う場合に比べて、話者認識の精度を向上させることができる。
【００９４】
また、上述の話者認識部３０は、全ての比較単位区間の予測波形を用いて話者認識を行うものである。しかし、比較単位区間毎の予測波形を選択的に用いて話者認識を行うものとすれば、全ての比較単位区間の予測波形を用いて話者認識を行う場合に比べて、演算時間を短縮することが可能となる。
【００９５】
図１０および図１１は、比較単位区間毎の予測波形を選択的に用いて話者認識を行う場合の動作を示すフローチャートである。なお、図１０は、時間的に最も古い比較単位区間から所定数区間の予測波形を選択的に用いて話者認識を行う場合、図１１は比較単位区間の間引きを行って話者認識を行う場合を示している。
【００９６】
図１０のステップＳＴ５１で話者認識部３０の音声取得部３１は、音声取得を開始してステップＳＴ５２に進む。
【００９７】
ステップＳＴ５２で話者認識部３０のサンプル抽出部３２は、音声波形の最大ピークを検出して、最大ピークが検出された位置を話者認識の検出開始位置としてステップＳＴ５３に進む。
【００９８】
ステップＳＴ５３で話者認識部３０のサンプル抽出部３２は、検出開始位置から所定サンプル数の音声データＤＳｂを抽出する。サンプル抽出部３２は、例えば個人係数登録部２０のサンプル抽出部２２で抽出した音声データのサンプル数分だけ音声データＤＳｂを抽出してステップＳＴ５４に進む。
【００９９】
ステップＳＴ５４で話者認識部３０の予測波形生成部３３は、予測波形の生成を行う。予測波形の生成では、予測式を用いて予測係数と抽出した音声データＤＳｂとの演算を行い、誤差算出対象区間の予測波形を生成してステップＳＴ５５に進む。
【０１００】
ステップＳＴ５５で予測誤差算出部３４は、入力音声の音声波形に対する予測波形の予測誤差を比較単位区間毎に算出する。予測誤差算出部３４は、サンプル位置毎に音声データＤＳｂと予測値ＤＳｙの差分を求めて、この差分の絶対値を加算することにより差分絶対値和を比較単位区間毎に算出して、この差分絶対値和を予測誤差としてステップＳＴ５６に進む。
【０１０１】
ステップＳＴ５６で予測誤差算出部３４は、誤差算出対象区間における先頭から所定数の比較単位区間の予測誤差を予測波形毎に抽出する。例えば比較単位区間が上述のように１９区間であるとき、時間的に古い順から３比較単位区間の予測誤差を抽出してステップＳＴ５７に進む。
【０１０２】
ステップＳＴ５７で予測誤差算出部３４は、抽出した予測誤差の統計処理を予測波形毎に行いステップＳＴ５８に進む。
【０１０３】
ステップＳＴ５８で話者特定部３５は、予測誤差の統計値（例えば平均値または平均値と分散等）に基づき、入力音声の音声波形と最も近似した予測波形を決定してステップＳＴ５９に進む。
【０１０４】
ステップＳＴ５９で話者特定部３５は、決定した予測波形に対する予測誤差の統計値が閾値未満であるか否かを判別する。話者特定部３５は、決定した予測波形に対する予測誤差の統計値が閾値未満であると判別したときステップＳＴ６０に進み、閾値未満でないと判別したときステップＳＴ６１に進む。
【０１０５】
ステップＳＴ６０で話者特定部３５は、話者を特定する。すなわち、予測誤差の統計値が閾値未満であることから、話者特定部３５は、音声取得部３１で取得された入力音声の話者を、決定した予測波形に対応する登録話者と特定して話者認識を終了する。
【０１０６】
ステップＳＴ６１で話者特定部３５は、全比較単位区間の予測誤差が用いられているか判別する。話者特定部３５は、全比較単位区間の予測誤差が用いられていないと判別したときステップＳＴ６２に進み、全比較単位区間の予測誤差が用いられていると判別したときステップＳＴ６３に進む。
【０１０７】
ステップＳＴ６２で予測誤差算出部３４は、予測誤差の抽出を１比較単位区間追加してステップＳＴ５７に戻る。
【０１０８】
すなわち、ステップＳＴ５８で決定した予測波形に対する予測誤差の統計値が閾値未満とならないときには、比較単位区間が追加されて、追加された比較単位区間の予測誤差を含めた予測誤差の統計値が予測波形毎に算出される。さらに、この予測誤差の統計値に基づいて、入力音声の音声波形と最も近似した予測波形を決定する処理が再度行われる。
【０１０９】
ステップＳＴ６１で全比較単位区間の予測誤差が用いられていると判別されてステップＳＴ６３に進むと、ステップＳＴ６３で話者特定部３５は認識エラー処理を行う。
【０１１０】
このように、誤差算出対象区間における先頭から所定数の比較単位区間の予測誤差を抽出して話者認識を行い、話者が特定できないときには比較単位区間を追加して話者認識が繰り返される。したがって、入力音声の話者が、決定した予測波形に対応する登録話者であるとき、全比較単位区間の予測誤差を用いて統計量を算出しなくとも、所定数の比較単位区間の予測誤差に基づいて話者が特定されるので、全比較単位区間の予測誤差を用いて話者認識を行う場合に比べて、話者が特定されるまでに要する演算時間を短縮することが可能となる。
【０１１１】
図１１のステップＳＴ７１で話者認識部３０の音声取得部３１は、音声取得を開始してステップＳＴ７２に進む。
【０１１２】
ステップＳＴ７２で話者認識部３０のサンプル抽出部３２は、音声波形の最大ピークを検出して、最大ピークが検出された位置を話者認識の検出開始位置としてステップＳＴ７３に進む。
【０１１３】
ステップＳＴ７３で話者認識部３０のサンプル抽出部３２は、検出開始位置から所定サンプル数の音声データＤＳｂを抽出する。サンプル抽出部３２は、例えば個人係数登録部２０のサンプル抽出部２２で抽出した音声データのサンプル数分だけ音声データＤＳｂを抽出してステップＳＴ７４に進む。
【０１１４】
ステップＳＴ７４で話者認識部３０の予測波形生成部３３は、予測波形の生成を行う。予測波形の生成では、予測式を用いて予測係数と抽出した音声データＤＳｂとの演算を行い、誤差算出対象区間の予測波形を生成してステップＳＴ７５に進む。
【０１１５】
ステップＳＴ７５で予測誤差算出部３４は、入力音声の音声波形に対する予測波形の予測誤差を比較単位区間毎に算出する。予測誤差算出部３４は、サンプル位置毎に音声データＤＳｂと予測値ＤＳｙの差分を求めて、この差分の絶対値を加算することにより差分絶対値和を比較単位区間毎に算出して、この差分絶対値和を予測誤差としてステップＳＴ７６に進む。
【０１１６】
ステップＳＴ７６で予測誤差算出部３４は、比較単位区間の間引きを行ってステップＳＴ７７に進む。比較単位区間の間引きでは、等間隔で比較単位区間の間引きを行う。例えば比較単位区間が上述のように１９区間であるとき、１比較単位区間を用いるものとして次の２比較単位区間間隔を間引くものとする。
【０１１７】
ステップＳＴ７７で予測誤差算出部３４は、間引き後の比較単位区間毎の予測誤差を予測波形毎に抽出してステップＳＴ７８に進む。
【０１１８】
ステップＳＴ７８で予測誤差算出部３４は、抽出した予測誤差の統計処理を予測波形毎に行いステップＳＴ７９に進む。
【０１１９】
ステップＳＴ７９で話者特定部３５は、予測誤差の統計値に基づき、入力音声の音声波形と最も近似した予測波形を決定してステップＳＴ８０に進む。
【０１２０】
ステップＳＴ８０で話者特定部３５は、決定した予測波形に対する予測誤差の統計値が閾値未満であるか否かを判別する。話者特定部３５は、決定した予測波形に対する予測誤差の統計値が閾値未満であると判別したときステップＳＴ８０に進み、閾値未満でないと判別したときステップＳＴ８１に進む。
【０１２１】
ステップＳＴ８１で話者特定部３５は、話者を特定する。話者特定部３５は、決定した予測波形に対する予測誤差の統計値が閾値未満であることから、音声取得部３１で取得された入力音声の話者を、決定した予測波形に対応する登録話者と特定して話者認識を終了する。
【０１２２】
ステップＳＴ８２で話者特定部３５は、全比較単位区間の予測誤差が用いられているか判別する。話者特定部３５は、全比較単位区間の予測誤差が用いられていないと判別したときステップＳＴ８３に進み、全比較単位区間の予測誤差が用いられていると判別したときステップＳＴ８４に進む。
【０１２３】
ステップＳＴ８３で予測誤差算出部３４は、比較単位区間の間引き間隔を１比較単位区間減少させてステップＳＴ７６に戻る。
【０１２４】
すなわち、ステップＳＴ７９で決定した予測波形に対する予測誤差の統計値が閾値未満とならないときには、比較単位区間が追加されて、追加された比較単位区間の予測誤差を含めた予測誤差の統計値が予測波形毎に算出される。さらに、この予測誤差の統計値に基づき、入力音声の音声波形と最も近似した予測波形を決定する処理が再度行われる。
【０１２５】
ステップＳＴ８２で全比較単位区間の予測誤差が用いられていると判別されてステップＳＴ８４に進むと、ステップＳＴ８４で話者特定部３５は認識エラー処理を行う。
【０１２６】
このように、比較単位区間の間引きを行い、間引き後の比較単位区間の予測誤差を抽出して話者認識を行い、話者が特定できないときには比較単位区間を追加して話者認識が繰り返される。したがって、入力音声の話者が、決定した予測波形に対応する登録話者であるとき、全比較単位区間の予測誤差を用いて統計量を算出しなくとも、間引き後の比較単位区間の予測誤差に基づいて話者が特定されるので、全比較単位区間の予測誤差を用いて話者認識を行う場合に比べて、話者が特定されるまでに要する演算時間を短縮することが可能となる。
【０１２７】
また、比較単位区間の間引きは、等間隔で間引きを行う場合に限られるものではなく、音声データの波形形状の特徴に応じて間引き位置を調整するものとしてもよい。例えば母音/ａ/や母音/ｏ/では、話者の違いによる音声波形の相違が音声波形の先頭側で顕著になりやすい。また、母音/ｉ/や母音/ｕ/では、話者の違いによる音声波形の相違が音声波形の全体で現れて、音声波形の先頭側で顕著となるものではない。したがって、音声が母音/ａ/や母音/ｏ/であるときには、先頭側の間引き間隔を狭くして、母音/ｉ/や母音/ｕ/であるときは、間引き間隔を等しくする。
【０１２８】
この場合、話者認識部３０は、音声取得を行う際に、入力音声がどのような音素であるかを示す音素情報を合わせて取得する。例えば話者認識部３０は、母音毎に操作キーを設けておき、発話する母音に対応する操作キーを操作しながら音声入力を話者に行わせることで、入力音声と音素情報を取得する。話者認識部３０は、取得した音素情報に基づき間引き位置を調整して話者認識を行う。
【０１２９】
このように、話者認識部３０は、入力音声がどのような音素であるかに応じて、間引き位置を調整して最適化することができるので、話者認識をさらに効率よく行うことができる。
【０１３０】
なお、図１０および図１１では、全比較単位区間の予測波形の生成や予測誤差の算出を行ってから、選択的に予測誤差を用いて話者認識を行うものであるが、話者認識に用いる比較単位区間についてのみ予測波形の生成や予測誤差の算出を行い、比較単位区間が追加されるときには、追加された比較単位区間について予測波形の生成や予測誤差の算出を行って話者認識を行うこともできる。
【０１３１】
ところで、上述の話者認識部３０は、全登録話者の予測誤差の統計値について比較を行い、比較結果に基づいて話者認識を行うものであるが、予測係数の蓄積を行った登録話者毎の予測誤差を順次閾値と比較して、この比較結果に基づいて入力音声の話者の特定を行うこともできる。
【０１３２】
図１２は、登録話者毎の予測誤差を順次閾値と比較して話者認識を行う場合の動作を示すフローチャートである。
【０１３３】
ステップＳＴ９１で話者認識部３０の音声取得部３１は、音声取得を開始してステップＳＴ９２に進む。
【０１３４】
ステップＳＴ９２で話者認識部３０のサンプル抽出部３２は、音声波形の最大ピークを検出して、最大ピークが検出された位置を話者認識の検出開始位置としてステップＳＴ９３に進む。
【０１３５】
ステップＳＴ９３で話者認識部３０のサンプル抽出部３２は、検出開始位置から所定サンプル数の音声データＤＳｂを抽出する。サンプル抽出部３２は、例えば個人係数登録部２０のサンプル抽出部２２で抽出した音声データのサンプル数分だけ音声データＤＳｂを抽出してステップＳＴ９４に進む。
【０１３６】
ステップＳＴ９４で話者認識部３０の予測波形生成部３３は、予測波形の生成を行う。予測波形の生成では、予測式を用いて予測係数と抽出した音声データＤＳｂとの演算を行い、誤差算出対象区間の予測波形を生成する。
【０１３７】
ステップＳＴ９５で予測誤差算出部３４は、入力音声の音声波形に対する予測波形の予測誤差を比較単位期間毎に算出する。予測誤差算出部３４は、サンプル位置毎に音声データＤＳｂと予測値ＤＳｙの差分を求めて、この差分の絶対値を加算することにより差分絶対値和を比較単位区間毎に算出して、この差分絶対値和を予測誤差としてステップＳＴ９６に進む。
【０１３８】
ステップＳＴ９６で予測誤差算出部３４は、予測誤差の統計処理を予測波形毎に実施してステップＳＴ９７に進む。
【０１３９】
ステップＳＴ９７で話者特定部３５は、予測係数の蓄積を行った登録話者を選択してステップＳＴ９８に進む。
【０１４０】
ステップＳＴ９８で話者特定部３５は、選択した登録話者の予測波形に対する予測誤差の統計値が閾値未満であるか否かを判別する。話者特定部３５は、予測波形に対する予測誤差の統計値が閾値未満であると判別したときステップＳＴ９９に進み、閾値未満でないと判別したときステップＳＴ１００に進む。
【０１４１】
ステップＳＴ９９で話者特定部３５は、話者を特定する。話者特定部３５は、予測誤差の統計値が閾値未満であることから、音声取得部３１で取得された入力音声の話者を、選択した登録話者と特定して話者認識を終了する。
【０１４２】
ステップＳＴ１００で話者特定部３５は、全登録話者の選択が完了したか否かを判別する。話者特定部３５は、全登録話者の選択が完了していないと判別したときステップＳＴ１０１に進み、全登録話者の選択が完了したと判別したときステップＳＴ１０２に進む。
【０１４３】
ステップＳＴ１０１で話者特定部３５は、新たな登録話者を選択してステップＳＴ９８に戻る。話者特定部３５は、まだ選択されていない登録話者から新たに登録話者を選択する。
【０１４４】
ステップＳＴ１００で全登録話者について予測波形の選択が完了したと判別されてステップＳＴ１０２に進むと、ステップＳＴ１０２で話者特定部３５は認識エラー処理を行う。
【０１４５】
このように、選択された登録話者の予測波形に対する予測誤差の統計値が閾値未満と判別されたときに、音声取得部３１で取得された入力音声の話者が、選択した登録話者と特定される。したがって、全登録話者の予測波形に対する予測誤差の統計値を比較して、最も音声波形に近似した予測波形を決定する必要がないことから、話者が特定されるまでに要する時間を短縮することが可能となる。
【０１４６】
なお、図１２では、全登録話者の予測波形の生成や予測誤差の算出を行ってから、選択された登録話者の予測波形に対する予測誤差の統計値を用いて話者認識を行うものであるが、登録話者が選択されたとき、選択された登録話者に対応する予測波形の生成や予測誤差の算出を行って話者認識を行うこともできる。
【０１４７】
さらに、上述の話者認識はソフトウェアで行うものとしてもよい。図１３は、上述の処理をプログラムにより実行するコンピュータの構成を示した図である。
【０１４８】
コンピュータ６０のＣＰＵ(Central Processing Unit)６１は、ＲＯＭ(Read Only Memory)６２またはＲＡＭ(Random Access Memory)６３に記録されているプログラムにしたがって、各種の処理を実行する。また、ＲＡＭ６３は、各種の処理を実行する際のワーキングメモリとして用いられる。これらのＣＰＵ６１、ＲＯＭ６２、およびＲＡＭ６３は、バス６４により相互に接続されている。また、ＣＰＵ６１には、バス６４を介して入出力インタフェース部６５が接続されている。入出力インタフェース部６５には、ユーザインタフェース部６６、入力部６７、出力部６８、情報蓄積部６９等が接続されている。
【０１４９】
ユーザインタフェース部６６は、操作キー等を用いて構成されており、ユーザ操作に応じた操作信号をＣＰＵ６１に供給する。入力部６７は、話者の音声取得を行うものであり、出力部６８は、話者認識結果を出力するものである。情報蓄積部６９は不揮発性メモリ等で構成されており、話者毎の予測係数および予測係数に関連付けられている話者や予測誤差等の情報を蓄積するものである。
【０１５０】
なお、図示せずも、例えばリムーバブルメディア例えば着脱可能な半導体メモリ等に対してデータの読み出しやデータの書き込みを行うドライブ部、外部機器と通信を行う通信部を設けるものとしてもよい。このように、ドライブ部や通信部を設けるものとすれば、ドライブ部や通信部を介してプログラムの取得や更新を容易に行うことができる。
【０１５１】
ＣＰＵ６１は、プログラムを実行して、入力部６７で音声取得を行って得られた音声データから予測係数を生成して情報蓄積部６９に蓄積させる処理を行う。また、話者認識を行う場合、ＣＰＵ６１は、入力部６７で音声取得を行って得られた音声データと情報蓄積部６９に蓄積されている話者毎の予測係数を用いて予測波形の生成を行う。さらに、生成した予測波形と入力音声の音声波形との誤差に基づき、入力音声の話者を特定して、話者認識結果を出力部６８から出力させる。
【０１５２】
このようにして上述の一連の処理をプログラムにより実行すれば、時間領域を周波数領域に変換するなどの高度な演算処理を行うことなく話者認識を行うことができる。
【０１５３】
以上のように本願の発明は、話者の音声から生成した予測係数を話者毎に予め蓄積しておき、話者認識を行う際には、予測係数を用いて生成した予測波形と入力音声の音声波形を比較して、誤差の少ない予測波形の生成に用いた予測係数に関連付けられている登録話者が、入力音声の話者と特定される。
【０１５４】
したがって、ＦＦＴやＤＣＴ、ＭＦＣＣ等の演算を行う必要がなく、処理能力の高くない機器や大容量のメモリを実装することが困難な機器であっても、話者認識を行うことができるようになる。また、演算処理の負荷が軽減されているので、例えば携帯端末に適用してもリアルタイム性を損なわず軽快な動作を期待できる。さらに、携帯端末に話者認識を適用した場合、話者認識によるドアロックの解除、口座取扱時の本人確認、他者の無断使用を防ぐために他人拒否などを行うセキュリティ用途のアプリケーション等で話者認識を利用できる。また、他の認識処理、例えば顔認識や指紋認識、静脈認識、網膜認識、虹彩認識などと本願の話者認識を組み合わせて用いるものとすれば、よりセキュアなシステムを構築することができる。なお、本発明の実施の形態に限らず、本発明の要旨を逸脱しない範囲において種々の変更も可能である。
【産業上の利用可能性】
【０１５５】
この発明の話者認識装置と話者認識方法およびプログラムは、時間領域を周波数領域に変換する処理等行うことなく、時間領域で簡単かつ容易に話者認識を行うことができるものである。したがって、携帯機器等に適用すれば、セキュリティ用途例えばユーザ認証等に利用することができる。
【図面の簡単な説明】
【０１５６】
【図１】話者認識装置の構成を示す図である。
【図２】個人係数登録部の動作を示すフローチャートである。
【図３】認識精度と誤差算出対象区間の長さの関係をモデル化して示した図である。
【図４】予測係数の算出動作を示すフローチャートである。
【図５】予測係数の算出処理を説明するための図である。
【図６】話者認識部の動作を示すフローチャートである。
【図７】予測波形の生成動作を示すフローチャートである。
【図８】学習区間を示す図である。
【図９】予測誤差の平均値と分散を用いる場合の動作を示すフローチャートである。
【図１０】比較単位区間毎の予測波形を選択的に用いて話者認識を行う場合の動作を示すフローチャートである。
【図１１】比較単位区間毎の予測波形を選択的に用いて話者認識を行う場合の動作を示すフローチャートである。
【図１２】登録話者毎の予測誤差を順次閾値と比較して話者認識を行う場合の動作を示すフローチャートである。
【図１３】コンピュータの構成を示す図である。
【図１４】従来の話者認識の動作を示すフローチャートである。
【符号の説明】
【０１５７】
１０・・・話者認識装置、２０・・・個人係数登録部、２１，３１・・・音声取得部、２２，３２・・・サンプル抽出部、２３・・・係数生成処理部、３０・・・話者認識部、３３・・・予測波形生成部、３４・・・予測誤差算出部、３５・・・話者特定部、４０・・・係数蓄積部、６０・・・コンピュータ、６１・・・ＣＰＵ、６２・・・ＲＯＭ、６３・・・ＲＡＭ、６４・・・バス、６５・・・入出力インタフェース部、６６・・・ユーザインタフェース部、６７・・・入力部、６８・・・出力部、６９・・・情報蓄積部
【図１】
2009294307.tif 000004
【図２】
2009294307.tif 000005
【図３】
2009294307.tif 000006
【図４】
2009294307.tif 000007
【図５】
2009294307.tif 000008
【図６】
2009294307.tif 000009
【図７】
2009294307.tif 000010
【図８】
2009294307.tif 000011
【図９】
2009294307.tif 000012
【図１０】
2009294307.tif 000013
【図１１】
2009294307.tif 000014
【図１２】
2009294307.tif 000015
【図１３】
2009294307.tif 000016
【図１４】
2009294307.tif 000017