JP2008158312A - Pitch estimator, pitch estimation method, self-correlation computing device, and self-correlation computation method - Google Patents
Pitch estimator, pitch estimation method, self-correlation computing device, and self-correlation computation method Download PDFInfo
- Publication number
- JP2008158312A JP2008158312A JP2006347738A JP2006347738A JP2008158312A JP 2008158312 A JP2008158312 A JP 2008158312A JP 2006347738 A JP2006347738 A JP 2006347738A JP 2006347738 A JP2006347738 A JP 2006347738A JP 2008158312 A JP2008158312 A JP 2008158312A
- Authority
- JP
- Japan
- Prior art keywords
- signal
- value
- autocorrelation
- bin
- bit
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims description 24
- 238000001514 detection method Methods 0.000 claims abstract description 6
- 238000004364 calculation method Methods 0.000 claims description 50
- 238000012545 processing Methods 0.000 description 15
- 230000006870 function Effects 0.000 description 12
- 230000008569 process Effects 0.000 description 11
- 238000004891 communication Methods 0.000 description 9
- 238000005070 sampling Methods 0.000 description 9
- 230000005236 sound signal Effects 0.000 description 9
- 238000010586 diagram Methods 0.000 description 7
- 230000000694 effects Effects 0.000 description 6
- 238000007792 addition Methods 0.000 description 5
- 238000004422 calculation algorithm Methods 0.000 description 4
- 230000000295 complement effect Effects 0.000 description 3
- 238000007796 conventional method Methods 0.000 description 3
- 238000007667 floating Methods 0.000 description 3
- 230000001360 synchronised effect Effects 0.000 description 3
- 230000003111 delayed effect Effects 0.000 description 2
- 230000006866 deterioration Effects 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 125000004122 cyclic group Chemical group 0.000 description 1
- 230000008030 elimination Effects 0.000 description 1
- 238000003379 elimination reaction Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
Images
Landscapes
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
Description
本発明はピッチ推定器及びピッチ推定方法、並びに、自己相関演算器及び自己相関演算方法に関し、例えば、音声信号のピッチ周期の推定に適用し得るものである。 The present invention relates to a pitch estimator, a pitch estimation method, an autocorrelation calculator, and an autocorrelation calculation method, and can be applied to, for example, estimation of a pitch period of an audio signal.
[パケット通信における音声ピッチ検出の応用]
VoIP(Voice over IP)通信のようにパケット単位で通信する方式においては、パケット損失時に、当該損失パケットに含まれていた音声情報を纏めて失うこととなり、その際、通話品質が劣化することとなる。
[Application of voice pitch detection in packet communication]
In a method in which communication is performed in units of packets such as VoIP (Voice over IP) communication, voice information contained in the lost packet is lost at the time of packet loss, and at that time, call quality deteriorates. Become.
このパケット損失に伴う通話品質の劣化を救済するために、非特許文献1においては、パケット損失時に、その直前までに受信した一定区間の音声信号の自己相関を算出して音声ピッチ周期を求め、この周期に相当する過去の信号を切り出して、損失パケットの音声情報の代わりに再生することで通話品質の劣化を救済している。
In order to remedy the deterioration of the call quality due to the packet loss, in Non-Patent
[ピッチ推定]
一般に、2つの離散値系の時間信号X(n)とY(n−k)の正規化相互相関係数Corr(n,k)は(1)式で定義されている。
In general, the normalized cross-correlation coefficient Corr (n, k) of two discrete-time signals X (n) and Y (nk) is defined by equation (1).
ここで、離散値系の時間信号X(n)とY(n)は単位時間で標本化されており、指標nは現時刻を表すものとする。また、0≦k<Mとする。 Here, the time signals X (n) and Y (n) in the discrete value system are sampled in unit time, and the index n represents the current time. Further, 0 ≦ k <M.
(1)式の定性的な意味を説明する。時刻nを固定するとき、Nサンプルで構成される信号X(n−i),0≦i<NとY(n−k−i),0≦i<Nの類似度を算出している。そして、その探索範囲は0≦k<Mとしている。つまり、現時刻nにおいてM個の正規化相互相関係数Corr(n、0),Corr(n,1),…,Corr(n,M−1)が得られるので、その中からCorr(n,k)の絶対値|Corr(n,k)|が最大値となるときのkをkmaxと表記すると、X(n−i),0≦i<Nに対して最も類似度が高い信号はY(n−kmax−i),0≦i<Nである。 The qualitative meaning of the formula (1) will be described. When the time n is fixed, the similarity of the signal X (n−i), 0 ≦ i <N and Y (n−k−i), 0 ≦ i <N, which is composed of N samples, is calculated. The search range is 0 ≦ k <M. That is, since M normalized cross-correlation coefficients Corr (n, 0), Corr (n, 1),..., Corr (n, M−1) are obtained at the current time n, Corr (n , the absolute value of k) | Corr (n, k ) | when referred to k when the maximum value and k max, X (n-i ), the highest similarity signal to 0 ≦ i <n Is Y (n−k max −i), where 0 ≦ i <N.
特に、X(n)とY(n)が同一の音声信号であるとき、(1)式は正規化自己相関係数となり、kmaxはピッチ周期に相当する。但し、kの変動範囲の最小値は0よりも大きな値、例えば、女声の短いピッチ周期の数分の1の値に相当する値に設定されることになる。 In particular, when X (n) and Y (n) are the same audio signal, equation (1) becomes a normalized autocorrelation coefficient, and k max corresponds to a pitch period. However, the minimum value of the fluctuation range of k is set to a value larger than 0, for example, a value corresponding to a fraction of a short pitch period of a female voice.
[演算量]
上述したピッチ周期を推定する際に実施する相関演算は、非特許文献1で言及されているように、当該アルゴリズムに必要とされる演算量の支配項となっている。
[Amount of calculation]
As mentioned in
ここでは、まず、一般的な正規化相互相関演算に要する演算量を見積もることにする。 Here, first, an amount of calculation required for a general normalized cross-correlation calculation is estimated.
(1)式で表す離散的正規化相互相関係数Corr(n,k)を0≦k<Mの範囲で合計M回演算するときの演算量を見積もる前提条件として、a×b+cの形式で表せる積和演算はハードウェアにより1マシンサイクル(1クロック)で算出可能とする。 As a precondition for estimating the amount of calculation when the discrete normalized cross-correlation coefficient Corr (n, k) represented by the equation (1) is calculated M times in the range of 0 ≦ k <M, in the form of a × b + c The product-sum operation that can be expressed can be calculated in one machine cycle (one clock) by hardware.
まず、(1)式の分子はN回の積和演算を要する。さらに、ピッチの探索では、(1)式の演算を0≦k<Mについて実施するので、NM回の積和演算を要する。 First, the numerator of equation (1) requires N product-sum operations. Further, in the pitch search, since the calculation of equation (1) is performed for 0 ≦ k <M, NM product-sum calculations are required.
次に、分母の左側の平方根について演算量を求める。この項には変数kが現れないので、nが更新される度に1回算出しておけば良い。(2)式に示すように時刻n−1のときの2乗和SXを定義すると、時刻がn−1からnに更新されるときに、(3)式に示す演算を要するので、上式の演算量を積和演算の回数に換算してα回で算出できると仮定しよう。なお、非特許文献1では、この計算はkに寄与しないため省略されている。同じく、分母の右側の平方根については、kが更新されるたびに(3)式と同様の処理を要する。
以上から、(1)式をM回演算するのに要する演算量は、積和演算の回数で換算すると、(4)式に示すようになる。 From the above, the amount of calculation required to calculate the expression (1) M times is expressed by the expression (4) when converted by the number of product-sum operations.
NM+αM+α …(4)
[従来技術による演算量の低減]
非特許文献1によると、ピッチ周期を算出するための正規化自己相関係数は、(1)式を変形した(5)式を採用している。
[Reduction of calculation amount by conventional technology]
According to
ここで、N=160であり、0≦i<160、40≦k≦120としている。また、演算量の低減化のため、指標iとkは1つ飛びに変化させている。 Here, N = 160, and 0 ≦ i <160 and 40 ≦ k ≦ 120. Also, the indices i and k are changed by one to reduce the amount of calculation.
(5)式の相関演算により41個の相関係数Corr(n,k)が得られ、この中から絶対値が最大となるときのkを仮のkmaxとする。次に、kmax±1について、相関係数Corr(n,kmax−1),Corr(n,kmax),Corr(n,kmax+1)を今度はiについて1つずつインクリメントして求め、これら3つの相関係数の絶対値の中で最大値となるkを正式なkmaxと見なす。よって、このときの演算量は、(6)式に示すようになる。(4)式と比較することで、演算量が数分の1に低減されることが分かる。 Forty-one correlation coefficients Corr (n, k) are obtained by the correlation calculation of equation (5), and k when the absolute value is the maximum is set as a temporary k max . Next, for k max ± 1, correlation coefficients Corr (n, k max −1), Corr (n, k max ), and Corr (n, k max +1) are obtained by incrementing one by one for i. K, which is the maximum value among the absolute values of these three correlation coefficients, is regarded as a formal k max . Therefore, the amount of calculation at this time is as shown in equation (6). By comparing with the equation (4), it can be seen that the amount of calculation is reduced to a fraction.
N/2(M/2−1)+α(M/2+1)+α+3N+3α
=N(M/4+7/2)+α(M/2+5) …(6)
なお、非特許文献1では、N=160,M=80である。また、αについては使用する数値フォーマット(固定小数点or浮動小数点、演算語長)および演算ハードウェアに依存する。NとMの値を(6)式に代入すると、非特許文献1でのピッチ推定に要する演算量は、3760+45αとなる。
= N (M / 4 + 7/2) + α (M / 2 + 5) (6)
In
非特許文献1による(5)式の相関演算を使用した音声信号のピッチ検出は、(5)式をなるべく数学的に正確、かつ、短時間で算出する要求があるときには有効な方法である。
The sound signal pitch detection using the correlation calculation of equation (5) according to Non-Patent
しかしながら、応用上の観点からは、相関係数を数学的に正確に求めることよりも、極力短時間、かつ、ハードウェア小規模な演算器を利用して相関係数を得たいとする要求が多い。 However, from an application point of view, there is a demand for obtaining a correlation coefficient using a small-scale computing unit in a short time as much as possible, rather than calculating the correlation coefficient mathematically accurately. Many.
とりわけ、このような要求は、通信網内に設置され、かつ、多数の音声チャネルを収容するVoIPゲートウェイ装置では強い傾向がある。理由としては、非特許文献1で規定されているパケット損失補償は、通信品質が劣悪でパケット損失率が大きな通信網では確かにその効果を発揮し、当該機能のコスト/パフォーマンス比を満足させることになるかもしれないが、逆に、通話品質が良好でパケット損失率が小さな通信網では、パケット損失補償の機能はほとんど動作することはないもの、通信網内の中継ルータの故障などにより発生し得る収容している全音声チャネルの瞬断に備えて、常時、全チャネルのパケット損失補償を同時に実施可能とするだけのパフォーマンスを持たせる場合、このときの当該機能のコスト/パフォーマンス値は著しく劣化することとなる。それゆえに、相関係数を数学的に正確に求めることよりも、極力短時間、かつ、ハードウェアが小規模な演算器を利用して相関係数を得たいとする要求が非常に強くなるのである。
In particular, such a request tends to be strong in a VoIP gateway apparatus installed in a communication network and accommodating a large number of voice channels. The reason is that the packet loss compensation specified in
非特許文献1による(5)式の自己相関演算を使用した音声信号のピッチ推定器は、その演算精度が過剰品質になる可能性があり、かつ、演算量の低減は高々数分の1程度であり、かつ、この演算低減のために相関演算を間引いて実行しているため真の音声ピッチ周期を見逃すリスクがあり、かつ、依然として乗算、除算、平方根の演算が必要となりハードウェア規模の低減化には何ら寄与していないという課題がある。
In the speech signal pitch estimator using the autocorrelation calculation of equation (5) according to
本発明は、以上の点に鑑みなされたものであり、少ない演算量で所望する値を算出することができるピッチ推定器及び自己相関演算器や、そのようなピッチ推定器及び自己相関演算器に適用可能なピッチ推定方法及び自己相関演算方法を提供しようとしたものである。 The present invention has been made in view of the above points, and to a pitch estimator and an autocorrelation calculator capable of calculating a desired value with a small amount of calculation, and to such a pitch estimator and autocorrelation calculator. It is intended to provide an applicable pitch estimation method and autocorrelation calculation method.
第1の本発明は、離散値系信号X(n)の所定区間(この区間のサンプル数はN)を参照信号とし、これより時間kだけ過去の所定区間Nの同一信号との自己相関係数Corr(n,k)を算出する自己相関演算器において、(1)離散的時間信号X(n)を、そのダイナミックレンジの中間値未満か中間値か中間値超過かに応じた1ビット信号Xbin(n)に変換する2値符号化手段と、(2)上記2値符号化手段からの1ビット信号Xbin(n)に基づき、(A)式に従う演算を実行し、その演算結果を上記自己相関係数Corr(n,k)として出力する演算手段とを有することを特徴とする。
但し、+を丸で囲んだ記号は排他的論理和演算を表している。 However, a symbol in which + is circled represents an exclusive OR operation.
第2の本発明は、離散値系信号X(n)の所定区間(この区間のサンプル数はN)を参照信号とし、これより時間kだけ過去の所定区間Nの同一信号との自己相関係数Corr(n,k)を算出する自己相関演算方法において、(0)2値符号化手段及び演算手段を有し、(1)上記2値符号化手段は、離散的時間信号X(n)を、そのダイナミックレンジの中間値未満か中間値か中間値超過かに応じた1ビット信号Xbin(n)に変換し、(2)上記演算手段は、上記2値符号化手段からの1ビット信号Xbin(n)に基づき、(B)式に従う演算を実行し、その演算結果を上記自己相関係数Corr(n,k)として出力することを特徴とする。
但し、+を丸で囲んだ記号は排他的論理和演算を表している。 However, a symbol in which + is circled represents an exclusive OR operation.
第3の本発明は、離散値系信号X(n)のピッチ周期を検出するピッチ推定器において、(1)離散値系信号X(n)の時間差kについての自己相関係数Corr(n,k)を算出する自己相関演算器と、(2)上記自己相関演算器からの、時間差kが異なる複数の自己相関係数Corr(n,k)の中から、その絶対値の最大値を与える時間差をピッチ周期として検出する最大値検出手段とを有し、(1)上記自己相関演算器として、第1の本発明のものを適用したことを特徴とする。 According to a third aspect of the present invention, in a pitch estimator for detecting a pitch period of a discrete value system signal X (n), (1) an autocorrelation coefficient Corr (n, k) and (2) giving the maximum absolute value of the autocorrelation coefficients Corr (n, k) having different time differences k from the autocorrelation calculator. A maximum value detecting means for detecting a time difference as a pitch period, and (1) the first invention according to the present invention is applied as the autocorrelation calculator.
第4の本発明は、離散値系信号X(n)のピッチ周期を検出するピッチ推定方法において、(0)自己相関演算器と最大値検出手段とを有し、(1)上記自己相関演算器は、離散値系信号X(n)の時間差kについての自己相関係数Corr(n,k)を算出し、(2)上記最大値検出手段は、上記自己相関演算器からの、時間差kが異なる複数の自己相関係数Corr(n,k)の中から、その絶対値の最大値を与える時間差をピッチ周期として検出し、(1)上記自己相関演算器は、自己相関演算方法として、第3の本発明の方法を適用していることを特徴とする。 According to a fourth aspect of the present invention, there is provided a pitch estimation method for detecting a pitch period of a discrete value system signal X (n), comprising: (0) an autocorrelation calculator and maximum value detection means; The calculator calculates an autocorrelation coefficient Corr (n, k) with respect to the time difference k of the discrete value system signal X (n), and (2) the maximum value detecting means outputs the time difference k from the autocorrelation calculator. A time difference giving the maximum absolute value is detected as a pitch period from a plurality of autocorrelation coefficients Corr (n, k) having different values. (1) The autocorrelation calculator The method of the third aspect of the present invention is applied.
本発明のピッチ推定器及びピッチ推定方法、並びに、自己相関演算器及び自己相関演算方法によれば、少ない演算量で所望する値を算出することができる。 According to the pitch estimator and the pitch estimation method, the autocorrelation calculator and the autocorrelation calculation method of the present invention, a desired value can be calculated with a small amount of calculation.
(A)主たる実施形態
以下、本発明によるピッチ推定器及びピッチ推定方法、並びに、自己相関演算器及び自己相関演算方法を、音声信号のピッチ推定に適用した一実施形態を、図面を参照しながら説明する。
(A) Main embodiment
Hereinafter, an embodiment in which a pitch estimator, a pitch estimation method, an autocorrelation calculator and an autocorrelation calculation method according to the present invention are applied to pitch estimation of an audio signal will be described with reference to the drawings.
(A−1)実施形態における技術思想
この実施形態は、音声信号のピッチ推定に際し、音声信号を+1と−1の2値に符号化することで自己相関演算に要する演算量とハードウェア規模を大幅に低減させようとしたものである。
(A-1) Technical idea in the embodiment In this embodiment, when estimating the pitch of the audio signal, the audio signal is encoded into binary values of +1 and −1, thereby reducing the calculation amount and the hardware scale required for the autocorrelation calculation. It is intended to greatly reduce.
[2値信号の正規化自己相関演算アルゴリズム]
まず、±1に2値化された信号の正規化自己相関演算アルゴリズムを説明する。
[Normalized autocorrelation algorithm for binary signal]
First, a normalized autocorrelation calculation algorithm for signals binarized to ± 1 will be described.
一般に、離散値系の時間信号X(n)の正規化自己相関係数Corr(n,k)は(7)式で定義されている。
ここで、d≦k≦d+Mとする。また、一般に、信号X(n)の数値フォーマットは、複数ビットで構成される浮動小数点もしくは固定小数点である。 Here, d ≦ k ≦ d + M. In general, the numerical format of the signal X (n) is a floating point or a fixed point composed of a plurality of bits.
次に、信号X(n)を±1の2値に符号化した信号をXsgn(n)と表記し、(8)式のように定義する。
ここで、動作開始直後にX(n)=0であるとき、X(n−1)とXsgn(n−1)がまだ存在していないので、Xsgn(n)の値は、+1と−1のどちらでも良いこととする。 Here, when X (n) = 0 immediately after the start of the operation, since X (n−1) and X sgn (n−1) do not exist yet, the value of X sgn (n) is +1. Either −1 may be used.
2値化信号Xsgn(n)の正規化自己相関係数Corrsgn(n,k)は(9)式で表すことができる。(9)式において、d≦k≦d+Mとする。
(8)式に示すように、Xsgn(n)は±1の2値であるが、実際のインプリメント(製品)上では1ビットの2進数データとして扱われるので、ここでは、正負を表す符号ビットの一般的な定義に従って、数値+1を2進数「0」に対応させ、数値−1を2進数「1」に対応させることとする。図2は、2値化信号Xsgn(n)の2進数表現をXbin(n)と表記し、対応関係を示したものである。 As shown in the equation (8), X sgn (n) is a binary value of ± 1, but it is treated as 1-bit binary data on the actual implementation (product). According to the general definition of bits, the numerical value +1 is made to correspond to the binary number “0”, and the numerical value −1 is made to correspond to the binary number “1”. FIG. 2 shows the binary representation of the binary signal X sgn (n) as X bin (n) and shows the correspondence.
次に、図2に示す対応関係を用いて、(9)式における乗算Xsgn(n−i)Xsgn(n−k−i)について考察する。この乗算は4通りしか存在せず、このときの2進数との対応は、図3に示すようになる。図3においては、+を白丸で囲んだ記号は排他的論理和を表している。明細書では、かかる記号を用いられないので、明細書の中では、「∧」を、排他的論理和を表すものとして用いる。 Next, the multiplication X sgn (n−i) X sgn (n−k−i) in the equation (9) will be considered using the correspondence shown in FIG. There are only four such multiplications, and the correspondence with binary numbers at this time is as shown in FIG. In FIG. 3, a symbol in which + is surrounded by a white circle represents an exclusive OR. In the specification, such a symbol cannot be used. Therefore, in the specification, “∧” is used as an exclusive OR.
図3から明らかなように、±1に2値化された信号の乗算は、2進数では排他的論理和∧に対応している。これにより、Xbin(n−i)∧Xbin(n−k−i)についてのi=0からN−1までの総和ΣXbin(n−i)∧Xbin(n−k−i)は、ΣXsgn(n−i)Xsgn(n−k−i)(総和はi=0からN−1まで)において、Xsgn(n−i)Xsgn(n−k−i)が−1となる個数を表すこととなる。逆に、Xsgn(n−i)Xsgn(n−k−i)が1となる個数は、N−ΣXbin(n−i)∧Xbin(n−k−i)である。それ故に(10)式が成立する。ここで、正規化自己相関係数Corrsgn(n,k)を2進数表記Xbin(n)を使用して表現すると、(11)式が得られる。(11)式において、正規化処理である1/Nは単なる定数になっており、応用上は演算する価値はないので、(11)式を(12)式のように変形する。
(A−2)実施形態のピッチ推定器
図1は、実施形態のピッチ推定器の全体構成を示すブロック図である。実施形態のピッチ推定器100は、(12)式に従って、入力された音声信号の自己相関係数を計算し、ピッチ周期を推定するものである。
(A-2) Pitch Estimator of Embodiment FIG. 1 is a block diagram showing the overall configuration of the pitch estimator of the embodiment. The pitch estimator 100 according to the embodiment calculates an autocorrelation coefficient of an input audio signal according to the equation (12) and estimates a pitch period.
図1において、実施形態のピッチ推定器100は、符号ビット抽出器101、シフトレジスタ102、103、排他的論理和ゲート群104、加算器105、減算器106及び最大値検出器107を有する。
In FIG. 1, the pitch estimator 100 according to the embodiment includes a
ここで、符号ビット抽出器101、シフトレジスタ102、103、排他的論理和ゲート群104、加算器105及び減算器106でなる構成部分は、自己相関演算器を構成している。
Here, a component part including the
符号ビット抽出器101には離散的時間信号X(n)が入力され、符号ビット抽出器101は、入力信号X(n)の正値、負値、0に応じて、(13)式に従って、1ビット信号Xbin(n)を出力するものである。(13)式における上バーの付与は、付与されているビット値の否定、つまり、付与されているビット値のビット反転を表している。なお、この明細書では、ビット反転を、反転対象の値を表す符号の前に「/」を付与して表すこととする。
なお、処理対象の離散的時間信号が0及び正値の範囲をとる信号である場合には、処理対象信号から、そのダイナミックレンジの中央値を減算して、正負をとる離散的時間信号X(n)に変換して符号ビット抽出器101に入力することを要する。
When the discrete time signal to be processed is a signal having a range of 0 and a positive value, the median of the dynamic range is subtracted from the processing target signal to obtain a positive and negative discrete time signal X ( n) and input to the
図4は、離散的時間信号X(n)の数値フォーマットが2の補数であるときの符号ビット抽出器101の具体的構成例を示している。
FIG. 4 shows a specific configuration example of the
図4において、符号ビット抽出器101は、NORゲート201、2−1セレクタ202、NOTゲート203及びレジスタ204を有する。
In FIG. 4, the
入力信号X(n)の数値フォーマットは2の補数であるので、MSBビットは符号ビットである。符号ビットは、0≦X(n)のとき0、X(n)<0のとき1である。また、入力信号X(n)=0のときには、入力信号X(n)の全てのビットは0となっている。 Since the numerical format of the input signal X (n) is 2's complement, the MSB bit is a sign bit. The sign bit is 0 when 0 ≦ X (n) and 1 when X (n) <0. When the input signal X (n) = 0, all the bits of the input signal X (n) are 0.
入力信号X(n)の全てのビットは、NORゲート201に入力され、X(n)=0のときのみNORゲート201の出力は1となり、それ以外のときは0となり、この出力信号は、2−1セレクタ202の選択制御端子に与えられる。
All bits of the input signal X (n) are input to the NOR
2−1セレクタ202の一方の入力端子には入力信号X(n)の符号ビットであるMSBビットが入力され、2−1セレクタ202の他方の入力端子には当該符号ビット抽出器101からの出力信号Xbin(n)の1単位時間前の信号Xbin(n−1)をビット反転した/Xbin(n−1)が入力されている。2−1セレクタ202は、NORゲート201の出力信号に応じ、入力信号X(n)が0のときのみ/Xbin(n−1)を選択し、2−1セレクタ202の出力にXbin(n)として現れ、これ以外のときは、入力信号X(n)の符号ビットを選択し、セレクタ202の出力にXbin(n)として現れる。
The MSB bit, which is the sign bit of the input signal X (n), is input to one input terminal of the 2-1
レジスタ204は、2−1セレクタ202の出力信号Xbin(n)を格納するレジスタであり、格納値は、入力信号X(n)の標本化レートに同期して更新される。よって、当該レジスタ204の出力は、出力信号Xbin(n)の1単位時間前の値であるXbin(n−1)となる。
The
レジスタ204からの出力信号Xbin(n−1)はNOTゲート203に入力され、NOTゲート203は、この信号Xbin(n−1)をビット反転した/Xbin(n−1)を2−1セレクタ202に与える。
The output signal X bin (n−1) from the
図4に示す符号ビット抽出器101の構成例は、あくまでも上述した(13)式を具現化するための単なる一例である。例えば、符号ビット抽出器101からの出力信号Xbin(n)を標本化レートに同期して更新した方が望ましいときは、レジスタ204の出力を符号ビット抽出器101からの出力信号Xbin(n)としても良い。また、数値フォーマットが2の補数でないときであっても、(13)式を満足させるように、その数値フォーマットに応じて符号ビット抽出器を設計すれば良い。
The configuration example of the
図1の2つのシフトレジスタ102及び103、並びに、排他的論理和ゲート群104は、上述した(12)式の要素演算である、(14)式に示す排他的論理和演算を、iについて0≦i<Nの範囲でパラレルに1マシンサイクルで実施し、かつ、kについてd≦k≦d+Mの範囲でM+1マシンサイクルで実施するものである。
The two
Xbin(n−i)∧Xbin(n−k−i) …(14)
シフトレジスタ102は、(14)式の左側の要素Xbin(n−i)を(12)式の総和に必要な分だけ形成させるものであり、シフトレジスタ103は、(14)式の右側の要素Xbin(n−k−i)を(12)式の総和に必要な分だけ形成させるものであり、排他的論理和ゲート群104は、(12)式の総和に係るN個の排他的論理和の値を形成させるものである。
X bin (n-i) ∧X bin (n-k-i) ... (14)
The
図5は、シフトレジスタ102及び103、並びに、排他的論理和ゲート群104の具体的な構成例を示すブロック図である。
FIG. 5 is a block diagram illustrating a specific configuration example of the shift registers 102 and 103 and the exclusive OR
なお、以下で説明するが、図5の構成例では、kは、d+Mを初期値とし、デクリメントしながらdまで変化させており、動作の理解のために、このことに留意すべきである。また、図5では、表記を簡単にするため、排他的論理和ゲート群104からの出力については、Xbin(n)と記載すべき所を、単に、X(n)と記載している。
As will be described below, in the configuration example of FIG. 5, k is changed to d while decrementing with d + M as an initial value, and this should be noted for understanding the operation. Further, in FIG. 5, in order to simplify the notation, in the output from the exclusive OR
図5に示すシフトレジスタ102は、シリアル入力パラレル出力機能を具備したNビットのシフトレジスタである。当該シフトレジスタ102は、シリアル入力端子SI、シフトイネーブル入力端子SE、クロック入力端子CK及びパラレル出力端子(このパラレル出力端子に対応する格納部を適宜、レジスタと呼ぶ)Qx(0)〜Qx(N−1)を有する。以下の説明では、入出力端子に係る信号も、入出力端子と同じ符号を用いて説明する。
The
シフトイネーブル信号SEがアクティブであるとき、標本化レートに同期したクロック信号CKに同期して、レジスタQx(N−2)のビット情報はレジスタQx(N−1)にシフトされ、レジスタQx(N−3)のビット情報はレジスタQx(N−2)にシフトされ、以下同様に、レジスタQx(0)のビット情報はレジスタQx(1)にシフトされ、図4に示す符号ビット抽出器101から出力された信号Xbin(n)はシリアル入力SIを経由してレジスタQx(0)に格納される。従って、時刻nの時点で当該シフトレジスタ102の出力端子Qx(0)〜Qx(N−1)には、信号Xbin(n)〜Xbin(n−(N−1))までのNビットが現れ、次の入力Xbin(n+1)が入力されるまでの間、この出力状態を保持すると同時に、これらのNビットXbin(n)〜Xbin(n−(N−1))は排他的論理和ゲート群104に供給される。
When the shift enable signal SE is active, the bit information of the register Qx (N-2) is shifted to the register Qx (N-1) in synchronization with the clock signal CK synchronized with the sampling rate, and the register Qx (N-1 -3) is shifted to the register Qx (N-2), and similarly, the bit information of the register Qx (0) is shifted to the register Qx (1), and the
また、シフトレジスタ102の出力端子Qx(d−1)の信号はシフトレジスタ103にも供給される。
The signal at the output terminal Qx (d−1) of the
図5に示すシフトレジスタ103は、シリアル入力パラレル出力機能、パラレル入力ローディング機能、及び、ローテイトシフト機能(巡回シフト機能)を具備したN+Mビットのシフトレジスタである。
The
シフトレジスタ103は、シフトレジスタ102から任意の標本化周期だけ遅延して出力される1ビット情報を保持し、標本化周期で時系列的にビットシフトされ、かつ、1つの標本化周期内で、一定回数ローテイトシフトされ、かつ、このローテイトシフト後に再度、シフトレジスタ102から任意の標本化周期だけ遅延して出力される1ビット情報を入力する際に、前回入力時から1ビットシフトした状態にすることが可能なローディング機能を有する。
The
シフトレジスタ103は、シリアル入力端子SI、シフトイネーブル入力端子SE、ロードイネーブル入力端子LE、クロック入力端子CK、パラレル入力端子Dk(0)〜Dk(N+M−1)、及び、パラレル出力端子Qk(0)〜Qk(N+M−1)を有する。
The
パラレル出力端子(レジスタ)Qk(M)〜Qk(N+M−1)のNビットは排他的論理和ゲート群104に接続され、シリアル入力端子SIには当該シフトレジスタ103の最終段のレジスタ出力Qk(N+M−1)が入力されるようになされている。
The N bits of the parallel output terminals (registers) Qk (M) to Qk (N + M−1) are connected to the exclusive OR
パラレル入力端子Dk(0)にはシフトレジスタ102のパラレル入力端子Qx(d−1)の値が入力され、パラレル入力端子Dk(1)には当該シフトレジスタ103のパラレル出力端子Qk(M)の値が入力され、…、パラレル入力端子Dk(M−2)には当該シフトレジスタ103のパラレル出力端子Qk((2M−3)mod(N+M)の値が入力され、パラレル入力端子Dk(M−1)には当該シフトレジスタ103のパラレル出力端子Qk((2M−2)mod(N+M)の値が入力され、パラレル入力端子Dk(M)には当該シフトレジスタ103のパラレル出力端子Qk((2M−1mod(N+M))の値が入力され、パラレル入力端子Dk(M+1)には当該シフトレジスタ103のパラレル出力端子Qk((2M)mod(N+M))の値が入力され、…、パラレル入力端子Dk(N+M−2)には当該シフトレジスタ103のパラレル出力端子Qk(M−3)の値が入力され、パラレル入力端子Dk(N+M−1)には当該シフトレジスタ103のパラレル出力端子Qk(M−2)の値が入力される。
The value of the parallel input terminal Qx (d−1) of the
ここで、s mod tは、tを法としたときのsの剰余を表す。例えば、9mod8=1である。前記したシフトレジスタ103のパラレル出力端子からパラレル入力端子へのフィードバック経路を、このmodを使用して汎用的に表現すると、パラレル入力端子D(x)にはパラレル出力端子Q((x+M−1)mod(N+M))の値が入力される。但し、x≠0とする。なお、シフトレジスタ103を上述のように接続する理由は後述する。
Here, s mod t represents the remainder of s when t is modulo. For example, 9 mod 8 = 1. When the feedback path from the parallel output terminal to the parallel input terminal of the
シフトレジスタ103のロードイネーブル信号LEがアクティブであるとき、クロック信号CKに同期して、パラレル入力端子Dk(0)〜Dk(N+M−1)のビット情報は、パラレル出力端子Qk(0)〜Qk(N+M−1)にローディングされる。これに対して、シフトレジスタ103のシフトイネーブル信号SEがアクティブであるとき、クロック信号CKに同期して、各レジスタQk(0)〜Qk(N+M−2)の値はそれぞれ、次段のレジスタQk(1)〜Q(N+M−1)にシフトされる。但し、最終段のレジスタQk(N+M−1)の値は、シリアル入力端子SIを経由して、レジスタQ(0)にローテイトシフトされる。なお、ロードイネーブル信号LEとシフトイネーブル信号SEは同時にアクティブになることはない。
When the load enable signal LE of the
時刻nの時点で、シフトレジスタ103のロードイネーブル信号LEをアクティブし、シフトレジスタ102のレジスタQx(d−1)のデータであるXbin(n−d)を、シフトレジスタ103のパラレル入力端子Dk(0)を介してレジスタQk(0)にローディングする。次に、シフトレジスタ103のロードイネーブル信号LEをインアクティブにすると共に、シフトイネーブル信号SEをアクティブにし、クロック信号CKに同期してM回ほどシフトさせる。このシフト動作は、次の標本化データXbin(n+1−d)がシフトレジスタ102の出力Qx(d−1)から入力されるまでの間に完了しなければならない。よって、シフトレジスタ103のクロック信号CKの周波数をfckとし、信号Xbin(n)の標本化周波数をfsとするときには、(15)式に示す関係を成立させておかなければならない。こうすることにより、(14)式の要素別の演算を、1標本化周期内に、0≦i≦N−1,d+M≧k≧dについて、M+1マシンサイクルで実施することが可能となる。
At time n, the load enable signal LE of the
fck≧(M+1)・fs …(15)
なお、シフトレジスタ103をMビットほどシフトさせた時点で、信号Xbin(n−d)はレジスタQk(M)に移動している。当該ビット情報は、次の標本化データXbin(n+1−d)が到来した際には、レジスタQk(1)にローディングさせる必要がある。これが、上述したように、シフトレジスタ103のパラレル出力を自身のパラレル入力にツイストして接続している理由である。
f ck ≧ (M + 1) · f s (15)
Note that when the
ところで、上述したようにシフトレジスタ103のパラレル出力端子Qk(M)〜Q(N+M−1)からのNビットが排他的論理和ゲート群104に接続されているので、当該シフトレジスタ103のローディング時に、これは、(12)式において、k=d+Mのときに対応し、次に、当該シフトレジスタ103がビットシフトするごとに、k=d+M,d+M−1,…,dの順序で、(12)式の0≦i≦N−1についてのパラレル論理演算が合計M+1回実施されることとなる。
By the way, since the N bits from the parallel output terminals Qk (M) to Q (N + M−1) of the
図5の排他的論理和ゲート群104は、N個の排他的論理和ゲートで構成され、2つのシフトレジスタ102及び103からそれぞれ出力されているNビットの信号を入力とし、(12)式の0≦i≦N−1についての排他的論理和演算をパラレルに実施し、Nビットの演算結果情報は、図1の加算器105に供給される。
The exclusive OR
加算器105は、排他的論理和ゲート群104から出力されるNビットの情報中の論理値が1となっているビット数を符号無し整数で算出し、当該算出結果を2倍し、さらに、符号ビットを付与して符号付き整数にすることで、(16)式に示すような、上述した(12)式の右辺第2項の値を算出するものである。加算器105による算出結果は、減算器106に提供される。
図6は、加算器105の具体的な構成例を示すブロック図である。図6において、加算器105は、第1ステージ〜第rステージの符号無し整数加算器と、MSB・LSB付加部とで構成される。ここで、r=F(log2N)であり、関数F(x)はセイリング関数であり、x未満ではない最小の整数を表している。
FIG. 6 is a block diagram illustrating a specific configuration example of the
まず、第1ステージでは、Nビットの信号を2つずつペアを取り、符号無し整数加算器に入力して加算する。なお、図6では、Nを偶数として描いているが、奇数の場合には、ペアを取った後の残り1ビットは次の第2ステージの入力となる。この奇偶による構成の違いは、第2ステージ以降でも同様である。なお、第1ステージにおける符号無し整数加算器の数は、Nが偶数の場合にはN/2個であり、Nが奇数の場合には(N−1)/2個である。 First, in the first stage, two pairs of N-bit signals are taken, input to an unsigned integer adder, and added. In FIG. 6, N is drawn as an even number, but in the case of an odd number, the remaining 1 bit after pairing is input to the next second stage. This difference in configuration due to odd / even is the same in the second and subsequent stages. Note that the number of unsigned integer adders in the first stage is N / 2 when N is an even number, and (N-1) / 2 when N is an odd number.
第1ステージの加算結果はそれぞれ、第2ステージの符号無し整数加算器に入力され、第1ステージと同様に、2つずつペアを取った加算が実行される。以後、このような処理が、ステージに所属する符号無し整数加算器が1個の第rステージまで繰り返し実行される。 The addition results of the first stage are respectively input to the unsigned integer adder of the second stage, and two pairs of additions are executed as in the first stage. Thereafter, such a process is repeatedly executed up to one r-th unsigned integer adder belonging to the stage.
最終段である第rステージの符号無し整数加算器の出力は、(16)式に示す値の半分であり、この値の最大値はNであるから、これは、符号無し整数のビット数Rで換算すると、R=G(log2N)+1となる。ここで、G(x)はフロア関数であり、xを超過しない最大の整数を表す。 Since the output of the unsigned integer adder of the r-th stage as the final stage is half of the value shown in the equation (16), and the maximum value of this value is N, this is the number of unsigned integer bits R Is converted to R = G (log 2 N) +1. Here, G (x) is a floor function and represents the maximum integer that does not exceed x.
第rステージの符号無し整数加算器のRビット出力に対し、「0」でなるLSBを追加することで、第rステージの符号無し整数加算器のRビット出力を2倍し、かつ、第rステージの符号無し整数加算器のRビット出力に対し、「0」でなるMSBを追加することで、符号付き整数に変換している。 By adding an LSB of “0” to the R-bit output of the r-th stage unsigned integer adder, the R-bit output of the r-th stage unsigned integer adder is doubled, and the r-th stage An MSB consisting of “0” is added to the R bit output of the unsigned integer adder of the stage to convert it to a signed integer.
ところで、図6に示す加算器105の演算は、第1ステージから最終ステージ(第rステージ)まで1マシンサイクルで実施できることを想定している。しかし、rが大きくなると加算器105での処理遅延が増大し、1マシンサイクルでは実施できない可能性がでてくる。このような場合には、クロック信号に同期して入力信号を保持することが可能なレジスタを適切なステージ間隔で配備すれば良い。すなわち、このようにパイプライン演算とすることで、処理遅延は増大するものの、処理スループットは低減しないこととなり、(12)式をM+1マシンサイクル周期で実施することを可能とする。
Incidentally, it is assumed that the operation of the
図1の減算器106は、特に、具体的構成例を挙げるまでもなく、Nから加算器105の出力((12)式の右辺第2項)を減算するものであり、これにより、(12)式が完全に演算されたことになる。
The
図1の最大値検出器107は、(12)式で表される自己相関係数N・Corrsgn(n,k)を、kに関して、d+M≧k≧dの範囲で変動させたときの、減算器106から入力されたM+1個の相関係数N・Corrsgn(n,d),N・Corrsgn(n,d+1),…,N・Corrsgn(n,d+M)の中から絶対値が最大となるときのkの指標kmaxを入力信号X(n)のピッチ周期として算出(推定)するものである。
The
最大値検出器107は、例えば、CPUが実行するソフトウェアによって実現することができる。図7は、以上のようにソフトウェアによって最大値検出器107を実現した場合における処理の流れを示すフローチャートである。なお、減算器106から相関係数N・Corrsgn(n,d),N・Corrsgn(n,d+1),…,N・Corrsgn(n,d+M)がこの逆の順番で順次入力されるタイミングと、当該最大値検出器107の処理のタイミングとの相違を吸収するようなバッファメモリを最大値検出器107は適宜内蔵する。
The
図7に示すピッチ推定処理(最大値検出処理)を開始するとまず、3種類のパラメータmax,kmax,kをそれぞれ、0,d+M,d+Mに初期化する(ステップ301)。 When the pitch estimation process (maximum value detection process) shown in FIG. 7 is started, three types of parameters max, kmax, and k are initialized to 0, d + M, and d + M, respectively (step 301).
その後、パラメータkが値d以上であることによって、全ての相関係数の比較処理が終了していないことを確認しながら(ステップ302)、そのときのパラメータkの値で定まる相関係数N・Corrsgn(n,k)がパラメータmax以上か否かを判別する(ステップ303)。なお、はじめてステップ303を実行する際には、kがd+Mであるので、相関係数N・Corrsgn(n,d+M)がパラメータmaxと比較される。
Thereafter, when the parameter k is equal to or greater than the value d, it is confirmed that all the correlation coefficient comparison processes have not been completed (step 302), and the correlation coefficient N ··· which is determined by the value of the parameter k at that time. It is determined whether Corr sgn (n, k) is greater than or equal to the parameter max (step 303). When
相関係数N・Corrsgn(n,k)がパラメータmax以上であると、パラメータmaxの値を、そのときの処理対象の相関係数N・Corrsgn(n,k)の値に置き換えると共に、パラメータkmaxの値をそのときのパラメータkに置き換える(ステップ304)。 If the correlation coefficient N · Corr sgn (n, k) is equal to or greater than the parameter max, the value of the parameter max is replaced with the value of the correlation coefficient N · Corr sgn (n, k) to be processed at that time, The parameter kmax is replaced with the parameter k at that time (step 304).
ステップ303の判別で相関係数N・Corrsgn(n,k)がパラメータmaxより小さいという結果を得た場合や、ステップ304の処理が終了した場合には、パラメータkを1デクリメントした後(ステップ305)、上述したステップ302に戻る。
When it is determined in
ステップ302〜ステップ305の処理ループを繰り返すことにより、相関係数N・Corrsgn(n,d+M)から相関係数N・Corrsgn(n,d)へ向けて1個ずつの相関係数N・Corrsgn(n,k)がその時点の最大値maxと比較され、最大値max以上であれば、最大値max及び時間差kmaxが更新される。
By repeating the processing loop of
M+1個の相関係数N・Corrsgn(n,d+M)〜N・Corrsgn(n,d)の全てに対し、ステップ302〜ステップ305の処理ループが実行されたときには、ステップ302で否定結果が得られ、図7に示す一連の処理を終了する。この終了時のパラメータkmaxの値が、入力信号X(n)のピッチ周期として出力される。
When the processing loop from
なお、M+1個の相関係数の中に同一の最大値をとるものが複数あっても、ステップ303がイコールを含めて比較し、イコールでもステップ304でパラメータkmaxを更新するようにしたので、より短い時間差の方がピッチ周期として検出されるようになっている。
Even if there are a plurality of M + 1 correlation coefficients that have the same maximum value,
なお、当業者であるならば、最大値検出器107をハードウェア構成によって実現し、図7に示すループ処理を1つの相関係数につき1マシンサイクルの処理時間で実現することは容易であろう。
Note that it would be easy for those skilled in the art to realize the
(A−3)実施形態の効果
[効果1]少ない演算量
非特許文献1記載の従来技術によるピッチ周期の算出に要する演算量は、上述したように、N(M/4+7/2)+α(M/2+5)マシンサイクルである。これに対して、上記実施形態ではM+1マシンサイクルである。
(A-3) Effect of Embodiment [Effect 1] Small Computation Amount As described above, the computation amount required to calculate the pitch period according to the prior art described in
例えば、非特許文献1に記載の従来技術で採用されているパラメータNとMの値は、それぞれN=160、M=80である。これを代入すると、従来技術では3760+45αマシンサイクルで、実施形態では81マシンサイクルである。αは、従来技術において(3)式を算出するに要するマシンサイクル数である。ここで、α=40と控えめな値を想定すると、従来技術では5560マシンサイクルとなる(実施形態はαに関係しないので81マシンサイクルである)。
For example, the values of parameters N and M employed in the prior art described in
すなわち、実施形態によれば、従来技術で要した演算量を約1/70と劇的に低減している。 That is, according to the embodiment, the amount of calculation required in the conventional technique is dramatically reduced to about 1/70.
しかも、上記実施形態では、従来技術がピッチ探索で実施していたパラメータNとMに関する間引き処理は実施しておらず、真のピッチの見逃しを皆無にしている。仮に、従来技術と同様に間引き処理を実施形態にも適用すると、演算量は従来技術と比較して約1/140に低減できることになる。 In addition, in the above-described embodiment, the thinning-out process regarding the parameters N and M, which has been performed in the pitch search in the prior art, is not performed, and the true pitch is not overlooked. If the thinning process is applied to the embodiment as in the conventional technique, the amount of calculation can be reduced to about 1/140 compared to the conventional technique.
[効果2]乗算/除算/平方根の排除
一般に、乗算、除算、平方根演算と加算演算を比較すると、ハードウェア規模と処理時間はいずれも加算演算の方が小さい。上記実施形態は、(12)式に従って処理されるので、乗算、除算、平方根演算が不要であり、ハードウェア規模、処理時間、消費電力を低減することができる。
[Effect 2] Elimination of Multiplication / Division / Square Root In general, when multiplication, division, and square root operations are compared with an addition operation, both the hardware scale and the processing time are smaller in the addition operation. Since the above embodiment is processed according to equation (12), multiplication, division, and square root calculation are unnecessary, and the hardware scale, processing time, and power consumption can be reduced.
[効果3]性能比較
非特許文献1記載の従来技術によるピッチ推定と実施形態によるピッチ推定を用いて、非特許文献1記載の従来技術で標準化されているパケット損失補償を実施した結果について説明する。
[Effect 3] Performance Comparison The results of performing packet loss compensation standardized in the prior art described in
実施条件としては、音源は男声60秒とし、パケット廃棄率は1%〜50%とし、音源を信号(S)、音源とパケット損失補償による再生波形との差分を雑音(N)と見なしSN比を測定する。なお、従来技術によるピッチ推定の演算には倍精度浮動小数点を使用した。実施結果を図8に示す。 As an implementation condition, the sound source is male voice 60 seconds, the packet discard rate is 1% to 50%, the sound source is a signal (S), and the difference between the sound source and the waveform reproduced by the packet loss compensation is regarded as noise (N). Measure. A double-precision floating point was used for the calculation of pitch estimation according to the prior art. An implementation result is shown in FIG.
パケット損失率1%〜50%の範囲においては、SN比の差分はコンマ数dB以内である。特に、パケット損失率1%の近辺では差分はない。パケット損失率については、TTC標準JT−Y1541(ITU−T勧告Y.1541)「IPベースサービスにおけるネットワーク目標」で規定されており、クラス0〜4では0.1%、クラス5では無指定となっている。よって、クラス0〜4の品質を有する通信網においては、実施形態のピッチ推定器を利用したパケット損失補償を使用しても何ら遜色はないことになる。
In the packet loss rate range of 1% to 50%, the difference in the SN ratio is within the number of commas dB. In particular, there is no difference near the packet loss rate of 1%. The packet loss rate is defined in TTC standard JT-Y1541 (ITU-T recommendation Y.1541) “Network target in IP-based service”, 0.1% for
(B)他の実施形態
上記実施形態の説明においても、種々変形実施形態に言及したが、さらに、以下に例示するような変形実施形態を挙げることができる。
(B) Other Embodiments In the description of the above-described embodiment, various modified embodiments have been referred to. However, modified embodiments as exemplified below can be cited.
上記実施形態では、自己相関演算器を概ねハードウェアで構成したものを示したが、CPUが実行するソフトウェア(自己相関演算プログラム)として構成するようにしても良い。同様に、ピッチ推定器に関しても、ソフトウェア(ピッチ推定プログラム)として構成するようにしても良い。この場合であっても、ハードウェア規模の削減を除けば、上記実施形態と同様な効果を奏することができる。 In the above-described embodiment, the autocorrelation calculator is generally configured by hardware, but may be configured as software (autocorrelation calculation program) executed by the CPU. Similarly, the pitch estimator may be configured as software (pitch estimation program). Even in this case, the same effects as those of the above-described embodiment can be obtained except for the reduction of the hardware scale.
また、上記実施形態では、入力信号が音声信号であるものを示したが、信号の種類は音声信号に限定されるものではなく、一般の離散値系信号であっても良い。 In the above embodiment, the input signal is an audio signal. However, the type of the signal is not limited to the audio signal, and may be a general discrete value system signal.
本発明の自己相関演算器は、上記実施形態のような構成要素の組で構成されたものに限定されず、要は、入力信号X(n)を1ビット信号Xbin(n)に変換した後に、上述した(12)式を実行できる構成であれば良い。 The autocorrelation calculator according to the present invention is not limited to the one configured by the set of components as in the above embodiment. In short, the input signal X (n) is converted into the 1-bit signal X bin (n). It suffices if the configuration can execute the above-described expression (12) later.
上記実施形態においては、入力信号X(n)を1ビット信号Xbin(n)に変換した後、自己相関を算出する時間差kを考慮するものを示したが、入力信号X(n)を2系列に分離して時間差kを付与する処理(例えば、一方を遅延させる処理)を行った後に、1ビット信号に変換するようにしても良い。特許請求の範囲の表現は、このような変形例を必ずしも含んでいないが、このような変形例を特許請求の範囲はカバーしているものとする。 In the above embodiment, the input signal X (n) is converted into the 1-bit signal X bin (n) and then the time difference k for calculating the autocorrelation is considered. It may be converted into a 1-bit signal after performing processing for separating the sequences and giving the time difference k (for example, processing for delaying one). The expression of the claims does not necessarily include such a modification, but the claim covers such a modification.
さらにまた、上記実施形態においては、自己相関演算器をピッチ推定器に適用したものを示したが、自己相関演算器の適用装置はこれに限定されない。 Furthermore, in the above embodiment, the autocorrelation calculator is applied to the pitch estimator. However, the application apparatus of the autocorrelation calculator is not limited to this.
100:ピッチ推定器、101:符号ビット抽出器、102、103:シフトレジスタ、104:排他的論理和ゲート群、105:加算器、106:減算器、107:最大値検出器。 100: pitch estimator, 101: sign bit extractor, 102, 103: shift register, 104: exclusive OR gate group, 105: adder, 106: subtractor, 107: maximum value detector.
Claims (5)
離散的時間信号X(n)を、そのダイナミックレンジの中間値未満か中間値か中間値超過かに応じた1ビット信号Xbin(n)に変換する2値符号化手段と、
上記2値符号化手段からの1ビット信号Xbin(n)に基づき、(A)式に従う演算を実行し、その演算結果を上記自己相関係数Corr(n,k)として出力する演算手段と
を有することを特徴とする自己相関演算器。
Binary encoding means for converting the discrete time signal X (n) into a 1-bit signal X bin (n) according to whether the dynamic range is less than the intermediate value, intermediate value, or excess intermediate value;
Calculation means for executing an operation according to the equation (A) based on the 1-bit signal X bin (n) from the binary encoding means and outputting the calculation result as the autocorrelation coefficient Corr (n, k); An autocorrelation calculator comprising:
上記2値符号化手段からの1ビット信号Xbin(n)を、少なくとも(A)式における現在側で必要となるNビット分だけ保持、出力する第1のNビット信号保持部と、
上記2値符号化手段からの1ビット信号Xbin(n)を、少なくとも(A)式における過去側で必要となるNビット分だけ保持、出力する第2のNビット信号保持部と、
上記第1及び第2の1ビット信号保持手段から出力された計Nビットの1ビット信号に対し、ビット単位に排他的論理和演算を行う排他的論理和演算部と、
Nビットの排他的論理和演算の出力の中から論理「1」のビット数を整数値に変換すると共に、この整数値を2倍する総和・2倍化部と、
Nから、上記総和・2倍化部による整数値を減算する減算部と
を有することを特徴とする請求項1に記載の自己相関演算器。 The computing means is
A first N-bit signal holding unit that holds and outputs the 1-bit signal X bin (n) from the binary encoding means for at least N bits required on the current side in the equation (A);
A second N-bit signal holding unit that holds and outputs the 1-bit signal X bin (n) from the binary encoding means for at least N bits required on the past side in the equation (A);
An exclusive OR operation unit that performs an exclusive OR operation on a bit-by-bit basis for a total of 1-bit signals output from the first and second 1-bit signal holding means;
Converting the number of logical “1” bits from the output of the exclusive OR operation of N bits into an integer value, and a summation / doubling unit for doubling the integer value;
The autocorrelation computing unit according to claim 1, further comprising: a subtracting unit that subtracts an integer value from the sum / doubling unit from N.
2値符号化手段及び演算手段を有し、
上記2値符号化手段は、離散的時間信号X(n)を、そのダイナミックレンジの中間値未満か中間値か中間値超過かに応じた1ビット信号Xbin(n)に変換し、
上記演算手段は、上記2値符号化手段からの1ビット信号Xbin(n)に基づき、(B)式に従う演算を実行し、その演算結果を上記自己相関係数Corr(n,k)として出力する
ことを特徴とする自己相関演算方法。
A binary encoding means and an arithmetic means;
The binary encoding means converts the discrete time signal X (n) into a 1-bit signal X bin (n) according to whether the dynamic range is less than the intermediate value, the intermediate value, or the intermediate value,
The calculation means executes a calculation according to the equation (B) based on the 1-bit signal X bin (n) from the binary encoding means, and the calculation result is set as the autocorrelation coefficient Corr (n, k). An autocorrelation calculation method characterized by output.
離散値系信号X(n)の時間差kについての自己相関係数Corr(n,k)を算出する自己相関演算器と、
上記自己相関演算器からの、時間差kが異なる複数の自己相関係数Corr(n,k)の中から、その絶対値の最大値を与える時間差をピッチ周期として検出する最大値検出手段とを有し、
上記自己相関演算器として、請求項1又は2に記載のものを適用した
ことを特徴とするピッチ推定器。 In the pitch estimator for detecting the pitch period of the discrete value system signal X (n),
An autocorrelation calculator that calculates an autocorrelation coefficient Corr (n, k) for the time difference k of the discrete value system signal X (n);
A maximum value detecting means for detecting, as a pitch period, a time difference giving the maximum absolute value from a plurality of autocorrelation coefficients Corr (n, k) having different time differences k from the autocorrelation calculator; And
The pitch estimator according to claim 1 or 2, wherein the autocorrelation calculator is applied.
自己相関演算器と最大値検出手段とを有し、
上記自己相関演算器は、離散値系信号X(n)の時間差kについての自己相関係数Corr(n,k)を算出し、
上記最大値検出手段は、上記自己相関演算器からの、時間差kが異なる複数の自己相関係数Corr(n,k)の中から、その絶対値の最大値を与える時間差をピッチ周期として検出し、
上記自己相関演算器は、自己相関演算方法として、請求項3に記載の方法を適用している
ことを特徴とするピッチ推定方法。 In the pitch estimation method for detecting the pitch period of the discrete value system signal X (n),
An autocorrelation calculator and maximum value detection means;
The autocorrelation calculator calculates an autocorrelation coefficient Corr (n, k) for a time difference k of the discrete value system signal X (n),
The maximum value detecting means detects, as a pitch period, a time difference giving the maximum absolute value from a plurality of autocorrelation coefficients Corr (n, k) having different time differences k from the autocorrelation calculator. ,
4. The pitch estimation method according to claim 3, wherein the autocorrelation calculator applies the method according to claim 3 as an autocorrelation calculation method.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2006347738A JP2008158312A (en) | 2006-12-25 | 2006-12-25 | Pitch estimator, pitch estimation method, self-correlation computing device, and self-correlation computation method |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2006347738A JP2008158312A (en) | 2006-12-25 | 2006-12-25 | Pitch estimator, pitch estimation method, self-correlation computing device, and self-correlation computation method |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JP2008158312A true JP2008158312A (en) | 2008-07-10 |
Family
ID=39659270
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2006347738A Pending JP2008158312A (en) | 2006-12-25 | 2006-12-25 | Pitch estimator, pitch estimation method, self-correlation computing device, and self-correlation computation method |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP2008158312A (en) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2012095924A1 (en) * | 2011-01-14 | 2012-07-19 | パナソニック株式会社 | Coding device, communication processing device, and coding method |
Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS62269200A (en) * | 1986-05-16 | 1987-11-21 | 三洋電機株式会社 | Voice pitch extraction system |
| JPH01159697A (en) * | 1987-12-17 | 1989-06-22 | Matsushita Electric Ind Co Ltd | voice recognition device |
| JPH076230A (en) * | 1993-03-15 | 1995-01-10 | Schlumberger Technol Inc | Offset determination between IC images |
| JPH11248817A (en) * | 1998-02-26 | 1999-09-17 | Communication Research Laboratory | Correlation method for digital data |
-
2006
- 2006-12-25 JP JP2006347738A patent/JP2008158312A/en active Pending
Patent Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS62269200A (en) * | 1986-05-16 | 1987-11-21 | 三洋電機株式会社 | Voice pitch extraction system |
| JPH01159697A (en) * | 1987-12-17 | 1989-06-22 | Matsushita Electric Ind Co Ltd | voice recognition device |
| JPH076230A (en) * | 1993-03-15 | 1995-01-10 | Schlumberger Technol Inc | Offset determination between IC images |
| JPH11248817A (en) * | 1998-02-26 | 1999-09-17 | Communication Research Laboratory | Correlation method for digital data |
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2012095924A1 (en) * | 2011-01-14 | 2012-07-19 | パナソニック株式会社 | Coding device, communication processing device, and coding method |
| JP5722916B2 (en) * | 2011-01-14 | 2015-05-27 | パナソニック インテレクチュアル プロパティ コーポレーション オブアメリカPanasonic Intellectual Property Corporation of America | Encoding apparatus and encoding method |
| US9324331B2 (en) | 2011-01-14 | 2016-04-26 | Panasonic Intellectual Property Corporation Of America | Coding device, communication processing device, and coding method |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US5936870A (en) | Arithmetic operating device for digital signal processing and method therefor | |
| US20160342393A1 (en) | Multiply-and-accumulate unit in carry-save adder format and application in a feedback loop equalizer | |
| CA2698269C (en) | Fast computation of products by dyadic fractions with sign-symmetric rounding errors | |
| WO2008001012A2 (en) | Cabac type encoding device and method | |
| US20050174188A1 (en) | Compressing device and method, decompressing device and method, compressing/decompressing system, program, record medium | |
| CN108196248B (en) | Radar digital pulse compression and DC removal method based on FPGA | |
| JPH09325955A (en) | Square root arithmetic circuit for sum of squares | |
| JP2008158312A (en) | Pitch estimator, pitch estimation method, self-correlation computing device, and self-correlation computation method | |
| JP2000252795A (en) | Moving average filter | |
| JP3833884B2 (en) | Digital filter | |
| EP4044433B1 (en) | Finite impulse response filter (fir) | |
| JP2007006525A (en) | Method and apparatus for removing noise | |
| CN109274460A (en) | Multi-bit parallel structure serial cancellation decoding method and device | |
| US7472147B2 (en) | Random number string output apparatus, random number string output method, program, and information recording medium | |
| JPWO2006022089A1 (en) | Multiplier | |
| JP2007163318A (en) | Radar signal processing device and its method of detecting certain false alarm probability | |
| JP2005020554A (en) | Digital filter | |
| JP3147864B2 (en) | Adaptive step size control adaptive filter and adaptive step size control method | |
| JP2008158855A (en) | Correlation computing element and correlation computing method | |
| CN116540977B (en) | Modulo multiplier circuit, FPGA circuit and ASIC module | |
| JP2008160536A (en) | Propagation delay time estimator and propagation delay time estimating method | |
| JP2004289417A (en) | Digital filter | |
| JP2006287634A (en) | Signal processing apparatus, signal processing method, and noise reduction apparatus | |
| JP2007312195A (en) | Pipeline type a/d converter | |
| CN109698801B (en) | Signal interpolation operation system and processing system applied to LTE frequency offset estimation compensation |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20091005 |
|
| A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A712 Effective date: 20110114 |
|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20110610 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20110726 |
|
| A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20111122 |