JP4244524B2 - 音声認証装置、音声認証方法、及びプログラム - Google Patents

音声認証装置、音声認証方法、及びプログラム Download PDF

Info

Publication number
JP4244524B2
JP4244524B2 JP2001040456A JP2001040456A JP4244524B2 JP 4244524 B2 JP4244524 B2 JP 4244524B2 JP 2001040456 A JP2001040456 A JP 2001040456A JP 2001040456 A JP2001040456 A JP 2001040456A JP 4244524 B2 JP4244524 B2 JP 4244524B2
Authority
JP
Japan
Prior art keywords
voice
feature data
calculated
speech
cepstrum
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2001040456A
Other languages
English (en)
Other versions
JP2002244697A (ja
Inventor
博康 井手
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Casio Computer Co Ltd
Original Assignee
Casio Computer Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Casio Computer Co Ltd filed Critical Casio Computer Co Ltd
Priority to JP2001040456A priority Critical patent/JP4244524B2/ja
Publication of JP2002244697A publication Critical patent/JP2002244697A/ja
Application granted granted Critical
Publication of JP4244524B2 publication Critical patent/JP4244524B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Description

【0001】
【発明の属する技術分野】
本発明は、音声認証装置、音声認証方法、及びプログラムに係り、詳細には、発話者により発話される音声によって個人を認証する音声認証装置、音声認証方法、及びプログラムに関する。
【0002】
【従来の技術】
従来より、コンピュータシステムやネットワークシステムを使用する際に本人であることを確認するため、認証処理が行われている。
このような認証の手法の一つとして、音声による個人認証がある。また、音声認証処理をコンピュータ等により行わせるための音声認証装置が開発されている。
【0003】
この種の音声認証装置では、入力されたアナログ音声信号をデジタル音声信号に変換し、このデジタル音声信号から音声区間を切り出し、切り出された音声区間について夫々特徴データを抽出し、予め登録されている音声についての特徴データと照合することにより、入力された音声が、同一人物による音声であるかを認証する。
【0004】
このような音声認証装置において、入力された音声信号から音声区間を切り出す際は、一般に音声信号のエネルギー値がある程度大きい区間を音声区間として切り出している。そのため、例えば、発話されるまでの非音声区間や、音と音の間の非音声区間についてはエネルギー値が低いため照合の対象から外すことができる。
【0005】
【発明が解決しようとする課題】
しかしながら、上述のような方法で音声区間を切り出す場合には、エネルギー値に基づいて音声区間であるか非音声区間であるかを判別するため、例えば、マイクに息がかかる等、エネルギー値が大きいにも関わらず音声でない部分については照合の対象から外すことはできなかった。そのため、認証に有用でない音声部分についても認証の対象としてしまい、認証率を損なわせていた。
【0006】
本発明の課題は、認証に有用な音声部分を的確に抽出して認証率を向上することが可能な音声認証装置、音声認証方法、及びプログラムを提供することである。
【0007】
【課題を解決するための手段】
このような課題を解決するため、請求項1記載の発明は、
入力された音声信号から定常ノイズを除去するフィルタ(例えば、図3に示すハイパスフィルタ111a、図6のS11)と、
このフィルタにより定常ノイズが除去された音声信号について所定の信号区間毎にエネルギー値を算出するエネルギー算出手段(例えば、図3に示すエネルギー算出処理部112a、図6のS12)と、
このエネルギー算出手段により算出されたエネルギー値に基づいてケプストラム算出の対象とする音声区間を切り出す音声区間切出手段(例えば、図3に示す音声区間切り出し部113a、図6のS15〜S17)と、
この音声区間切出手段により切り出された音声区間について、ケプストラムを算出し、その高ケフレンシー部に表れるピーク値が所定のスレッシュ値より大きい場合に当該音声区間を音声部分と判断して抽出する音声部分抽出手段(例えば、図2に示す特徴抽出処理部11b、図4の111b〜113b、118b、図7のS21〜S25)と、
この音声部分抽出手段により抽出された音声部分における音声信号について、前記音声部分抽出手段によるケプストラム算出の際に計算されるフーリエ変換の結果をダウンサンプリングし、このダウンサンプリングした値からメルケプストラムを算出し、その低ケフレンシー部を音声の特徴データとして抽出する特徴抽出手段(例えば、図2に示す特徴抽出処理部11b、図4の114b〜117b,図7のS26〜S31)と、
この特徴抽出手段により抽出された特徴データを登録する登録手段(例えば、図2に示す登録データバッファ11c、図5のS6)と、
新規入力された音声信号について前記音声部分抽出手段及び前記特徴抽出手段によって特徴データを抽出し、この新規入力音声信号の特徴データと前記登録手段により予め登録されている特徴データとをDPマッチングにより照合し、その照合結果に基づいて新規入力された音声信号を認証する認証手段(例えば、図2に示す特徴照合部11d、図5のS7、図9のS61〜S67)と、
を備えることを特徴としている。
【0011】
【発明の実施の形態】
以下、図を参照して本発明に係る音声認証装置の実施の形態を詳細に説明する。
【0012】
まず構成を説明する。
図1は、本願発明の音声認証装置の回路構成図である。
本実施の形態において音声認証装置1は、CPU(Central Processing Unit)10、入力部12、表示部13、通信制御部14、音声入力部15、RAM(Random Access Memory)16、ROM(Read Only Memory)17、外部記憶装置18、及び記録媒体19によって構成されており、記録媒体19を除く各部はバス20によって接続されている。
【0013】
CPU10は、ROM17または外部記憶装置18に記憶されている当該音声認証装置1に対応する各種アプリケーションプログラムの中から指定されたアプリケーションプログラム、入力部12または音声入力部15から入力される各種指示をRAM16内のワークメモリに格納し、この入力指示及び入力データに応じてRAM16内に格納したアプリケーションプログラムに従って各種処理を実行し、その処理結果をRAM16内のワークメモリに格納するとともに、表示部13に表示する。そして、ワークメモリに格納した処理結果を入力部12から指示される外部記憶装置18内の保存先に保存する。
【0014】
また、CPU10は、音声入力部15から入力された音声について認証処理を実行する音声認証処理部11を備える。
図2は、音声認証処理部11の構成を示す機能ブロック図である。
図2に示すように、音声認証処理部11は、音声区間切り出し処理部11a、特徴抽出処理部11b、登録データバッファ11c、及び特徴照合部11dにより構成される。
【0015】
音声認証処理部11には、デジタル化された音声信号が入力音声として入力される。入力音声は、まず音声区間切り出し処理部11aによってエネルギー値に基づいて音声区間が切り出され、その後、特徴抽出処理部11bによって、その音声区間の特徴データが抽出される。抽出された特徴データは、登録モードであれば登録データバッファ11cに送出され保存される。また、認証モードであれば特徴照合部11dに送出され、登録データバッファ11cに予め保存されている特徴データと照合されて、その照合結果が出力される。
【0016】
照合の結果、入力された音声と登録されている音声の各特徴データが同一と照合された場合は、同一人物による音声であると認証するとともに、新たに入力された音声の特徴データを登録データバッファ11cに送り、登録されている特徴データに代えて更新登録する。
【0017】
図3は音声区間切り出し処理部11aの具体的な構成例、及びエネルギーのスレッシュ値の一例を説明する図である。
【0018】
図3(a)に示すように、音声区間切り出し処理部11aは、ハイパスフィルタ111a、エネルギー算出処理部112a、及び音声区間切り出し部113aによって構成される。
入力音声は、まずハイパスフィルタ111aによってその直流成分が除去される。このとき100Hz程度のハイパスフィルタをかけることで定常ノイズを除去する。ハイパスフィルタ111aは、例えば次式(1)で表されるものを用いればよい。
【0019】
H(z)=(0.46-0.93z-1+0.46z-2)/(1-1.91z-1+0.91z-2) ・・・・(1)
【0020】
ハイパスフィルタ111aにより定常ノイズが除去された入力音声は、次に、エネルギー算出処理部112aにより、一定サンプル毎、即ち各信号区間毎にエネルギー値の対数が計算される。以下の説明において一定サンプルの各信号区間をフレームという。各フレームのエネルギー値Eの算出式を次式(2)に示す。
【0021】
【数1】
Figure 0004244524
【0022】
ここで、Siはサンプル値、nは各フレームのサンプル数を示し、例えば、n=100等とすればよい。
エネルギー値Eを算出する際に対数をとることで、音声区間を精度よく切り出すことができる。
【0023】
エネルギー算出処理部112aは、上式(2)を入力音声の全信号(全フレーム)にわたって計算する。発話者がマイク(音声入力部15)に十分接近して発声している場合には、音声区間は非音声区間に比べて十分にエネルギーが高い。そこで、エネルギー算出処理部112aは、各フレームのエネルギーEのレンジを計算し、算出したエネルギー値Eからスレッシュ値Etを算出する。
【0024】
図3(b)にエネルギーのスレッシュ値Etの一例を示す。図3(b)に示すように、例えば、全フレームのエネルギー値Eのレンジ(Emin≦E≦Emax)の1/2以上のエネルギーを持つフレームを音声区間とみなす場合には、スレッシュ値Etは以下の式(3)で表される。
【0025】
Et=(Emax-Emin)/2+Emin ・・・・・・(3)
ここで、Emaxはエネルギーの最大値であり、Eminはエネルギーの最小値である。
なお、この例ではエネルギーのスレッシュ値Etを全フレームにおけるエネルギーのレンジの1/2としているが、これに限定されるものではない。
【0026】
次に音声区間切出し部113aはエネルギー算出処理部112aにより算出された各フレームのエネルギー値Eをスレッシュ値Etと比較し、エネルギーEがスレッシュ値Etより大きいフレームを音声区間とみなし、またスレッシュ値Et以下となるフレームを非音声区間とみなす。そして、音声区間とみなされたフレームを切出し、特徴抽出処理部11bへ出力する。
【0027】
特徴抽出処理部11bは、音声の特徴データとしてケプストラムC(τ)及びメルケプストラムを算出する。ケプストラムとは、波形の短時間スペクトルの対数の逆フーリエ変換として定義され、次式(4)で表される。ケプストラムの横軸はケフレンシーと呼ばれる。また、メルケプストラムとはメル軸に変換されたケプストラムをいい、聴力特性に近似した特徴を表すことが知られている。
【0028】
C(τ)=IFFT(LOG|FFT(x(t))|) ・・・・・(4)
ここで、FFT()はフーリエ変換、IFFT()は逆フーリエ変換、x(t)は入力信号である。
【0029】
図4は、特徴抽出処理部11bによる特徴抽出の手順を示す図である。
まず、入力音声x(t)をフーリエ変換(FFT;Fast Fourier Transform)する(111b)。ここでは、ケプストラムの高ケフレンシー部に表れるピークに、80Hz程度の低い音声まで表現可能とするため、ある程度細かい精度でフーリエ変換する。具体的には、例えば11kHzでサンプリングした音声信号であれば512点のフーリエ変換を行えばよい。
【0030】
次に、フーリエ変換されたスペクトルの絶対値|X(t)|の対数を取り、逆フーリエ変換して、ケプストラムC(τ)を算出する(112b)。ケプストラムの高ケフレンシー部には入力信号の基本周波数がピークとして表れる。
そこで、特徴抽出処理部11bはケプストラムの高ケフレンシー部を抽出し(113b)、その高ケフレンシー部に表れるピーク値が所定のスレッシュ値よりも小さければ基本周波数が存在しない、即ち音声でない(有声音でない)と判定する。ピーク値が所定のスレッシュ値以上であれば音声部分(有声音)と判定する。
【0031】
具体的には、例えばケプストラムの30次以降を高ケフレンシー部とし、ピーク値のスレッシュ値は0.1とすればよい。
音声部分と判定された音声信号はその後、特徴データの抽出対象となる(118b)。
【0032】
一方、ケプストラムC(τ)の低ケフレンシー部にはスペクトラム包絡の情報が含まれ、やや粗くケプストラムを算出する方が個人差を表現しやすい。
【0033】
そこで、特徴抽出処理部11bは、高ケフレンシー部に現れるピーク値に基づき音声部分として抽出された音声信号について、やや粗いケプストラムを算出し(114b、115b)、そのケプストラムを聴力特性と近似するためにメル軸に変換し(116b)、変換されたメル軸のケプストラム(以下、メルケプストラムという)の低ケフレンシー部を抽出し(117b)、特徴データとして音声認証に利用する。
【0034】
粗いケプストラムを算出するため、具体的には、例えば図4に示すように、細かいケプストラムを算出した際に既に算出されているフーリエ変換の結果をダウンサンプリングし(111b→114b)、その値を利用してケプストラムを算出する。
【0035】
メルケプストラム係数は、ケプストラム係数Cnにより次の再帰式を用いて近似的に算出される。メルケプストラムの算出式を次式(5)に示す。
【0036】
【数2】
Figure 0004244524
【0037】
ここで、Cnはケプストラム係数、Nはケプストラムの次元数、i,jは夫々{i|0,1,…,N}、{j|0,1,…,N}である。また、αはサンプリング周波数に依存した値であり、サンプリング周波数が8kHzのときはα=0.31、10kHzのときはα=0.35に設定する。この再帰式を計算すると、MCk 0にメルケプストラムが代入される。
ここではメルケプストラムの例えば30次までを低ケフレンシー部とする。
【0038】
特徴抽出処理部11bは、抽出された音声部分のやや粗く算出されたメルケプストラムの低ケフレンシー部を音声の特徴データとし、登録モードであれば登録データバッファ11cに送出し、認証モードであれば特徴照合部11dに送出する。
【0039】
登録データバッファ11cには、やや粗く算出されたメルケプストラムの低ケフレンシー部が登録特徴データとして記憶される。
【0040】
特徴照合部11dは、特徴抽出処理部11bから供給される新たに入力された音声についての特徴データ(やや粗く算出されたメルケプストラムの低ケフレンシー部)を、登録データバッファ11cに登録されている登録特徴データと照合する。
【0041】
ここで、特徴照合処理について説明する。
特徴照合にはDPマッチングを利用する。
DPマッチングとは、時間長の変動を動的計画法(DP:Dynamic Programming)を用いて時間正規化する手法である。以下、DPマッチングについて簡単に説明する。
【0042】
対応すべき2つのベクトルの系列を次のように表す。
A=a1,a2,…,aI
B=b1,b2,…,bJ
【0043】
A,B両パターンの時間軸の対応付けは、ベクトルA、Bからなる平面の格子点の系列で表される。
即ち、マッチングでは、(a1,b1)から始まり、(aI,bJ)まで到達する交点の系列を算出する。交点の系列Fは次のように表される。
F=c1,c2,…,ck,…,cK ck=(ik,jk)
【0044】
また、A,B間の各ベクトルの組(ai,bj)間の距離をd(i,j)で表すと、交点の系列Fに沿ったA,Bの距離の総和D(F)は次の式(6)で表される。
【0045】
【数3】
Figure 0004244524
【0046】
ここで、wkは重み付け関数である。
このD(F)の値が小さいほど、AとBの対応付けがよいこととなる。
【0047】
単調連続性条件として、
0≦ik−ik-1≦1
0≦jk−jk-1≦1
境界条件として、
1=j1=1
K=I,jK=J
を導入し、これらの条件を満たす範囲で、上式(6)に示すD(F)が最小となる交点系列Fを算出すればよい。
【0048】
DPマッチング時の重みとして、市街化距離を採用すると、
wk=(ik−ik-1)+(jk−jk-1),(i0=j0=0)
となる。
このとき、D(F)は次の式(7)に簡略化される。
【0049】
【数4】
Figure 0004244524
【0050】
DPマッチングにより最小のD(F)を算出し、この算出した結果値が所定のスレッシュ値未満となる場合は、新規入力された音声が登録されている音声に一致すると判定する。例えば、10kHz程度でサンプリングした音声についてユークリッド距離を採用し、その重み付けとして市街化距離を採用したDPマッチングを行う場合は、スレッシュ値を0.7程度とすればよい。
【0051】
以上の説明がDPマッチングの簡単な説明である。
本実施の形態では、照合すべきデータは予め登録された登録特徴データ(ベクトル列)と新規入力音声の特徴データ(ベクトル列)である。
まず、特徴照合部11dは各特徴データの各点(ベクトル)間の距離d(i,j)を算出する。ベクトル間距離は、例えばユークリッド距離を用いる。
各ベクトルの要素を
a={x1,…,xN}
b={y1,…,yN}
とすると、ユークリッド距離dは、以下の式(8)で表される。
【0052】
【数5】
Figure 0004244524
【0053】
上述のDPマッチングの説明では(a1,b1)から(aI,bJ)までのD(F)を算出することとしているが、これはベクトル列AとBの長さだけが異なり、始点と終点が一致している場合に適用するものである。
【0054】
ところが、音声では「サ行」や「シャ行」のように徐々にフェードインし、音声区間の切り出し方によって、照合すべき2つの音声の始点が必ずしも一致しない場合がある。そのため、本実施の形態では、特徴照合部11dはDPマッチングの始点付近の複数の点群(以下、初期点群という)から最適な始点を選択する。
【0055】
即ち、(a1,b1)だけでなく、(a1,b2),…,(a1,bs)や、(a2,b1),…,(as,b1)等の所定範囲内に含まれる複数の点を初期点群とし、この初期点群に含まれる各点については、ベクトル間距離を算出する際に各点に適した重み付けを行う。
例えば点(ap,bq)でのベクトル間距離d(ap,bq)に対して、(p+q)の重みを掛ける。即ち、点(ap,bq)でのスコアは、(p+q)×d(ap,bq)として算出される。そして、上記初期点群の各点についてスコアを計算し、最小の値を最適な初期値とし、その点を始点として選択する。
【0056】
また、延音で終わる単語は照合すべき2つの音声の終点が必ずしも一致しない場合がある。そのため、特徴照合部11dはDPマッチングの終点付近の複数の点群(以下、終点群という)から終点として最適な点を選択し、その点におけるDPマッチングの値をその点に適した重み付けで正規化し、DPマッチングの結果とする。
【0057】
即ち、(aI,bJ)だけでなく、(aI,bJ-1),…,(aI,bJ-s)や、(aI-1,bJ),…,(aI-s,bJ)等の所定範囲内に含まれる複数の点を終点群とし、終点群に含まれる各点までのDPマッチングの結果(スコア)を算出し、それらスコアを比較して最小となる点を終点として選択する。また、選択された終点に適した重み付けでその点におけるDPマッチングの結果値を正規化する。例えば、点(ap,bq)を終点とした場合には、その点のスコアSを(p+q)で割る、即ちS/(p+q)を計算することにより正規化し、DPマッチングの結果とする。
【0058】
また、上記初期点群、終点群の範囲、即ち上記のsの値はFFT窓のシフト量に依存するが、例えば、1/100sec程度の点を取ることにすればよい。
【0059】
特徴照合部11dは、登録特徴データと、新規入力された音声の特徴データと、について上述のようなDPマッチングによる照合処理を行い、その照合結果をCPU10に出力する。CPU10は照合結果に応じた処理を実行する。
【0060】
照合結果により両特徴データが同一であると認証された場合は、新規入力された音声の特徴データを、予め登録されている登録特徴データに代えて登録データバッファ11cに更新登録させる。
また、照合結果により両特徴データが同一でないと認証された場合は、例えばこの音声認証装置1に接続されたコンピュータシステムの利用を禁止させる処理等を実行する。
【0061】
入力部12は、カーソルキー、数字入力キー及び各種機能キー等を備えたキーボード、及びマウスを含み、キーボードで押下された押下信号やマウスの位置信号をCPU10に出力する。
【0062】
表示部13は、CRT(Cathode Ray Tube)、またはLCD(Liquid Crystal Display)等により構成され、CPU10から入力される表示指示に従って各種表示データの画面表示を行う。
【0063】
通信制御部14は、モデム(MODEM:MOdulator/DEModulator )またはターミナルアダプタ(TA:Terminal Adapter)等によって構成され、通信回線を介して外部機器との通信を行うための制御を行う。
【0064】
音声入力部15は、マイク、及びA/D変換器により構成され、発話者によりマイクに対して入力された音声のアナログ信号をデジタル音声信号に変換し、音声認証処理部11へ出力する。
【0065】
RAM16は、指定されたアプリケーションプログラム、入力指示、入力データ及び処理結果等を格納するメモリ領域を有する。
【0066】
ROM17は、音声認証装置1に対応する基本プログラムを格納している。すなわち、音声認証装置1の電源がON状態にされた際に実行する初期プログラム、各種演算プログラム、各処理モードにおいて実行される処理プログラム等の書き換え不要な基本プログラムを格納している。
【0067】
外部記憶装置18は、プログラム、データ等が予め記憶されており、この外部記憶装置18は磁気的、光学的記録媒体、若しくは半導体メモリ等CPUで読取り可能な記録媒体19を含んだ構成である。この記録媒体19はCD−ROM、メモリカード等の可搬型の媒体やハードディスク等の固定的な媒体を含む。また、この記録媒体19に格納するプログラム、データ等は、その一部若しくは全部をサーバやクライアントからWAN、LANなどのネットワークを介して通信制御部14から受信する構成にしてもよく、更に、前記記録媒体19はネットワーク上に構築されたサーバやクライアントの記録媒体であってもよい。
【0068】
次に動作を説明する。
後述する各フローチャートは本願発明の音声認証装置を構成するコンピュータに各機能を実現させるためのプログラムを説明するためのものである。このプログラムはCPU10が読取り可能なプログラムコードの形態で前記記録媒体19に格納されている例で説明するが、全ての機能を前記記録媒体19に格納する必要はなく、必要に応じて、その一部若しくは全部をネットワークを介して通信制御部14から受信して実現するようにしてもよい。
【0069】
図5は音声認証装置1における音声認証処理の全体的な流れを説明するフローチャートである。
【0070】
まず、ユーザは音声入力部15に対して所定の音声を発話する(ステップS1)。音声入力部15は入力された音声のアナログ信号を所定のサンプリング周波数で標本化し、量子化し、符号化することにより、デジタル音声信号に変換し、変換されたデジタル音声信号を入力音声として音声認証処理部11へ送出する(ステップS2)。
【0071】
音声認証処理部11では、まず音声区間切り出し処理部11aにより入力音声からエネルギー値に基づいて音声区間を切り出す処理を行う(ステップS3)。
ここで、音声区間切り出し処理について図6を参照して説明する。
図6は音声区間切り出し処理を説明するフローチャートである。
図6に示すように、音声区間切り出し処理では、まず、ハイパスフィルタ111aにより入力音声から直流成分、及び定常ノイズを除去する(ステップS11)。
次に、エネルギー算出部112aによって入力音声の一定サンプル毎の各区間(フレーム)のエネルギー値を算出し(ステップS12)、対数処理を行う(ステップS13)。例えば、100サンプル毎の区間(フレーム)に区切り、エネルギー値を算出する(上式(2)参照)。
【0072】
入力音声の信号全域に渡って、各フレームのエネルギー値を算出すると(ステップS14;Yes)、次に音声区間切り出し処理部11aは、算出した各フレームのエネルギー値から、音声区間か或いは非音声区間かのスレッシュ値Etを算出する(ステップS15)。スレッシュ値Etは、エネルギー値のレンジ(Emin≦E≦Emax)の例えば1/2とすればよい(上式(3)参照)。
【0073】
そして、音声区間切り出し部113aは各フレームのエネルギー値Eがスレッシュ値Etより大きいか否かを判別し(ステップS16)、スレッシュ値Etより大きければ(ステップS16;Yes)、そのフレームを音声区間として切り出す(ステップS17)。また、エネルギー値Eがスレッシュ値Et以下であれば、そのフレームは非音声区間であるとみなし、以降のケプストラム計算の対象としない。
【0074】
全区間(フレーム)についてエネルギー値に基づく音声区間の切り出しが終了すると(ステップS18;Yes)、一連の音声区間切り出し処理を終了し、図5のステップS4へ移行する。
【0075】
音声区間として切り出された音声信号は次に特徴抽出処理部11bによって特徴データが抽出される(ステップS4)。
ここで、特徴抽出処理について図7を参照して説明する。
図7は特徴抽出処理を説明するフローチャートである。
まず、切り出された音声信号についてケプストラムを算出するため、フーリエ変換(FFT処理)を行う(ステップS21)。ここで、低い声(80Hz程度)でも高ケフレンシー部にピークが表れるようにするため、ある程度細かくフーリエ変換をとる。例えばサンプリング周波数が11kHzの音声信号であれば512点のフーリエ変換を行えばよい。ここで算出されたフーリエ変換の結果はRAM16に保存される(ステップS22)
【0076】
次に、フーリエ変換された値の絶対値の対数をとり、逆フーリエ変換を計算することによりケプストラムを算出する(ステップS23)。特徴抽出処理部11bでは、算出したケプストラムの例えば30次以降を高ケフレンシー部として抽出する(ステップS24)。そして高ケフレンシー部に現れるピーク値が所定のスレッシュ値(例えば、0.1)より大きいか判定することによりその音声信号が有声音(音声部分)であるか判別する(ステップS25)。マイクに息がかかる等、有声音でない場合は高ケフレンシー部のピーク値が所定のスレッシュ値(例えば、0.1)以下になるため音声部分でないと判別される。以降の処理(ステップS27〜S31)では音声部分と判別された音声信号のみ特徴抽出(メルケプストラム計算)の対象とし(ステップS26;Yes)、音声部分でない音声信号は特徴抽出の対象としない(ステップS26;No)。
【0077】
ステップS25において音声部分と判別された音声信号について、特徴抽出処理部11bはステップS23において算出したケプストラムよりも粗くケプストラムを算出する。ここでは、RAM16に保存したFFT処理結果を読み出し(ステップS27)、ダウンサンプリングする(ステップS28)。ダウンダンプリングは例えば128点とすればよい。次に、ダウンサンプリングしたFFTの結果の対数を計算し、逆フーリエ変換することによりやや粗いケプストラムを算出する(ステップS29)。
【0078】
次に、算出したやや粗いケプストラムをメル軸に変換することにより、メルケプストラムを算出する(ステップS30)。
メルケプストラム算出処理について図8を参照して説明する。
図8はメルケプストラム算出処理を説明するフローチャートである。
このフローチャートにおいて、Nはケプストラムの次元数、C[0,…,N]は求められているケプストラムの値、MC[0,…,N][0,…,N+1]は計算に用いるバッファであり、αはサンプリング周波数に依存した定数である。
【0079】
まず、バッファMC[0][N+1],MC[1][N+1],…,MC[N][N+1]に「0」を代入し初期化する(ステップS41)。また、カウンタnにNを代入し初期化する(ステップS42)。
次に、C[n]+α×MC[0][n+1]を計算し、バッファMC[0][n]に代入する(ステップS43)。この計算をカウンタnが0になるまで、即ちN+1回繰り返す(ステップS44;No→ステップS45→ステップS43)。
カウンタnが0になった場合は(ステップS44;Yes)、再度カウンタnにNを代入して初期化し(ステップS46)、次に、式(1-α^2)×MC[0][n+1]+α×MC[1][n+1]を計算し、バッファMC[1][n]に代入する(ステップS47)。この計算をカウンタnが0になるまで、即ちN+1回繰り返す(ステップS48;No→ステップS49→ステップS47)。
【0080】
次に、カウンタkに2を代入し(ステップS50)、カウンタnにNを代入して(ステップS51)、初期化する。
次に、MC[k-1][n+1]+α×(MC[k][n+1]-MC[k-1][n])を計算し、バッファMC[k][n]に代入する(ステップS52)。この計算をカウンタnが0になるまで、即ちN+1回繰り返す(ステップS53;No→ステップS54→ステップS52)。
また、ステップS51〜S53の計算をカウンタkがNになるまで(即ち、N−1回)繰り返す(ステップS55;No→ステップS56→ステップS51〜S53)。
以上の計算が終了すると(ステップS55;Yes)、MC[0][0],MC[1][0],…,MC[N][0]に、メルケプストラムの値が夫々代入されている。
【0081】
メルケプストラムが算出されると、図7のステップS31に戻り、算出されたメルケプストラムのうち、低ケフレンシー部を抽出する。ここでは、例えば30次までのメルケプストラムを低ケフレンシー部とする(ステップS31)。
全音声区間について特徴抽出処理が終了すると(ステップS32;Yes)図5のステップS5に移行する。CPU10は登録モードであるか認証モードであるか判別する。
【0082】
登録モードであれば(ステップS5;登録)、特徴抽出処理部11bにより抽出されたメルケプストラムの低ケフレンシー部を登録特徴データとして、登録データバッファ11cに記憶させる(ステップS6)。
認証モードであれば(ステップS5;認証)、特徴抽出処理部11bにより抽出されたメルケプストラムの低ケフレンシー部を新規特徴データとして、特徴照合部11dに出力し、特徴照合処理を行わせる(ステップS7)。
【0083】
ここで、特徴照合処理について図9を参照して説明する。
図9は特徴照合処理を説明するフローチャートである。
図9に示すように、特徴照合部11dは、登録データバッファ11cに登録されている登録特徴データを読出し、この登録特徴データと特徴抽出処理部11bから供給される新規特徴データとをDPマッチングにより照合する。
【0084】
DPマッチングではまず、登録特徴データ(例えば30次のベクトル列で表される)の各点(各要素)と新規特徴データ(例えば30次のベクトル列で表される)の各点(各要素)とのベクトル間距離を算出する(上式(8)参照)(ステップS61)。
次に、所定の初期点群については、ベクトル間距離に各点に適切な重み付けを行ってスコアを求める(ステップS62)。そして、DPマッチングを実行する(ステップS63)。
【0085】
また、所定の終点群について、その点に適した重み付けで正規化した、各点におけるDPマッチングの結果(スコア)を求め、それらの結果の中から最適なものを選択する(ステップS64)。その値を所定のスレッシュ値と比較し(ステップS65)、スレッシュ値以上であれば(ステップS65;No)、他人による音声と判定して(ステップS66)、その照合結果をCPU10に出力する。また、DPマッチングの結果がスレッシュ値未満であれば(ステップS65;Yes)、同一人物による音声と判定して(ステップS67)、その照合結果をCPU10に出力する。
【0086】
同一人物による音声であると認証された場合は、CPU10は登録データバッファ11cに登録されている特徴データに代えて、新規特徴データを登録特徴データとして更新登録し(ステップS68)、一連の音声認証処理を終了する。
【0087】
以上説明したように、本実施の形態の音声認証装置1は、音声認証処理部11として、音声区間切り出し処理部11a、特徴抽出処理部11b、登録データバッファ11c、及び特徴照合部11dを備え、音声区間切り出し処理部11aによって入力音声からエネルギー値に基づいて音声区間を切り出し、その音声区間についての特徴データ(メルケプストラム)を特徴抽出処理部11bによって算出する。特徴データを算出する際は、まず、80Hz程度の低い音声まで基本周波数が検出できるように細かくフーリエ変換し、ケプストラムを算出し、その高ケフレンシー部に現れるピーク値が所定のスレッシュ値より大きい場合はその区間を音声部分(有声音)と判断して抽出する。次に、その抽出された音声部分について、個人の特徴がよく現れるようにやや粗くフーリエ変換し、ケプストラムを算出し、更にメル軸に変換してメルケプストラムを算出し、その低ケフレンシー部を特徴データとして抽出する。そして、抽出した特徴データを登録データバッファ11cに記憶しておく。
【0088】
また、新たに音声が入力された場合は、音声区間切り出し処理部11a、及び特徴抽出処理部11bにて同様の処理を行って、入力音声の音声部分についてのメルケプストラムの低ケフレンシー部を新規特徴データとして抽出する。
そして、特徴照合部11dにより、その新規特徴データと登録データバッファ11cに予め登録されている登録特徴データとをDPマッチングにより照合し、照合結果に基づいて新規音声が登録音声と同一であるか認証する。
【0089】
従って、音声から特徴データを抽出する際に、まずケプストラムを細かく算出して高ケフレンシー部に現れるピーク値に基づいて音声部分であるか否かを判別するため音声部分を的確に抽出できる。つまり、マイクに息がかかったときのようにエネルギー値が大きいが音声でない部分を認証の対象から削除できる。その後、粗いメルケプストラムを算出するため個人差をよく表すことができる。そのため、音声認証に有用な音声部分について個人の特徴をよく表した特徴データで各音声を照合できるため、高性能な音声認証を行うことができる。
【0090】
また、特徴抽出処理部11bでは、粗いメルケプストラムを算出する際に、ケプストラムの高ケフレンシー部抽出の際に細かく計算したフーリエ変換の値をダウンサンプリングして用いるので、フーリエ変換の演算量を削減して高速な処理を行える。
【0091】
また、音声区間切り出し処理部11aにより、音声のエネルギー値に基づいて予め音声認証の処理対象とする音声区間を切り出し、非音声区間についてのケプストラム計算等の処理を省略できるため、一般に演算に時間のかかるケプストラムの計算量を削減でき、より高速な処理を行える。
【0092】
また、特徴照合部11dでは、特徴データをDPマッチングにより照合する際に、所定の初期点群については各点に適当な重み付けを行ってスコアを算出し、その中で最適な始点を決定する。つまり音声の始点に幅を持たせたDPマッチングを行えるため、「サ行」や「シャ行」のように、フェードインする音声の照合率を向上できる。
【0093】
更に、音声の終点についても、所定の終点群については各点においてその点に適した重み付けで正規化したDPマッチングの結果を比較して最適なものを選択する。つまり、終点に幅を持たせたDPマッチングを行えるため、延音で終わる音声の照合率を向上できる。
【0094】
また、認証の結果、新たに入力された音声と登録された音声とが同一人物による音声であることが認証された場合は、その新たに入力された音声の特徴データを予め登録されている登録特徴データに代えて更新登録するため、音声の経年変化に追従した認証を行うことが可能となり、認証率を向上できる。
【0095】
なお、上述の実施の形態では、粗い精度でメルケプストラムを算出する際に予め細かく算出されているフーリエ変換の値をダウンサンプリングして用いることとしたが、これに限定されるものではなく、入力音声から粗い精度でフーリエ変換を計算し直すようにしてもよい。
【0096】
また、特徴照合部11dでは、DPマッチングに用いるベクトル間距離としてユークリッド距離を用いる例を示したが、これに限定されるものではなく、例えばハミング距離
d=(1/N)Σ|(xn−yn)|
や、チェビシェフ距離
d=max|(xn−yn)|
を用いることとしてもよい。
【0097】
その他、上述の実施の形態に示した各種スレッシュ値(エネルギーのスレッシュ値、ケプストラムの高ケフレンシー部のピーク値のスレッシュ値、DPマッチングの結果のスレッシュ値等)の具体的な数値は夫々一例を示したものであり、本発明の趣旨を逸脱しない範囲で適宜変更可能である。
【0098】
【発明の効果】
請求項1、5、及び6記載の発明によれば、ケプストラムの高ケフレンシー部に表れる音声の基本周波数を表すピーク値に基づいて音声部分を抽出するため、認証に有用な音声部分を的確に抽出できる。また、その抽出した音声部分について、ケプストラム算出の際に計算されるフーリエ変換の結果をダウンサンプリングし、このダウンサンプリングした値からメルケプストラムを算出して特徴データを抽出するため音声の個人差をよく表せる。そのため、個人の認証に有用な音声部分を用いて特徴データを照合することが可能になり、認証率を向上できる。
【0101】
請求項記載の発明によれば、DPマッチングの終点付近の所定範囲内にある複数の点について、各点までのDPマッチングの計算値をその点に適した重み付けで正規化し、正規化された各DPマッチングの計算値のうち最適なものを選択してDPマッチングの結果とするので、DPマッチングの終点に幅を持たせた照合が可能となり、延音で終わる音声の照合率を向上できる。
【0102】
請求項記載の発明によれば、DPマッチングの始点付近の所定範囲内にある複数の点における各特徴データの距離をその点に適した値で重み付けし、その重み付けされた距離のうち最適なものを選択してDPマッチングの始点値とするので、DPマッチングの始点に幅を持たせた照合が可能となり、例えばサ行やシャ行等のフェードインする音声の照合率を向上できる。
【0103】
請求項記載の発明によれば、認証の結果、新規入力された音声信号の特徴データが前記登録特徴データと同一であると認証された場合は、その新規入力された音声信号の特徴データを登録特徴データとして更新登録するので、日々変化する音声に追従した音声認証を可能とし、音声認証装置の性能を向上できる。
【図面の簡単な説明】
【図1】本願発明の音声認証装置の回路構成図である。
【図2】音声認証処理部11の構成を示す機能ブロック図である。
【図3】(a)は音声区間切り出し処理部11aの構成例、(b)はエネルギーのスレッシュ値Etの一例を説明する図である。
【図4】特徴抽出処理部11bによる特徴抽出の手順を示す図である。
【図5】音声認証処理の全体的な流れを説明するフローチャートである。
【図6】音声区間切り出し処理を説明するフローチャートである。
【図7】特徴抽出処理を説明するフローチャートである。
【図8】メルケプストラム算出処理を説明するフローチャートである。
【図9】特徴照合処理を説明するフローチャートである。
【符号の説明】
1 音声認証装置
10 CPU
11 音声認証処理部
11a 音声区間切り出し処理部
111a ハイパスフィルタ
112a エネルギー算出処理部
113a 音声区間切り出し部
11b 特徴抽出処理部
11c 登録データバッファ
11d 特徴照合部
12 入力部
13 表示部
14 通信制御部
15 音声入力部
16 RAM
17 ROM
18 外部記憶装置
19 記録媒体
20 バス

Claims (6)

  1. 入力された音声信号から定常ノイズを除去するフィルタと、
    このフィルタにより定常ノイズが除去された音声信号について所定の信号区間毎にエネルギー値を算出するエネルギー算出手段と、
    このエネルギー算出手段により算出されたエネルギー値に基づいてケプストラム算出の対象とする音声区間を切り出す音声区間切出手段と、
    この音声区間切出手段により切り出された音声区間について、ケプストラムを算出し、その高ケフレンシー部に表れるピーク値が所定のスレッシュ値より大きい場合に当該音声区間を音声部分と判断して抽出する音声部分抽出手段と、
    この音声部分抽出手段により抽出された音声部分における音声信号について、前記音声部分抽出手段によるケプストラム算出の際に計算されるフーリエ変換の結果をダウンサンプリングし、このダウンサンプリングした値からメルケプストラムを算出し、その低ケフレンシー部を音声の特徴データとして抽出する特徴抽出手段と、
    この特徴抽出手段により抽出された特徴データを登録する登録手段と、
    新規入力された音声信号について前記音声部分抽出手段及び前記特徴抽出手段によって特徴データを抽出し、この新規入力音声信号の特徴データと前記登録手段により予め登録されている特徴データとをDPマッチングにより照合し、その照合結果に基づいて新規入力された音声信号を認証する認証手段と、
    を備えることを特徴とする音声認証装置。
  2. 前記認証手段は、前記各特徴データを照合する際、DPマッチングの終点付近の所定範囲内にある複数の点について、各点までのDPマッチングの計算値をその点に適した重み付けで正規化し、正規化された各DPマッチングの計算値のうち最適なものを選択してDPマッチングの結果とすることを特徴とする請求項1記載の音声認証装置。
  3. 前記認証手段は、前記各特徴データを照合する際、DPマッチングの始点付近の所定範囲内にある複数の点における各特徴データの距離をその点に適した値で重み付けし、その重み付けされた距離のうち最適なものを選択してDPマッチングの始点値とすることを特徴とする請求項1記載の音声認証装置。
  4. 前記認証手段による認証の結果、新規入力された音声信号の特徴データが前記登録特徴データと同一であると認証された場合は、その新規入力された音声信号の特徴データを登録特徴データとして、予め登録されている登録特徴データに代えて更新登録する更新登録手段を更に備えることを特徴とする請求項1から何れかに記載の音声認証装置。
  5. 入力された音声信号から定常ノイズを除去するノイズ除去工程と、
    このノイズ除去工程により定常ノイズが除去された音声信号について所定の信号区間毎にエネルギー値を算出するエネルギー算出工程と、
    このエネルギー算出工程により算出されたエネルギー値に基づいてケプストラム算出の対象とする音声区間を切り出す音声区間切出工程と、
    この音声区間切出工程により切り出された音声区間について、ケプストラムを算出し、その高ケフレンシー部に表れるピーク値が所定のスレッシュ値より大きい場合に当該音声区間を音声部分と判断して抽出する音声部分抽出工程と、
    この音声部分抽出工程により抽出された音声部分における音声信号について、前記音声部分抽出工程によるケプストラム算出の際に計算されるフーリエ変換の結果をダウンサンプリングし、このダウンサンプリングした値からメルケプストラムを算出し、その低ケフレンシー部を音声の特徴データとして抽出する特徴抽出工程と、
    この特徴抽出工程により抽出された特徴データを登録する登録工程と、
    新規入力された音声信号について前記音声部分抽出工程及び前記特徴抽出工程によって特徴データを抽出し、この新規入力音声信号の特徴データと前記登録工程により予め登録されている特徴データとをDPマッチングにより照合し、その照合結果に基づいて新規入力された音声信号を認証する認証工程と、
    を含むことを特徴とする音声認証方法。
  6. 音声認識装置に用いられるコンピュータを、
    入力された音声信号から定常ノイズを除去するフィルタ、
    このフィルタにより定常ノイズが除去された音声信号について所定の信号区間毎にエネルギー値を算出するエネルギー算出手段、
    このエネルギー算出手段により算出されたエネルギー値に基づいてケプストラム算出の対象とする音声区間を切り出す音声区間切出手段、
    この音声区間切出手段により切り出された音声区間について、ケプストラムを算出し、その高ケフレンシー部に表れるピーク値が所定のスレッシュ値より大きい場合に当該音声区間を音声部分と判断して抽出する音声部分抽出手段、
    この音声部分抽出手段により抽出された音声部分における音声信号について、前記音声部分抽出手段によるケプストラム算出の際に計算されるフーリエ変換の結果をダウンサンプリングし、このダウンサンプリングした値からメルケプストラムを算出し、その低ケフレンシー部を音声の特徴データとして抽出する特徴抽出手段、
    この特徴抽出手段により抽出された特徴データを登録する登録手段、
    新規入力された音声信号について前記音声部分抽出手段及び前記特徴抽出手段によって特徴データを抽出し、この新規入力音声信号の特徴データと前記登録手段により予め登録されている特徴データとをDPマッチングにより照合し、その照合結果に基づいて新規入力された音声信号を認証する認証手段、
    として機能させるためのプログラム。
JP2001040456A 2001-02-16 2001-02-16 音声認証装置、音声認証方法、及びプログラム Expired - Fee Related JP4244524B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2001040456A JP4244524B2 (ja) 2001-02-16 2001-02-16 音声認証装置、音声認証方法、及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2001040456A JP4244524B2 (ja) 2001-02-16 2001-02-16 音声認証装置、音声認証方法、及びプログラム

Publications (2)

Publication Number Publication Date
JP2002244697A JP2002244697A (ja) 2002-08-30
JP4244524B2 true JP4244524B2 (ja) 2009-03-25

Family

ID=18903060

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001040456A Expired - Fee Related JP4244524B2 (ja) 2001-02-16 2001-02-16 音声認証装置、音声認証方法、及びプログラム

Country Status (1)

Country Link
JP (1) JP4244524B2 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006078654A (ja) * 2004-09-08 2006-03-23 Embedded System:Kk 音声認証装置及び方法並びにプログラム
JP4722653B2 (ja) * 2005-09-29 2011-07-13 株式会社コナミデジタルエンタテインメント 音声情報処理装置、音声情報処理方法、ならびに、プログラム
JP5272141B2 (ja) * 2009-05-26 2013-08-28 学校法人早稲田大学 音声処理装置およびプログラム
CN104616655B (zh) * 2015-02-05 2018-01-16 北京得意音通技术有限责任公司 声纹模型自动重建的方法和装置
JP6758890B2 (ja) * 2016-04-07 2020-09-23 キヤノン株式会社 音声判別装置、音声判別方法、コンピュータプログラム

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5713493A (en) * 1980-06-27 1982-01-23 Hitachi Ltd Speaker recognizing device
JPS58120296A (ja) * 1982-01-11 1983-07-18 日本電信電話株式会社 系列パターン・マッチング方法
JPS63127295A (ja) * 1986-11-18 1988-05-31 株式会社リコー 音声区間検出方式
JPH0256600A (ja) * 1988-08-23 1990-02-26 Ricoh Co Ltd 音声ダイヤリング方式
JP3106543B2 (ja) * 1990-05-28 2000-11-06 松下電器産業株式会社 音声信号処理装置
JPH11231895A (ja) * 1998-02-17 1999-08-27 Nippon Telegr & Teleph Corp <Ntt> 音声認識方法及びその装置
JP2000310993A (ja) * 1999-04-28 2000-11-07 Pioneer Electronic Corp 音声検出装置

Also Published As

Publication number Publication date
JP2002244697A (ja) 2002-08-30

Similar Documents

Publication Publication Date Title
US20180277103A1 (en) Constructing speech decoding network for numeric speech recognition
JP4218982B2 (ja) 音声処理
JP5106371B2 (ja) 話認認証の検証のための方法および装置、話者認証システム
TWI396184B (zh) 一種語音辨認所有語言及用語音輸入單字的方法
EP1355296B1 (en) Keyword detection in a speech signal
US6182036B1 (en) Method of extracting features in a voice recognition system
JPS62231997A (ja) 音声認識システム及びその方法
US6990447B2 (en) Method and apparatus for denoising and deverberation using variational inference and strong speech models
US20030200090A1 (en) Speech recognition apparatus, speech recognition method, and computer-readable recording medium in which speech recognition program is recorded
JPH0743598B2 (ja) 音声認識方法
WO1996013828A1 (en) Method and system for identifying spoken sounds in continuous speech by comparing classifier outputs
US20020128834A1 (en) Speech recognition system using spectrogram analysis
KR101888058B1 (ko) 발화된 단어에 기초하여 화자를 식별하기 위한 방법 및 그 장치
CN112750445A (zh) 语音转换方法、装置和系统及存储介质
JP4318475B2 (ja) 話者認証装置及び話者認証プログラム
JP2955297B2 (ja) 音声認識システム
JP2006235243A (ja) 音響信号分析装置及び音響信号分析プログラム
Misra et al. Speaker-specific mapping for text-independent speaker recognition
JP4244524B2 (ja) 音声認証装置、音声認証方法、及びプログラム
JP4847581B2 (ja) 話者認識装置、音響モデル更新方法及び音響モデル更新処理プログラム
JP4461557B2 (ja) 音声認識方法および音声認識装置
JP4666129B2 (ja) 発声速度正規化分析を用いた音声認識装置
JP3092788B2 (ja) 話者認識用しきい値設定方法及びこの方法を用いた話者認識装置
Singh et al. Features and techniques for speaker recognition
JP3029803B2 (ja) 音声認識のための単語モデル生成装置及び音声認識装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060209

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20080829

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080930

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20081107

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20081216

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20081229

R150 Certificate of patent or registration of utility model

Ref document number: 4244524

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120116

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130116

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130116

Year of fee payment: 4

LAPS Cancellation because of no payment of annual fees