(58)【調査した分野】(Int.Cl.,DB名)
前記正確性判定条件は、前記スペクトル差分パラメータが第2の差分パラメータ閾値より大きいこと、前記平均スペクトル振幅パラメータが第2のスペクトル振幅パラメータ閾値より大きいこと、および、前記差分振幅比パラメータは第2の比率因子パラメータ閾値より大きいこと、の全てを満たし、
前記不正確性判定条件は、前記スペクトル差分パラメータが第1の差分パラメータ閾値より小さいこと、前記平均スペクトル振幅パラメータが第1のスペクトル振幅パラメータ閾値より小さいこと、および前記差分振幅比パラメータが第1の比率因子パラメータ閾値より小さいこと、の全てを満たす、
請求項2に記載の方法。
前記ピッチ周期正確性判定パラメータに従って前記初期ピッチ周期の正確性を検出している間に、前記初期ピッチ周期が不正確であることが検出されたとき、精密検出を前記入力信号に対して実施する、請求項1乃至3の何れか1項に記載の方法。
前記正確性判定条件は、前記スペクトル差分パラメータが第2の差分パラメータ閾値より大きいこと、前記平均スペクトル振幅パラメータが第2のスペクトル振幅パラメータ閾値より大きいこと、および、前記差分振幅比パラメータは第2の比率因子パラメータ閾値より大きいこと、の全てを満たし、
前記不正確性判定条件は、前記スペクトル差分パラメータが第1の差分パラメータ閾値より小さいこと、前記平均スペクトル振幅パラメータが第1のスペクトル振幅パラメータ閾値より小さいこと、および、前記差分振幅比パラメータが第1の比率因子パラメータ閾値より小さいこと、の全てを満たす、
請求項8に記載の装置。
前記ピッチ周期正確性判定パラメータに従って前記初期ピッチ周期の正確性を検出している間に、前記初期ピッチ周期が不正確であることが検出されたとき、精密検出を前記入力信号に対して実施するように構成された精密検出ユニットをさらに備える、請求項7乃至9の何れか1項に記載の装置。
前記ピッチ周期正確性判定パラメータに従って前記初期ピッチ周期の正確性を検出している間に、不正確な初期ピッチ周期が検出されたとき、低周波数範囲において前記初期ピッチ周期のエネルギを検出するように構成されたエネルギ検出ユニットと、
前記エネルギが低周波数エネルギ判定条件を満たすとき、短ピッチ検出を前記入力信号に対して実施するように構成された精密検出ユニットと、
をさらに備える、請求項7乃至9の何れか1項に記載の装置。
前記ピッチ周波数ビン決定ユニットは、前記入力信号の前記ピッチ周波数ビンは前記初期ピッチ周期に逆比例し、前記入力信号に対して行った高速フーリエ変換の点の数に直接比例することに基づいて、前記ピッチ周波数ビンを決定するように構成された、請求項7乃至11の何れか1項に記載の装置。
【発明を実施するための形態】
【0013】
以下では本発明の諸実施形態の添付図面を参照して本発明の技術的解決策を明確かつ十分に説明する。明らかに、説明する諸実施形態は本発明の諸実施形態の一部にすぎず全部ではない。創造的作業なしに本発明の諸実施形態に基づいて当業者が得た他の全ての実施形態は本発明の保護範囲に入る。
【0014】
本発明の諸実施形態によれば、時間領域で開ループ検出により得られた初期ピッチ周期の正確性が周波数領域で検出され、不正確な初期ピッチ周期が後続の処理に適用されることが回避される。
【0015】
本発明の諸実施形態の目的は、時間領域で開ループ検出により得られた初期ピッチ周期に対してさらなる正確性検出を実施して、周波数領域で有効なパラメータを抽出しこれらのパラメータを結合することで判断することにより、ピッチ検出の正確性と安定性を大幅に高めることである。
【0016】
本発明の1実施形態に従うピッチ周期の正確性を検出するための方法は、
図1に示すように、以下のステップを含む。
【0017】
11では、時間領域における入力信号の初期ピッチ周期に従って、当該入力信号のピッチ周波数ビンを決定する。初期ピッチ周期は開ループ検出を当該入力信号に対して行うことによって取得される。
【0018】
一般に、当該入力信号の当該ピッチ周波数ビンは当該入力信号の初期ピッチ周期に反比例し、当該入力信号に対して実施されたFFT(Fast Fourier Transform、高速フーリエ変換)変換の点の数に直接比例する。
【0019】
12では、周波数領域における入力信号の振幅スペクトルに基づいて、当該ピッチ周波数ビンに関連付けられた当該入力信号のピッチ周期正確性判定パラメータを決定する。
【0020】
ピッチ周期正確性判定パラメータは、スペクトル差分パラメータDiff_sm、平均スペクトル振幅パラメータSpec_sm、および差分振幅比パラメータDiff_ratioを含む。スペクトル差分パラメータDiff_smは、ピッチ周波数ビンの両側での所定数の周波数ビンのスペクトル差分の和Diff_sumまたは当該ピッチ周波数ビンの両側での所定数の周波数ビンのスペクトル差分の和Diff_sumの重み付き平滑化値である。平均スペクトル振幅パラメータSpec_smは、当該ピッチ周波数ビンの両側での所定数の周波数ビンのスペクトル振幅の
平均Spec_avg、または、当該ピッチ周波数ビンの両側での所定数の周波数ビンのスペクトル振幅の
平均Spec_avgの重み付き平滑化値である。差分振幅比パラメータDiff_ratioは、当該ピッチ周波数ビンの両側での所定数の周波数ビンのスペクトル差分の和Diff_sumの、当該ピッチ周波数ビンの両側での所定数の周波数ビンのスペクトル振幅の
平均Spec_avgに対する比率である。
【0021】
13では、ピッチ周期正確性判定パラメータに従って、初期ピッチ周期の正確性を決定する。
【0022】
例えば、ピッチ周期正確性判定パラメータが正確性判定条件を満たすとき、初期ピッチ周期が正確であると判定され、ピッチ周期正確性判定パラメータが不正確性判定条件を満たすとき、初期ピッチ周期が不正確であると判定される。
【0023】
特に、不正確性判定条件は、スペクトル差分パラメータDiff_smが第1の差分パラメータ閾値より小さいこと、平均スペクトル振幅パラメータSpec_smが第1のスペクトル振幅パラメータ閾値より小さいこと、および、差分振幅比パラメータDiff_ratioが第1の比率因子パラメータ閾値より小さいことのうち少なくとも1つを満たす。正確性判定条件は、スペクトル差分パラメータDiff_smが第2の差分パラメータ閾値より大きいこと、平均スペクトル振幅パラメータSpec_smが第2のスペクトル振幅パラメータ閾値より大きいこと、および差分振幅比パラメータDiff_ratioが第2の比率因子パラメータ閾値より大きいこと、のうち少なくとも1つを満たす。
【0024】
例えば、不正確性判定条件が、スペクトル差分パラメータDiff_smが第1の差分パラメータ閾値より小さいということであり、正確性判定条件が、スペクトル差分パラメータDiff_smが第2の差分パラメータ閾値より大きいということである場合には、当該第2の差分パラメータ閾値は当該第1の差分パラメータ閾値より大きい。あるいは、不正確性判定条件が、平均スペクトル振幅パラメータSpec_smが第1のスペクトル振幅パラメータ閾値より小さいとうことであり、正確性判定条件が、平均スペクトル振幅パラメータSpec_smが第2のスペクトル振幅パラメータ閾値より大きいということである場合には、当該第2のスペクトル振幅パラメータ閾値は当該第1のスペクトル振幅パラメータ閾値より大きい。あるいは、不正確性判定条件が、差分振幅比パラメータDiff_ratioが第1の比率因子パラメータ閾値より小さいということであり、正確性判定条件が、差分振幅比パラメータDiff_ratioが第2の比率因子パラメータ閾値より大きいということである場合には、当該第2の比率因子パラメータ閾値は当該第1の比率因子パラメータ閾値より大きい。
【0025】
一般に、時間領域で検出された初期ピッチ周期が正確である場合には、初期ピッチ周期に対応する周波数ビンにはピークが存在するはずであり、エネルギは大きい。時間領域で検出された初期ピッチ周期が不正確である場合には、精密検出を当該周波数領域で実施して正確なピッチ周期を決定してもよい。
【0026】
換言すれば、ピッチ周期正確性判定パラメータに従って初期ピッチ周期の正確性を検出している間に、初期ピッチ周期が不正確であることが検出されたとき、精密検出が初期ピッチ周期に対して実施される。
【0027】
あるいは、ピッチ周期正確性判定パラメータに従って初期ピッチ周期の正確性を検出している間に、初期ピッチ周期が不正確であることが検出されたとき、初期ピッチ周期のエネルギが低周波数範囲において検出される。当該エネルギが低周波数エネルギ判定条件を満たすときには、短ピッチ検出(精密検出の方式)を実施する。
【0028】
したがって、本発明の当該実施形態に従うピッチ周期の正確性を検出するための方法では、比較的複雑でないアルゴリズムに基づいて、ピッチ周期の正確性を検出する精度を高めることができることが分かる。
【0029】
以下では具体的な実施形態を詳細に説明する。当該実施形態は以下のステップを含む。
【0030】
1. N点のFFT変換を入力信号s(n)に対して実施して、時間領域の入力信号を周波数領域の入力信号に変換して、当該周波数領域における対応する振幅スペクトルS(k)を取得する。ここでN=256、512等である。特に、振幅スペクトルS(k)を以下のステップで取得してもよい。
【0031】
ステップA1. 入力信号s(n)を前処理して前処理入力信号s
pre(n)を取得する。ここで、当該前処理が、ハイパス・フィルタリング、再サンプリング、または事前重み付けのような処理であってもよい。ここでは、事前重み付け処理のみを1例として用いて説明する。入力信号s(n)が1次ハイパス・フィルタを通過した後に、前処理入力信号s
pre(n)が得られる。ここで、当該ハイパス・フィルタは、フィルタ因子H
pre-emph(z)=1-0.68z
-1を有する。
【0032】
ステップA2. FFT変換を前処理入力信号s
pre(n)に対して実施する。1実施形態では、FFT変換を前処理入力信号s
pre(n)に対して二度実施する。ここで、1回目ではFFT変換を現在のフレームの前処理入力信号に対して実施し、2回目では、現在のフレームの後半と将来のフレームの前半を含む前処理入力信号に対してFFT変換を実施する。FFT変換を実施する前に、前処理入力信号をウィンドウ化によって処理する必要がある。ここで、ウィンドウ関数は、
【0034】
である。L
FFTはFFT変換の長さである。
【0035】
第1の分析ウィンドウと第2の分析ウィンドウを前処理入力信号に追加した後のウィンドウ化信号は、
【0037】
である。ここで、当該第1の分析ウィンドウは現在のフレームに対応し、当該第2の分析ウィンドウは現在のフレームの後半と将来のフレームの前半に対応する。
【0038】
FFT変換をウィンドウ化信号に対して実施してスペクトル係数を取得する。即ち、
【0040】
である。ここで、K≦L
FFT/2である。将来のフレームの前半は時間領域でエンコードした次のフレーム(先読み)信号からのものであり、当該入力信号を次のフレーム信号の量に従って調節してもよい。FFT変換を2回実施する目的は、より正確な周波数領域情報を取得することである。別の実施形態では、FFT変換を前処理入力信号s
pre(n)に対して1度実施してもよい。
【0041】
ステップA3. 当該スペクトル係数に基づいてエネルギ・スペクトルを計算する。
【0043】
ここで、X
R(k)とX
I(k)は、それぞれ、k番目の周波数ビンの実部と虚部を表し、ηは定数であり、例えば、4/(L
FFT/*L
FFT)であってもよい。
【0044】
ステップA4. 重み付け処理を当該エネルギ・スペクトルに対して実施する。
【0046】
ここで、E
[0](k)は、ステップA3の式に従って計算したスペクトル係数X
[0](k)のエネルギ・スペクトルであり、E
[1](k)は、ステップA3の式に従って計算したスペクトル係数X
[1](k)のエネルギ・スペクトルである。
【0047】
ステップA5. 対数領域の振幅スペクトルを計算する。
【0049】
ここで、θは定数であり例えば2であってもよい。εは、対数値がオーバフローするのを防ぐための相対的に小さい正の数である。あるいは、実際の実施では、log
10をlog
eで置き換えてもよい。
【0050】
2. 時間領域において入力信号の開ループ検出を行って初期ピッチ周期T
opを取得する。その諸ステップは以下の通りである。
【0051】
ステップB1. 入力信号s(n)を知覚重み付け信号(perceivable weighted signal)に変換する。即ち、
【0053】
である。ここで、α
iはLP(Linear Prediction、線形予測)係数であり、γ
1とγ
2は知覚重み付け因子であり、pは知覚フィルタの次元であり、Nはフレーム長である。
【0054】
ステップB2. 相関関数を用いることによって3つの候補検出範囲の各々で最大値を探索し(例えば、低サンプリング領域では、当該3つの候補検出範囲が[62 115];[32 61];および[17 31]であってもよい)、当該最大値を候補ピッチとして用いる。
【0056】
である。ここで、kはピッチ周期の候補検出範囲における値であり、例えば、kが3つの候補検出範囲における値であってもよい。
【0057】
ステップB3. 3つの候補ピッチの正規化相関係数を別々に計算する。
【0059】
ステップB4. 当該範囲の正規化相関係数を比較することによって開ループ初期ピッチ周期T
opを選択する。即ち、先ず、第1の候補ピッチの周期を初期ピッチ周期として使用する。次に、第2の候補ピッチの正規化相関係数が初期ピッチ周期の正規化相関係数と固定比率因子の積以上である場合には、第2の候補の周期を初期ピッチ周期の周期として使用する。そうでない場合には、初期ピッチ周期は変化しない。最後に、第3の候補ピッチの正規化相関係数が初期ピッチ周期の正規化相関係数と固定比率因子の積以上である場合には、第3の候補の周期を初期ピッチ周期として使用する。そうでない場合には、初期ピッチ周期は変化しない。次のプログラム表現を参照されたい。
【0061】
振幅スペクトルS(k)と初期ピッチ周期T
opを取得する上述のステップのシーケンスには限定は課されていないことは理解される。当該ステップを同時に実施してもよく、または何れかのステップを最初に実施してもよい。
【0062】
3. FFT変換の点の数Nと初期ピッチ周期T_opに従ってピッチ周波数ビンF_opを取得する。即ち、
F_op=N/T
op
【0063】
4. ピッチ周波数ビンF_opの両側での所定数の周波数ビンのスペクトル振幅の和Spec_sumとスペクトル振幅差分の和Diff_sumを計算する。ここで、ピッチ周波数ビンF_opの両側での周波数ビンの量を事前に設定してもよい。
【0064】
ここで、当該スペクトル振幅の和Spec_sumは、当該ピッチ周波数ビンの両側での所定数の周波数ビンのスペクトル振幅の和であり、スペクトル振幅差分の和Diff_sumは、当該ピッチ周波数ビンの両側での所定数の周波数ビンのスペクトル差分の和である。ここで、スペクトル差分とは、ピッチ周波数ビンF_opの両側での所定数の周波数ビンのスペクトル振幅と当該ピッチ周波数ビンのスペクトル振幅の差をいう。スペクトル振幅の和Spec_sumとスペクトル振幅差分の和Diff_sumを以下のプログラム表現で表してもよい。
【0065】
Spec_sum[0]=0;
Diff_sum[0]=0;
for (i=1; i < 2*F_op; i++){
Spec_sum[i] = Spec_sum[i-1] + S[i];
Diff_sum[i] = Diff_sum[i-1] + (S[F_op] - S[i]);
},
【0066】
ここで、iは周波数ビンのシーケンス番号である。実際の実施では、最小の係数の低周波数干渉を回避するために、iの初期値を2に設定してもよい。
【0067】
5. 平均スペクトル振幅パラメータSpec_sm、スペクトル差分パラメータDiff_sm、および差分振幅比パラメータDiff_ratioを決定する。
【0068】
平均スペクトル振幅パラメータSpec_smは、ピッチ周波数ビンF_opの両側での所定数の周波数ビンの平均スペクトル振幅Spec_avg、即ち、スペクトル振幅の和Spec_sumを、ピッチ周波数ビンF_opの両側での所定数の周波数ビンの全ての周波数ビンの数で除したものであってもよい。即ち、
Spec_avg=Spec_sum/(2*F_op-1)
【0069】
さらに、平均スペクトル振幅パラメータSpec_smは、ピッチ周波数ビンF_opの両側での所定数の周波数ビンの平均スペクトル振幅Spec_avgの重み付き平滑化値であってもよい。即ち、
Spec_sm=0.2*Spec_sm_pre+0.8*Spec_avg
ここで、Spec_sm_preは、過去のフレームのスペクトル差分の重み付き平滑化値であるパラメータである。このケースでは、0.2と0.8は重み付け係数および平滑化係数である。異なる重み付け係数および平滑化係数を、様々な入力信号の特徴に従って選択してもよい。
【0070】
スペクトル差分パラメータDiff_smは、スペクトル振幅差分の和Diff_sum、または、スペクトル振幅差分の和Diff_sumの重み付き平滑化値であってもよい。即ち、
Diff_sm=0.4*Diff_sm_pre+0.6*Diff_sum
ここで、Diff_sm_preは、過去のフレームのスペクトル差分の重み付き平滑化値であるパラメータである。ここで、0.4と0.6は重み付け係数および平滑化係数である。異なる重み付け係数および平滑化係数を、様々な入力信号の特徴に従って選択してもよい。
【0071】
上から分かるように、一般に、現在のフレームの平均スペクトル振幅パラメータの重み付き平滑化値Spec_smは、過去のフレームの平均スペクトル振幅パラメータの重み付き平滑化値Spec_sm_preに基づいて決まり、現在のフレームのスペクトル差分パラメータの重み付き平滑化値Diff_smは、過去のフレームのスペクトル差分パラメータの重み付き平滑化値Diff_sm_preに基づいて決まる。
【0072】
差分振幅比パラメータDiff_ratioは、スペクトル振幅差分和Diff_sumの平均スペクトル振幅Spec_avgに対する比率である。即ち、
Diff_ratio=Diff_sum/Spec_avg
平滑化平均スペクトル振幅パラメータSpec_smとスペクトル差分パラメータDiff_sm
【0073】
6. 平均スペクトル振幅パラメータSpec_sm、スペクトル差分パラメータDiff_sm、および差分振幅比パラメータDiff_ratioに従って、初期ピッチ周期T
opが正確であるかどうかを判定し、決定フラグT_flagを変更するかどうかを判定する。
【0074】
例えば、スペクトル差分パラメータDiff_smが第1の差分パラメータ閾値Diff_thr1より小さく、平均スペクトル振幅パラメータSpec_smが第1のスペクトル振幅パラメータ閾値Spec_thr1より小さく、差分振幅比パラメータDiff_ratioが第1の比率因子パラメータ閾値ratio_thr1より小さいとき、正確性フラグT_flagが1であると判定され、当該正確性フラグに従って初期ピッチ周期が不正確であると判定される。別の例として、スペクトル差分パラメータDiff_smが第2の差分パラメータ閾値Diff_thr2より大きく、平均スペクトル振幅パラメータSpec_smが第2のスペクトル振幅パラメータ閾値Spec_thr2より大きく、差分振幅比パラメータDiff_ratioが第2の比率因子パラメータ閾値ratio_thr2より大きいとき、正確性フラグT_flagが0であると判定され、当該正確性フラグに従って初期ピッチ周期が正確であると判定される。全ての正確性判定条件が満たされているわけではなく、全ての不正確性判定条件が満たされているわけではない場合には、もとのフラグT_flagは不変のままである。
【0075】
第1の差分パラメータ閾値Diff_thr1、第1のスペクトル振幅パラメータ閾値Spec_thr1、第1の比率因子パラメータ閾値ratio_thr1、第2の差分パラメータ閾値Diff_thr2、第2のスペクトル振幅パラメータ閾値Spec_thr2、および第2の比率因子パラメータ閾値ratio_thr2を要件に応じて選択してもよいことは理解される。
【0076】
上述の方法に従って検出した不正確な初期ピッチ周期に関して、精密検出を上述の検出結果に対して行って、上述の方法の検出誤りを回避してもよい。
【0077】
さらに、低周波数範囲におけるエネルギをさらに検出して、初期ピッチ周期の正確性をさらに検出してもよい。さらに、短ピッチ検出を検出した不正確なピッチ周期に対して行ってもよい。
【0078】
7.1. 初期ピッチ周期のエネルギが低周波数範囲で非常に小さいかどうかを初期ピッチ周期に対してさらに検出してもよい。検出されたエネルギが低周波数エネルギ判定条件をみたすとき、短ピッチ検出を実施する。特に、低周波数エネルギ判定条件は、低周波数エネルギが相対的に非常に小さいことと低周波数エネルギが相対的に大きいことを表す2つの低周波数エネルギの相対値を規定する。したがって、低周波数エネルギが相対的に非常に小さいことを検出されたエネルギが満たすときには、正確性フラグT_flagが1に設定される。低周波数エネルギが相対的に大きいことを検出されたエネルギが満たすときには、正確性フラグT_flagは0に設定される。検出されたエネルギが低周波数エネルギ判定条件を満たさない場合には、元のフラグT_flagは不変のままである。正確性フラグT_flagが1に設定されるときには、短ピッチ検出が実施される。低周波数エネルギ相対値を規定することに加えて、低周波数エネルギ判定条件が低周波数エネルギ判定条件の堅牢性を高めるための別の条件の組合せを規定してもよい。
【0079】
例えば、2つの周波数ビンf_low1およびf_low2が第1の組であり、0とf_low1の間の範囲およびf_low1とf_low2の間の範囲にある初期ピッチ周期のエネルギ1およびエネルギ2であるエネルギを別々に計算し、次いで、エネルギ1およびエネルギ2の間のエネルギ差を計算する。即ち、energy_diff=energy2-energy1である。さらに、当該エネルギ差を重み付けてもよく、重み付け因子が音声規模因子voice_factorであってもよい。即ち、energy_diff_w=energy_diff*voice_factor。一般に、重み付けエネルギ差をさらに平滑化してもよく、平滑化の結果を事前設定された閾値と比較して、低周波数範囲の初期ピッチ周期のエネルギが失われているかどうかを判定する。
【0080】
あるいは、上述のアルゴリズムを簡略化して、或る範囲の初期ピッチ周期の低周波数エネルギが直接取得されるようにし、次いで、低周波数エネルギが重み付け、平滑化され、当該平滑化の結果を事前設定閾値と比較する。
【0081】
7.2. 短ピッチ検出を実施し、正確性フラグT_flagに従ってまたは別の条件との組合せで正確性フラグT_flagに従って、初期ピッチ周期T
opを短ピッチ検出の結果で置き換えるかどうかを判定する。あるいは、短ピッチ周期を実施する前に、短ピッチ検出を実施する必要があるかどうかを最初に、正確性フラグT_flagに従ってまたは別の条件との組合せで正確性フラグT_flagに従って判定してもよい。
【0082】
短ピッチ検出を周波数領域で実施してもよく、または、時間領域で実施してもよい。
【0083】
例えば、時間領域では、ピッチ周期の検出範囲は一般に34から231であり、短ピッチ検出を実施することは、34未満の範囲でピッチ周期を探索することであり、使用する方法が時間領域自己相関関数方法であってもよい。即ち、
【0085】
R(T)が初期ピッチ周期に対応する自己相関値の事前設定閾値より大きい場合には、T_flagが1であるとき(別の条件をここで追加してもよい)、Tを検出された短ピッチ周期とみなしてもよい。
【0086】
短ピッチ検出に加えて、逓倍周波数検出を実施してもよい。正確性フラグT_flagが1である場合、これは初期ピッチ周期T
opが不正確であることを示し、したがって、逓倍周波数ピッチ検出を初期ピッチ周期T
opの逓倍周波数位置で実施してもよい。ここで、逓倍周波数ピッチ周期は、初期ピッチ周期T
opの完全倍数(integral multiple)、または、初期ピッチ周期T
opの部分倍数(fractional multiple)であってもよい。
【0087】
ステップ7.1とステップ7.2に関して、ステップ7.2のみを実施して精密実施のプロセスを簡略化してもよい。
【0088】
8. ステップ1乃至7.2の全てを現在のフレームに対して実施する。現在のフレームを処理した後、次のフレームを処理する必要がある。したがって、次のフレームに対して、現在のフレームの平均スペクトル振幅パラメータSpec_smとスペクトル差分パラメータDiff_smを、過去のフレームの平均スペクトル振幅の重み付き平滑化値であるパラメータSpec_sm_pre、過去のフレームのスペクトル差分の重み付き平滑化値であるパラメータDiff_sm_preとして使用し一時的に格納して次のフレームのパラメータ平滑化を実現する。
【0089】
したがって、本発明の当該実施形態では、初期ピッチ周期が開ループ検出中に取得され初期ピッチ周期の正確性が周波数領域で検出された後に、初期ピッチ周期が不正確であることが検出された場合に、初期ピッチ周期が精密検出を用いて補正され、初期ピッチ周期の正確性が保証されることが分かる。初期ピッチ周期の正確性を検出するための方法では、ピッチ周波数ビンの両側での所定数の周波数ビンのスペクトル差分パラメータ、平均スペクトル振幅(またはスペクトルエネルギ)パラメータおよび差分振幅比パラメータを抽出する必要がある。これらのパラメータを抽出する複雑度は低いので、本発明の当該実施形態では、比較的正確性が高いピッチ周期があまり複雑でないアルゴリズムに基づいて出力されることを保証することができる。纏めると、本発明の当該実施形態に従うピッチ周期の正確性を検出するための方法は、比較的複雑でないアルゴリズムに基づいて、ピッチ周期の正確性を検出する精度を高めることができる。
【0090】
以下では、本発明の諸実施形態に従うピッチ周期の正確性を検出するための装置を、
図2乃至4を参照して詳細に説明する。
【0091】
図2では、ピッチ周期の正確性を検出するための装置20が、ピッチ周波数ビン決定ユニット21、パラメータ生成ユニット22、および正確性判定ユニット23を備える。
【0092】
ピッチ周波数ビン決定ユニット21は、時間領域における入力信号の初期ピッチ周期に従って、当該入力信号のピッチ周波数ビンを決定するように構成される。初期ピッチ周期は開ループ検出を当該入力信号に対して行うことによって取得される。特に、ピッチ周波数ビン決定ユニット21は、当該入力信号のピッチ周波数ビンが初期ピッチ周期に反比例し、当該入力信号に対して実施したFFT変換の点の数に直接比例することに基づいて、当該ピッチ周波数ビンを決定する。
【0093】
パラメータ生成ユニット22は、周波数領域における入力信号の振幅スペクトルに基づいて、当該ピッチ周波数ビンに関連付けられた当該入力信号のピッチ周期正確性判定パラメータを決定するように構成される。パラメータ生成ユニット22により生成されたピッチ周期正確性判定パラメータは、スペクトル差分パラメータDiff_sm、平均スペクトル振幅パラメータSpec_sm、および差分振幅比パラメータDiff_ratioを含む。スペクトル差分パラメータDiff_smは、当該ピッチ周波数ビンの両側での所定数の周波数ビンのスペクトル差分の和Diff_sumまたは当該ピッチ周波数ビンの両側での所定数の周波数ビンのスペクトル差分の和Diff_sumの重み付き平滑化値である。平均スペクトル振幅パラメータSpec_smは、当該ピッチ周波数ビンの両側での所定数の周波数ビンのスペクトル振幅の
平均Spec_avgまたは当該ピッチ周波数ビンの両側での所定数の周波数ビンのスペクトル振幅の
平均Spec_avgの重み付き平滑化値である。差分振幅比パラメータDiff_ratioは、当該ピッチ周波数ビンの両側での所定数の周波数ビンのスペクトル差分の和Diff_sumの、当該ピッチ周波数ビンの両側での所定数の周波数ビンのスペクトル振幅の
平均Spec_avgに対する比率である。
【0094】
正確性判定ユニット23は、ピッチ周期正確性判定パラメータに従って、初期ピッチ周期の正確性を決定するように構成される。
【0095】
特に、ピッチ周期正確性判定パラメータが正確性判定条件を満たすと正確性判定ユニット23が判定したとき、正確性判定ユニット23は初期ピッチ周期が正確であると判定する。または、ピッチ周期正確性判定パラメータが不正確性判定条件を満たすと正確性判定ユニット23が判定したとき、正確性判定ユニット23は初期ピッチ周期が不正確であると判定する。
【0096】
ここで、不正確性判定条件は、スペクトル差分パラメータDiff_smが第1の差分パラメータ閾値以下であること、平均スペクトル振幅パラメータSpec_smが第1のスペクトル振幅パラメータ閾値以下であること、および、差分振幅比パラメータDiff_ratioが第1の比率因子パラメータ閾値以下であること、のうち少なくとも1つを満たす。
【0097】
正確性判定条件は、スペクトル差分パラメータDiff_smが第2の差分パラメータ閾値より大きいこと、平均スペクトル振幅パラメータSpec_smが第2のスペクトル振幅パラメータ閾値より大きいこと、および差分振幅比パラメータDiff_ratioが第2の比率因子パラメータ閾値より大きいこと、のうち少なくとも1つを満たす。
【0098】
場合によっては、
図3に示すように、装置20と比較して、ピッチ周期の正確性を検出するための装置30がさらに、ピッチ周期正確性判定パラメータに従って初期ピッチ周期の正確性を検出している間に、初期ピッチ周期が不正確であることが検出されたとき、精密検出を入力信号に対して実施するように構成された精密検出ユニット24を備える。
【0099】
場合によっては、
図4に示すように、装置30と比較して、ピッチ周期の正確性を検出するための装置40がさらに、ピッチ周期正確性判定パラメータに従って初期ピッチ周期の正確性を検出している間に、不正確な初期ピッチ周期が検出されたとき、低周波数範囲において初期ピッチ周期のエネルギを検出するように構成されたエネルギ検出ユニット25を備えてもよい。次いで、エネルギ検出ユニット
25が、当該エネルギが低周波数エネルギ判定条件を満たすことを検出したとき、精密検出ユニット
24が、短ピッチ検出を入力信号に対して実施する。
【0100】
したがって、本発明の当該実施形態に従うピッチ周期の正確性を検出するための装置は、比較的複雑でないアルゴリズムに基づいて、ピッチ周期の正確性を検出する精度を高めることができることが分かる。
【0101】
図5を参照すると、別の実施形態では、ピッチ周期の正確性を検出するための装置は、入力信号を受信するように構成された受信器と、時間領域における当該入力信号の初期ピッチ周期に従って当該入力信号のピッチ周波数ビンを決定し、周波数領域における当該入力信号の振幅スペクトルに基づいて、当該ピッチ周波数ビンに関連付けられた当該入力信号のピッチ周期正確性判定パラメータを決定し、ピッチ周期正確性判定パラメータに従って、初期ピッチ周期の正確性を決定するように構成されたプロセッサであって、初期ピッチ周期は開ループ検出を当該入力信号に対して行うことによって取得される、プロセッサと、を備える。
【0102】
プロセッサが上述の方法の実施形態の各ステップを実装してもよいことは理解される。
【0103】
本明細書で開示した諸実施形態で説明した例の組合せにおいて、ユニットおよびアルゴリズムのステップを、電子ハードウェアまたはコンピュータ・ソフトウェアと電子ハードウェアの組合せで実装してもよいことは当業者には理解される。機能をハードウェアで実施するかソフトウェアで実施するかは、技術的解決策の具体的な適用と設計上の制約条件に依存する。当業者は、様々な方法を使用して、説明した機能を具体的な適用ごとに実装してもよいが、その実装は本発明の範囲を超えるとは考えるべきではない。
【0104】
説明の都合および簡単さのため、上述のシステム、装置、およびユニットの詳細な動作プロセスについては、上述の方法の実施形態における対応するプロセスを参照できることは当業者には明らかに理解され、ここでは詳細を再度説明することはしない。
【0105】
本願で提供した幾つかの実施形態において、開示したシステム、装置、および方法を他の方式で実装してもよいことは理解される。例えば、説明した装置の実施形態は例にすぎない。例えば、ユニット分割は論理的な機能分割にすぎず、実際の実装では他の分割であってもよい。例えば、複数のユニットまたはコンポーネントを別のシステムに組み合せるかまたは統合してもよく、または、幾つかの機能を無視するかまたは実施しなくともよい。さらに、表示または論じた相互結合または直接結合または通信接続を幾つかのインタフェースを介して実装してもよい。装置またはユニットの間の間接接続または通信接続を電子的、機械的、または他の形態で実装してもよい。
【0106】
別個の部分として説明したユニットが物理的に別個であってもなくてもよく、ユニットとして表示した部分が物理的なユニットであってもなくてもよく、1つの位置に配置してもよく、または、複数のネットワーク・ユニットに分散してもよい。当該ユニットの一部または全部を当該実施形態の解決策の目的を実現するための実際のニーズに従って選択してもよい。
【0107】
さらに、本発明の諸実施形態の機能ユニットを1つの処理ユニットに統合してもよく、または、当該ユニットの各々が物理的に存在してもよく、または、複数のユニットが1つのユニットに統合される。
【0108】
上記機能をソフトウェア機能ユニットの形で実装し独立した製品として販売または使用するときには、当該機能をコンピュータ可読媒体に格納してもよい。かかる理解のもと、本発明の技術的解決策を本質的に、または、先行技術に貢献する部分、または当該技術的解決策の一部をソフトウェア製品の形で実装してもよい。当該ソフトウェア製品は記憶媒体に格納され、本発明の諸実施形態で説明した方法の諸ステップの全てまたは一部を実施するように(パーソナル・コンピュータ、サーバ、またはネットワーク装置であってもよい)コンピュータ装置に指示するための幾つかの命令を含む。当該上述の記憶媒体には、USBフラッシュ・ドライブ、取外し可能ハード・ドライブ、読取専用メモリ(ROM、 Read−Only Memory)、ランダム・アクセス・メモリ(RAM、 Random Access Memory)、磁気ディスク、または光ディスクのようなプログラム・コードを格納できる任意の媒体が含まれる。
【0109】
以上の説明は本発明の具体的な実装形態にすぎず、本発明の保護範囲を限定しようとするものではない。本発明で開示した技術的範囲において当業者が容易に想到する任意の変形または置換は本発明の保護範囲に入る。したがって、本発明の保護範囲は諸請求項の保護範囲の支配を受ける。