(57)【要約】【課題】複数窓幅によるピッチ周期抽出法を、演算能力の低い安価なＤＳＰまたはＣＰＵを備えた装置においても実現する。【解決手段】ピッチ周期抽出装置１００の演算処理部負荷安定化指標算出部１３０は、実行中のプロセス数または実行中のプロセスの重みの合計値等を負荷量として算出する。複数窓幅窓数決定部１４０は、演算処理の負荷が高い場合は分析窓数Ｎｗ（Ｐｂ）が少なくなるように、演算処理の負荷が低い場合は分析窓数Ｎｗ（Ｐｂ）が多くなるように分析窓数Ｎｗ（Ｐｂ）を決定する。ピッチ周期抽出部１１０は、複数窓幅窓数決定部１４０により決定された分析窓数Ｎｗ（Ｐｂ）の自己相関分析処理にてピッチ周期を抽出する。これにより、演算負荷に応じて分析窓数Ｎｗ（Ｐｂ）が増減するから、全体の演算処理量を一定に保つことができ、過負荷になることがない。【選択図】図３
2013257467.tif 000002
【特許請求の範囲】
【請求項１】
入力音声に対し、所定の分析窓毎に自己相関分析を行い、前記入力音声のピッチ周期を抽出すると共に、所定の信号処理を行う信号処理装置において、
前記分析窓の数を決定する分析窓数決定部と、
前記分析窓数決定部により決定された分析窓数の分析窓の窓幅を、前記分析窓数に基づいてそれぞれ決定し、前記窓幅の分析窓毎に自己相関関数を算出し、前記自己相関関数からピッチ周期の候補をそれぞれ求め、前記ピッチ周期の候補について周期性の程度を表す周期性程度量をそれぞれ算出し、前記周期性程度量の大きさ及び前記ピッチ周期の候補のばらつきに基づいて、前記入力音声のピッチ周期を抽出するピッチ周期抽出部とを備え、
前記分析窓数決定部は、前記所定の信号処理を行う当該信号処理装置の負荷の指標に基づいて、前記負荷が高い場合は分析窓数が少なくなり、前記負荷が低い場合は分析窓数が多くなるように、前記分析窓数を決定する、ことを特徴とする信号処理装置。
【請求項２】
請求項１に記載の信号処理装置において、
前記分析窓数決定部は、当該信号処理装置に備えたプロセッサーが前記所定の信号処理を行う場合に、前記負荷の指標として、前記プロセッサーの単位時間当たりの使用率を用いる、ことを特徴とする信号処理装置。
【請求項３】
請求項１に記載の信号処理装置において、
前記所定の信号処理を、前記入力音声に対する話速変換処理とし、
前記分析窓数決定部は、話速を変換する倍率に基づいて、前記倍率が高く高速度にする場合は分析窓数が少なくなり、前記倍率が低く低速度にする場合は分析窓数が多くなるように、前記分析窓数を決定する、ことを特徴とする信号処理装置。
【請求項４】
請求項１に記載の信号処理装置において、
前記所定の信号処理を、前記入力音声に対するピッチ変換処理とし、
前記分析窓数決定部は、前記ピッチ周期抽出部により抽出されたピッチ周期に基づいて、前記ピッチ周期が長い場合は分析窓数が多くなり、前記ピッチ周期が短い場合は分析窓数が少なくなるように、前記分析窓数を決定する、ことを特徴とする信号処理装置。
【請求項５】
コンピュータを、請求項１から４までのいずれか一項に記載の信号処理装置として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、入力音声の話速（話す速さ）変換またはピッチ（声の高さ）変換等を行う信号処理技術に関し、特に、これらの信号処理のために必要な音声のピッチ周期を抽出する信号処理装置及びプログラムに関するものである。
【背景技術】
【０００２】
従来、入力音声の話速またはピッチを変換する信号処理技術において、入力音声を音質良く変換するためには、入力音声の声帯の振動周期である“ピッチ周期” （声の基本周期であり、基本周波数の逆数）をできるだけ正確に抽出し、それに基づいた信号処理を行うことが必要とされている。
【０００３】
例えば、入力音声の話速を変換する信号処理装置は、入力音声のピッチ周期を抽出した後、入力音声の波形を、ピッチ周期を単位としたブロック毎に分割し、そのブロック単位の音声波形に伸長処理を繰り返し、または音声波形を間引くことによる短縮処理を行う（例えば、特許文献１を参照）。これにより、声の高さを変えずに話速を変換することができる。
【０００４】
また、入力音声のピッチを変換する信号処理装置は、入力音声のピッチ周期を抽出した後、入力音声の波形を、ピッチ周期を単位としたブロック毎に分割し、そのブロック単位の音声波形に対し、ピッチ周期を短縮することでピッチを高くし、またはピッチ周期を延長することでピッチを低くする（例えば、特許文献２を参照）。そして、適宜同じピッチ周期の音声波形を繰り返すことにより、または間引くことにより、音の長さを変えずにピッチを変換することができる。
【０００５】
これらの信号処理において、入力音声を所定のブロック毎の音声波形に分割するためにはピッチ周期が必要になり、このピッチ周期を抽出するための様々な手法が提案されている。しかし、男性の声は低く、女性及び子供の声は高いのが一般的であるから、これらの任意の声を入力音声とした場合には、ピッチ周期を精度高く抽出することが困難となり、正しいピッチ周期の半分を抽出する“半周期エラー”、または２倍のピッチ周期を抽出する“倍周期エラー”を生じることが少なくない。
【０００６】
任意の入力音声に対応可能なピッチ周期抽出手法として、複数の時間幅のハミング窓を用いてピッチ周期を抽出する手法が知られている（例えば、特許文献３を参照）。以下、この手法を“複数窓幅によるピッチ周期抽出法”という。この手法を用いた信号処理装置は、入力音声に対して、複数の異なる時間幅を有するハミング窓を用いて自己相関関数を求め、ピッチ周期を抽出するものである。
【０００７】
具体的には、この信号処理装置は、入力音声に対し低域ろ波を行い、ダウンサンプリング（間引き）を施す。そして、信号処理装置は、これらの処理後の音声信号における所定の分析ポイントを中心位置として、９個の異なる時間幅Ｗｎ（ｎ＝１，・・・，９）のハミング窓を設定し、設定したハミング窓毎に自己相関関数Ｒｎ（τ）を計算し、所定時間幅のτにおける自己相関関数の最大値Ｒｎ（τ）maxに基づいて、有声度Ｖｎ及び遅れ時間τｐｎを求める。そして、信号処理装置は、ハミング窓毎の有声度Ｖｎ及び遅れ時間τｐｎ並びに所定の重み関数を用いてパラメータを計算し、計算したパラメータを最大にするｎの遅れ時間τｐｎを、ピッチ周期として抽出する（特許文献３の段落４３〜４５）。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特許第２９５５２４７号公報
【特許文献２】特許第２６１２８６７号公報
【特許文献３】特許第３２１９８６８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
このような“複数窓幅によるピッチ周期抽出法”では、異なる幅（時間長）のハミング窓の数（以下、分析窓数という。）が多いほど、抽出されるピッチ周期の精度は高くなる。しかしながら、この手法は、入力音声の同じ分析ポイントに対する複数の分析窓による自己相関分析を行うことを特徴としているため、分析窓数が多いほど、演算量が多くなるという問題があった。
【００１０】
一般に、この手法を用いるコンピュータまたは携帯型端末等の装置を広く普及させるために、これらの装置を安価に製造しようとすると、処理速度が低いＤＳＰまたはＣＰＵを利用する必要があり、そのような環境でも動作可能な信号処理を実現する必要がある。つまり、演算能力の低い安価なＤＳＰまたはＣＰＵを備えた装置を用いて“複数窓幅によるピッチ周期抽出法”を実現することにより、ピッチ周期の抽出精度を高くすることができ、話速変換またはピッチ変換された音声の品質を高くすることができる。しかしながら、単位時間当たりの演算処理量が多くなるため、動作が安定しないという問題があった。
【００１１】
例えば、ＩＣメモリまたはハードディスクに記録された音声に対して話速変換を施し、高速な音声（早口）に変換しながらスピーカーまたはヘッドホンから再生する場合、ピッチ周期の抽出は、通常、入力音声の時間軸に対して一定の時間間隔（例えば５ｍｓまたは１０ｍｓ毎）で行う必要がある。また、高速なＳ倍速の話速変換を行う場合には、元の速さの再生に比べてＳ倍の速さで音声データを読み出し、ピッチ周期の抽出を行い、話速変換処理を施して途切れなく出力する必要がある。このため、単位時間当たりのピッチ周期の抽出回数は、再生倍率Ｓに比例して多くなる。したがって、演算能力の低い安価なＤＳＰまたはＣＰＵを備えた装置を用いた場合には、１回のピッチ周期の抽出に必要な演算量が多くなるほど、過負荷になる可能性がある。
【００１２】
同様に、ＩＣメモリまたはハードディスクに記録された音声に対してピッチ変換を施し、声の高さを変換しながらスピーカーまたはヘッドホンから再生する場合、ピッチ変換は、ピッチ周期をピッチ周期区間毎に短縮したり延長したりする信号処理であるため、ピッチ周期の抽出を入力音声の時間軸に対して一定の時間間隔ではなく、各部分のピッチ周期に同期して分析ポイントをシフトしながら順次行う必要がある。これにより、変換音声の品質を高めることができる。女性の声または感情のこもった男性の声の高い部分等では、ピッチ周期が短くなるため、声が低い場合に比べ単位時間当たりのピッチ周期抽出の回数が多くなる。したがって、演算能力の低い安価なＤＳＰまたはＣＰＵを備えた装置を用いた場合には、１回のピッチ周期の抽出に必要な演算量が多くなるほど、過負荷になる可能性がある。
【００１３】
このように、演算能力の低い安価なＤＳＰまたはＣＰＵを備えた装置を用いて“複数窓幅によるピッチ周期抽出法”を実現する場合には、当該装置の処理が過負荷になるという問題があった。このため、ピッチ周期を抽出し、話速またはピッチを変換しながら再生するアプリケーションに加え、他のアプリケーションも同時に動作するコンピュータまたは携帯型端末等の装置では、全てのアプリケーションの動作が不安定になってしまう可能性がある。したがって、“複数窓幅によるピッチ周期抽出法”を実現することは困難である。
【００１４】
そこで、本発明は前記課題を解決するためになされたものであり、その目的は、“複数窓幅によるピッチ周期抽出法”を、演算能力の低い安価なＤＳＰまたはＣＰＵを備えた装置においても実現可能な、音声のピッチ周期を抽出する信号処理装置及びプログラムを提供することにある。
【課題を解決するための手段】
【００１５】
前記目的を達成するために、本発明の信号処理装置は、入力音声に対し、所定の分析窓毎に自己相関分析を行い、前記入力音声のピッチ周期を抽出すると共に、所定の信号処理を行う信号処理装置において、前記分析窓の数を決定する分析窓数決定部と、前記分析窓数決定部により決定された分析窓数の分析窓の窓幅を、前記分析窓数に基づいてそれぞれ決定し、前記窓幅の分析窓毎に自己相関関数を算出し、前記自己相関関数からピッチ周期の候補をそれぞれ求め、前記ピッチ周期の候補について周期性の程度を表す周期性程度量をそれぞれ算出し、前記周期性程度量の大きさ及び前記ピッチ周期の候補のばらつきに基づいて、前記入力音声のピッチ周期を抽出するピッチ周期抽出部とを備え、前記分析窓数決定部が、前記所定の信号処理を行う当該信号処理装置の負荷の指標に基づいて、前記負荷が高い場合は分析窓数が少なくなり、前記負荷が低い場合は分析窓数が多くなるように、前記分析窓数を決定する、ことを特徴とする。
【００１６】
また、本発明の信号処理装置は、前記分析窓数決定部が、当該信号処理装置に備えたプロセッサーが前記所定の信号処理を行う場合に、前記負荷の指標として、前記プロセッサーの単位時間当たりの使用率を用いる、ことを特徴とする。
【００１７】
また、本発明の信号処理装置は、前記所定の信号処理を、前記入力音声に対する話速変換処理とし、前記分析窓数決定部が、話速を変換する倍率に基づいて、前記倍率が高く高速度にする場合は分析窓数が少なくなり、前記倍率が低く低速にする場合は分析窓数が多くなるように、前記分析窓数を決定する、ことを特徴とする。
【００１８】
また、本発明の信号処理装置は、前記所定の信号処理を、前記入力音声に対するピッチ変換処理とし、前記分析窓数決定部が、前記ピッチ周期抽出部により抽出されたピッチ周期に基づいて、前記ピッチ周期が長い場合は分析窓数が多くなり、前記ピッチ周期が短い場合は分析窓数が少なくなるように、前記分析窓数を決定する、ことを特徴とする。
【００１９】
さらに、本発明のプログラムは、コンピュータを前記信号処理装置として機能させることを特徴とする。
【発明の効果】
【００２０】
以上のように、本発明によれば、装置の能力または時々刻々変化する演算負荷に応じて分析窓数を増減するようにしたから、全体の演算処理量を一定に保ち、話速変換またはピッチ変換等の動作を安定させることができる。つまり、“複数窓幅によるピッチ周期抽出法”を実現した場合であっても、装置の処理が過負荷になることがない。したがって、“複数窓幅によるピッチ周期抽出法”を、演算能力の低い安価なＤＳＰまたはＣＰＵを備えた装置においても実現することが可能となる。
【図面の簡単な説明】
【００２１】
【図１】分析窓数がＮｗ（Ｐｂ）の場合の“複数窓幅によるピッチ周期抽出法”を説明するフローチャートである。
【図２】図１に示す自己相関分析処理（ステップＳ１０３）の詳細を説明するフローチャートである。
【図３】実施例１によるピッチ周期抽出装置の構成を示すブロック図である。
【図４】実施例１の分析窓数決定処理を示すフローチャートである。
【図５】実施例２によるピッチ周期抽出装置の構成を示すブロック図である。
【図６】実施例２の分析窓数決定処理を示すフローチャートである。
【図７】実施例３による話速変換装置の構成を示すブロック図である。
【図８】実施例３の分析窓数決定処理を示すフローチャートである。
【図９】実施例４によるピッチ変換装置の構成を示すブロック図である。
【図１０】実施例４の分析窓数決定処理を示すフローチャートである。
【図１１】入力音声ｘ’ｊ、ハミング窓（分析窓）ｗｊ及び自己相関関数Ｒ（ｋ）を説明する図である。
【図１２】重み関数ｇｎｊを説明する図である。
【図１３】計算機プログラムの実験結果により得た、自己相関関数Ｒｎ（ｋ）の掛け算の回数を示す図である。
【図１４】実施例４のピッチ変換処理を説明する図である。
【発明を実施するための形態】
【００２２】
以下、本発明を実施するための形態について図面を用いて詳細に説明する。まず、 “複数窓幅によるピッチ周期抽出法”について、分析窓数が異なる場合を説明する。図１は、分析窓数がＮｗ（Ｐｂ）の場合の“複数窓幅によるピッチ周期抽出法”を説明するフローチャートである。図１の処理は、後述する図３、図５、図７及び図９に示すピッチ周期抽出部１１０，２１０，３１０，４１０による処理に相当する。分析窓数をＮｗ（Ｐｂ）≧２とし、サンプリング周波数３２ｋＨｚの入力音声に対してピッチ周期の抽出を行うものとする。Ｐｂは、ピッチ周期が抽出される入力音声の分析ポイント（入力音声の時間軸上の位置）を示し、ｂは、分析ポイントの番号を示す（ｂ＝１，２，．．．）。
【００２３】
“複数窓幅によるピッチ周期抽出法”を実現するピッチ周期抽出部は、音声［ｘj，ｘj+1，．．．，ｘj+M-1］（Ｐｂ）、及び複数窓幅の数である分析窓数Ｎｗ（Ｐｂ）を入力する（ステップＳ１０１）。ここで、音声［ｘj，ｘj+1，．．．，ｘj+M-1］（Ｐｂ）は、音声の標本値ｘjの時系列上の分析ポイントＰｂ［ｍｓ］を中心に、ｘjからｘj+M-1までのＭ個の標本値からなる音声信号を示し、ｘj，ｘj+1，．．．，ｘj+M-1は、標本点ｊ，ｊ＋１，．．．，ｊ＋Ｍ−１の音声信号をそれぞれ示す。また、分析窓数Ｎｗ（Ｐｂ）は、分析ポイントをＰｂとした複数窓幅の数を示す。
【００２４】
ピッチ周期抽出部は、入力音声に対し、カットオフ周波数１ｋＨｚのＬＰＦ（ローパスフィルタ：Ｌｏｗ  Ｐａｓｓ  Ｆｉｌｔｅｒ）により低域ろ波を行い、サンプリング数を１／８に減らすためのダウンサンプリング（間引き）を施す（ステップＳ１０２）。このダウンサンプリングにより、以後の演算量を削減することができる。
【００２５】
（自己相関分析処理）
ピッチ周期抽出部は、低域ろ波及びダウンサンプリングが行われた入力音声に対し、自己相関分析処理を行う（ステップＳ１０３）。具体的には、ピッチ周期抽出部は、低域ろ波及びダウンサンプリングが行われた入力音声に対して分析窓ｎ（ｎ＝１〜Ｎｗ（Ｐｂ））を設定し、分析窓ｎ毎に自己相関分析を行い、ピッチ周期の候補ｋ’ｎを求め、このピッチ周期の候補ｋ’ｎについての周期性の程度を示す周期性程度量Ｖｎを算出する。ｎは、分析窓の番号を示す。
【００２６】
図２は、図１のステップＳ１０３に示した自己相関分析処理の詳細を説明するフローチャートである。ピッチ周期抽出部は、分析窓ｎの値を１（ステップＳ２０１）からＮｗ（Ｐｂ）まで（ステップＳ２０８，ステップＳ２０９）変えながら、後述するステップＳ２０２〜ステップＳ２０８の処理を繰り返し、分析窓ｎ毎に周期性程度量Ｖｎを算出する。
【００２７】
ピッチ周期抽出部は、分析窓ｎを設定し（ステップＳ２０１，ステップＳ２０９）、分析窓ｎの窓幅Ｔｎを決定する（ステップＳ２０２）。具体的には、ピッチ周期抽出部は、以下の（１）〜（３）に示すように、分析窓数Ｎｗ（Ｐｂ）に基づいて、予め設定された窓幅Ｔｎを決定する。
（１）Ｎｗ（Ｐｂ）＝２のとき、Ｔ１＝２５．０ｍｓ、Ｔ２＝４５．０ｍｓ
（２）Ｎｗ（Ｐｂ）＝３のとき、Ｔ１＝２１．０ｍｓ、Ｔ２＝３６．０ｍｓ、Ｔ３＝５１．０ｍｓ
（３）Ｎｗ（Ｐｂ）≧４のとき、以下の式により窓幅Ｔｎが設定される。
【数１】
2013257467.tif 000003
【００２８】
通常、ピッチ周期の分析窓幅が抽出対象の音声のピッチ周期の３倍程度の長さに相当するとき、正確なピッチ抽出が可能である。しかし、性別の違いや感情のこもった音声等、人が発声する音声のピッチ周期の範囲は、１．２５ｍｓ程度〜２５ｍｓ程度と２０倍にも及ぶ変化をするため、任意の音声のピッチ周期を正確に抽出するための分析窓幅を決定するのは難しい課題である。そこで、“複数窓幅によるピッチ周期抽出法”では、分析窓数Ｎｗ（Ｐｂ）の増加に伴う窓幅Ｔｎの下限値または上限値を、人が発声する音声のピッチ周期の範囲全体をカバーすることが可能となるよう工夫している。具体的には、分析窓数Ｎｗ（Ｐｂ）に応じて窓幅Ｔｎの下限値または上限値を徐々に変化させている。但し、分析窓数Ｎｗ（Ｐｂ）が３以下の少ない場合においては、極端に短い窓幅及び長い窓幅を用いても良い結果にならないことが、計算機プログラムの実験結果により得られている。また、分析窓数Ｎｗ（Ｐｂ）が４以上においては、窓幅Ｔｎの下限値を１５ｍｓに固定している。これは、この値以下にしない方が、好結果が得られるためである。
【００２９】
前述の特許文献３では、分析窓数はＮｗ（Ｐｂ）＝９に固定されており、窓幅はＴｎ＝１３．３＋（ｎ−１）×３．３３［ｍｓ］（１≦ｎ≦９）であって、ｎが増加する毎に窓幅Ｔｎは３．３３ｍｓ長くなる。これに対し、本発明の実施形態では、分析窓数Ｎｗ（Ｐｂ）は、後述する複数窓幅窓数決定部１４０，２４０，３２０，４２０により決定される。また、分析窓ｎの窓幅Ｔｎは前述のとおりであり、Ｎｗ（Ｐｂ）＝２のとき、ｎが増加すると窓幅Ｔｎは２０ｍｓ長くなり、最も長い窓幅は４５．０ｍｓである。Ｎｗ（Ｐｂ）＝３のときは、ｎが増加する毎に窓幅Ｔｎは１５ｍｓ長くなり、最も長い窓幅は５１．０ｍｓとなる。Ｎｗ（Ｐｂ）＝４のとき、ｎが増加する毎に窓幅Ｔｎは１４．１６７ｍｓ長くなり、最も長い窓幅は５７．５ｍｓとなる。つまり、本発明の実施形態では、分析窓数Ｎｗ（Ｐｂ）が少ない場合は、ｎの増加に伴う窓幅Ｔｎの増加量は大きいが、最も長い窓幅は短くなる。そして、分析窓数Ｎｗ（Ｐｂ）が多い場合は、ｎの増加に伴う窓幅Ｔｎの増加量は小さくなるが、最も長い窓幅は長くなるように、窓幅Ｔｎの増加量が設定されている。その理由としては、前述のように人が発声する声のピッチ周期の最も長いケースは２５ｍｓ程度であるため、その３周期分には足りないが、このような長いピッチ周期をより正確に抽出することを可能とするためである。
【００３０】
ピッチ周期抽出部は、分析窓ｎの窓幅Ｔｎを決定した後、分析窓ｎの中心を分析ポイントＰｂとし、分析窓ｎの増加に応じて長くなる窓幅Ｔｎ［ｍｓ］に相当するサンプル数Ｌｎの幅を有するハミング窓（分析窓）を用いて、入力音声からサンプル数Ｌｎの音声波形ｘｎ（０）〜ｘｎ（Ｌｎ−１）を切り出す。この音声波形ｘｎ（０）〜ｘｎ（Ｌｎ−１）は、図２のステップＳ２０２及び後述する図１１に示すように、分析窓ｎの中心である分析ポイントＰｂを最大値とし、窓幅Ｔｎの端に向かって小さくなり、その端を最小値とする重みを有する窓関数と、入力音声の信号とが乗算されることにより、入力音声から切り出される。
【００３１】
ピッチ周期抽出部は、切り出した音声波形ｘｎ（０）〜ｘｎ（Ｌｎ−１）及び分析窓ｎのサンプル数Ｌｎを用いて、以下の式により自己相関関数Ｒｎ（ｋ）を算出する（ステップＳ２０３）。
【数２】
2013257467.tif 000004
ｋは、ｋmin（ｎ）≦ｋ≦ｋmax（ｎ）の範囲とする。尚、前記式（２）は自己相関関数Ｒｎ（ｋ）の例示であり、他の自己相関関数を用いるようにしてもよい。
【００３２】
図１１は、入力音声ｘ’ｊ、ハミング窓（分析窓）ｗｊ及び自己相関関数Ｒ（ｋ）を説明する図である。図１１の左側に示すように、入力音声ｘ’ｊとハミング窓の関数ｗｊとを乗算することにより、音声信号ｘ（ｉ）が切り出される。また、前記式（２）のように、音声信号ｘ（ｉ）及び分析窓ｎのサンプル数Ｌｎを用いることにより、図１１の右側に示すように、ｋmin≦ｋ≦ｋmaxの範囲で自己相関関数Ｒ（ｋ）が算出される。
【００３３】
ここで、前記式（２）において、ｋmin（ｎ），ｋmax（ｎ）は、以下のように定義される。
【数３】
2013257467.tif 000005
但し、１．２５ｍｓに相当する値を下限値とする。
【数４】
2013257467.tif 000006
但し、ｎ＝Ｎｗ（Ｐｂ）のときは、常に２８．６ｍｓに相当する値とする。
【００３４】
前記式（３）によりｋの最小値を設定することにより、長いピッチ周期を抽出することが期待されるｎの値が大きな窓幅において、不必要に短いピッチ周期を検索しないようにすることができる。また、式（４）によりｋの最大値を設定することにより、各分析窓幅の中に、最低２周期分の波形が含まれるピッチ周期を抽出対象とすることになり、ピッチ周期を精度高く抽出することができる。
【００３５】
図２に戻って、ピッチ周期抽出部は、ｋmin（ｎ）≦ｋ≦ｋmax（ｎ）の範囲で算出した自己相関関数Ｒｎ（ｋ）について、複数の極大点を検出し（ステップＳ２０４）、検出した複数の極大点のｋを特定する。そして、ピッチ周期抽出部は、ステップＳ２０４にて検出した極大点周辺の自己相関関数Ｒｎ（ｋ）に対し、８倍の内挿を行い、内挿後の自己相関関数Ｒｎ（ｋ’）を求める（ステップＳ２０５）。これにより、入力音声［ｘj，ｘj+1，．．．，ｘj+M-1］（Ｐｂ）と同じ時間分解能であるサンプリング周波数３２ｋＨｚの状態の自己相関関数Ｒｎ（ｋ’）を得ることができる。また、内挿処理の対象を、極大点周辺の自己相関関数Ｒｎ（ｋ）に限定することにより、演算量を節約することができる。
【００３６】
具体的には、ステップＳ２０４により検出された自己相関関数Ｒｎ（ｋ）の極大点の数をＭ個とし、各極大値を与えるｋをそれぞれｋ１，ｋ２，．．．，ｋｍ，．．．，ｋＭとすると、ピッチ周期抽出部は、自己相関関数Ｒｎ（ｋｍ−１）とＲｎ（ｋｍ＋１）との間で、内挿によって１７点（自己相関関数Ｒｎ（ｋｍ−１），Ｒｎ（ｋｍ），Ｒｎ（ｋｍ＋１）の標本点における３点及び前記標本点間に内挿によって７点が挿入されることによる７×２＝１４点、つまり３＋１４＝１７点）の自己相関関数Ｒｎ（ｋ’）を求める。この内挿は、Ｒｎ（ｋｍ−３）からＲｎ（ｋｍ＋３）までの隣接する標本点の間に、７点の０をそれぞれ挿入した後、ＦＩＲフィルタを用いて低域ろ波を施すことによって行う。そして、ピッチ周期抽出部は、内挿後の自己相関関数Ｒｎ（ｋ’）について、Ｍ個の極大点を再度検出する。
【００３７】
ピッチ周期抽出部は、内挿後の自己相関関数Ｒｎ（ｋ’）におけるＭ個の極大点のうち、最大値を与えるｋ’をピッチ周期の候補ｋ’ｎとする（ステップＳ２０６）。すなわち、ピッチ周期抽出部は、内挿後の自己相関関数Ｒｎ（ｋ’）の最大値Ｒｎ（ｋ’ｎ）を検出し、ピッチ周期の候補ｋ’ｎを求める。
【００３８】
ピッチ周期抽出部は、ステップＳ２０６にて検出した自己相関関数Ｒｎ（ｋ’）の最大値Ｒｎ（ｋ’ｎ）とｋ’＝０のときの自己相関関数Ｒｎ（０）とを用いて、以下の式により、ピッチ周期の候補ｋ’ｎの周期性の程度を示す周期性程度量Ｖｎを算出する（ステップＳ２０７）。
【数５】
2013257467.tif 000007
前記式（５）にて算出される周期性程度量Ｖｎは、前記式（２）に示した自己相関関数Ｒｎ（ｋ）が、総和の数で正規化された値になることに加え、ステップＳ２０５にて内挿が反映された値になるから、１より若干大きくなる場合がある。ピッチ周期抽出部は、ｎが分析窓数Ｎｗ（Ｐｂ）よりも小さい場合（ステップＳ２０８）、ステップＳ２０９及びステップＳ２０２〜ステップＳ２０７の処理を繰り返す。
【００３９】
このように、自己相関分析処理（ステップＳ１０３）により、分析窓ｎ毎のピッチ周期の候補ｋ’ｎが求められ、このピッチ周期の候補ｋ’ｎについての周期性の程度を示す周期性程度量Ｖｎが算出される。
【００４０】
（周期性程度量Ｖｎ算出処理及びピッチ周期ｋ’ｎmax抽出処理）
図１に戻って、ピッチ周期抽出部は、ステップＳ１０３にて算出した周期性程度量Ｖｎを用いて、分析窓ｎ毎に、以下の式により、ピッチ周期の候補ｋ’ｎの信頼性を示す信頼性指標Ｕｎを算出する（ステップＳ１０４）。
【数６】
2013257467.tif 000008
【００４１】
ここで、重み関数ｇｎｊは、以下のように定義される。
【数７】
2013257467.tif 000009
但し、ｒｎｊ＝｜ｋ’ｊ／ｋ’ｎ−１｜とする。
【００４２】
図１２は、重み関数ｇｎｊを説明する図であり、前記式（７）をグラフにて表したものである。図１２に示すように、重み関数ｇｎｊは、ｋ’ｊ／ｋ’ｎに対して０〜１の範囲で変化する値となる。
【００４３】
重み関数ｇｎｊは、窓幅Ｔｎも含めた分析窓数Ｎｗ（Ｐｂ）個の窓幅Ｔｊにおいて、ピッチ周期の候補ｋ’ｎに対して±２５％以内のｋ’ｊが得られた場合の周期性程度量Ｖｊを考慮して、信頼性指標Ｕｎを算出するためのものである。したがって、信頼性指標Ｕｎは、周期性程度量Ｖｎの値が大きく、かつ窓幅Ｔｎ以外の窓幅でもピッチ周期の候補ｋ’ｎに近い値の候補が多いほど大きな値となり、一種の多数決による統計量として、ピッチ周期の候補ｋ’ｎのばらつきが反映された信頼性を示している。尚、重み関数ｇｎｊで用いている±２５％という範囲は、ピッチ周期の候補ｋ’ｎが正解であると仮定した場合、この範囲外の候補は明らかに誤りであるとして設定された値である。
【００４４】
図１に戻って、ピッチ周期抽出部は、ステップＳ１０４にて算出した分析窓ｎ毎の信頼性指標Ｕｎの最大値を与えるｎをｎｍａｘとし、ｋ’ｎmaxをピッチ周期として抽出し、ピッチ周期ｋ’ｎmaxを求め出力する（ステップＳ１０５）。
【００４５】
図１に示した一連の“複数窓幅によるピッチ周期抽出法”の処理において、演算の負荷を最も重くしているのは、前記式（２）に示した自己相関関数Ｒｎ（ｋ）の計算における掛け算の回数である。前記式（３）（４）によって、ｋの範囲がｋmin（ｎ）≦ｋ≦ｋmax（ｎ）に制限されているが、図２に示したステップＳ２０５における内挿の演算も考慮すると、ピッチ周期抽出部は、ステップＳ２０３において、それよりも少し広いｋの範囲でＲｎ（ｋ）を求める必要がある。
【００４６】
図１３は、計算機プログラムの実験結果により得た、自己相関関数Ｒｎ（ｋ）の掛け算の回数を示す図である。図１３には、図１に示した“複数窓幅によるピッチ周期抽出法”の処理を計算機プログラムにより行い、分析窓数Ｎｗ（Ｐｂ）を２から８まで変化させて得られた自己相関関数Ｒｎ（ｋ）の掛け算の回数、分析窓数Ｎｗ（Ｐｂ）＝２の回数を１とした割合が示されている。この場合のピッチ周期抽出結果の正解率は、Ｎｗ（Ｐｂ）＝２のとき約９４．５％であり、Ｎｗ（Ｐｂ）の増加と共に上昇し、Ｎｗ（Ｐｂ）＝８のとき約９５．０％である。
【００４７】
このように、図１に示した“複数窓幅によるピッチ周期抽出法”の処理によれば、分析窓数Ｎｗ（Ｐｂ）に応じた演算量の自己相関分析処理により、音声［ｘj，ｘj+1，．．．，ｘj+M-1］（Ｐｂ）のピッチ周期ｋ’ｎmaxを抽出することができる。
【００４８】
〔信号処理装置〕
次に、図１に示した“複数窓幅によるピッチ周期抽出法”を実現する信号処理装置の例について説明する。実施例１，２の信号処理装置はピッチ周期抽出装置であり、装置全体の演算処理の負荷に応じて分析窓数Ｎｗ（Ｐｂ）を決定し、当該分析窓数Ｎｗ（Ｐｂ）の自己相関分析処理によりピッチ周期を抽出する。装置全体の演算処理の負荷が高い場合、分析窓数Ｎｗ（Ｐｂ）は少なくなるように決定し、装置全体の演算処理の負荷が低い場合、分析窓数Ｎｗ（Ｐｂ）は多くなるように決定することを特徴とする。また、実施例３の信号処理装置は話速変換装置であり、話速変換倍率Ｓ（Ｐｂ）に応じて分析窓数Ｎｗ（Ｐｂ）を決定し、当該分析窓数Ｎｗ（Ｐｂ）の自己相関分析処理によりピッチ周期を抽出し、抽出したピッチ周期及び話速変換倍率Ｓ（Ｐｂ）を用いて、入力音声の話速を変換する。話速変換倍率Ｓ（Ｐｂ）が高い（高速度にする）場合、分析窓数Ｎｗ（Ｐｂ）は少なくなるように決定し、話速変換倍率Ｓ（Ｐｂ）が低い（低速度にする）場合、分析窓数Ｎｗ（Ｐｂ）は多くなるように決定することを特徴とする。また、実施例４の信号処理装置はピッチ変換装置であり、抽出した直前のピッチ周期に応じて分析窓数Ｎｗ（Ｐｂ）を決定し、当該分析窓数Ｎｗ（Ｐｂ）の自己相関分析処理によりピッチ周期を抽出し、抽出したピッチ周期及びピッチ変換率Ｑ（Ｐｂ）を用いて、入力音声のピッチを変換する。ピッチ周期が長い場合、分析窓数Ｎｗ（Ｐｂ）は多くなるように決定し、ピッチ周期が短い場合、分析窓数Ｎｗ（Ｐｂ）は少なくなるように決定することを特徴とする。以下に説明する実施例１〜４では、２から８までの範囲内で分析窓数Ｎｗ（Ｐｂ）が決定されるものとする。
【００４９】
（実施例１）
まず、実施例１について説明する。前述のとおり、実施例１の信号処理装置はピッチ周期抽出装置であり、装置全体の演算処理の負荷に応じて分析窓数Ｎｗ（Ｐｂ）を決定し、当該分析窓数Ｎｗ（Ｐｂ）の自己相関分析処理によりピッチ周期を抽出する。
【００５０】
図３は、実施例１によるピッチ周期抽出装置の構成を示すブロック図である。このピッチ周期抽出装置１００は、ピッチ周期抽出部１１０、演算処理部１２０、演算処理部負荷安定化指標算出部１３０及び複数窓幅窓数決定部（分析窓数決定部）１４０を備えている。
【００５１】
ピッチ周期抽出部１１０は、分析ポイントをＰｂとした音声［ｘj，ｘj+1，．．．，ｘj+M-1］（Ｐｂ）を入力すると共に、複数窓幅窓数決定部１４０から分析窓数Ｎｗ（Ｐｂ）を入力し、図１に示した“複数窓幅によるピッチ周期抽出法”の処理によりピッチ周期ｋ’ｎmaxを抽出し、これをピッチ周期ｐ（Ｐｂ）として出力する。前述のとおり、入力音声［ｘj，ｘj+1，．．．，ｘj+M-1］（Ｐｂ）は、音声の標本値ｘjの時系列上の分析ポイントＰｂ［ｍｓ］を中心に、ｘjからｘj+M-1までのＭ個の標本値からなる。ピッチ周期抽出部１１０は、分析ポイントＰｂにおける音声の標本値系列に対して、例えば１０ｍｓ毎にシフトしながら、すなわちＰｂ＝Ｐｂ−１＋１０［ｍｓ］の関係でピッチ周期ｐ（Ｐｂ）の抽出を行い出力する。具体的には、ピッチ周期抽出部１１０は、分析ポイントＰｂの音声［ｘj，ｘj+1，．．．，ｘj+M-1］（Ｐｂ）に対し分析窓数Ｎｗ（Ｐｂ）の処理を行い、ピッチ周期ｐ（Ｐｂ）を抽出して出力し、次に、１０ｍｓシフトした分析ポイントＰｂ＋１の音声［ｘj，ｘj+1，．．．，ｘj+M-1］（Ｐｂ＋１）に対し分析窓数Ｎｗ（Ｐｂ＋１）の処理を行い、ピッチ周期ｐ（Ｐｂ＋１）を抽出して出力する。
【００５２】
演算処理部１２０は、ＣＰＵまたはＤＳＰを用いた演算装置（例えば、パーソナルコンピュータ、携帯型端末、専用装置）であり、ピッチ周期抽出部１１０、演算処理部負荷安定化指標算出部１３０及び複数窓幅窓数決定部１４０の各プロセスによる演算処理と、その他のプロセスによる演算処理とを同時に実行する。そして、演算処理部１２０は、全てのプロセスの実行状態（実行中または非実行中）を負荷指標要因として、演算処理部負荷安定化指標算出部１３０に出力する。
【００５３】
図４は、実施例１の分析窓数決定処理を示すフローチャートであり、図４に示す処理は、演算処理部負荷安定化指標算出部１３０及び複数窓幅窓数決定部１４０により行われる。演算処理部負荷安定化指標算出部１３０は、演算処理部１２０から負荷指標要因として全てのプロセスの実行状態を入力し（ステップＳ４０１）、入力した負荷指標要因を分析して負荷安定化指標に数値化し、負荷安定化指標を複数窓幅窓数決定部１４０に出力する（ステップＳ４０２）。
【００５４】
例えば、演算処理部１２０がパーソナルコンピュータまたは携帯型端末である場合、演算処理部負荷安定化指標算出部１３０は、全てのプロセスの実行状態から、実行中のプロセスの数を算出し、実行中プロセス数を負荷安定化指標とする。また、例えば、演算処理部１２０がＤＳＰを用いた専用ハードウェアにより構成された専用装置であり、実行するプロセスの数が限定されている場合、演算処理部負荷安定化指標算出部１３０は、プロセスＣｋが演算処理部１２０に与える実際の負荷を表す重みＷｃｋを予め設定しておき、すなわち、プロセス毎に重みを予め設定しておき、入力した全てのプロセスの実行状態から、実行中のプロセスの重みＷｃｋを合計した値を算出し、実行中プロセス重み合計値を負荷安定化指標とする。
【００５５】
複数窓幅窓数決定部１４０は、演算処理部負荷安定化指標算出部１３０から負荷安定化指標を入力し、負荷安定化指標が大きいほど（負荷が高いほど）、複数窓幅窓数である分析窓数Ｎｗ（Ｐｂ）が少なくなるようにＮｗ（Ｐｂ）＝２に近づけ、負荷安定化指標が小さいほど（負荷が低いほど）、分析窓数Ｎｗ（Ｐｂ）が多くなるようにＮｗ（Ｐｂ）＝８に近づけ、分析窓数Ｎｗ（Ｐｂ）を決定する（ステップＳ４０３）。そして、複数窓幅窓数決定部１４０は、決定した分析窓数Ｎｗ（Ｐｂ）をピッチ周期抽出部１１０に出力する（ステップＳ４０４）。
【００５６】
例えば、負荷安定化指標が実行中プロセス数の場合、複数窓幅窓数決定部１４０は、実行中プロセス数と分析窓数Ｎｗ（Ｐｂ）との関係が予め設定されたテーブルまたは数式を用いて、入力した実行中プロセス数から分析窓数Ｎｗ（Ｐｂ）を決定する。テーブルには、実行中プロセス数が多い場合は分析窓数Ｎｗ（Ｐｂ）が少なくなりＮｗ（Ｐｂ）＝２に近づくように、実行中プロセス数が少ない場合は分析窓数Ｎｗ（Ｐｂ）が多くなりＮｗ（Ｐｂ）＝８に近づくように、実行中プロセス数と分析窓数Ｎｗ（Ｐｂ）との関係が設定されている。数式についても同様である。また、例えば、負荷安定化指標が実行中プロセス重み合計値の場合、複数窓幅窓数決定部１４０は、実行中プロセス重み合計値と分析窓数Ｎｗ（Ｐｂ）との関係が予め設定されたテーブルまたは数式を用いて、入力した実行中プロセス重み合計値から分析窓数Ｎｗ（Ｐｂ）を決定する。テーブルには、実行中プロセス重み合計値が大きい場合は分析窓数Ｎｗ（Ｐｂ）が少なくなりＮｗ（Ｐｂ）＝２に近づくように、実行中プロセス重み合計値が小さい場合は分析窓数Ｎｗ（Ｐｂ）が多くなりＮｗ（Ｐｂ）＝８に近づくように、実行中プロセス数と分析窓数Ｎｗ（Ｐｂ）との関係が設定されている。数式についても同様である。
【００５７】
このように、実施例１のピッチ周期抽出装置１００によれば、実行中のプロセス数または実行中のプロセスの重みの合計値等を負荷量として算出し、装置全体の演算処理の負荷が高い場合は分析窓数Ｎｗ（Ｐｂ）が少なくなるように、装置全体の演算処理の負荷が低い場合は分析窓数Ｎｗ（Ｐｂ）が多くなるように分析窓数Ｎｗ（Ｐｂ）を決定し、決定した分析窓数Ｎｗ（Ｐｂ）の自己相関分析処理によりピッチ周期を抽出するようにした。これにより、装置の能力または時々刻々変化する演算負荷に応じて分析窓数Ｎｗ（Ｐｂ）が増減するから、全体の演算処理量を一定に保つことができ、装置の処理が過負荷になることがない。したがって、“複数窓幅によるピッチ周期抽出法”を、演算能力の低い安価なＤＳＰまたはＣＰＵを備えた装置においても実現することが可能となる。例えば、他のアプリケーションも同時に動作するコンピュータまたは携帯型端末等の装置を用いた場合であっても、アプリケーションを安定して動作させることができる。また、“複数窓幅によるピッチ周期抽出法”により、高精度にピッチ周期を抽出することができるという利点を活かしつつ、所定の信号処理を、音の品質を劣化させずに実現することができる。
【００５８】
（実施例２）
次に、実施例２について説明する。前述のとおり、実施例２の信号処理装置はピッチ周期抽出装置であり、装置全体の演算処理の負荷に応じて分析窓数Ｎｗ（Ｐｂ）を決定し、当該分析窓数Ｎｗ（Ｐｂ）の自己相関分析処理によりピッチ周期を抽出する。
【００５９】
図５は、実施例２によるピッチ周期抽出装置の構成を示すブロック図である。このピッチ周期抽出装置２００は、ピッチ周期抽出部２１０、演算処理部２２０、演算処理部単位時間使用率算出部２３０及び複数窓幅窓数決定部（分析窓数決定部）２４０を備えている。
【００６０】
ピッチ周期抽出部２１０は、図３に示した実施例１のピッチ周期抽出部１１０と同様の処理を行う。演算処理部２２０は、図３に示した実施例１の演算処理部２２０と同様に、ＣＰＵまたはＤＳＰを用いた演算装置であり、ピッチ周期抽出部２１０、演算処理部単位時間使用率算出部２３０及び複数窓幅窓数決定部２４０の各プロセスによる演算処理と、その他のプロセスによる演算処理とを同時に実行する。そして、演算処理部２２０は、全てのプロセスの実行状態（実行中または非実行中）を負荷指標要因として、演算処理部単位時間使用率算出部２３０に出力する。
【００６１】
図６は、実施例２の分析窓数決定処理を示すフローチャートであり、図６に示す処理は、演算処理部単位時間使用率算出部２３０及び複数窓幅窓数決定部２４０により行われる。演算処理部単位時間使用率算出部２３０は、演算処理部２２０から負荷指標要因として全てのプロセスの実行状態を入力し（ステップＳ６０１）、プロセスの実行状態が実行中を示しているプロセス毎に、単位時間内の実行時間をカウントする（ステップＳ６０２）。単位時間は、図１に示した“複数窓幅によるピッチ周期抽出法”の処理では、単位時間を１０ｍｓとするのが望ましい。
【００６２】
演算処理部単位時間使用率算出部２３０は、プロセス毎の単位時間内の実行時間を全てのプロセスについて加算し、この加算結果を単位時間で除算することで、全プロセスについての単位時間使用率Ｅ（Ｐｂ）、すなわち演算処理部２２０に備えたプロセッサーの単位時間使用率Ｅ（Ｐｂ）を求め、複数窓幅窓数決定部２４０に出力する（ステップＳ６０３）。単位時間使用率Ｅ（Ｐｂ）は、単位がパーセンテージであり、通常０〜１００［％］の間の値となる。例えば、演算処理部単位時間使用率算出部２３０は、パーソナルコンピュータ等のＯＳ（例えばＷｉｎｄｏｗｓ（登録商標））のＡＰＩとして用意されている関数を使用することにより、プロセッサーの使用率を取得し、単位時間使用率Ｅ（Ｐｂ）を求めることができる。これにより、演算処理部２２０の実効的な負荷を認識することができる。
【００６３】
複数窓幅窓数決定部２４０は、演算処理部単位時間使用率算出部２３０から単位時間使用率Ｅ（Ｐｂ）を入力し、単位時間使用率Ｅ（Ｐｂ）が高いほど（負荷が高いほど）、複数窓幅窓数である分析窓数Ｎｗ（Ｐｂ）が少なくなるようにＮｗ（Ｐｂ）＝２に近づけ、単位時間使用率Ｅ（Ｐｂ）が低いほど（負荷が低いほど）、分析窓数Ｎｗ（Ｐｂ）が多くなるようにＮｗ（Ｐｂ）＝８に近づけ、分析窓数Ｎｗ（Ｐｂ）を決定する（ステップＳ６０４）。そして、複数窓幅窓数決定部２４０は、決定した分析窓数Ｎｗ（Ｐｂ）をピッチ周期抽出部２１０に出力する（ステップＳ６０５）。
【００６４】
例えば、複数窓幅窓数決定部２４０は、単位時間使用率Ｅ（Ｐｂ）と分析窓数Ｎｗ（Ｐｂ）との関係が予め設定されたテーブルまたは数式を用いて、入力した単位時間使用率Ｅ（Ｐｂ）から分析窓数Ｎｗ（Ｐｂ）を決定する。テーブルには、単位時間使用率Ｅ（Ｐｂ）が高い場合は分析窓数Ｎｗ（Ｐｂ）が少なくなりＮｗ（Ｐｂ）＝２に近づくように、単位時間使用率Ｅ（Ｐｂ）が低い場合は分析窓数Ｎｗ（Ｐｂ）が多くなりＮｗ（Ｐｂ）＝８に近づくように、単位時間使用率Ｅ（Ｐｂ）と分析窓数Ｎｗ（Ｐｂ）との関係が設定されている。数式についても同様である。
【００６５】
このように、実施例２のピッチ周期抽出装置１００によれば、演算処理部２２０に備えたプロセッサーの単位時間使用率Ｅ（Ｐｂ）を負荷量として算出し、単位時間使用率Ｅ（Ｐｂ）の示す演算処理の負荷が高い場合は分析窓数Ｎｗ（Ｐｂ）が少なくなるように、単位時間使用率Ｅ（Ｐｂ）の示す演算処理の負荷が低い場合は分析窓数Ｎｗ（Ｐｂ）が多くなるように分析窓数Ｎｗ（Ｐｂ）を決定し、決定した分析窓数Ｎｗ（Ｐｂ）の自己相関分析処理によりピッチ周期を抽出するようにした。これにより、実施例１と同様に、“複数窓幅によるピッチ周期抽出法”を、演算能力の低い安価なＤＳＰまたはＣＰＵを備えた装置においても実現することが可能となる。
【００６６】
通常は、ピッチ周期抽出装置２００内で様々なプロセスが同時に動作しているため、ピッチ周期抽出部２１０以外のプロセスがプロセッサーを大きな割合で使用していることがあり得る。実施例２は、このような場合に特に有効である。
【００６７】
また、ピッチ周期抽出装置２００が、圧縮された映像と音声とを同時に扱うプレイヤー等に用いられる場合、映像のデコーダがプロセッサーを占有する割合が高くなると考えられる。映像及び音声を同時に再生する場合と、音声だけを再生する場合とを比較すると、映像及び音声を同時に再生する場合の方が、音声のピッチ周期を抽出する処理に割り当て可能なプロセッサーの占有率が下がる可能性がある。実施例２は、このような場合にも有効である。すなわち、音声だけを再生する場合には、プロセッサーの使用率が低くなるから、分析窓数Ｎｗ（Ｐｂ）は多くなるように決定され、ピッチ周期抽出部２１０の演算量は増加する。一方、映像と音声を同時に再生する場合には、プロセッサーの使用率が高くなるから、分析窓数Ｎｗ（Ｐｂ）は少なくなるように決定され、ピッチ周期抽出部２１０の演算量は減少する。
【００６８】
（実施例３）
次に、実施例３について説明する。前述のとおり、実施例３の信号処理装置は話速変換装置であり、話速変換倍率Ｓ（Ｐｂ）に応じて分析窓数Ｎｗ（Ｐｂ）を決定し、当該分析窓数Ｎｗ（Ｐｂ）の自己相関分析処理によりピッチ周期を抽出し、抽出したピッチ周期及び話速変換倍率Ｓ（Ｐｂ）を用いて、入力音声の話速を変換する。
【００６９】
図７は、実施例３による話速変換装置の構成を示すブロック図である。この話速変換装置３００は、ピッチ周期抽出部３１０、複数窓幅窓数決定部（分析窓数決定部）３２０及び話速変換処理部３３０を備えている。
【００７０】
ピッチ周期抽出部３１０は、図３に示した実施例１のピッチ周期抽出部１１０と同様の処理を行い、ピッチ周期ｐ（Ｐｂ）及び入力音声［ｘj，ｘj+1，．．．，ｘj+M-1］（Ｐｂ）を話速変換処理部３３０に出力する。このとき、分析ポイントＰｂは  Ｐｂ＝ Ｐｂ-1＋１０［ｍｓ］の関係を保って順次シフトしていくものとする。
【００７１】
図８は、実施例３の分析窓数決定処理を示すフローチャートであり、図８に示す処理は、複数窓幅窓数決定部３２０により行われる。複数窓幅窓数決定部３２０は、外部から分析ポイントＰｂの移動に応じて変化する話速変換倍率Ｓ（Ｐｂ）を入力し（ステップＳ８０１）、話速変換倍率Ｓ（Ｐｂ）が高いほど（話速が速くなり負荷が高いほど）、複数窓幅窓数である分析窓数Ｎｗ（Ｐｂ）が少なくなるようにＮｗ（Ｐｂ）＝２に近づけ、話速変換倍率Ｓ（Ｐｂ）が低いほど（話速が遅くなり負荷が低いほど）、分析窓数Ｎｗ（Ｐｂ）が多くなるようにＮｗ（Ｐｂ）＝８に近づけ、分析窓数Ｎｗ（Ｐｂ）を決定する（ステップＳ８０２）。そして、複数窓幅窓数決定部３２０は、決定した分析窓数Ｎｗ（Ｐｂ）をピッチ周期抽出部３１０に出力する（ステップＳ８０３）。
【００７２】
例えば、複数窓幅窓数決定部３２０は、話速変換倍率Ｓ（Ｐｂ）と分析窓数Ｎｗ（Ｐｂ）との関係が予め設定されたテーブルまたは数式を用いて、入力した話速変換倍率Ｓ（Ｐｂ）から分析窓数Ｎｗ（Ｐｂ）を決定する。テーブルには、話速変換倍率Ｓ（Ｐｂ）が高い場合は分析窓数Ｎｗ（Ｐｂ）が少なくなりＮｗ（Ｐｂ）＝２に近づくように、話速変換倍率Ｓ（Ｐｂ）が低い場合は分析窓数Ｎｗ（Ｐｂ）が多くなりＮｗ（Ｐｂ）＝８に近づくように、話速変換倍率Ｓ（Ｐｂ）と分析窓数Ｎｗ（Ｐｂ）との関係が設定されている。数式についても同様である。
【００７３】
話速変換処理部３３０は、外部から話速変換倍率Ｓ（Ｐｂ）を入力すると共に、ピッチ周期抽出部３１０からピッチ周期ｐ（Ｐｂ）及び入力音声［ｘj，ｘj+1，．．．，ｘj+M-1］（Ｐｂ）を入力する。そして、話速変換処理部３３０は、入力音声［ｘj，ｘj+1，．．．，ｘj+M-1］（Ｐｂ）が話速変換倍率Ｓ（Ｐｂ）にて変換した話速になるように、入力音声［ｘj，ｘj+1，．．．，ｘj+M-1］（Ｐｂ）に対し、ピッチ周期ｐ（Ｐｂ）を単位として、話速変換倍率Ｓ（Ｐｂ）＞１のときに間引き処理を行い、話速変換倍率Ｓ（Ｐｂ）＜１のときに繰り返し処理を行う。そして、話速変換処理部３３０は、元々Ｍ個の標本値系列であった入力音声［ｘj，ｘj+1，．．．，ｘj+M-1］（Ｐｂ）をＬ個の標本値系列に変換し、出力音声［ｙj，ｙj+1，．．．，ｙj+L-1］（Ｐ’ｂ）を出力する。この場合、Ｌ≒Ｍ／Ｓ（Ｐｂ）である。
【００７４】
ところで、入力音声の標本値系列の個数Ｍに相当する時間長は、複数の分析窓の想定される最大長と等しいかそれより長くなくてはならない。具体的には本実施例では、６０ｍｓ程度が必要となる。一方、分析ポイントの間隔が１０ｍｓであるので、出力音声［ｙj，ｙj+1，．．．，ｙj+L-1］（Ｐ’ｂ）は、その両端において、１つ手前の分析ポイントＰ’ｂ−１における出力音声［ｙj，ｙj+1，．．．，ｙj+L-1］（Ｐ’ｂ−１）、または１つ後の分析ポイントＰ’ｂ＋１における出力音声［ｙj，ｙj+1，．．．，ｙj+L-1］（Ｐ’ｂ＋１）と重複する部分がある。したがって、単純に出力音声［ｙj，ｙj+1，．．．，ｙj+L-1］（Ｐ’ｂ−１）、［ｙj，ｙj+1，．．．，ｙj+L-1］（Ｐ’ｂ）、［ｙj，ｙj+1，．．．，ｙj+L-1］（Ｐ’ｂ＋１）を順じ続けて接続しても、音の時間的な順序関係に齟齬が生じ、滑らかな連続音声とはならない。この場合、話速変換処理部３３０は、出力音声［ｙj，ｙj+1，．．．，ｙj+L-1］（Ｐ’ｂ）の中心部分のみを残し、その外側の重複部分を適宜省いて出力する。これにより、隣り合う分析ポイント間の出力において、時間的な順序関係に齟齬がない連続した音声として出力することができる。
【００７５】
このように、実施例３による話速変換装置３００によれば、複数窓幅窓数決定部３２０は、話速変換倍率Ｓ（Ｐｂ）の示す演算処理の負荷が高い場合（話速変換倍率Ｓ（Ｐｂ）が高い場合）は分析窓数Ｎｗ（Ｐｂ）が少なくなるように、話速変換倍率Ｓ（Ｐｂ）の示す演算処理の負荷が低い場合（話速変換倍率Ｓ（Ｐｂ）が低い場合）は分析窓数Ｎｗ（Ｐｂ）が多くなるように分析窓数Ｎｗ（Ｐｂ）を決定し、ピッチ周期抽出部３１０は、複数窓幅窓数決定部３２０により決定された分析窓数Ｎｗ（Ｐｂ）の自己相関分析処理によりピッチ周期を抽出するようにした。そして、話速変換処理部３３０は、ピッチ周期抽出部３１０により抽出されたピッチ周期ｐ（Ｐｂ）を用いて、話速変換処理を行うようにした。これにより、分析ポイントＰｂの移動に応じて変化する話速変換倍率Ｓ（Ｐｂ）に応じて、装置の能力または時々刻々変化する演算負荷に応じて分析窓数Ｎｗ（Ｐｂ）が増減するから、全体の演算処理量を一定に保つことができ、話速変換の動作を安定させることができ、装置の処理が過負荷になることがない。したがって、実施例１と同様に、“複数窓幅によるピッチ周期抽出法”を、演算能力の低い安価なＤＳＰまたはＣＰＵを備えた装置においても実現することが可能となる。
【００７６】
例えば、テレビまたはラジオの音声をリアルタイムでゆっくり聞いたり、音声をハードディスクレコーダー等に一度記録して、ゆっくりまたは早く聞いたりすることができる。また、音声情報を効率的に聴取したいという視覚障害者からの要望に対して、視覚障害者用の録音図書等を高速に再生して聞くこともできる。また、語学学習または発声訓練システムの教材の作成時に利用することができ、学習時に、学習者の上達度に合わせて音声の話速を変換して学習者に聞かせることもできる。
【００７７】
音声を高速（早口）に変換しながら再生する場合、ピッチ周期の抽出は、通常入力音声の時間軸に対して一定の時間間隔（例えば５ｍｓ毎、１０ｍｓ毎）で行う必要があるため、高速な話速変換では、元の速さでの再生の時に比べ、単位時間当たりのピッチ周期の抽出回数が再生速度に比例して多くなる。したがって、話速変換倍率Ｓ（Ｐｂ）に反比例して分析窓数Ｎｗ（Ｐｂ）を増減することにより、話速を早くする場合には、分析窓数Ｎｗ（Ｐｂ）を少なくすることで、１回のピッチ周期を抽出するのに必要な演算量が少なくなるから、単位時間当たりのピッチ周期の抽出回数が多くなっても演算量は多くならない。逆に、話速を遅くする場合には、分析窓数Ｎｗ（Ｐｂ）を多くすることで、１回のピッチ周期を抽出するのに必要な演算量が多くなるが、単位時間当たりのピッチ周期の抽出回数が少なくなるため演算量は多くならない。これにより、話速変換倍率Ｓ（Ｐｂ）にかかわらず、その演算を行うプロセッサーの負荷は安定する。
【００７８】
（実施例４）
次に、実施例４について説明する。前述のとおり、実施例４の信号処理装置はピッチ変換装置であり、直前のピッチ周期に応じて分析窓数Ｎｗ（Ｐｂ）を決定し、当該分析窓数Ｎｗ（Ｐｂ）の自己相関分析処理によりピッチ周期を抽出し、抽出したピッチ周期及びピッチ変換率Ｑ（Ｐｂ）を用いて、入力音声のピッチを変換する。
【００７９】
図９は、実施例４によるピッチ変換装置の構成を示すブロック図である。このピッチ変換装置４００は、ピッチ周期抽出部４１０、複数窓幅窓数決定部（分析窓数決定部）４２０及びピッチ変換処理部４３０を備えている。
【００８０】
ピッチ周期抽出部４１０は、図３に示した実施例１のピッチ周期抽出部１１０と同様の処理を行い、ピッチ周期ｐ（Ｐｂ）を複数窓幅窓数決定部４２０に出力すると共に、ピッチ周期ｐ（Ｐｂ）及び入力音声［ｘj，ｘj+1，．．．，ｘj+M-1］（Ｐｂ）をピッチ変換処理部４３０に出力する。図９では、入力音声［ｘj，ｘj+1，．．．，ｘj+M-1］（Ｐｂ）、分析窓数Ｎｗ（Ｐｂ）、ピッチ周期ｐ（Ｐｂ）、ピッチ変換率Ｑ（Ｐｂ）における分析ポイントＰｂを整合させるために、ピッチ周期抽出部４１０は、１つ手前の分析ポイントＰｂ−１のピッチ周期ｐ（Ｐｂ−１）を複数窓幅窓数決定部４２０に出力しており、分析ポイントＰｂ ＝ Ｐｂ−１  +  ｐ（Ｐｂ−１）の関係を保ちながら、順次分析ポイントをシフトしてピッチ抽出を行う。
【００８１】
図１０は、実施例４の分析窓数決定処理を示すフローチャートであり、図１０に示す処理は、複数窓幅窓数決定部４２０により行われる。複数窓幅窓数決定部４２０は、ピッチ周期抽出部４１０から１つ手前の分析ポイントＰｂ−１のピッチ周期ｐ（Ｐｂ−１）を入力し（ステップＳ１００１）、ピッチ周期ｐ（Ｐｂ−１）が長いほど（ピッチ周期が長いため、単位時間当たりの装置の処理負荷が低いほど）、複数窓幅窓数である分析窓数Ｎｗ（Ｐｂ）が多くなるようにＮｗ（Ｐｂ）＝８に近づけ、ピッチ周期ｐ（Ｐｂ−１）が短いほど（ピッチ周期が短いため、単位時間当たりの装置の処理負荷が高いほど）、分析窓数Ｎｗ（Ｐｂ）が少なくなるようにＮｗ（Ｐｂ）＝２に近づけ、分析窓数Ｎｗ（Ｐｂ）を決定する（ステップＳ１００２）。そして、複数窓幅窓数決定部４２０は、決定した分析窓数Ｎｗ（Ｐｂ）をピッチ周期抽出部４１０に出力する（ステップＳ１００３）。これにより、ピッチ周期抽出部４１０は、分析ポイントＰｂのピッチ周期ｐ（Ｐｂ）を抽出する。
【００８２】
例えば、複数窓幅窓数決定部４２０は、ピッチ周期ｐ（Ｐｂ−１）と分析窓数Ｎｗ（Ｐｂ）との関係が予め設定されたテーブルまたは数式を用いて、入力したピッチ周期ｐ（Ｐｂ−１）から分析窓数Ｎｗ（Ｐｂ）を決定する。テーブルには、ピッチ周期ｐ（Ｐｂ−１）が長い場合は分析窓数Ｎｗ（Ｐｂ）が多くなりＮｗ（Ｐｂ）＝８に近づくように、ピッチ周期ｐ（Ｐｂ−１）が短い場合は分析窓数Ｎｗ（Ｐｂ）が少なくなりＮｗ（Ｐｂ）＝２に近づくように、ピッチ周期ｐ（Ｐｂ−１）と分析窓数Ｎｗ（Ｐｂ）との関係が設定されている。数式についても同様である。
【００８３】
図１４は、実施例４のピッチ変換処理を説明する図である。ピッチ変換処理部４３０は、外部からピッチ変換率Ｑ（Ｐｂ）を入力すると共に、ピッチ周期抽出部４１０からピッチ周期ｐ（Ｐｂ）及び入力音声［ｘj，ｘj+1，．．．，ｘj+M-1］（Ｐｂ）を入力する。そして、ピッチ変換処理部４３０は、図１４に示すように、入力音声［ｘj，ｘj+1，．．．，ｘj+M-1］（Ｐｂ）がピッチ変換率Ｑ（Ｐｂ）にて変換した音声になるように（ピッチ変換率Ｑ（Ｐｂ）＞１のときに高い声になり、ピッチ変換率Ｑ（Ｐｂ）＜１のときに低い声になるように）、入力音声［ｘj，ｘj+1，．．．，ｘj+M-1］（Ｐｂ）内の中心に位置する１つのピッチ周期区間（長さはｐ（Ｐｂ））を対象として、新たなピッチ周期ｐ’（Ｐｂ）＝ｐ（Ｐｂ）／Ｑ（Ｐｂ）となるように、ピッチ変換率Ｑ（Ｐｂ）＞１のときには音声のピッチ周期を短縮するための波形の加工処理を行い、ピッチ変換率Ｑ（Ｐｂ）＜１のときには音声のピッチ周期を延長するための波形の加工処理を行う。そして、ピッチ変換処理部４３０は、元々Ｍ個の標本値系列であった入力音声［ｘj，ｘj+1，．．．，ｘj+M-1］（Ｐｂ）から、加工後の１つのピッチ周期 ｐ’（Ｐｂ）の長さに相当する標本数Ｌ個の出力音声［ｙj，ｙj+1，．．．，ｙj+L-1］（Ｐｂ）を出力する。
【００８４】
尚、ピッチ変換処理部４３０の出力音声［ｙj，ｙj+1，．．．，ｙj+L-1］（Ｐｂ）を順次接続していった場合、ピッチ周期を短縮（声を高く）した部分では、その一連の区間の時間長が縮まって話速が速まり、ピッチ周期を延長（声を低く）した部分では、その一連の区間の時間長が延びて話速がゆっくりとなってしまう。そこで、ピッチ変換処理部４３０の出力音声に対して前記実施例３の話速変換処理部３３０と同様の処理を適用し、各区間の話速が入力音声とほぼ同じになるように、ピッチ周期ｐ’（Ｐｂ）単位の繰り返しまたは間引きを行うことで、話速の変化を防止する。
【００８５】
このように、実施例４によるピッチ変換装置４００によれば、複数窓幅窓数決定部４２０は、ピッチ周期ｐ（Ｐｂ−１）の示す演算処理の負荷が高い場合（ピッチ周期ｐ（Ｐｂ−１）が短い場合）は分析窓数Ｎｗ（Ｐｂ）が少なくなるように、ピッチ周期ｐ（Ｐｂ−１）の示す演算処理の負荷が低い場合（ピッチ周期ｐ（Ｐｂ−１）が長い場合）は分析窓数Ｎｗ（Ｐｂ）が多くなるように分析窓数Ｎｗ（Ｐｂ）を決定し、ピッチ周期抽出部４１０は、複数窓幅窓数決定部４２０により決定された分析窓数Ｎｗ（Ｐｂ）の自己相関分析処理によりピッチ周期を抽出するようにした。そして、ピッチ変換処理部４３０は、複数窓幅窓数決定部４２０により抽出された分析窓数Ｎｗ（Ｐｂ）を用いて、ピッチ変換処理を行うようにした。これにより、ピッチ周期ｐ（Ｐｂ−１）に応じて、装置の能力または時々刻々変化する演算負荷に応じて分析窓数Ｎｗ（Ｐｂ）が増減するから、全体の演算処理量を一定に保つことができ、ピッチ変換の動作を安定させることができ、装置の処理が過負荷になることがない。したがって、実施例１と同様に、“複数窓幅によるピッチ周期抽出法”を、演算能力の低い安価なＤＳＰまたはＣＰＵを備えた装置においても実現することが可能となる。
【００８６】
例えば、テレビまたはラジオの音声を好みの高さに調節し、リアルタイムで聞いたり、音声をハードディスクレコーダー等に一度記録して、好みの高さに調整して聞いたりすることができる。また、音域障害を持つ聴覚障害者の可聴周波数帯域に合った高さに声を調節して聞くこともできる。また、語学学習または発声訓練システムの教材の作成時に利用することができ、学習時に、学習者の上達度に合わせて音声のピッチを変換して学習者に聞かせることもできる。
【００８７】
ピッチ変換を施して声の高さを変換しながら再生する場合、ピッチ変換は、ピッチ周期ｐ（Ｐｂ）をピッチ周期区間毎に短縮したり延長したりする信号処理であるため、前述のようにピッチ周期ｐ（Ｐｂ）の抽出を入力音声の時間軸に対して一定の時間間隔ではなく、各部分のピッチ周期ｐ（Ｐｂ）に同期して分析ポイントをシフトしながら順次行う方が、変換音声の品質を高めることができる。例えば、女性の声または感情のこもった男性の声の高い部分等では、ピッチ周期ｐ（Ｐｂ）が短くなるため、単位時間当たりのピッチ周期ｐ（Ｐｂ）の抽出回数が多くなる。
【００８８】
したがって、ピッチ変換の対象となる部分の声の高さ、すなわちピッチ周期ｐ（Ｐｂ−１）に反比例して分析窓数Ｎｗ（Ｐｂ）を増減することにより、声が高い場合（ピッチ周期ｐ（Ｐｂ−１）が短い場合）には、分析窓数Ｎｗ（Ｐｂ）を少なくすることで、１回のピッチ周期ｐ（Ｐｂ）を抽出するのに必要な演算量が少なくなるから、単位時間当たりのピッチ周期ｐ（Ｐｂ）の抽出回数が多くなっても演算量は多くならない。逆に、声が低い場合（ピッチ周期ｐ（Ｐｂ−１）が長い場合）には、分析窓数Ｎｗ（Ｐｂ）を多くすることで、１回のピッチ周期ｐ（Ｐｂ）を抽出するのに必要な演算量が多くなるが、単位時間当たりのピッチ周期ｐ（Ｐｂ）の抽出回数が少なくなるため演算量は多くならない。これにより、ピッチ変換の対象となる部分の声の高さ、すなわちピッチ周期ｐ（Ｐｂ）にかかわらず、その演算を行うプロセッサーの負荷は安定する。
【００８９】
尚、本発明の実施形態による信号処理装置（ピッチ周期抽出装置１００，２００、話速変換装置３００及びピッチ変換装置４００）のハードウェア構成としては、通常のコンピュータを使用することができる。信号処理装置は、ＣＰＵ、ＲＡＭ等の揮発性の記憶媒体、ＲＯＭ等の不揮発性の記憶媒体、及びインターフェース等を備えたコンピュータによって構成される。ピッチ周期抽出装置１００に備えたピッチ周期抽出部１１０、演算処理部１２０、演算処理部負荷安定化指標算出部１３０及び複数窓幅窓数決定部１４０の各機能は、これらの機能を記述したプログラムをＣＰＵに実行させることによりそれぞれ実現される。ピッチ周期抽出装置２００に備えたピッチ周期抽出部２１０、演算処理部２２０、演算処理部単位時間使用率算出部２３０及び複数窓幅窓数決定部２４０、話速変換装置３００に備えたピッチ周期抽出部３１０、複数窓幅窓数決定部３２０及び話速変換処理部３３０、並びにピッチ変換装置４００に備えたピッチ周期抽出部４１０、複数窓幅窓数決定部４２０及びピッチ変換処理部４３０についても同様である。また、これらのプログラムは、磁気ディスク（フロッピー（登録商標）ディスク、ハードディスク等）、光ディスク（ＣＤ−ＲＯＭ、ＤＶＤ等）、半導体メモリ等の記憶媒体に格納して頒布することもでき、ネットワークを介して送受信することもできる。
【符号の説明】
【００９０】
１００，２００  ピッチ周期抽出装置
１１０，２１０，３１０，４１０  ピッチ周期抽出部
１２０，２２０  演算処理部
１３０  演算処理部負荷安定化指標算出部
１４０，２４０，３２０，４２０  複数窓幅窓数決定部（分析窓数決定部）
２３０  演算処理部単位時間使用率算出部
３００  話速変換装置
３３０  話速変換処理部
４００  ピッチ変換装置
４３０  ピッチ変換処理部
【図１】
2013257467.tif 000010
【図２】
2013257467.tif 000011
【図３】
2013257467.tif 000012
【図４】
2013257467.tif 000013
【図５】
2013257467.tif 000014
【図６】
2013257467.tif 000015
【図７】
2013257467.tif 000016
【図８】
2013257467.tif 000017
【図９】
2013257467.tif 000018
【図１０】
2013257467.tif 000019
【図１１】
2013257467.tif 000020
【図１２】
2013257467.tif 000021
【図１３】
2013257467.tif 000022
【図１４】
2013257467.tif 000023