(57)【要約】【課題】  少ない演算量で離散値系信号のピッチ周期を検出できるようにする。【解決手段】  本発明のピッチ推定器は、離散値系信号Ｘ（ｎ）の時間差ｋについての自己相関係数Ｃｏｒｒ（ｎ，ｋ）を算出する自己相関演算器と、時間差ｋが異なる複数の自己相関係数Ｃｏｒｒ（ｎ，ｋ）の中から、その絶対値の最大値を与える時間差をピッチ周期として検出する最大値検出手段とを有する。自己相関演算器は、信号Ｘ（ｎ）を、そのダイナミックレンジの中間値未満か中間値か中間値超過かに応じた１ビット信号Ｘｂｉｎ（ｎ）に変換する２値符号化手段と、この１ビット信号Ｘｂｉｎ（ｎ）の自己相関値を算出し、上述の相互相関係数Ｃｏｒｒ（ｎ，ｋ）として出力する演算手段とを有する。【選択図】      図１
2008158312.tif 000002
【特許請求の範囲】
【請求項１】
離散値系信号Ｘ（ｎ）の所定区間（この区間のサンプル数はＮ）を参照信号とし、これより時間ｋだけ過去の所定区間Ｎの同一信号との自己相関係数Ｃｏｒｒ（ｎ，ｋ）を算出する自己相関演算器において、
離散的時間信号Ｘ（ｎ）を、そのダイナミックレンジの中間値未満か中間値か中間値超過かに応じた１ビット信号Ｘｂｉｎ（ｎ）に変換する２値符号化手段と、
上記２値符号化手段からの１ビット信号Ｘｂｉｎ（ｎ）に基づき、（Ａ）式に従う演算を実行し、その演算結果を上記自己相関係数Ｃｏｒｒ（ｎ，ｋ）として出力する演算手段と
を有することを特徴とする自己相関演算器。
【数１】
2008158312.tif 000014
但し、＋を丸で囲んだ記号は排他的論理和演算を表している。
【請求項２】
上記演算手段は、
上記２値符号化手段からの１ビット信号Ｘｂｉｎ（ｎ）を、少なくとも（Ａ）式における現在側で必要となるＮビット分だけ保持、出力する第１のＮビット信号保持部と、
上記２値符号化手段からの１ビット信号Ｘｂｉｎ（ｎ）を、少なくとも（Ａ）式における過去側で必要となるＮビット分だけ保持、出力する第２のＮビット信号保持部と、
上記第１及び第２の１ビット信号保持手段から出力された計Ｎビットの１ビット信号に対し、ビット単位に排他的論理和演算を行う排他的論理和演算部と、
Ｎビットの排他的論理和演算の出力の中から論理「１」のビット数を整数値に変換すると共に、この整数値を２倍する総和・２倍化部と、
Ｎから、上記総和・２倍化部による整数値を減算する減算部と
を有することを特徴とする請求項１に記載の自己相関演算器。
【請求項３】
離散値系信号Ｘ（ｎ）の所定区間（この区間のサンプル数はＮ）を参照信号とし、これより時間ｋだけ過去の所定区間Ｎの同一信号との自己相関係数Ｃｏｒｒ（ｎ，ｋ）を算出する自己相関演算方法において、
２値符号化手段及び演算手段を有し、
上記２値符号化手段は、離散的時間信号Ｘ（ｎ）を、そのダイナミックレンジの中間値未満か中間値か中間値超過かに応じた１ビット信号Ｘｂｉｎ（ｎ）に変換し、
上記演算手段は、上記２値符号化手段からの１ビット信号Ｘｂｉｎ（ｎ）に基づき、（Ｂ）式に従う演算を実行し、その演算結果を上記自己相関係数Ｃｏｒｒ（ｎ，ｋ）として出力する
ことを特徴とする自己相関演算方法。
【数２】
2008158312.tif 000015
但し、＋を丸で囲んだ記号は排他的論理和演算を表している。
【請求項４】
離散値系信号Ｘ（ｎ）のピッチ周期を検出するピッチ推定器において、
離散値系信号Ｘ（ｎ）の時間差ｋについての自己相関係数Ｃｏｒｒ（ｎ，ｋ）を算出する自己相関演算器と、
上記自己相関演算器からの、時間差ｋが異なる複数の自己相関係数Ｃｏｒｒ（ｎ，ｋ）の中から、その絶対値の最大値を与える時間差をピッチ周期として検出する最大値検出手段とを有し、
上記自己相関演算器として、請求項１又は２に記載のものを適用した
ことを特徴とするピッチ推定器。
【請求項５】
離散値系信号Ｘ（ｎ）のピッチ周期を検出するピッチ推定方法において、
自己相関演算器と最大値検出手段とを有し、
上記自己相関演算器は、離散値系信号Ｘ（ｎ）の時間差ｋについての自己相関係数Ｃｏｒｒ（ｎ，ｋ）を算出し、
上記最大値検出手段は、上記自己相関演算器からの、時間差ｋが異なる複数の自己相関係数Ｃｏｒｒ（ｎ，ｋ）の中から、その絶対値の最大値を与える時間差をピッチ周期として検出し、
上記自己相関演算器は、自己相関演算方法として、請求項３に記載の方法を適用している
ことを特徴とするピッチ推定方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はピッチ推定器及びピッチ推定方法、並びに、自己相関演算器及び自己相関演算方法に関し、例えば、音声信号のピッチ周期の推定に適用し得るものである。
【背景技術】
【０００２】
［パケット通信における音声ピッチ検出の応用］
ＶｏＩＰ（Ｖｏｉｃｅ  ｏｖｅｒ  ＩＰ）通信のようにパケット単位で通信する方式においては、パケット損失時に、当該損失パケットに含まれていた音声情報を纏めて失うこととなり、その際、通話品質が劣化することとなる。
【０００３】
このパケット損失に伴う通話品質の劣化を救済するために、非特許文献１においては、パケット損失時に、その直前までに受信した一定区間の音声信号の自己相関を算出して音声ピッチ周期を求め、この周期に相当する過去の信号を切り出して、損失パケットの音声情報の代わりに再生することで通話品質の劣化を救済している。
【０００４】
［ピッチ推定］
一般に、２つの離散値系の時間信号Ｘ（ｎ）とＹ（ｎ−ｋ）の正規化相互相関係数Ｃｏｒｒ（ｎ，ｋ）は（１）式で定義されている。
【数３】
2008158312.tif 000003
【０００５】
ここで、離散値系の時間信号Ｘ（ｎ）とＹ（ｎ）は単位時間で標本化されており、指標ｎは現時刻を表すものとする。また、０≦ｋ＜Ｍとする。
【０００６】
（１）式の定性的な意味を説明する。時刻ｎを固定するとき、Ｎサンプルで構成される信号Ｘ（ｎ−ｉ），０≦ｉ＜ＮとＹ（ｎ−ｋ−ｉ），０≦ｉ＜Ｎの類似度を算出している。そして、その探索範囲は０≦ｋ＜Ｍとしている。つまり、現時刻ｎにおいてＭ個の正規化相互相関係数Ｃｏｒｒ（ｎ、０），Ｃｏｒｒ（ｎ，１），…，Ｃｏｒｒ（ｎ，Ｍ−１）が得られるので、その中からＣｏｒｒ（ｎ，ｋ）の絶対値｜Ｃｏｒｒ（ｎ，ｋ）｜が最大値となるときのｋをｋｍａｘと表記すると、Ｘ（ｎ−ｉ），０≦ｉ＜Ｎに対して最も類似度が高い信号はＹ（ｎ−ｋｍａｘ−ｉ），０≦ｉ＜Ｎである。
【０００７】
特に、Ｘ（ｎ）とＹ（ｎ）が同一の音声信号であるとき、（１）式は正規化自己相関係数となり、ｋｍａｘはピッチ周期に相当する。但し、ｋの変動範囲の最小値は０よりも大きな値、例えば、女声の短いピッチ周期の数分の１の値に相当する値に設定されることになる。
【０００８】
［演算量］
上述したピッチ周期を推定する際に実施する相関演算は、非特許文献１で言及されているように、当該アルゴリズムに必要とされる演算量の支配項となっている。
【０００９】
ここでは、まず、一般的な正規化相互相関演算に要する演算量を見積もることにする。
【００１０】
（１）式で表す離散的正規化相互相関係数Ｃｏｒｒ（ｎ，ｋ）を０≦ｋ＜Ｍの範囲で合計Ｍ回演算するときの演算量を見積もる前提条件として、ａ×ｂ＋ｃの形式で表せる積和演算はハードウェアにより１マシンサイクル（１クロック）で算出可能とする。
【００１１】
まず、（１）式の分子はＮ回の積和演算を要する。さらに、ピッチの探索では、（１）式の演算を０≦ｋ＜Ｍについて実施するので、ＮＭ回の積和演算を要する。
【００１２】
次に、分母の左側の平方根について演算量を求める。この項には変数ｋが現れないので、ｎが更新される度に１回算出しておけば良い。（２）式に示すように時刻ｎ−１のときの２乗和ＳＸを定義すると、時刻がｎ−１からｎに更新されるときに、（３）式に示す演算を要するので、上式の演算量を積和演算の回数に換算してα回で算出できると仮定しよう。なお、非特許文献１では、この計算はｋに寄与しないため省略されている。同じく、分母の右側の平方根については、ｋが更新されるたびに（３）式と同様の処理を要する。
【数４】
2008158312.tif 000004
【００１３】
以上から、（１）式をＭ回演算するのに要する演算量は、積和演算の回数で換算すると、（４）式に示すようになる。
【００１４】
ＮＭ＋αＭ＋α                                                  …（４）
［従来技術による演算量の低減］
非特許文献１によると、ピッチ周期を算出するための正規化自己相関係数は、（１）式を変形した（５）式を採用している。
【数５】
2008158312.tif 000005
【００１５】
ここで、Ｎ＝１６０であり、０≦ｉ＜１６０、４０≦ｋ≦１２０としている。また、演算量の低減化のため、指標ｉとｋは１つ飛びに変化させている。
【００１６】
（５）式の相関演算により４１個の相関係数Ｃｏｒｒ（ｎ，ｋ）が得られ、この中から絶対値が最大となるときのｋを仮のｋｍａｘとする。次に、ｋｍａｘ±１について、相関係数Ｃｏｒｒ（ｎ，ｋｍａｘ−１），Ｃｏｒｒ（ｎ，ｋｍａｘ），Ｃｏｒｒ（ｎ，ｋｍａｘ＋１）を今度はｉについて１つずつインクリメントして求め、これら３つの相関係数の絶対値の中で最大値となるｋを正式なｋｍａｘと見なす。よって、このときの演算量は、（６）式に示すようになる。（４）式と比較することで、演算量が数分の１に低減されることが分かる。
【００１７】
Ｎ／２（Ｍ／２−１）＋α（Ｍ／２＋１）＋α＋３Ｎ＋３α
＝Ｎ（Ｍ／４＋７／２）＋α（Ｍ／２＋５）                      …（６）
なお、非特許文献１では、Ｎ＝１６０，Ｍ＝８０である。また、αについては使用する数値フォーマット（固定小数点ｏｒ浮動小数点、演算語長）および演算ハードウェアに依存する。ＮとＭの値を（６）式に代入すると、非特許文献１でのピッチ推定に要する演算量は、３７６０＋４５αとなる。
【非特許文献１】ＴＴＣ  ＪＴ−Ｇ７１１，付録１  標準ＪＴ−Ｇ７１１向けパケット損失補償のための高品質低演算量アルゴリズム
【発明の開示】
【発明が解決しようとする課題】
【００１８】
非特許文献１による（５）式の相関演算を使用した音声信号のピッチ検出は、（５）式をなるべく数学的に正確、かつ、短時間で算出する要求があるときには有効な方法である。
【００１９】
しかしながら、応用上の観点からは、相関係数を数学的に正確に求めることよりも、極力短時間、かつ、ハードウェア小規模な演算器を利用して相関係数を得たいとする要求が多い。
【００２０】
とりわけ、このような要求は、通信網内に設置され、かつ、多数の音声チャネルを収容するＶｏＩＰゲートウェイ装置では強い傾向がある。理由としては、非特許文献１で規定されているパケット損失補償は、通信品質が劣悪でパケット損失率が大きな通信網では確かにその効果を発揮し、当該機能のコスト／パフォーマンス比を満足させることになるかもしれないが、逆に、通話品質が良好でパケット損失率が小さな通信網では、パケット損失補償の機能はほとんど動作することはないもの、通信網内の中継ルータの故障などにより発生し得る収容している全音声チャネルの瞬断に備えて、常時、全チャネルのパケット損失補償を同時に実施可能とするだけのパフォーマンスを持たせる場合、このときの当該機能のコスト／パフォーマンス値は著しく劣化することとなる。それゆえに、相関係数を数学的に正確に求めることよりも、極力短時間、かつ、ハードウェアが小規模な演算器を利用して相関係数を得たいとする要求が非常に強くなるのである。
【００２１】
非特許文献１による（５）式の自己相関演算を使用した音声信号のピッチ推定器は、その演算精度が過剰品質になる可能性があり、かつ、演算量の低減は高々数分の１程度であり、かつ、この演算低減のために相関演算を間引いて実行しているため真の音声ピッチ周期を見逃すリスクがあり、かつ、依然として乗算、除算、平方根の演算が必要となりハードウェア規模の低減化には何ら寄与していないという課題がある。
【００２２】
本発明は、以上の点に鑑みなされたものであり、少ない演算量で所望する値を算出することができるピッチ推定器及び自己相関演算器や、そのようなピッチ推定器及び自己相関演算器に適用可能なピッチ推定方法及び自己相関演算方法を提供しようとしたものである。
【課題を解決するための手段】
【００２３】
第１の本発明は、離散値系信号Ｘ（ｎ）の所定区間（この区間のサンプル数はＮ）を参照信号とし、これより時間ｋだけ過去の所定区間Ｎの同一信号との自己相関係数Ｃｏｒｒ（ｎ，ｋ）を算出する自己相関演算器において、（１）離散的時間信号Ｘ（ｎ）を、そのダイナミックレンジの中間値未満か中間値か中間値超過かに応じた１ビット信号Ｘｂｉｎ（ｎ）に変換する２値符号化手段と、（２）上記２値符号化手段からの１ビット信号Ｘｂｉｎ（ｎ）に基づき、（Ａ）式に従う演算を実行し、その演算結果を上記自己相関係数Ｃｏｒｒ（ｎ，ｋ）として出力する演算手段とを有することを特徴とする。
【数６】
2008158312.tif 000006
【００２４】
但し、＋を丸で囲んだ記号は排他的論理和演算を表している。
【００２５】
第２の本発明は、離散値系信号Ｘ（ｎ）の所定区間（この区間のサンプル数はＮ）を参照信号とし、これより時間ｋだけ過去の所定区間Ｎの同一信号との自己相関係数Ｃｏｒｒ（ｎ，ｋ）を算出する自己相関演算方法において、（０）２値符号化手段及び演算手段を有し、（１）上記２値符号化手段は、離散的時間信号Ｘ（ｎ）を、そのダイナミックレンジの中間値未満か中間値か中間値超過かに応じた１ビット信号Ｘｂｉｎ（ｎ）に変換し、（２）上記演算手段は、上記２値符号化手段からの１ビット信号Ｘｂｉｎ（ｎ）に基づき、（Ｂ）式に従う演算を実行し、その演算結果を上記自己相関係数Ｃｏｒｒ（ｎ，ｋ）として出力することを特徴とする。
【数７】
2008158312.tif 000007
【００２６】
但し、＋を丸で囲んだ記号は排他的論理和演算を表している。
【００２７】
第３の本発明は、離散値系信号Ｘ（ｎ）のピッチ周期を検出するピッチ推定器において、（１）離散値系信号Ｘ（ｎ）の時間差ｋについての自己相関係数Ｃｏｒｒ（ｎ，ｋ）を算出する自己相関演算器と、（２）上記自己相関演算器からの、時間差ｋが異なる複数の自己相関係数Ｃｏｒｒ（ｎ，ｋ）の中から、その絶対値の最大値を与える時間差をピッチ周期として検出する最大値検出手段とを有し、（１）上記自己相関演算器として、第１の本発明のものを適用したことを特徴とする。
【００２８】
第４の本発明は、離散値系信号Ｘ（ｎ）のピッチ周期を検出するピッチ推定方法において、（０）自己相関演算器と最大値検出手段とを有し、（１）上記自己相関演算器は、離散値系信号Ｘ（ｎ）の時間差ｋについての自己相関係数Ｃｏｒｒ（ｎ，ｋ）を算出し、（２）上記最大値検出手段は、上記自己相関演算器からの、時間差ｋが異なる複数の自己相関係数Ｃｏｒｒ（ｎ，ｋ）の中から、その絶対値の最大値を与える時間差をピッチ周期として検出し、（１）上記自己相関演算器は、自己相関演算方法として、第３の本発明の方法を適用していることを特徴とする。
【発明の効果】
【００２９】
本発明のピッチ推定器及びピッチ推定方法、並びに、自己相関演算器及び自己相関演算方法によれば、少ない演算量で所望する値を算出することができる。
【発明を実施するための最良の形態】
【００３０】
（Ａ）主たる実施形態  
以下、本発明によるピッチ推定器及びピッチ推定方法、並びに、自己相関演算器及び自己相関演算方法を、音声信号のピッチ推定に適用した一実施形態を、図面を参照しながら説明する。
【００３１】
（Ａ−１）実施形態における技術思想
この実施形態は、音声信号のピッチ推定に際し、音声信号を＋１と−１の２値に符号化することで自己相関演算に要する演算量とハードウェア規模を大幅に低減させようとしたものである。
【００３２】
［２値信号の正規化自己相関演算アルゴリズム］
まず、±１に２値化された信号の正規化自己相関演算アルゴリズムを説明する。
【００３３】
一般に、離散値系の時間信号Ｘ（ｎ）の正規化自己相関係数Ｃｏｒｒ（ｎ,ｋ）は（７）式で定義されている。
【数８】
2008158312.tif 000008
【００３４】
ここで、ｄ≦ｋ≦ｄ＋Ｍとする。また、一般に、信号Ｘ（ｎ）の数値フォーマットは、複数ビットで構成される浮動小数点もしくは固定小数点である。
【００３５】
次に、信号Ｘ（ｎ）を±１の２値に符号化した信号をＸｓｇｎ（ｎ）と表記し、（８）式のように定義する。
【数９】
2008158312.tif 000009
【００３６】
ここで、動作開始直後にＸ（ｎ）＝０であるとき、Ｘ（ｎ−１）とＸｓｇｎ（ｎ−１）がまだ存在していないので、Ｘｓｇｎ（ｎ）の値は、＋１と−１のどちらでも良いこととする。
【００３７】
２値化信号Ｘｓｇｎ（ｎ）の正規化自己相関係数Ｃｏｒｒｓｇｎ（ｎ，ｋ）は（９）式で表すことができる。（９）式において、ｄ≦ｋ≦ｄ＋Ｍとする。
【数１０】
2008158312.tif 000010
【００３８】
（８）式に示すように、Ｘｓｇｎ（ｎ）は±１の２値であるが、実際のインプリメント（製品）上では１ビットの２進数データとして扱われるので、ここでは、正負を表す符号ビットの一般的な定義に従って、数値＋１を２進数「０」に対応させ、数値−１を２進数「１」に対応させることとする。図２は、２値化信号Ｘｓｇｎ（ｎ）の２進数表現をＸｂｉｎ（ｎ）と表記し、対応関係を示したものである。
【００３９】
次に、図２に示す対応関係を用いて、（９）式における乗算Ｘｓｇｎ（ｎ−ｉ）Ｘｓｇｎ（ｎ−ｋ−ｉ）について考察する。この乗算は４通りしか存在せず、このときの２進数との対応は、図３に示すようになる。図３においては、＋を白丸で囲んだ記号は排他的論理和を表している。明細書では、かかる記号を用いられないので、明細書の中では、「∧」を、排他的論理和を表すものとして用いる。
【００４０】
図３から明らかなように、±１に２値化された信号の乗算は、２進数では排他的論理和∧に対応している。これにより、Ｘｂｉｎ（ｎ−ｉ）∧Ｘｂｉｎ（ｎ−ｋ−ｉ）についてのｉ＝０からＮ−１までの総和ΣＸｂｉｎ（ｎ−ｉ）∧Ｘｂｉｎ（ｎ−ｋ−ｉ）は、ΣＸｓｇｎ（ｎ−ｉ）Ｘｓｇｎ（ｎ−ｋ−ｉ）（総和はｉ＝０からＮ−１まで）において、Ｘｓｇｎ（ｎ−ｉ）Ｘｓｇｎ（ｎ−ｋ−ｉ）が−１となる個数を表すこととなる。逆に、Ｘｓｇｎ（ｎ−ｉ）Ｘｓｇｎ（ｎ−ｋ−ｉ）が１となる個数は、Ｎ−ΣＸｂｉｎ（ｎ−ｉ）∧Ｘｂｉｎ（ｎ−ｋ−ｉ）である。それ故に（１０）式が成立する。ここで、正規化自己相関係数Ｃｏｒｒｓｇｎ（ｎ，ｋ）を２進数表記Ｘｂｉｎ（ｎ）を使用して表現すると、（１１）式が得られる。（１１）式において、正規化処理である１／Ｎは単なる定数になっており、応用上は演算する価値はないので、（１１）式を（１２）式のように変形する。
【数１１】
2008158312.tif 000011
【００４１】
（Ａ−２）実施形態のピッチ推定器
図１は、実施形態のピッチ推定器の全体構成を示すブロック図である。実施形態のピッチ推定器１００は、（１２）式に従って、入力された音声信号の自己相関係数を計算し、ピッチ周期を推定するものである。
【００４２】
図１において、実施形態のピッチ推定器１００は、符号ビット抽出器１０１、シフトレジスタ１０２、１０３、排他的論理和ゲート群１０４、加算器１０５、減算器１０６及び最大値検出器１０７を有する。
【００４３】
ここで、符号ビット抽出器１０１、シフトレジスタ１０２、１０３、排他的論理和ゲート群１０４、加算器１０５及び減算器１０６でなる構成部分は、自己相関演算器を構成している。
【００４４】
符号ビット抽出器１０１には離散的時間信号Ｘ（ｎ）が入力され、符号ビット抽出器１０１は、入力信号Ｘ（ｎ）の正値、負値、０に応じて、（１３）式に従って、１ビット信号Ｘｂｉｎ（ｎ）を出力するものである。（１３）式における上バーの付与は、付与されているビット値の否定、つまり、付与されているビット値のビット反転を表している。なお、この明細書では、ビット反転を、反転対象の値を表す符号の前に「／」を付与して表すこととする。
【数１２】
2008158312.tif 000012
【００４５】
なお、処理対象の離散的時間信号が０及び正値の範囲をとる信号である場合には、処理対象信号から、そのダイナミックレンジの中央値を減算して、正負をとる離散的時間信号Ｘ（ｎ）に変換して符号ビット抽出器１０１に入力することを要する。
【００４６】
図４は、離散的時間信号Ｘ（ｎ）の数値フォーマットが２の補数であるときの符号ビット抽出器１０１の具体的構成例を示している。
【００４７】
図４において、符号ビット抽出器１０１は、ＮＯＲゲート２０１、２−１セレクタ２０２、ＮＯＴゲート２０３及びレジスタ２０４を有する。
【００４８】
入力信号Ｘ（ｎ）の数値フォーマットは２の補数であるので、ＭＳＢビットは符号ビットである。符号ビットは、０≦Ｘ（ｎ）のとき０、Ｘ（ｎ）＜０のとき１である。また、入力信号Ｘ（ｎ）＝０のときには、入力信号Ｘ（ｎ）の全てのビットは０となっている。
【００４９】
入力信号Ｘ（ｎ）の全てのビットは、ＮＯＲゲート２０１に入力され、Ｘ（ｎ）＝０のときのみＮＯＲゲート２０１の出力は１となり、それ以外のときは０となり、この出力信号は、２−１セレクタ２０２の選択制御端子に与えられる。
【００５０】
２−１セレクタ２０２の一方の入力端子には入力信号Ｘ（ｎ）の符号ビットであるＭＳＢビットが入力され、２−１セレクタ２０２の他方の入力端子には当該符号ビット抽出器１０１からの出力信号Ｘｂｉｎ（ｎ）の１単位時間前の信号Ｘｂｉｎ（ｎ−１）をビット反転した／Ｘｂｉｎ（ｎ−１）が入力されている。２−１セレクタ２０２は、ＮＯＲゲート２０１の出力信号に応じ、入力信号Ｘ（ｎ）が０のときのみ／Ｘｂｉｎ（ｎ−１）を選択し、２−１セレクタ２０２の出力にＸｂｉｎ（ｎ）として現れ、これ以外のときは、入力信号Ｘ（ｎ）の符号ビットを選択し、セレクタ２０２の出力にＸｂｉｎ（ｎ）として現れる。
【００５１】
レジスタ２０４は、２−１セレクタ２０２の出力信号Ｘｂｉｎ（ｎ）を格納するレジスタであり、格納値は、入力信号Ｘ（ｎ）の標本化レートに同期して更新される。よって、当該レジスタ２０４の出力は、出力信号Ｘｂｉｎ（ｎ）の１単位時間前の値であるＸｂｉｎ（ｎ−１）となる。
【００５２】
レジスタ２０４からの出力信号Ｘｂｉｎ（ｎ−１）はＮＯＴゲート２０３に入力され、ＮＯＴゲート２０３は、この信号Ｘｂｉｎ（ｎ−１）をビット反転した／Ｘｂｉｎ（ｎ−１）を２−１セレクタ２０２に与える。
【００５３】
図４に示す符号ビット抽出器１０１の構成例は、あくまでも上述した（１３）式を具現化するための単なる一例である。例えば、符号ビット抽出器１０１からの出力信号Ｘｂｉｎ（ｎ）を標本化レートに同期して更新した方が望ましいときは、レジスタ２０４の出力を符号ビット抽出器１０１からの出力信号Ｘｂｉｎ（ｎ）としても良い。また、数値フォーマットが２の補数でないときであっても、（１３）式を満足させるように、その数値フォーマットに応じて符号ビット抽出器を設計すれば良い。
【００５４】
図１の２つのシフトレジスタ１０２及び１０３、並びに、排他的論理和ゲート群１０４は、上述した（１２）式の要素演算である、（１４）式に示す排他的論理和演算を、ｉについて０≦ｉ＜Ｎの範囲でパラレルに１マシンサイクルで実施し、かつ、ｋについてｄ≦ｋ≦ｄ＋Ｍの範囲でＭ＋１マシンサイクルで実施するものである。
【００５５】
Ｘｂｉｎ（ｎ−ｉ）∧Ｘｂｉｎ（ｎ−ｋ−ｉ）                        …（１４）
シフトレジスタ１０２は、（１４）式の左側の要素Ｘｂｉｎ（ｎ−ｉ）を（１２）式の総和に必要な分だけ形成させるものであり、シフトレジスタ１０３は、（１４）式の右側の要素Ｘｂｉｎ（ｎ−ｋ−ｉ）を（１２）式の総和に必要な分だけ形成させるものであり、排他的論理和ゲート群１０４は、（１２）式の総和に係るＮ個の排他的論理和の値を形成させるものである。
【００５６】
図５は、シフトレジスタ１０２及び１０３、並びに、排他的論理和ゲート群１０４の具体的な構成例を示すブロック図である。
【００５７】
なお、以下で説明するが、図５の構成例では、ｋは、ｄ＋Ｍを初期値とし、デクリメントしながらｄまで変化させており、動作の理解のために、このことに留意すべきである。また、図５では、表記を簡単にするため、排他的論理和ゲート群１０４からの出力については、Ｘｂｉｎ（ｎ）と記載すべき所を、単に、Ｘ（ｎ）と記載している。
【００５８】
図５に示すシフトレジスタ１０２は、シリアル入力パラレル出力機能を具備したＮビットのシフトレジスタである。当該シフトレジスタ１０２は、シリアル入力端子ＳＩ、シフトイネーブル入力端子ＳＥ、クロック入力端子ＣＫ及びパラレル出力端子（このパラレル出力端子に対応する格納部を適宜、レジスタと呼ぶ）Ｑｘ（０）〜Ｑｘ（Ｎ−１）を有する。以下の説明では、入出力端子に係る信号も、入出力端子と同じ符号を用いて説明する。
【００５９】
シフトイネーブル信号ＳＥがアクティブであるとき、標本化レートに同期したクロック信号ＣＫに同期して、レジスタＱｘ（Ｎ−２）のビット情報はレジスタＱｘ（Ｎ−１）にシフトされ、レジスタＱｘ（Ｎ−３）のビット情報はレジスタＱｘ（Ｎ−２）にシフトされ、以下同様に、レジスタＱｘ（０）のビット情報はレジスタＱｘ（１）にシフトされ、図４に示す符号ビット抽出器１０１から出力された信号Ｘｂｉｎ（ｎ）はシリアル入力ＳＩを経由してレジスタＱｘ（０）に格納される。従って、時刻ｎの時点で当該シフトレジスタ１０２の出力端子Ｑｘ（０）〜Ｑｘ（Ｎ−１）には、信号Ｘｂｉｎ（ｎ）〜Ｘｂｉｎ（ｎ−（Ｎ−１））までのＮビットが現れ、次の入力Ｘｂｉｎ（ｎ＋１）が入力されるまでの間、この出力状態を保持すると同時に、これらのＮビットＸｂｉｎ（ｎ）〜Ｘｂｉｎ（ｎ−（Ｎ−１））は排他的論理和ゲート群１０４に供給される。
【００６０】
また、シフトレジスタ１０２の出力端子Ｑｘ（ｄ−１）の信号はシフトレジスタ１０３にも供給される。
【００６１】
図５に示すシフトレジスタ１０３は、シリアル入力パラレル出力機能、パラレル入力ローディング機能、及び、ローテイトシフト機能（巡回シフト機能）を具備したＮ＋Ｍビットのシフトレジスタである。
【００６２】
シフトレジスタ１０３は、シフトレジスタ１０２から任意の標本化周期だけ遅延して出力される１ビット情報を保持し、標本化周期で時系列的にビットシフトされ、かつ、１つの標本化周期内で、一定回数ローテイトシフトされ、かつ、このローテイトシフト後に再度、シフトレジスタ１０２から任意の標本化周期だけ遅延して出力される１ビット情報を入力する際に、前回入力時から１ビットシフトした状態にすることが可能なローディング機能を有する。
【００６３】
シフトレジスタ１０３は、シリアル入力端子ＳＩ、シフトイネーブル入力端子ＳＥ、ロードイネーブル入力端子ＬＥ、クロック入力端子ＣＫ、パラレル入力端子Ｄｋ（０）〜Ｄｋ（Ｎ＋Ｍ−１）、及び、パラレル出力端子Ｑｋ（０）〜Ｑｋ（Ｎ＋Ｍ−１）を有する。
【００６４】
パラレル出力端子（レジスタ）Ｑｋ（Ｍ）〜Ｑｋ（Ｎ＋Ｍ−１）のＮビットは排他的論理和ゲート群１０４に接続され、シリアル入力端子ＳＩには当該シフトレジスタ１０３の最終段のレジスタ出力Ｑｋ（Ｎ＋Ｍ−１）が入力されるようになされている。
【００６５】
パラレル入力端子Ｄｋ（０）にはシフトレジスタ１０２のパラレル入力端子Ｑｘ（ｄ−１）の値が入力され、パラレル入力端子Ｄｋ（１）には当該シフトレジスタ１０３のパラレル出力端子Ｑｋ（Ｍ）の値が入力され、…、パラレル入力端子Ｄｋ（Ｍ−２）には当該シフトレジスタ１０３のパラレル出力端子Ｑｋ（（２Ｍ−３）ｍｏｄ（Ｎ＋Ｍ）の値が入力され、パラレル入力端子Ｄｋ（Ｍ−１）には当該シフトレジスタ１０３のパラレル出力端子Ｑｋ（（２Ｍ−２）ｍｏｄ（Ｎ＋Ｍ）の値が入力され、パラレル入力端子Ｄｋ（Ｍ）には当該シフトレジスタ１０３のパラレル出力端子Ｑｋ（（２Ｍ−１ｍｏｄ（Ｎ＋Ｍ））の値が入力され、パラレル入力端子Ｄｋ（Ｍ＋１）には当該シフトレジスタ１０３のパラレル出力端子Ｑｋ（（２Ｍ）ｍｏｄ（Ｎ＋Ｍ））の値が入力され、…、パラレル入力端子Ｄｋ（Ｎ＋Ｍ−２）には当該シフトレジスタ１０３のパラレル出力端子Ｑｋ（Ｍ−３）の値が入力され、パラレル入力端子Ｄｋ（Ｎ＋Ｍ−１）には当該シフトレジスタ１０３のパラレル出力端子Ｑｋ（Ｍ−２）の値が入力される。
【００６６】
ここで、ｓ  ｍｏｄ  ｔは、ｔを法としたときのｓの剰余を表す。例えば、９ｍｏｄ８＝１である。前記したシフトレジスタ１０３のパラレル出力端子からパラレル入力端子へのフィードバック経路を、このｍｏｄを使用して汎用的に表現すると、パラレル入力端子Ｄ（ｘ）にはパラレル出力端子Ｑ（（ｘ＋Ｍ−１）ｍｏｄ（Ｎ＋Ｍ））の値が入力される。但し、ｘ≠０とする。なお、シフトレジスタ１０３を上述のように接続する理由は後述する。
【００６７】
シフトレジスタ１０３のロードイネーブル信号ＬＥがアクティブであるとき、クロック信号ＣＫに同期して、パラレル入力端子Ｄｋ（０）〜Ｄｋ（Ｎ＋Ｍ−１）のビット情報は、パラレル出力端子Ｑｋ（０）〜Ｑｋ（Ｎ＋Ｍ−１）にローディングされる。これに対して、シフトレジスタ１０３のシフトイネーブル信号ＳＥがアクティブであるとき、クロック信号ＣＫに同期して、各レジスタＱｋ（０）〜Ｑｋ（Ｎ＋Ｍ−２）の値はそれぞれ、次段のレジスタＱｋ（１）〜Ｑ（Ｎ＋Ｍ−１）にシフトされる。但し、最終段のレジスタＱｋ（Ｎ＋Ｍ−１）の値は、シリアル入力端子ＳＩを経由して、レジスタＱ（０）にローテイトシフトされる。なお、ロードイネーブル信号ＬＥとシフトイネーブル信号ＳＥは同時にアクティブになることはない。
【００６８】
時刻ｎの時点で、シフトレジスタ１０３のロードイネーブル信号ＬＥをアクティブし、シフトレジスタ１０２のレジスタＱｘ（ｄ−１）のデータであるＸｂｉｎ（ｎ−ｄ）を、シフトレジスタ１０３のパラレル入力端子Ｄｋ（０）を介してレジスタＱｋ（０）にローディングする。次に、シフトレジスタ１０３のロードイネーブル信号ＬＥをインアクティブにすると共に、シフトイネーブル信号ＳＥをアクティブにし、クロック信号ＣＫに同期してＭ回ほどシフトさせる。このシフト動作は、次の標本化データＸｂｉｎ（ｎ＋１−ｄ）がシフトレジスタ１０２の出力Ｑｘ（ｄ−１）から入力されるまでの間に完了しなければならない。よって、シフトレジスタ１０３のクロック信号ＣＫの周波数をｆｃｋとし、信号Ｘｂｉｎ（ｎ）の標本化周波数をｆｓとするときには、（１５）式に示す関係を成立させておかなければならない。こうすることにより、（１４）式の要素別の演算を、１標本化周期内に、０≦ｉ≦Ｎ−１，ｄ＋Ｍ≧ｋ≧ｄについて、Ｍ＋１マシンサイクルで実施することが可能となる。
【００６９】
ｆｃｋ≧（Ｍ＋１）・ｆｓ                                          …（１５）
なお、シフトレジスタ１０３をＭビットほどシフトさせた時点で、信号Ｘｂｉｎ（ｎ−ｄ）はレジスタＱｋ（Ｍ）に移動している。当該ビット情報は、次の標本化データＸｂｉｎ（ｎ＋１−ｄ）が到来した際には、レジスタＱｋ（１）にローディングさせる必要がある。これが、上述したように、シフトレジスタ１０３のパラレル出力を自身のパラレル入力にツイストして接続している理由である。
【００７０】
ところで、上述したようにシフトレジスタ１０３のパラレル出力端子Ｑｋ（Ｍ）〜Ｑ（Ｎ＋Ｍ−１）からのＮビットが排他的論理和ゲート群１０４に接続されているので、当該シフトレジスタ１０３のローディング時に、これは、（１２）式において、ｋ＝ｄ＋Ｍのときに対応し、次に、当該シフトレジスタ１０３がビットシフトするごとに、ｋ＝ｄ＋Ｍ，ｄ＋Ｍ−１，…，ｄの順序で、（１２）式の０≦ｉ≦Ｎ−１についてのパラレル論理演算が合計Ｍ＋１回実施されることとなる。
【００７１】
図５の排他的論理和ゲート群１０４は、Ｎ個の排他的論理和ゲートで構成され、２つのシフトレジスタ１０２及び１０３からそれぞれ出力されているＮビットの信号を入力とし、（１２）式の０≦ｉ≦Ｎ−１についての排他的論理和演算をパラレルに実施し、Ｎビットの演算結果情報は、図１の加算器１０５に供給される。
【００７２】
加算器１０５は、排他的論理和ゲート群１０４から出力されるＮビットの情報中の論理値が１となっているビット数を符号無し整数で算出し、当該算出結果を２倍し、さらに、符号ビットを付与して符号付き整数にすることで、（１６）式に示すような、上述した（１２）式の右辺第２項の値を算出するものである。加算器１０５による算出結果は、減算器１０６に提供される。
【数１３】
2008158312.tif 000013
【００７３】
図６は、加算器１０５の具体的な構成例を示すブロック図である。図６において、加算器１０５は、第１ステージ〜第ｒステージの符号無し整数加算器と、ＭＳＢ・ＬＳＢ付加部とで構成される。ここで、ｒ＝Ｆ（ｌｏｇ２Ｎ）であり、関数Ｆ（ｘ）はセイリング関数であり、ｘ未満ではない最小の整数を表している。
【００７４】
まず、第１ステージでは、Ｎビットの信号を２つずつペアを取り、符号無し整数加算器に入力して加算する。なお、図６では、Ｎを偶数として描いているが、奇数の場合には、ペアを取った後の残り１ビットは次の第２ステージの入力となる。この奇偶による構成の違いは、第２ステージ以降でも同様である。なお、第１ステージにおける符号無し整数加算器の数は、Ｎが偶数の場合にはＮ／２個であり、Ｎが奇数の場合には（Ｎ−１）／２個である。
【００７５】
第１ステージの加算結果はそれぞれ、第２ステージの符号無し整数加算器に入力され、第１ステージと同様に、２つずつペアを取った加算が実行される。以後、このような処理が、ステージに所属する符号無し整数加算器が１個の第ｒステージまで繰り返し実行される。
【００７６】
最終段である第ｒステージの符号無し整数加算器の出力は、（１６）式に示す値の半分であり、この値の最大値はＮであるから、これは、符号無し整数のビット数Ｒで換算すると、Ｒ＝Ｇ（ｌｏｇ２Ｎ）＋１となる。ここで、Ｇ（ｘ）はフロア関数であり、ｘを超過しない最大の整数を表す。
【００７７】
第ｒステージの符号無し整数加算器のＲビット出力に対し、「０」でなるＬＳＢを追加することで、第ｒステージの符号無し整数加算器のＲビット出力を２倍し、かつ、第ｒステージの符号無し整数加算器のＲビット出力に対し、「０」でなるＭＳＢを追加することで、符号付き整数に変換している。
【００７８】
ところで、図６に示す加算器１０５の演算は、第１ステージから最終ステージ（第ｒステージ）まで１マシンサイクルで実施できることを想定している。しかし、ｒが大きくなると加算器１０５での処理遅延が増大し、１マシンサイクルでは実施できない可能性がでてくる。このような場合には、クロック信号に同期して入力信号を保持することが可能なレジスタを適切なステージ間隔で配備すれば良い。すなわち、このようにパイプライン演算とすることで、処理遅延は増大するものの、処理スループットは低減しないこととなり、（１２）式をＭ＋１マシンサイクル周期で実施することを可能とする。
【００７９】
図１の減算器１０６は、特に、具体的構成例を挙げるまでもなく、Ｎから加算器１０５の出力（（１２）式の右辺第２項）を減算するものであり、これにより、（１２）式が完全に演算されたことになる。
【００８０】
図１の最大値検出器１０７は、（１２）式で表される自己相関係数Ｎ・Ｃｏｒｒｓｇｎ（ｎ，ｋ）を、ｋに関して、ｄ＋Ｍ≧ｋ≧ｄの範囲で変動させたときの、減算器１０６から入力されたＭ＋１個の相関係数Ｎ・Ｃｏｒｒｓｇｎ（ｎ，ｄ），Ｎ・Ｃｏｒｒｓｇｎ（ｎ，ｄ＋１），…，Ｎ・Ｃｏｒｒｓｇｎ（ｎ，ｄ＋Ｍ）の中から絶対値が最大となるときのｋの指標ｋｍａｘを入力信号Ｘ（ｎ）のピッチ周期として算出（推定）するものである。
【００８１】
最大値検出器１０７は、例えば、ＣＰＵが実行するソフトウェアによって実現することができる。図７は、以上のようにソフトウェアによって最大値検出器１０７を実現した場合における処理の流れを示すフローチャートである。なお、減算器１０６から相関係数Ｎ・Ｃｏｒｒｓｇｎ（ｎ，ｄ），Ｎ・Ｃｏｒｒｓｇｎ（ｎ，ｄ＋１），…，Ｎ・Ｃｏｒｒｓｇｎ（ｎ，ｄ＋Ｍ）がこの逆の順番で順次入力されるタイミングと、当該最大値検出器１０７の処理のタイミングとの相違を吸収するようなバッファメモリを最大値検出器１０７は適宜内蔵する。
【００８２】
図７に示すピッチ推定処理（最大値検出処理）を開始するとまず、３種類のパラメータｍａｘ，ｋｍａｘ，ｋをそれぞれ、０，ｄ＋Ｍ，ｄ＋Ｍに初期化する（ステップ３０１）。
【００８３】
その後、パラメータｋが値ｄ以上であることによって、全ての相関係数の比較処理が終了していないことを確認しながら（ステップ３０２）、そのときのパラメータｋの値で定まる相関係数Ｎ・Ｃｏｒｒｓｇｎ（ｎ，ｋ）がパラメータｍａｘ以上か否かを判別する（ステップ３０３）。なお、はじめてステップ３０３を実行する際には、ｋがｄ＋Ｍであるので、相関係数Ｎ・Ｃｏｒｒｓｇｎ（ｎ，ｄ＋Ｍ）がパラメータｍａｘと比較される。
【００８４】
相関係数Ｎ・Ｃｏｒｒｓｇｎ（ｎ，ｋ）がパラメータｍａｘ以上であると、パラメータｍａｘの値を、そのときの処理対象の相関係数Ｎ・Ｃｏｒｒｓｇｎ（ｎ，ｋ）の値に置き換えると共に、パラメータｋｍａｘの値をそのときのパラメータｋに置き換える（ステップ３０４）。
【００８５】
ステップ３０３の判別で相関係数Ｎ・Ｃｏｒｒｓｇｎ（ｎ，ｋ）がパラメータｍａｘより小さいという結果を得た場合や、ステップ３０４の処理が終了した場合には、パラメータｋを１デクリメントした後（ステップ３０５）、上述したステップ３０２に戻る。
【００８６】
ステップ３０２〜ステップ３０５の処理ループを繰り返すことにより、相関係数Ｎ・Ｃｏｒｒｓｇｎ（ｎ，ｄ＋Ｍ）から相関係数Ｎ・Ｃｏｒｒｓｇｎ（ｎ，ｄ）へ向けて１個ずつの相関係数Ｎ・Ｃｏｒｒｓｇｎ（ｎ，ｋ）がその時点の最大値ｍａｘと比較され、最大値ｍａｘ以上であれば、最大値ｍａｘ及び時間差ｋｍａｘが更新される。
【００８７】
Ｍ＋１個の相関係数Ｎ・Ｃｏｒｒｓｇｎ（ｎ，ｄ＋Ｍ）〜Ｎ・Ｃｏｒｒｓｇｎ（ｎ，ｄ）の全てに対し、ステップ３０２〜ステップ３０５の処理ループが実行されたときには、ステップ３０２で否定結果が得られ、図７に示す一連の処理を終了する。この終了時のパラメータｋｍａｘの値が、入力信号Ｘ（ｎ）のピッチ周期として出力される。
【００８８】
なお、Ｍ＋１個の相関係数の中に同一の最大値をとるものが複数あっても、ステップ３０３がイコールを含めて比較し、イコールでもステップ３０４でパラメータｋｍａｘを更新するようにしたので、より短い時間差の方がピッチ周期として検出されるようになっている。
【００８９】
なお、当業者であるならば、最大値検出器１０７をハードウェア構成によって実現し、図７に示すループ処理を１つの相関係数につき１マシンサイクルの処理時間で実現することは容易であろう。
【００９０】
（Ａ−３）実施形態の効果
［効果１］少ない演算量
非特許文献１記載の従来技術によるピッチ周期の算出に要する演算量は、上述したように、Ｎ（Ｍ／４＋７／２）＋α（Ｍ／２＋５）マシンサイクルである。これに対して、上記実施形態ではＭ＋１マシンサイクルである。
【００９１】
例えば、非特許文献１に記載の従来技術で採用されているパラメータＮとＭの値は、それぞれＮ＝１６０、Ｍ＝８０である。これを代入すると、従来技術では３７６０＋４５αマシンサイクルで、実施形態では８１マシンサイクルである。αは、従来技術において（３）式を算出するに要するマシンサイクル数である。ここで、α＝４０と控えめな値を想定すると、従来技術では５５６０マシンサイクルとなる（実施形態はαに関係しないので８１マシンサイクルである）。
【００９２】
すなわち、実施形態によれば、従来技術で要した演算量を約１／７０と劇的に低減している。
【００９３】
しかも、上記実施形態では、従来技術がピッチ探索で実施していたパラメータＮとＭに関する間引き処理は実施しておらず、真のピッチの見逃しを皆無にしている。仮に、従来技術と同様に間引き処理を実施形態にも適用すると、演算量は従来技術と比較して約１／１４０に低減できることになる。
【００９４】
［効果２］乗算／除算／平方根の排除
一般に、乗算、除算、平方根演算と加算演算を比較すると、ハードウェア規模と処理時間はいずれも加算演算の方が小さい。上記実施形態は、（１２）式に従って処理されるので、乗算、除算、平方根演算が不要であり、ハードウェア規模、処理時間、消費電力を低減することができる。
【００９５】
［効果３］性能比較
非特許文献１記載の従来技術によるピッチ推定と実施形態によるピッチ推定を用いて、非特許文献１記載の従来技術で標準化されているパケット損失補償を実施した結果について説明する。
【００９６】
実施条件としては、音源は男声６０秒とし、パケット廃棄率は１％〜５０％とし、音源を信号（Ｓ）、音源とパケット損失補償による再生波形との差分を雑音（Ｎ）と見なしＳＮ比を測定する。なお、従来技術によるピッチ推定の演算には倍精度浮動小数点を使用した。実施結果を図８に示す。
【００９７】
パケット損失率１％〜５０％の範囲においては、ＳＮ比の差分はコンマ数ｄＢ以内である。特に、パケット損失率１％の近辺では差分はない。パケット損失率については、ＴＴＣ標準ＪＴ−Ｙ１５４１（ＩＴＵ−Ｔ勧告Ｙ．１５４１）「ＩＰベースサービスにおけるネットワーク目標」で規定されており、クラス０〜４では０．１％、クラス５では無指定となっている。よって、クラス０〜４の品質を有する通信網においては、実施形態のピッチ推定器を利用したパケット損失補償を使用しても何ら遜色はないことになる。
【００９８】
（Ｂ）他の実施形態
上記実施形態の説明においても、種々変形実施形態に言及したが、さらに、以下に例示するような変形実施形態を挙げることができる。
【００９９】
上記実施形態では、自己相関演算器を概ねハードウェアで構成したものを示したが、ＣＰＵが実行するソフトウェア（自己相関演算プログラム）として構成するようにしても良い。同様に、ピッチ推定器に関しても、ソフトウェア（ピッチ推定プログラム）として構成するようにしても良い。この場合であっても、ハードウェア規模の削減を除けば、上記実施形態と同様な効果を奏することができる。
【０１００】
また、上記実施形態では、入力信号が音声信号であるものを示したが、信号の種類は音声信号に限定されるものではなく、一般の離散値系信号であっても良い。
【０１０１】
本発明の自己相関演算器は、上記実施形態のような構成要素の組で構成されたものに限定されず、要は、入力信号Ｘ（ｎ）を１ビット信号Ｘｂｉｎ（ｎ）に変換した後に、上述した（１２）式を実行できる構成であれば良い。
【０１０２】
上記実施形態においては、入力信号Ｘ（ｎ）を１ビット信号Ｘｂｉｎ（ｎ）に変換した後、自己相関を算出する時間差ｋを考慮するものを示したが、入力信号Ｘ（ｎ）を２系列に分離して時間差ｋを付与する処理（例えば、一方を遅延させる処理）を行った後に、１ビット信号に変換するようにしても良い。特許請求の範囲の表現は、このような変形例を必ずしも含んでいないが、このような変形例を特許請求の範囲はカバーしているものとする。
【０１０３】
さらにまた、上記実施形態においては、自己相関演算器をピッチ推定器に適用したものを示したが、自己相関演算器の適用装置はこれに限定されない。
【図面の簡単な説明】
【０１０４】
【図１】実施形態のピッチ推定器１００の構成を示すブロック図である。
【図２】実施形態の２値化信号Ｘｓｇｎ（ｎ）と２進数表現をＸｂｉｎ（ｎ）との対応関係を説明する図表である。
【図３】実施形態の乗算Ｘｓｇｎ（ｎ−ｉ）Ｘｓｇｎ（ｎ−ｋ−ｉ）における２進数表現との対応関係を説明する図表である。
【図４】実施形態における符号ビット抽出器１０１の具体的構成例を示すブロック図である。
【図５】実施形態におけるシフトレジスタ１０２及び１０３、並びに、排他的論理和ゲート群１０４の具体的な構成例を示すブロック図である。
【図６】実施形態における加算器１０５の具体的な構成例を示すブロック図である。
【図７】実施形態における最大値検出器１０７の処理を示すフローチャートである。
【図８】実施形態における性能面の効果の説明図である。
【符号の説明】
【０１０５】
１００：ピッチ推定器、１０１：符号ビット抽出器、１０２、１０３：シフトレジスタ、１０４：排他的論理和ゲート群、１０５：加算器、１０６：減算器、１０７：最大値検出器。
【図１】
2008158312.tif 000016
【図２】
2008158312.tif 000017
【図３】
2008158312.tif 000018
【図４】
2008158312.tif 000019
【図５】
2008158312.tif 000020
【図６】
2008158312.tif 000021
【図７】
2008158312.tif 000022
【図８】
2008158312.tif 000023