(57)【特許請求の範囲】
【請求項１】
入力された音声信号に基づいて、所定の間隔の時刻であるフレーム毎に、対数周波数軸上で等間隔に求められた周波数成分からなる周波数スペクトルを計算することにより、周波数スペクトルの時系列を生成する第１計算部と、
フレーム毎に、当該フレームの近傍に存在し且つ所定のフレーム幅だけ離れた異なる２つの各フレームに対して各々計算された前記周波数スペクトル間の相互相関係数列を計算する第２計算部と、
前記相互相関係数列を用いて、前記所定のフレーム幅に対する前記周波数スペクトルの対数周波数軸上でのシフト量を推定するシフト量抽出部とを備え、
前記第２計算部は、(a4)フレーム毎に、当該フレームの近傍の異なる２つ以上のフレームである各近傍フレームのそれぞれに対し、当該近傍フレームと当該近傍フレームから前記所定のフレーム幅だけ離れたフレームに対して各々計算された前記周波数スペクトル間の相互相関係数列を各々計算し、計算した異なる２つ以上の相互相関係数列を、最大値を用いて１つの相互相関係数列に統合する或いは演算により１つの相互相関係数列に統合するか、(a5)前記周波数スペクトルの時系列を用いて、時間方向に連続する２つ以上の前記周波数スペクトルを連結した周波数スペクトルセグメントの時系列を生成し、フレーム毎に、当該フレームの近傍に存在し且つ所定のフレーム幅だけ離れた異なる２つの各フレームに対して生成された周波数スペクトルセグメント間の相互相関係数列を計算するか、又は(a6)複数の各々異なる所定のフレーム幅のそれぞれを用いて、フレーム毎に、当該フレームの近傍に存在し且つ所定のフレーム幅だけ離れた異なる２つの各フレームに対して各々計算された前記周波数スペクトル間の前記相互相関係数列を各々計算し、
前記シフト量抽出部は、前記第２計算部が複数の各々異なる所定のフレーム幅のそれぞれを用いて前記相互相関係数列を各々計算した場合、各前記相互相関係数列のそれぞれに対応するシフト量を各々推定し、推定した２つ以上の前記シフト量を１つのシフト量に統合する
ことを特徴とする特徴量抽出装置。
【請求項２】
前記第１計算部は、スペクトル包絡成分を除いた残差成分の周波数スペクトルを計算することにより、周波数スペクトルの時系列を生成する
ことを特徴とする請求項１に記載の特徴量抽出装置。
【請求項３】
前記第１計算部は、前記周波数スペクトルに対して振幅の正規化を行なう正規化部を有する
ことを特徴とする請求項１に記載の特徴量抽出装置。
【請求項４】
前記所定のフレーム幅は、フレーム毎に可変であり、
前記第２計算部は、(a7)フレーム毎に、当該フレームの近傍の異なる２つ以上のフレームである各近傍フレームのそれぞれに対し、当該近傍フレームと当該近傍フレームから当該フレームに対応する所定のフレーム幅だけ離れたフレームに対して各々計算された前記周波数スペクトル間の相互相関係数列を各々計算し、計算した異なる２つ以上の相互相関係数列を、最大値を用いて１つの相互相関係数列に統合する或いは演算により１つの相互相関係数列に統合するか、(a8)前記周波数スペクトルの時系列を用いて、時間方向に連続する２つ以上の前記周波数スペクトルを連結した周波数スペクトルセグメントの時系列を生成し、フレーム毎に、当該フレームの近傍に存在し且つ当該フレームに対応する所定のフレーム幅だけ離れた異なる２つの各フレームに対して生成された周波数スペクトルセグメント間の相互相関係数列を計算するか、又は(a9)複数の各々異なる所定のフレーム幅のそれぞれを用いて、フレーム毎に、当該フレームの近傍に存在し且つ当該フレームに対応する複数の各々異なる所定のフレーム幅だけ離れた異なる２つの各フレームに対して各々計算された前記周波数スペクトル間の前記相互相関係数列を各々計算する
ことを特徴とする請求項１または２に記載の特徴量抽出装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、入力された音声信号からピッチ周波数の差分を計算する特徴量抽出装置に関する。
【背景技術】
【０００２】
音声の韻律情報の要素の１つに、単位時間あたりのピッチ周波数の差分量がある。このようなピッチ周波数の差分量の情報（ピッチ周波数差分量情報）からは、アクセントやイントネーション、有声／無声についての情報が獲得可能である。このため、ピッチ周波数差分量情報は、音声認識装置や音声区間検出装置、ピッチ抽出装置あるいは話者認識装置などで使用される。このようなピッチ周波数差分情報を得る方法は、例えば、非特許文献１に示されている。非特許文献１に示されている手法では、はじめにピッチ周波数の抽出を行い、次にピッチ周波数の時間変化量を求めて、ピッチ周波数差分情報を得る。
【０００３】
しかし、非特許文献１に示されている手法では、誤ったピッチ周波数を抽出してしまう恐れがあり、この結果得られるピッチ周波数差分情報が誤っている恐れがある。近年では、ピッチ周波数の抽出の誤りによる影響が低減されたピッチ周波数差分情報を得る方法が提案されている（例えば、特許文献１参照）。この方法によれば、ある時刻（フレーム）ｔの音声の予測残差の自己相関関数と別の時刻（フレーム）ｓの音声の予測残差の自己相関関数との相互相関関数を計算して相互相関関数のピーク値を抽出することにより、ピッチ抽出誤りの影響を低減し複数のピッチ周波数の候補を考慮したピッチ周波数差分情報を得る。
【０００４】
【非特許文献１】古井貞煕、「ディジタル音声処理」、東海大学出版会、ｐｐ．５７−５９（１９８５）
【特許文献１】特許第２９４０８３５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、特許文献１に記載されている方法によれば、音声の予測残差に基づいているため、背景雑音の影響を受けて、相互相関関数のピーク値を抽出する際にピッチ周波数の差分量に相当するピークとは異なるピークが抽出され、正確なピッチ周波数差分情報が得られにくくなるという問題がある。また、予測残差の自己相関関数にはピッチ周期の整数倍の位置に複数のピークが現れるが、整数倍の位置のピークを用いると差分量も整数倍になる。このため、正しいピッチ周波数差分情報を求めるためには相互相関関数を求める予測残差自己相関関数の範囲を正しいピッチ周期の付近に限定する必要がある。そのためには事前にピッチ周期を求めたり、話者の声の高さに応じてピッチ周期の範囲を適切に定めたりする必要がある。しかし、このようなピッチ周期の範囲を適切に定めることは困難である。このため、ピッチ周期の範囲を限定せずとも、背景雑音の影響が低減されたピッチ周波数差分情報が得ることが望まれていた。
【０００６】
本発明は、上記に鑑みてなされたものであって、相互相関関数を求める際のピッチ周期の範囲を限定せずとも、背景雑音の影響が低減されたピッチ周波数差分情報が得ることが可能な特徴量抽出装置を提供することを目的とする。
【課題を解決するための手段】
【０００７】
上述した課題を解決し、目的を達成するために、本発明は、特徴量抽出装置であって、入力された音声信号に基づいて、所定の間隔の時刻であるフレーム毎に、対数周波数軸上で等間隔に求められた周波数成分からなる周波数スペクトルを計算することにより、周波数スペクトルの時系列を生成する第１計算部と、フレーム毎に、当該フレームの近傍に存在し且つ所定のフレーム幅だけ離れた異なる２つの各フレームに対して各々計算された前記周波数スペクトル間の相互相関係数列を計算する第２計算部と、前記相互相関係数列を用いて、前記所定のフレーム幅に対する前記周波数スペクトルの対数周波数軸上でのシフト量を推定するシフト量抽出部とを備え、前記第２計算部は、(a1)フレーム毎に、当該フレームの近傍の異なる２つ以上のフレームである各近傍フレームのそれぞれに対し、当該近傍フレームと当該近傍フレームから前記所定のフレーム幅だけ離れたフレームに対して各々計算された前記周波数スペクトル間の相互相関係数列を各々計算し、計算した異なる２つ以上の相互相関係数列を、最大値を用いて１つの相互相関係数列に統合する或いは演算により１つの相互相関係数列に統合するか、(a2)前記周波数スペクトルの時系列を用いて、時間方向に連続する２つ以上の前記周波数スペクトルを連結した周波数スペクトルセグメントの時系列を生成し、フレーム毎に、当該フレームの近傍に存在し且つ所定のフレーム幅だけ離れた異なる２つの各フレームに対して生成された周波数スペクトルセグメント間の相互相関係数列を計算するか、又は(a3)複数の各々異なる所定のフレーム幅のそれぞれを用いて、フレーム毎に、当該フレームの近傍に存在し且つ所定のフレーム幅だけ離れた異なる２つの各フレームに対して各々計算された前記周波数スペクトル間の前記相互相関係数列を各々計算し、前記シフト量抽出部は、前記第２計算部が複数の各々異なる所定のフレーム幅のそれぞれを用いて前記相互相関係数列を各々計算した場合、各前記相互相関係数列のそれぞれに対応するシフト量を各々推定し、推定した２つ以上の前記シフト量を１つのシフト量に統合することを特徴とする。
【発明の効果】
【００１０】
本発明によれば、対数周波数軸上の周波数スペクトルの相互相関係数列を求めることにより、ピッチの変動による周波数スペクトルのピーク（調波成分）のシフト量は、どのピーク（調波成分）に対しても同じになり、相互相関係数列上でのピークに対応することになる。このため、相互相関係数列からピッチの変動に相当するシフト幅を抽出することで、ピッチ抽出やピッチ周期の範囲の限定を必要とせずにピッチ周波数差分情報を得ることができると共に、背景雑音の影響を受けにくくすることができる。
【発明を実施するための最良の形態】
【００１１】
以下に添付図面を参照して、この発明にかかる特徴量抽出装置、方法及びプログラムの最良な実施の形態を詳細に説明する。
【００１２】
[第１の実施の形態]
（１）構成
本実施の形態では、音声認識装置に備えられる特徴量抽出装置について説明する。音声認識装置とは、概略的には、人間の音声をコンピュータで自動的に認識する音声認識処理を行なうものである。図１は、音声認識装置２１のハードウェア構成を示す図である。同図に示されるように、音声認識装置２１は、例えばパーソナルコンピュータであり、ＣＰＵ（Central Processing Unit）２２と、ＲＯＭ（Read Only Memory）２３と、ＲＡＭ（Random Access Memory）２４と、ＨＤＤ（Hard Disk Drive）２６と、ＣＤ（Compact Disc）−ＲＯＭドライブ２８と、通信制御装置３０と、入力装置３１と、表示装置３２と、これらを接続するバス２５とを備えている。
【００１３】
ＣＰＵ２２は、コンピュータの主要部であって各部を集中的に制御する。ＲＯＭ２３は、ＢＩＯＳなどの各種プログラムや各種データを記憶した読出し専用メモリである。ＲＡＭ２４は、各種データを書換え可能に記憶するメモリであり、ＣＰＵ２２の作業エリアとして機能してバッファ等の役割を果たす。通信制御装置３０は、音声認識装置２１とネットワーク２９との通信を制御する。入力装置３１は、キーボードやマウスなどから構成され、ユーザからの各種操作指示の入力を受け付ける。表示装置３２は、ＣＲＴ（Cathode Ray Tube）やＬＣＤ（Liquid Crystal Display）などから構成され、各種情報を表示する。
【００１４】
ＨＤＤ２６は、各種プログラムや各種データを記憶しており、主記憶装置として機能する。ＣＤ−ＲＯＭドライブ２８は、ＣＤ−ＲＯＭ２７に記憶された各種データや各種プログラムを読み取る。本実施の形態においては、ＣＤ−ＲＯＭ２７は、ＯＳ（Operating System）や各種のプログラムを記憶している。ＣＰＵ２２は、ＣＤ−ＲＯＭ２７に記憶されているプログラムをＣＤ−ＲＯＭドライブ２８で読み取り、ＨＤＤ２６にインストールして、インストールしたプログラムを実行して、各種機能を実現させる。
【００１５】
次に、ＨＤＤ２６にインストールされている各種プログラムをＣＰＵ２２が実行することにより音声認識装置２１において実現される機能のうち、本実施の形態に特有の特徴量抽出機能について説明する。図２は、特徴量抽出機能を細分化してブロック化して示した図である。特徴量抽出機能とは、入力された音声信号から基本周波数変化特徴量を求める機能のことである。基本周波数変化特徴量とは、基本周波数の変化を示す情報であり、音声認識処理に用いる音声の韻律情報の要素の１つとして、アクセントやイントネーション、有声／無声についての情報の獲得に用いられる情報である。同図に示される特徴量抽出装置１００が、特徴量抽出機能に相当する。この特徴量抽出装置１００は、スペクトル計算部１０１、相互相関係数列計算部１０２及びシフト量推定部１０３を有する。
【００１６】
スペクトル計算部１０１には、所定の間隔毎（例えば１０ｍｓ）に、所定の長さ（例えば２５ｍｓ）に分解された音声信号が入力される。この所定の長さをフレームという。スペクトル計算部１０１は、入力された音声信号から、フレーム毎に、対数周波数軸上で等間隔に求められた周波数成分からなる周波数スペクトルを計算する。尚、対数周波数とは、周波数（線形周波数）を対数化したものである。スペクトル計算部１０１は、このような対数周波数軸上で等間隔となる周波数点に基づいてフーリエ変換やウェーブレット変換を行うことにより、周波数スペクトルを計算する。又は、スペクトル計算部１０１は、線形周波数軸上で等間隔となる周波数点に基づいてフーリエ変換により求められた線形周波数スペクトルにおいて周波数軸変換を行うことにより、周波数スペクトルを計算する。
【００１７】
相互相関係数列計算部１０２は、フレーム毎に、当該フレームの近傍に存在し且つ所定のフレーム幅だけ離れた異なる２つの各フレームに対してスペクトル計算部１０１が各々計算した周波数スペクトル間の相互相関係数列を計算する。シフト量推定部１０３は、所定のフレーム幅に対する周波数スペクトルの対数周波数軸上でのシフト量を推定し、これを基本周波数変化特徴量として出力する。
【００１８】
（２）動作
次に、本実施の形態にかかる特徴量抽出装置１００の行う特徴量抽出処理の手順について図３を用いて説明する。ステップＳ１００で、特徴量抽出装置１００は、処理対象の音声信号が入力されると、音声信号をフレームに分解して、フレーム毎の音声信号をスペクトル計算部１０１に入力して、フレーム毎に以降の処理を行う。ここで、フレームの個数をＴとする。また、処理対象のフレームの番号をｔ（１≦ｔ≦Ｔ）とする。
【００１９】
ステップＳ２００では、スペクトル計算部１０１が、入力された音声信号から、対数周波数軸上で等間隔に求められた周波数成分からなる周波数スペクトルの時系列を計算する。ここで、任意のフレームａに対する周波数スペクトルをＳａ（ｗ）とする。ｗ（０≦ｗ< Ｗ）は周波数点番号を表している。このＳａ（ｗ）は、上述したフーリエ変換やウェーブレット変換や周波数軸変換等により求められる。
【００２０】
なお、周波数成分を求める範囲を、例えば音声のエネルギーが相対的に大きい１００Ｈｚから２０００Ｈｚまでとすることが好ましい。これにより、背景雑音による影響を受けにくいスペクトルが得られる。
【００２１】
ステップＳ３００では、相互相関係数列計算部１０２が、ステップＳ２００で計算された周波数スペクトルを用いて、相互相関係数列を計算する。ここで、まず、任意の２つのフレームについてその周波数スペクトル間の相互相関係数列の計算方法について説明する。任意のフレームａ，ｂ（１≦ａ、ｂ≦Ｔ）に対する周波数スペクトルＳａ（ｗ），Ｓｂ（ｗ）の相互相関係数列ＣＳ（ａ、ｂ）（ｎ）は、下記に示す数式（１）により計算される。ここで、ｎの値は「−（Ｗ−１）」から「Ｗ−１」までに含まれる一定の整数値の集合により与えられる。
【００２２】
【数１】
0004599420.tif 000002
【００２３】
なお、式１の右辺に、シフト量の絶対値の増加に伴う相互相関係数の計算に用いられる周波数成分の数の減少を補正する項「１／（Ｗ−｜ｎ｜）」を掛け合わせても良い。また、相互相関係数列の振幅に対する正規化を行っても良い。
【００２４】
次に、本実施の形態において、ステップＳ３００で、相互相関係数列計算部１０２が、相互相関係数列を計算する処理の詳細な手順について図４を用いて説明する。相互相関係数列計算部１０２は、ステップＳ３１１で、２つのフレームとして、処理対象のフレームの近傍に存在し且つ所定のフレーム幅だけ離れた異なる２つのフレームについて、各々に対して計算された周波数スペクトル間の相互相関係数列を計算する。即ち、相互相関係数列計算部１０２は、処理対象のフレームｔの近傍に存在するフレームａの周波数スペクトルＳａ（ｗ）と、フレームａからｋフレーム離れたフレーム「ａ−ｋ」（ｋ≧１かつ１≦ａ、ａ−ｋ≦Ｔ）の周波数スペクトルＳａ−ｋ（ｗ）とに対する相互相関係数列ＣＳ（ａ、ａ―ｋ）（ｎ）を計算する。
【００２５】
例えば、「ａ＝ｔ」、「ｋ＝１」としたとき、フレーム毎に、処理対象のフレームｔの周波数スペクトルと、フレームｔに隣接するフレーム「ｔ−１」の周波数スペクトルとに対する相互相関係数列が求められる。
【００２６】
あるいは、「ａ＝ｔ＋１」、「ｋ＝２」としたとき、フレーム毎に、処理対象のフレームｔに隣接するフレーム「ｔ−１」の周波数スペクトルと、同じく処理対象のフレームｔに隣接するフレーム「ｔ+１」の周波数スペクトルとに対する相互相関係数列が求められる。
【００２７】
なお、ｋの値は特に限定されない。また、ｋの値をフレーム毎に変動させても良い。
【００２８】
そして、相互相関係数列計算部１０２は、以上のように計算した相互相関係数列ＣＳ（ａ、ａ―ｋ）（ｎ）を、相互相関係数列Ｃｔ（ｋ）（ｎ）として出力する。ここで、「Ｃｔ（ｋ）（ｎ）＝ＣＳ（ａ、ａ―ｋ）（ｎ）」である。
【００２９】
図３に戻り、次いで、ステップＳ４００では、シフト量推定部１０３が、ステップＳ３００で出力された相互相関係数列Ｃｔ（ｋ）（ｎ）を用いて、周波数スペクトルの対数周波数軸上でのシフト量を推定する。図５は、ステップＳ４００で、シフト量を推定する処理の詳細な手順を示すフローチャートである。シフト量推定部１０３は、ステップＳ４１１で、フレーム幅ｋに対するシフト量を推定する。具体的には、シフト量推定部１０３は、ステップＳ３００で計算された相互相関係数列Ｃｔ（ｋ）（ｎ）を用いて式２によりシフト量ｄｔ（ｋ）を計算することにより、フレーム幅ｋに対する周波数スペクトルのシフト量を推定する。
【００３０】
【数２】
0004599420.tif 000003
【００３１】
あるいは、シフト量ｄｔ（ｋ）を式３により計算するようにしても良い。ここで、θは相互相関係数に対して事前に定めておいたしきい値である。また、Ｅ［・］は要素の平均値を計算する処理である。
【００３２】
【数３】
0004599420.tif 000004
【００３３】
なお、シフト量を推定する範囲を制限するようにしても良い。これにより、シフト量の推定に要する計算量を削減することが可能である。
【００３４】
次いで、ステップＳ４１２では、シフト量推定部１０３は、ステップＳ４１１で推定された、フレーム幅ｋに対する周波数スペクトルのシフト量ｄｔ（ｋ）から、１フレーム幅に対するシフト量ｄｔ（１）を式４により計算する。
【００３５】
【数４】
0004599420.tif 000005
【００３６】
図３に戻り、ステップＳ５００では、特徴量抽出装置１００は、ステップＳ４００で計算された、１フレーム幅に対するシフト量ｄｔ（１）を基本周波数変化特徴量として出力する。この結果、基本周波数の変化を示す基本周波数変化情報の１つとして、ピッチ周波数差分情報に対応する基本周波数変化特徴量を得ることができる。
【００３７】
あるいは、ステップＳ５００では、特徴量抽出装置１００は、シフト量ｄｔ（１）から、１フレーム幅の基本周波数の変化の割合Ｄｔを式５により計算し、これを基本周波数変化特徴量として出力しても良い。ここで、Ｆｍａｘは線形周波数軸上における周波数の最大値（例えば４０００Ｈｚ）、Ｆｍｉｎは線形周波数軸上における周波数の最小値（例えば１００Ｈｚ）とする。
【００３８】
【数５】
0004599420.tif 000006
【００３９】
ここで、対数周波数軸上の周波数スペクトル及び相互相関係数列の具体例について、図６〜９を用いて説明する。図６は、スペクトル計算部１０１が計算した周波数スペクトルの例であり、クリーン音声の有声音区間に含まれる隣接する２フレームの周波数スペクトルを示すグラフである。図６の横軸は周波数点番号であり、縦軸はフレーム番号である。ここで、Ｆｍｉｎは１００Ｈｚとし、Ｆｍａｘは２０００Ｈｚとし、Ｗは２０４８とした。図７は、相互相関係数列計算部１０２が計算した相互相関係数列の例であり、フレームｔの周波数スペクトル及びフレーム「ｔ−１」の周波数スペクトルとに対する相互相関係数列を示すグラフである。図７の横軸は周波数スペクトルのシフト量を示し、縦軸は相互相関係数を示している。図８は、図７のシフト量が「−１００」から１００までの範囲を拡大し、相互相関係数が最大となるシフト量の位置を示すグラフである。図８の横軸は周波数スペクトルのシフト量を示し、縦軸は相互相関係数を示している。同図では、枠中の縦の破線が、相互相関係数が最大となるシフト量の位置を表している。そして、相互相関係数が最大となるシフト幅が「−２３」であることを示している。
【００４０】
図９は、相互相関係数の値が最大となったシフト量の大きさと、当該相互相関係数の計算に用いた周波数スペクトルとの関係を示すためのグラフである。同図においては、フレーム「ｔ−１」の周波数スペクトルの周波数点番号を、相互相関係数が最大となったシフト量の分（図の左方向に２３）だけずらし、フレームｔの周波数スペクトルと重ねて表示している。フレーム「ｔ−１」の周波数スペクトルの右端に値が０の部分が見られるが、これはフレームをずらすことによって生じた空白を表している。図９のグラフにより、周波数点番号を図の左方向に２３ずらしたフレーム「ｔ−１」の周波数スペクトルと、フレームｔの周波数スペクトルとは、対数周波数軸における各ピーク（調波成分）の位置がほぼ一致していることが分かる。
【００４１】
このように、対数周波数軸上で等間隔に求められた周波数成分からなる周波数スペクトルを計算することで、基本周波数の変動による周波数スペクトルのピーク（調波成分）のシフト量はどのピーク（調波成分）に対しても同じになり、相互相関係数列上での高い相関係数をもつシフト量に対応することになる。このため、基本周波数の差分に相当するシフト量を相互相関係数列から推定することで、ピッチ推定やピッチ周期の範囲の限定を必要とせずに、基本周波数変化情報としてピッチ周波数差分情報を得ることができると共に、背景雑音の影響を受けにくくすることができる。
【００４２】
[第２の実施の形態]
次に、特徴量抽出装置の第２の実施の形態について説明する。なお、上述の第１の実施の形態と共通する部分については、同一の符号を使用して説明したり、説明を省略したりする。
【００４３】
本実施の形態にかかる特徴量抽出装置１００は、上述の第１の実施の形態にかかる特徴量抽出装置１００と以下の点で異なる。特徴量抽出装置１００の有する相互相関係数列計算部１０２は、フレーム毎に、当該フレームの近傍の異なる２つ以上のフレームである各近傍フレームのそれぞれに対し、当該近傍フレームと当該近傍フレームから所定のフレーム幅だけ離れたフレームに対してスペクトル計算部１０１が各々計算した周波数スペクトル間の相互相関係数列を各々計算し、更に、計算した異なる２つ以上の相互相関係数列を１つの相互相関係数列に統合する。
【００４４】
次に、本実施の形態にかかる特徴量抽出装置１００が行う特徴量抽出処理の手順について説明する。この特徴量抽出処理自体の手順は、図３に示したものと同様である。本実施の形態においては、ステップＳ３００において、相互相関係数列計算部１０２が、相互相関係数列を計算する処理の詳細な手順が異なる。図１０は、相互相関係数列計算部１０２が、相互相関係数列を計算する処理の詳細な手順を示すフローチャートである。ステップＳ３２１では、相互相関係数列計算部１０２は、フレームの近傍の異なる２つ以上のフレームである各近傍フレームのそれぞれに対し、当該近傍フレームと当該近傍フレームから所定のフレーム幅だけ離れたフレームに対してステップＳ２００で各々計算された周波数スペクトル間の相互相関係数列を各々計算する。即ち、相互相関係数列計算部１０２は、処理対象のフレームｔの近傍の異なる２つ以上のＩ個のフレームｕ（ｉ）（１≦ｉ≦ＩかつＩ≧２）のそれぞれに対し、フレームｕ（ｉ）のスペクトルＳｕ（ｉ）（ｗ）と、フレームｕ（ｉ）からｋフレーム離れたフレームｕ（ｉ）−ｋ（ｋ≧１かつ１≦ｕ（ｉ）、ｕ（ｉ）−ｋ≦Ｔ）のスペクトルＳｕ（ｉ）−ｋ（ｗ）とに対する相互相関係数列ＣＳ（ｕ（ｉ），ｕ（ｉ）−ｋ）（ｎ）を各々計算する。
【００４５】
例えば、「ｕ（１）＝ｔ−１」、「ｕ（２）＝ｔ」、「ｕ（３）＝ｔ＋１」、「ｋ＝１」としたとき、フレーム毎に、当該フレームｔの近傍の３フレームについて、隣接するフレームの周波数スペクトル同士に対する相互相関係数列が複数求められる。
【００４６】
次いで、ステップＳ３２２では、相互相関係数列計算部１０２は、ステップＳ３２１で計算された複数の相互相関係数列を、１つの相互相関係数列Ｃｔ（ｋ）（ｎ）に統合し、これを出力する。具体的には、相互相関係数列計算部１０２は、式６により、相互相関係数列を統合する。
【００４７】
【数６】
0004599420.tif 000007
【００４８】
あるいは、ステップＳ３２２では、相互相関係数列計算部１０２は、式７により、複数の相互相関係数列を統合しても良い。
【００４９】
【数７】
0004599420.tif 000008
【００５０】
あるいは、ステップＳ３２２では、相互相関係数列計算部１０２は、式８により、複数の相互相関係数列を統合しても良い。
【００５１】
【数８】
0004599420.tif 000009
【００５２】
このように、処理対象のフレームの近傍の異なる２つ以上のフレームである各フレームのそれぞれに対し、当該フレームと当該フレームから所定のフレーム幅だけ離れたフレームに対して各々計算された周波数スペクトル間の相互相関係数列を各々計算し、それらの相互相関係数列を１つの相互相関係数列に統合する。これにより、１つの相互相関係数列を計算する場合よりも安定的に基本周波数変化情報を得ることが可能となる。
【００５３】
[第３の実施の形態]
次に、特徴量抽出装置の第３の実施の形態について説明する。なお、上述の第１の実施の形態又は第２の実施の形態と共通する部分については、同一の符号を使用して説明したり、説明を省略したりする。
【００５４】
本実施の形態にかかる特徴量抽出装置１００は、上述の第１の実施の形態にかかる特徴量抽出装置１００と以下の点で異なる。特徴量抽出装置１００の有する相互相関係数列計算部１０２は、スペクトル計算部１０１が計算した周波数スペクトルの時系列を用いて、時間方向に連続する２つ以上の前記周波数スペクトルを連結した周波数スペクトルセグメントの時系列を生成し、さらに、フレーム毎に、当該フレームの近傍に存在し且つ所定のフレーム幅だけ離れた異なる２つの各フレームに対して生成された周波数スペクトルセグメント間の相互相関係数列を計算する。
【００５５】
次に、本実施の形態にかかる特徴量抽出装置１００が行う特徴量抽出処理の手順について説明する。この特徴量抽出処理自体の手順は、図３に示したものと同様である。本実施の形態においては、ステップＳ３００において、相互相関係数列計算部１０２が、相互相関係数列を計算する処理の詳細な手順が異なる。図１１は、ステップＳ３００で、相互相関係数列計算部１０２が、相互相関係数列を計算する処理の詳細な手順を示すフローチャートである。ステップＳ３３１では、相互相関係数列計算部１０２は、ステップＳ２００で計算された周波数スペクトルの時系列を用いて、時間方向に連続する２つ以上の前記周波数スペクトルを連結した周波数スペクトルセグメントの時系列を生成する。即ち、処理対象のフレームｔの周波数スペクトルを「Ｓｔ＝（Ｓｔ（０）、Ｓｔ（１）、・・・、Ｓｔ（Ｗ−１））」とすると、相互相関係数列計算部１０２は、時間方向に連続する２つ以上のＪ個のフレームｖ（ｉ）のスペクトルＳｕ（ｉ）（１≦ｉ≦ＩかつＩ≧２）を連結した周波数スペクトルセグメントＳｅｇｔを、式９により生成する。
【００５６】
【数９】
0004599420.tif 000010
【００５７】
例えば、「ｖ（１）＝ｔ−１」、「ｖ（２）＝ｔ」、「ｖ（３）＝ｔ＋１」、「Ｊ＝３」としたとき、フレーム毎に、フレームｔの近傍の３フレームを連結した周波数スペクトルセグメントが生成される。
【００５８】
次いで、ステップＳ３３２では、相互相関係数列計算部１０２は、処理対象のフレームｔの近傍に存在し且つ所定のフレーム幅だけ離れた異なる２つの各フレームに対して生成された周波数スペクトルセグメント間の相互相関係数列を計算する。即ち、相互相関係数列計算部１０２は、処理対象のフレームｔの近傍に存在するフレームａの周波数スペクトルセグメントＳｅｇａ（ｏ）（０≦ｏ＜Ｊ・Ｗ）と、フレームａからｋフレーム離れたフレーム「ａ−ｋ」（ｋ≧１かつ１≦ａ、ａ−ｋ≦Ｔ）の周波数スペクトルセグメントＳｅｇａ−ｋ（ｐ）とに対する相互相関係数列Ｃｔ（ｋ）（ｎ）を式１０により計算し、これを出力する。ここで、ｏの値は「−（Ｊ・Ｗ−１）」から「Ｊ・Ｗ−１」までに含まれる一定の整数値の集合により与えられる。
【００５９】
【数１０】
0004599420.tif 000011
【００６０】
このように、時間方向に連続する２つ以上の周波数スペクトルを連結した周波数スペクトルセグメントの時系列を生成し、フレーム毎に、当該フレームの近傍に存在する異なる２つの周波数スペクトルセグメント間の相互相関係数列を計算する。これにより、単独のフレームの周波数スペクトル同士に対して相互相関係数列を計算する場合よりも安定的に基本周波数変化情報を得ることが可能となる。
【００６１】
[第４の実施の形態]
次に、特徴量抽出装置の第４の実施の形態について説明する。なお、上述の第１の実施の形態乃至第３の実施の形態と共通する部分については、同一の符号を使用して説明したり、説明を省略したりする。
【００６２】
本実施の形態にかかる特徴量抽出装置１００は、上述の第１の実施の形態にかかる特徴量抽出装置１００と以下の点で異なる。特徴量抽出装置１００の有する相互相関係数列計算部１０２は、スペクトル計算部１０１が計算した周波数スペクトルの時系列を用いて、フレーム毎に、当該フレームを基準フレームとする相関係数列の時系列を計算し、さらに、相関係数列の時系列を再帰的に更新し、さらに、再帰処理の停止条件が成立した時点で、再帰的に計算した相関係数列の時系列を用いて、当該フレームの相互相関係数列を計算する。
【００６３】
次に、本実施の形態にかかる特徴量抽出装置１００が行う特徴量抽出処理の手順について説明する。この特徴量抽出処理自体の手順は、図３に示したものと同様である。本実施の形態においては、ステップＳ３００において、相互相関係数列計算部１０２が、相互相関係数列を計算する処理の詳細な手順が異なる。図１２は、ステップＳ３００で、相互相関係数列計算部１０２が、相互相関係数列を計算する処理の詳細な手順を示すフローチャートである。ステップＳ３４１では、相互相関係数列計算部１０２は、ステップＳ２００で計算された周波数スペクトルの時系列を用いて、処理対象のフレームを基準フレームとする相関係数列の時系列を計算する。即ち、相互相関係数列計算部１０２は、周波数スペクトルの時系列を用いて、フレームｔを基準フレームとする相関係数列の時系列ＣＳ（ｙ，ｔ）（ｎ）（１≦ｙ＜Ｔ）を計算し、これをＣＳ｛０｝（ｙ，ｔ）（ｎ）として出力する。ここで、ＣＳ｛０｝（ｙ，ｔ）（ｎ）＝ＣＳ（ｙ，ｔ）（ｎ）である。
【００６４】
次いで、ステップＳ３４２では、相互相関係数列計算部１０２は、再帰処理の停止条件が成立したか否かを判定する。ここでは、再帰処理の停止条件とは、相関係数列を再帰的に計算した回数が所望の回数に達したということである。即ち、相互相関係数列計算部１０２は、ステップＳ３４３により行われる相関係数列の更新の回数をカウントし、回数ｘが所望の回数Ｘに達したかどうかを判定する。ｘがＸに達した場合は（ステップＳ３４２：ＹＥＳ）、ステップＳ３４４に進み、ｘがＸに達していない場合は（ステップＳ３４２：ＮＯ）、ステップＳ３４３に進む。
【００６５】
ステップＳ３４３では、相互相関係数列計算部１０２は、処理対象のフレームを基準フレームとする相関係数列の時系列を相互相関係数列の時系列から更新する。即ち、相互相関係数列計算部１０２は、処理対象のフレームｔを基準フレームとして計算した相関係数列の時系列ＣＳ｛ｘ｝（ｙ，ｔ）（ｎ）を、相互相関係数列の時系列ＣＳ｛ｘ−１｝（ｙ，ｔ）（ｎ）から、式１１により再帰的に更新する。
【００６６】
【数１１】
0004599420.tif 000012
【００６７】
なお、上述の式１と同様に、式１１の右辺に、シフト量の絶対値の増加に伴う相互相関係数の計算に用いられる周波数成分の数の減少を補正する項「１/（Ｗ−｜ｎ｜）」を加えても良い。また、相互相関係数列の振幅に対する正規化を行っても良い。
【００６８】
ステップＳ３４４では、相互相関係数列計算部１０２は、処理対象のフレームｔ（基準フレーム）の近傍に存在し且つ所定のフレーム幅だけ離れた異なる２つの各フレームに対して各々計算された相関係数列の時系列間の相互相関係数列を、フレームｔの相互相関係数列として計算する。即ち、相互相関係数列計算部１０２は、処理対象のフレームｔを基準フレームとして計算した相関係数列の時系列ＣＳ｛Ｘ｝（ｖ、ｔ）（ｎ）から、処理対象フレームｔの近傍に存在するフレームａの相関係数列ＣＳ｛Ｘ｝（ａ、ｔ）（ｎ）と、フレームａからｋフレーム離れたフレーム「ａ−ｋ」（ｋ≧１かつ１≦ａ、ａ−ｋ≦Ｔ）の相関係数列ＣＳ｛Ｘ｝（ａ−ｋ、ｔ）（ｎ）とに対する相互相関係数列Ｃｔ（ｋ）（ｎ）を、式１２により計算し、これを出力する。
【００６９】
【数１２】
0004599420.tif 000013
【００７０】
このように、相関係数列を再帰的に求めることにより、基本周波数の変動に相当するスペクトルのピーク（調波成分）のシフト量は、相関係数列上でのより鋭いピークの位置として現れることになる。このため、雑音に対してより頑健に基本周波数変化情報を得ることが可能となる。
【００７１】
[第５の実施の形態]
次に、特徴量抽出装置の第５の実施の形態について説明する。なお、上述の第１の実施の形態乃至第４の実施の形態と共通する部分については、同一の符号を使用して説明したり、説明を省略したりする。
【００７２】
本実施の形態にかかる特徴量抽出装置１００は、上述の第１の実施の形態にかかる特徴量抽出装置１００と以下の点で異なる。特徴量抽出装置１００の有する相互相関係数列計算部１０２は、複数の各々異なる所定のフレーム幅のそれぞれを用いて、フレーム毎に、当該フレームの近傍に存在し且つ所定のフレーム幅だけ離れた異なる２つの各フレームに対してスペクトル計算部１０１が各々計算した周波数スペクトル間の前記相互相関係数列を各々計算する。シフト量推定部１０３は、相互相関係数列計算部１０２が計算した２つ以上の相互相関係数列のそれぞれに対応する２つ以上のシフト量を推定し、さらに、２つ以上のシフト量を１つのシフト量に統合する。
【００７３】
次に、本実施の形態にかかる特徴量抽出装置１００が行う特徴量抽出処理の手順について説明する。この特徴量抽出処理自体の手順は、図３に示したものと同様である。本実施の形態においては、ステップＳ３００において、相互相関係数列計算部１０２が、相互相関係数列を計算する処理の詳細な手順と、ステップＳ４００において、シフト量推定部１０３が、シフト量を推定する処理の詳細な手順とが各々異なる。
【００７４】
まず、ステップＳ３００における処理の詳細な手順について説明する。図１３は、ステップＳ３００で、相互相関係数列計算部１０２が、相互相関係数列を計算する処理の詳細な手順を示すフローチャートである。ステップＳ３５１では、相互相関係数列計算部１０２は、複数の各々異なる所定のフレーム幅のそれぞれを用いて、フレーム毎に、当該フレームの近傍に存在し且つ所定のフレーム幅だけ離れた異なる２つの各フレームに対してステップＳ２００で各々計算された周波数スペクトル間の前記相互相関係数列を各々計算する。即ち、相互相関係数列計算部１０２は、異なる２つ以上のＫ種類のフレーム幅をｋ（ｉ）（２≦ｉ＜ＩかつＩ≧２）とすると、異なる２つ以上のｋ（ｉ）毎に、当該フレームｔの近傍のフレームａ（ｉ）（１≦ａ（ｉ）≦Ｔ）のスペクトルＳａ（ｉ）（ｗ）と、フレームａ（ｉ）からｋ（ｉ）フレーム離れたフレームａ（ｉ）−ｋ（ｉ）のスペクトルＳａ（ｉ）−ｋ（ｉ）（ｗ）に対する、相互相関係数列ＣＳ（ａ（ｉ）、ａ（ｉ）―ｋ（ｉ））（ｎ）を計算し、Ｃｔ（ｋ（ｉ））（ｎ）として出力する。ここで、Ｃｔ（ｋ（ｉ））（ｎ）＝ＣＳ（ａ（ｉ）、ａ（ｉ）―ｋ（ｉ））（ｎ）である。
【００７５】
例えば、「ｋ（１）＝２」、「ｋ（２）＝４」、「ａ（１）＝ｔ＋１」、「ａ（２）＝ｔ＋２」としたとき、フレーム毎に、当該フレームを中心として２フレーム離れたフレーム同士の周波数スペクトルの相互相関係数列Ｃｔ（２）（ｎ）と、当該フレームを中心として４フレーム離れたフレーム同士のスペクトルの相互相関係数列Ｃｔ（４）（ｎ）とが出力される。
【００７６】
まず、ステップＳ４００における処理の詳細な手順について説明する。図１４は、ステップＳ４００で、シフト量推定部１０３が、シフト量を推定する処理の詳細な手順を示すフローチャートである。ステップＳ４５１では、シフト量推定部１０３は、複数の相互相関係数列のそれぞれに対応する複数のシフト量を推定する。即ち、シフト量推定部１０３は、ステップＳ３５１で計算された複数の相互相関係数列Ｃｔ（ｋ（ｉ））（ｎ）毎に、それぞれに対応するシフト量ｄｔ（ｋ（ｉ））を推定する。
【００７７】
例えば、「ｋ（１）＝２」、「ｋ（２）＝４」としたとき、２フレーム幅のシフト量ｄｔ（２）と、４フレーム幅のシフト量ｄｔ（４）とが各々推定される。
【００７８】
次いで、ステップＳ４５２では、シフト量推定部１０３は、複数のシフト量を１つのシフト量に統合する。即ち、シフト量推定部１０３は、ステップＳ４５１で推定された複数のシフト量ｄｔ（ｋ（ｉ））を、式１３により１つのシフト量ｄｔ（１）に統合する。
【００７９】
【数１３】
0004599420.tif 000014
【００８０】
あるいは、ステップＳ４５２では、シフト量推定部１０３は、シフト量の統合を以下の式１４により行っても良い。ここで、ｌ（ｉ）＝ｋ（ｉ）／２（ｋ（ｉ）は全て偶数）とする。
【００８１】
【数１４】
0004599420.tif 000015
【００８２】
このように、フレーム毎に、異なる２つ以上のフレーム幅のそれぞれに対応する２つ以上の相互相関係数列を計算し、これらのそれぞれに対応する２つ以上のシフト量を推定し、これらのシフト量を１つのシフト量に統合する。これにより、周波数成分が精度高く得られないフレームがあったとしても、その影響を低減することができ、より安定的に基本周波数変化情報を得ることができる。
【００８３】
[変形例]
なお、本発明は前記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、前記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。また、以下に例示するような種々の変形が可能である。
【００８４】
＜変形例１＞
上述した各実施の形態におけるステップＳ２００で計算する周波数スペクトルは、振幅の正規化を行った周波数スペクトルでも良い。振幅の正規化は、具体的には周波数スペクトルの振幅の平均を一定値（例えば０）にする方法、分散を一定値（例えば１）にする方法、最小値と最大値を一定値（例えば０と１）にする方法、あるいは周波数スペクトルを求める音声波形の振幅の分散を一定値（例えば１）にする方法などにより行われる。
【００８５】
また、ステップＳ２００で計算する周波数スペクトルは、スペクトル包絡成分を除いた残差成分のスペクトルでも良い。この残差成分のスペクトルは、線形予測分析などにより得られる残差信号から求めても良いし、ケプストラムの高次成分のフーリエ変換から求めても良い。さらに、この残差成分のスペクトルに対して振幅の正規化を行っても良い。
【００８６】
また、ステップＳ２００で計算する周波数スペクトルは、ケプストラムでも良い。さらに、ケプストラムに対して振幅の正規化を行っても良い。
【００８７】
また、ステップＳ２００で計算する周波数スペクトルは、自己相関係数列でもよい。さらに、自己相関係数列に対して振幅の正規化を行っても良い。
【００８８】
＜変形例２＞
上述した各実施の形態においては、各種プログラムや各種データが記憶される記憶媒体としてＣＤ−ＲＯＭ２７を取り扱ったが、ＤＶＤなどの各種の光ディスク、各種光磁気ディスク、フレキシブルディスクなどの各種磁気ディスク等、半導体メモリ等の各種方式のメディアを用いても良い。また、通信制御装置３０を介してインターネットなどのネットワーク２９からプログラムをダウンロードし、ＨＤＤ２６にインストールするようにしても良い。この場合に、送信側のサーバでプログラムを記憶している記憶装置も、記憶媒体に相当する。なお、音声認識装置２１で実行されるプログラムは、所定のＯＳ（Operating System）上で動作するものであっても良い。その場合に上述の各種処理の一部の実行をＯＳに肩代わりさせるものであっても良いし、所定のアプリケーションソフトやＯＳなどを構成する一群のプログラムファイルの一部として含まれているものであっても良い。
【００８９】
＜変形例３＞
上述した各実施の形態においては、音声認識装置に備えられる特徴量抽出装置に適用した例を示したが、これに限らず、基本周波数変化情報を必要とする音声区間検出装置、ピッチ抽出装置あるいは話者認識装置などに、上述の機能を有する特徴量抽出装置を適用しても良い。
【図面の簡単な説明】
【００９０】
【図１】第１の実施の形態にかかる音声認識装置２１のハードウェア構成を示す図である。
【図２】同実施の形態にかかる特徴量抽出機能を細分化してブロック化して示した図である。
【図３】同実施の形態にかかる特徴量抽出装置１００の行う特徴量抽出処理の手順を示すフローチャートである。
【図４】同実施の形態にかかるステップＳ３００で、相互相関係数列計算部１０２が、相互相関係数列を計算する処理の詳細な手順を示すフローチャートである。
【図５】同実施の形態にかかるシフト量推定部１０３が、シフト量を推定する処理の詳細な手順を示すフローチャートである。
【図６】同実施の形態にかかるスペクトル計算部１０１が計算した周波数スペクトルの例であり、クリーン音声の有声音区間に含まれる隣接する２フレームの周波数スペクトルを示すグラフである。
【図７】同実施の形態にかかる相互相関係数列計算部１０２が計算した相互相関係数列の例であり、フレームｔの周波数スペクトル及びフレーム「ｔ−１」の周波数スペクトルとに対する相互相関係数列を示すグラフである。
【図８】図７のシフト量が「−１００」から１００までの範囲を拡大し、相互相関係数が最大となるシフト量の位置を示すグラフである。図６の横軸は周波数スペクトルのシフト量を示し、縦軸は相互相関係数を示している。
【図９】相互相関係数の値が最大となったシフト量の大きさと、当該相互相関係数の計算に用いた周波数スペクトルとの関係を示すためのグラフである。
【図１０】第２の実施の形態にかかる相互相関係数列計算部１０２が、相互相関係数列を計算する処理の詳細な手順を示すフローチャートである。
【図１１】第３の実施の形態にかかる相互相関係数列計算部１０２が、相互相関係数列を計算する処理の詳細な手順を示すフローチャートである。
【図１２】第４の実施の形態にかかる相互相関係数列計算部１０２が、相互相関係数列を計算する処理の詳細な手順を示すフローチャートである。
【図１３】第５の実施の形態にかかる相互相関係数列計算部１０２が、相互相関係数列を計算する処理の詳細な手順を示すフローチャートである。
【図１４】同実施の形態にかかるシフト量推定部１０３が、シフト量を推定する処理の詳細な手順を示すフローチャートである。
【符号の説明】
【００９１】
２１  音声認識装置
２２  ＣＰＵ
２３  ＲＯＭ
２４  ＲＡＭ
２５  バス
２６  ＨＤＤ
２７  ＣＤ−ＲＯＭ
２８  ＣＤ−ＲＯＭドライブ
３０  通信制御装置
３１  入力装置
３２  表示装置
１００  特徴量抽出装置
１０１ スペクトル計算部
１０２  相互相関係数列計算部
１０３  シフト量推定部
【図１】
0004599420.tif 000016
【図２】
0004599420.tif 000017
【図３】
0004599420.tif 000018
【図４】
0004599420.tif 000019
【図５】
0004599420.tif 000020
【図６】
0004599420.tif 000021
【図７】
0004599420.tif 000022
【図８】
0004599420.tif 000023
【図９】
0004599420.tif 000024
【図１０】
0004599420.tif 000025
【図１１】
0004599420.tif 000026
【図１２】
0004599420.tif 000027
【図１３】
0004599420.tif 000028
【図１４】
0004599420.tif 000029