[go: up one dir, main page]

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 PDF

Info

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
Application number
JP2006347738A
Other languages
Japanese (ja)
Inventor
Koichi Kihara
弘一 木原
Ken Masuya
謙 桝屋
Takashi Ishiguro
高詩 石黒
Junji Arai
淳治 新井
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Oki Electric Industry Co Ltd
Oki Comtec Ltd
Original Assignee
Oki Electric Industry Co Ltd
Oki Comtec Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Oki Electric Industry Co Ltd, Oki Comtec Ltd filed Critical Oki Electric Industry Co Ltd
Priority to JP2006347738A priority Critical patent/JP2008158312A/en
Publication of JP2008158312A publication Critical patent/JP2008158312A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To detect a pitch period of a signal of discrete value system with less computation amount. <P>SOLUTION: A pitch estimator has a self-correlation computation unit which computes a self-correlation coefficient Corr(n, k) for a time difference k of a signal X(n) of discrete value system; and a maximum value detection means which detects, as a pitch period, a time difference which gives a maximum value from among the absolute values of a plurality of self-correlation coefficients Corr(n, k) which are different in time difference k, from the self-correlation coefficients Corr(n, k). The self-correlation computation device has a binary value encoding means which converts the signal X(n) to one bit signal X<SB>bin</SB>(n), which conforms to a value below an intermediate value in its dynamic range or to the intermediate value or a value over the intermediate value; and a computation means which computes a self-correlation value of the one bit signal X<SB>bin</SB>(n) and outputs it as a self-correlation coefficient Corr(n, k). <P>COPYRIGHT: (C)2008,JPO&INPIT

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 Document 1, the speech pitch period is obtained by calculating the autocorrelation of the speech signal of a certain interval received immediately before the packet loss, A past signal corresponding to this period is cut out and reproduced in place of the voice information of the lost packet, thereby relieving the deterioration of the call quality.

[ピッチ推定]
一般に、2つの離散値系の時間信号X(n)とY(n−k)の正規化相互相関係数Corr(n,k)は(1)式で定義されている。

Figure 2008158312
[Pitch estimation]
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).
Figure 2008158312

ここで、離散値系の時間信号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 Non-Patent Document 1, the correlation calculation performed when estimating the pitch period is a dominant term of the calculation amount required for the algorithm.

ここでは、まず、一般的な正規化相互相関演算に要する演算量を見積もることにする。   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乗和Sを定義すると、時刻がn−1からnに更新されるときに、(3)式に示す演算を要するので、上式の演算量を積和演算の回数に換算してα回で算出できると仮定しよう。なお、非特許文献1では、この計算はkに寄与しないため省略されている。同じく、分母の右側の平方根については、kが更新されるたびに(3)式と同様の処理を要する。

Figure 2008158312
Next, a calculation amount is obtained for the square root on the left side of the denominator. Since the variable k does not appear in this term, it may be calculated once every time n is updated. If the sum of squares S X at time n−1 is defined as shown in equation (2), the calculation shown in equation (3) is required when the time is updated from n−1 to n. Let's assume that the amount of calculation in the equation can be calculated α times by converting it to the number of product-sum operations. In Non-Patent Document 1, this calculation is omitted because it does not contribute to k. Similarly, for the square root on the right side of the denominator, the same processing as in equation (3) is required every time k is updated.
Figure 2008158312

以上から、(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)式を採用している。

Figure 2008158312
NM + αM + α (4)
[Reduction of calculation amount by conventional technology]
According to Non-Patent Document 1, the normalized autocorrelation coefficient for calculating the pitch period employs equation (5) obtained by modifying equation (1).
Figure 2008158312

ここで、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αとなる。
TTC JT−G711,付録1 標準JT−G711向けパケット損失補償のための高品質低演算量アルゴリズム
N / 2 (M / 2-1) + α (M / 2 + 1) + α + 3N + 3α
= N (M / 4 + 7/2) + α (M / 2 + 5) (6)
In Non-Patent Document 1, N = 160 and M = 80. Further, α depends on a numerical format to be used (fixed point or floating point, operation word length) and operation hardware. When the values of N and M are substituted into equation (6), the amount of calculation required for pitch estimation in Non-Patent Document 1 is 3760 + 45α.
TTC JT-G711, Appendix 1 High Quality Low Complexity Algorithm for Packet Loss Compensation for Standard JT-G711

非特許文献1による(5)式の相関演算を使用した音声信号のピッチ検出は、(5)式をなるべく数学的に正確、かつ、短時間で算出する要求があるときには有効な方法である。   The sound signal pitch detection using the correlation calculation of equation (5) according to Non-Patent Document 1 is an effective method when there is a need to calculate equation (5) as mathematically as possible and in a short time.

しかしながら、応用上の観点からは、相関係数を数学的に正確に求めることよりも、極力短時間、かつ、ハードウェア小規模な演算器を利用して相関係数を得たいとする要求が多い。   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 Non-Patent Document 1 is surely effective in a communication network with poor communication quality and a large packet loss rate, and satisfies the cost / performance ratio of the function. On the other hand, in communication networks with good call quality and a small packet loss rate, the packet loss compensation function rarely operates, but it occurs due to a failure of a relay router in the communication network. If the performance is sufficient to enable simultaneous packet loss compensation for all channels at the same time in preparation for a momentary interruption of all the accommodated voice channels, the cost / performance value of the relevant function at this time will be significantly degraded. Will be. Therefore, there is a very strong demand to obtain the correlation coefficient using a small-scale computing unit in a short time as much as possible, rather than calculating the correlation coefficient mathematically accurately. is there.

非特許文献1による(5)式の自己相関演算を使用した音声信号のピッチ推定器は、その演算精度が過剰品質になる可能性があり、かつ、演算量の低減は高々数分の1程度であり、かつ、この演算低減のために相関演算を間引いて実行しているため真の音声ピッチ周期を見逃すリスクがあり、かつ、依然として乗算、除算、平方根の演算が必要となりハードウェア規模の低減化には何ら寄与していないという課題がある。   In the speech signal pitch estimator using the autocorrelation calculation of equation (5) according to Non-Patent Document 1, the calculation accuracy may become excessive quality, and the calculation amount is reduced to about a fraction of at most. In addition, there is a risk of missing the true voice pitch period because the correlation operation is thinned out and executed to reduce this operation, and multiplication, division, and square root operations are still required, reducing the hardware scale There is a problem that it does not contribute at all.

本発明は、以上の点に鑑みなされたものであり、少ない演算量で所望する値を算出することができるピッチ推定器及び自己相関演算器や、そのようなピッチ推定器及び自己相関演算器に適用可能なピッチ推定方法及び自己相関演算方法を提供しようとしたものである。   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)として出力する演算手段とを有することを特徴とする。

Figure 2008158312
The first aspect of the present invention uses a predetermined section of the discrete value system signal X (n) (the number of samples in this section is N) as a reference signal, and from this, the self-phase relationship with the same signal in the predetermined section N in the past by time k In the autocorrelation computing unit for calculating the number Corr (n, k), (1) a 1-bit signal corresponding to whether the discrete time signal X (n) is less than an intermediate value, an intermediate value, or an intermediate value of the dynamic range Binary encoding means for converting to X bin (n), and (2) an operation according to the equation (A) based on the 1-bit signal X bin (n) from the binary encoding means, and the operation result Is calculated as the autocorrelation coefficient Corr (n, k).
Figure 2008158312

但し、+を丸で囲んだ記号は排他的論理和演算を表している。   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)として出力することを特徴とする。

Figure 2008158312
The second aspect of the present invention uses a predetermined section of the discrete value system signal X (n) (the number of samples in this section is N) as a reference signal, and from this, the self-phase relationship with the same signal in the predetermined section N in the past by time k In the autocorrelation calculation method for calculating the number Corr (n, k), (0) binary encoding means and calculation means are provided. (1) The binary encoding means includes a discrete time signal X (n). Is converted into a 1-bit signal X bin (n) corresponding to whether the dynamic range is less than the intermediate value, the intermediate value, or the intermediate value, and (2) the arithmetic means outputs one bit from the binary encoding means. Based on the signal X bin (n), the calculation according to the equation (B) is executed, and the calculation result is output as the autocorrelation coefficient Corr (n, k).
Figure 2008158312

但し、+を丸で囲んだ記号は排他的論理和演算を表している。   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)式で定義されている。

Figure 2008158312
In general, the normalized autocorrelation coefficient Corr (n, k) of the discrete-time signal X (n) is defined by equation (7).
Figure 2008158312

ここで、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)式のように定義する。

Figure 2008158312
Next, a signal obtained by encoding the signal X (n) into a binary value of ± 1 is expressed as X sgn (n) and is defined as shown in Equation (8).
Figure 2008158312

ここで、動作開始直後に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とする。

Figure 2008158312
The normalized autocorrelation coefficient Corr sgn (n, k) of the binarized signal X sgn (n) can be expressed by equation (9). In the formula (9), d ≦ k ≦ d + M.
Figure 2008158312

(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)式のように変形する。

Figure 2008158312
As is apparent from FIG. 3, the multiplication of the signal binarized to ± 1 corresponds to an exclusive OR in the binary number. Thus, X bin (n-i) ∧X bin sum of (n-k-i) from i = 0 for up to N-1 ΣX bin (n- i) ∧X bin (n-k-i) is , ΣX sgn (n−i) X sgn (n−k−i) (the sum is from i = 0 to N−1), X sgn (n−i) X sgn (n−k−i) is −1 Will be expressed. Conversely, the number of X sgn (n−i) X sgn (n−k−i) that is 1 is N−ΣX bin (n−i) ∧X bin (n−k−i). Therefore, equation (10) is established. Here, when the normalized autocorrelation coefficient Corr sgn (n, k) is expressed using the binary notation X bin (n), equation (11) is obtained. In equation (11), 1 / N, which is a normalization process, is a mere constant and is not worth computing in application, so equation (11) is transformed into equation (12).
Figure 2008158312

(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 sign bit extractor 101, shift registers 102 and 103, an exclusive OR gate group 104, an adder 105, a subtractor 106, and a maximum value detector 107.

ここで、符号ビット抽出器101、シフトレジスタ102、103、排他的論理和ゲート群104、加算器105及び減算器106でなる構成部分は、自己相関演算器を構成している。   Here, a component part including the sign bit extractor 101, the shift registers 102 and 103, the exclusive OR gate group 104, the adder 105, and the subtractor 106 constitutes an autocorrelation calculator.

符号ビット抽出器101には離散的時間信号X(n)が入力され、符号ビット抽出器101は、入力信号X(n)の正値、負値、0に応じて、(13)式に従って、1ビット信号Xbin(n)を出力するものである。(13)式における上バーの付与は、付与されているビット値の否定、つまり、付与されているビット値のビット反転を表している。なお、この明細書では、ビット反転を、反転対象の値を表す符号の前に「/」を付与して表すこととする。

Figure 2008158312
A discrete time signal X (n) is input to the sign bit extractor 101, and the sign bit extractor 101 is in accordance with the expression (13) according to the positive value, the negative value, and 0 of the input signal X (n). A 1-bit signal X bin (n) is output. The addition of the upper bar in the equation (13) represents the negation of the assigned bit value, that is, the bit inversion of the assigned bit value. In this specification, bit inversion is represented by adding “/” in front of a sign representing a value to be inverted.
Figure 2008158312

なお、処理対象の離散的時間信号が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 sign bit extractor 101.

図4は、離散的時間信号X(n)の数値フォーマットが2の補数であるときの符号ビット抽出器101の具体的構成例を示している。   FIG. 4 shows a specific configuration example of the sign bit extractor 101 when the numerical format of the discrete time signal X (n) is 2's complement.

図4において、符号ビット抽出器101は、NORゲート201、2−1セレクタ202、NOTゲート203及びレジスタ204を有する。   In FIG. 4, the sign bit extractor 101 includes a NOR gate 201, a 2-1 selector 202, a NOT gate 203, and a register 204.

入力信号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 gate 201. The output of the NOR gate 201 is 1 only when X (n) = 0, and 0 otherwise, and this output signal is The signal is supplied to the selection control terminal of the 2-1 selector 202.

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 selector 202, and the output from the sign bit extractor 101 is input to the other input terminal of the 2-1 selector 202. signal X signal before one unit time of the bin (n) X bin (n -1) and the bit inversion / X bin (n-1) is input. 2-1 selector 202, in response to the output signal of the NOR gate 201, select when the input signal X (n) is 0 only / X bin (n-1) , the output of the 2-1 selector 202 X bin ( n), otherwise, the sign bit of the input signal X (n) is selected and appears as X bin (n) in the output of the selector 202.

レジスタ204は、2−1セレクタ202の出力信号Xbin(n)を格納するレジスタであり、格納値は、入力信号X(n)の標本化レートに同期して更新される。よって、当該レジスタ204の出力は、出力信号Xbin(n)の1単位時間前の値であるXbin(n−1)となる。 The register 204 is a register for storing the output signal Xbin (n) of the 2-1 selector 202, and the stored value is updated in synchronization with the sampling rate of the input signal X (n). Therefore, the output of the register 204 is X bin (n−1) which is a value one unit time before the output signal X bin (n).

レジスタ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 register 204 is input to the NOT gate 203, and the NOT gate 203 bit-inverts this signal X bin (n−1) to / X bin (n−1) as 2- 1 is given to the selector 202.

図4に示す符号ビット抽出器101の構成例は、あくまでも上述した(13)式を具現化するための単なる一例である。例えば、符号ビット抽出器101からの出力信号Xbin(n)を標本化レートに同期して更新した方が望ましいときは、レジスタ204の出力を符号ビット抽出器101からの出力信号Xbin(n)としても良い。また、数値フォーマットが2の補数でないときであっても、(13)式を満足させるように、その数値フォーマットに応じて符号ビット抽出器を設計すれば良い。 The configuration example of the code bit extractor 101 shown in FIG. 4 is merely an example for realizing the above-described equation (13). For example, when it is desirable to update the output signal X bin (n) from the sign bit extractor 101 in synchronization with the sampling rate, the output of the register 204 is used as the output signal Xbin (n) from the sign bit extractor 101. It is also good. Even when the numerical format is not 2's complement, the sign bit extractor may be designed in accordance with the numerical format so as to satisfy the expression (13).

図1の2つのシフトレジスタ102及び103、並びに、排他的論理和ゲート群104は、上述した(12)式の要素演算である、(14)式に示す排他的論理和演算を、iについて0≦i<Nの範囲でパラレルに1マシンサイクルで実施し、かつ、kについてd≦k≦d+Mの範囲でM+1マシンサイクルで実施するものである。   The two shift registers 102 and 103 and the exclusive OR gate group 104 in FIG. 1 perform the exclusive OR operation shown in the equation (14), which is the element operation of the above equation (12), with respect to i. It is executed in one machine cycle in parallel in the range of ≦ i <N, and in M + 1 machine cycles in the range of d ≦ k ≦ d + M for k.

bin(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 shift register 102 forms the element X bin (n−i) on the left side of the equation (14) as much as necessary for the summation of the equation (12), and the shift register 103 has the right side of the equation (14). Elements X bin (n−k−i) are formed as much as necessary for the summation of equation (12), and the exclusive OR gate group 104 has N exclusive gates related to the summation of equation (12). A value of logical sum is formed.

図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 gate group 104.

なお、以下で説明するが、図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 gate group 104, the place to be described as X bin (n) is simply described as X (n).

図5に示すシフトレジスタ102は、シリアル入力パラレル出力機能を具備したNビットのシフトレジスタである。当該シフトレジスタ102は、シリアル入力端子SI、シフトイネーブル入力端子SE、クロック入力端子CK及びパラレル出力端子(このパラレル出力端子に対応する格納部を適宜、レジスタと呼ぶ)Qx(0)〜Qx(N−1)を有する。以下の説明では、入出力端子に係る信号も、入出力端子と同じ符号を用いて説明する。   The shift register 102 shown in FIG. 5 is an N-bit shift register having a serial input parallel output function. The shift register 102 includes a serial input terminal SI, a shift enable input terminal SE, a clock input terminal CK, and a parallel output terminal (a storage unit corresponding to the parallel output terminal is appropriately referred to as a register) Qx (0) to Qx (N -1). In the following description, signals related to the input / output terminals are also described using the same reference numerals as the input / output terminals.

シフトイネーブル信号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 sign bit extractor 101 shown in FIG. The output signal X bin (n) is stored in the register Qx (0) via the serial input SI. Accordingly, at time n, the output terminals Qx (0) to Qx (N−1) of the shift register 102 have N bits from the signals X bin (n) to X bin (n− (N−1)). Until the next input X bin (n + 1) is input, while maintaining this output state, these N bits X bin (n) to X bin (n− (N−1)) are exclusive. To the logical OR gate group 104.

また、シフトレジスタ102の出力端子Qx(d−1)の信号はシフトレジスタ103にも供給される。   The signal at the output terminal Qx (d−1) of the shift register 102 is also supplied to the shift register 103.

図5に示すシフトレジスタ103は、シリアル入力パラレル出力機能、パラレル入力ローディング機能、及び、ローテイトシフト機能(巡回シフト機能)を具備したN+Mビットのシフトレジスタである。   The shift register 103 shown in FIG. 5 is an N + M-bit shift register having a serial input parallel output function, a parallel input loading function, and a rotate shift function (cyclic shift function).

シフトレジスタ103は、シフトレジスタ102から任意の標本化周期だけ遅延して出力される1ビット情報を保持し、標本化周期で時系列的にビットシフトされ、かつ、1つの標本化周期内で、一定回数ローテイトシフトされ、かつ、このローテイトシフト後に再度、シフトレジスタ102から任意の標本化周期だけ遅延して出力される1ビット情報を入力する際に、前回入力時から1ビットシフトした状態にすることが可能なローディング機能を有する。   The shift register 103 holds 1-bit information output from the shift register 102 after being delayed by an arbitrary sampling period, is bit-shifted in time series in the sampling period, and within one sampling period, When 1-bit information that has been rotated by a predetermined number of times and is output from the shift register 102 after being delayed by an arbitrary sampling period is shifted by 1 bit from the previous input. It has a loading function that can.

シフトレジスタ103は、シリアル入力端子SI、シフトイネーブル入力端子SE、ロードイネーブル入力端子LE、クロック入力端子CK、パラレル入力端子Dk(0)〜Dk(N+M−1)、及び、パラレル出力端子Qk(0)〜Qk(N+M−1)を有する。   The shift register 103 includes a serial input terminal SI, a shift enable input terminal SE, a load enable input terminal LE, a clock input terminal CK, parallel input terminals Dk (0) to Dk (N + M−1), and a parallel output terminal Qk (0 ) To Qk (N + M-1).

パラレル出力端子(レジスタ)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 gate group 104, and the serial output terminal SI has a register output Qk ( N + M-1) is input.

パラレル入力端子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 shift register 102 is input to the parallel input terminal Dk (0), and the value of the parallel output terminal Qk (M) of the shift register 103 is input to the parallel input terminal Dk (1). A value is input,..., The value of the parallel output terminal Qk ((2M−3) mod (N + M) of the shift register 103 is input to the parallel input terminal Dk (M−2), and the parallel input terminal Dk (M− 1) is input with the value of the parallel output terminal Qk ((2M−2) mod (N + M) of the shift register 103, and the parallel input terminal Dk (M) is connected with the parallel output terminal Qk ((2M −1 mod (N + M)) is input, and the parallel output terminal Qk ((2M) m of the shift register 103 is connected to the parallel input terminal Dk (M + 1). d (N + M)) is inputted, and the parallel input terminal Dk (N + M-2) is inputted with the value of the parallel output terminal Qk (M-3) of the shift register 103, and the parallel input terminal Dk (N + M). -1) is inputted with the value of the parallel output terminal Qk (M-2) of the shift register 103.

ここで、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 shift register 103 is expressed in general using this mod, the parallel output terminal Q ((x + M−1) is connected to the parallel input terminal D (x). The value of mod (N + M) is input. However, x ≠ 0. The reason for connecting the shift register 103 as described above will be described later.

シフトレジスタ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 shift register 103 is active, the bit information of the parallel input terminals Dk (0) to Dk (N + M−1) is synchronized with the clock signal CK and the parallel output terminals Qk (0) to Qk. (N + M-1). On the other hand, when the shift enable signal SE of the shift register 103 is active, the values of the respective registers Qk (0) to Qk (N + M−2) are respectively synchronized with the clock signal CK. Shifted from (1) to Q (N + M-1). However, the value of the register Qk (N + M−1) at the final stage is rotated to the register Q (0) via the serial input terminal SI. Note that the load enable signal LE and the shift enable signal SE are never active at the same time.

時刻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)の標本化周波数をfとするときには、(15)式に示す関係を成立させておかなければならない。こうすることにより、(14)式の要素別の演算を、1標本化周期内に、0≦i≦N−1,d+M≧k≧dについて、M+1マシンサイクルで実施することが可能となる。 At time n, the load enable signal LE of the shift register 103 is activated, and X bin (nd), which is the data of the register Qx (d−1) of the shift register 102, is converted into the parallel input terminal Dk of the shift register 103. Load to register Qk (0) via (0). Next, the load enable signal LE of the shift register 103 is made inactive, the shift enable signal SE is made active, and is shifted about M times in synchronization with the clock signal CK. This shift operation must be completed before the next sampled data X bin (n + 1−d) is input from the output Qx (d−1) of the shift register 102. Therefore, when the frequency of the clock signal CK of the shift register 103 is set to f ck and the sampling frequency of the signal X bin (n) is set to f s , the relationship expressed by the equation (15) must be established. By doing so, it is possible to perform the calculation for each element of the equation (14) in M + 1 machine cycles for 0 ≦ i ≦ N−1 and d + M ≧ k ≧ d within one sampling period.

ck≧(M+1)・f …(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 shift register 103 is shifted by about M bits, the signal X bin (nd) has moved to the register Qk (M). The bit information needs to be loaded into the register Qk (1) when the next sampled data X bin (n + 1−d) arrives. This is the reason why the parallel output of the shift register 103 is twisted and connected to its own parallel input as described above.

ところで、上述したようにシフトレジスタ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 shift register 103 are connected to the exclusive OR gate group 104 as described above, when the shift register 103 is loaded. In the equation (12), this corresponds to k = d + M. Next, every time the shift register 103 performs bit shift, k = d + M, d + M−1,. ) The parallel logic operation for 0 ≦ i ≦ N−1 in the equation is executed a total of M + 1 times.

図5の排他的論理和ゲート群104は、N個の排他的論理和ゲートで構成され、2つのシフトレジスタ102及び103からそれぞれ出力されているNビットの信号を入力とし、(12)式の0≦i≦N−1についての排他的論理和演算をパラレルに実施し、Nビットの演算結果情報は、図1の加算器105に供給される。   The exclusive OR gate group 104 shown in FIG. 5 is composed of N exclusive OR gates, and receives N-bit signals output from the two shift registers 102 and 103, respectively. An exclusive OR operation for 0 ≦ i ≦ N−1 is performed in parallel, and N-bit operation result information is supplied to the adder 105 in FIG.

加算器105は、排他的論理和ゲート群104から出力されるNビットの情報中の論理値が1となっているビット数を符号無し整数で算出し、当該算出結果を2倍し、さらに、符号ビットを付与して符号付き整数にすることで、(16)式に示すような、上述した(12)式の右辺第2項の値を算出するものである。加算器105による算出結果は、減算器106に提供される。

Figure 2008158312
The adder 105 calculates the number of bits whose logical value in the N-bit information output from the exclusive OR gate group 104 is 1 as an unsigned integer, doubles the calculation result, By assigning a sign bit to make a signed integer, the value of the second term on the right side of the above-described equation (12) as shown in equation (16) is calculated. The calculation result by the adder 105 is provided to the subtractor 106.
Figure 2008158312

図6は、加算器105の具体的な構成例を示すブロック図である。図6において、加算器105は、第1ステージ〜第rステージの符号無し整数加算器と、MSB・LSB付加部とで構成される。ここで、r=F(logN)であり、関数F(x)はセイリング関数であり、x未満ではない最小の整数を表している。 FIG. 6 is a block diagram illustrating a specific configuration example of the adder 105. In FIG. 6, the adder 105 includes a first stage to an r-th stage unsigned integer adder and an MSB / LSB adding unit. Here, r = F (log 2 N), the function F (x) is a sailing function, and represents the smallest integer not less than x.

まず、第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(logN)+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 adder 105 shown in FIG. 6 can be performed in one machine cycle from the first stage to the final stage (rth stage). However, when r increases, the processing delay in the adder 105 increases, and there is a possibility that it cannot be implemented in one machine cycle. In such a case, a register capable of holding the input signal in synchronization with the clock signal may be provided at an appropriate stage interval. In other words, the pipeline operation as described above increases the processing delay, but does not reduce the processing throughput, and allows the expression (12) to be implemented in an M + 1 machine cycle period.

図1の減算器106は、特に、具体的構成例を挙げるまでもなく、Nから加算器105の出力((12)式の右辺第2項)を減算するものであり、これにより、(12)式が完全に演算されたことになる。   The subtracter 106 in FIG. 1 subtracts the output of the adder 105 (the second term on the right side of the equation (12)) from N, without needing to give a specific configuration example. ) Expression is completely calculated.

図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 maximum value detector 107 in FIG. 1 is obtained when the autocorrelation coefficient N · Corr sgn (n, k) expressed by the equation (12) is changed in a range of d + M ≧ k ≧ d with respect to k. An absolute value is selected from among M + 1 correlation coefficients N · Corr sgn (n, d), N · Corr sgn (n, d + 1), ..., N · Corr sgn (n, d + M) input from the subtractor 106. The index k max of k when maximizing is calculated (estimated) as the pitch period of the input signal X (n).

最大値検出器107は、例えば、CPUが実行するソフトウェアによって実現することができる。図7は、以上のようにソフトウェアによって最大値検出器107を実現した場合における処理の流れを示すフローチャートである。なお、減算器106から相関係数N・Corrsgn(n,d),N・Corrsgn(n,d+1),…,N・Corrsgn(n,d+M)がこの逆の順番で順次入力されるタイミングと、当該最大値検出器107の処理のタイミングとの相違を吸収するようなバッファメモリを最大値検出器107は適宜内蔵する。 The maximum value detector 107 can be realized by software executed by the CPU, for example. FIG. 7 is a flowchart showing the flow of processing when the maximum value detector 107 is realized by software as described above. It should be noted that correlation coefficients N · Corr sgn (n, d), N · Corr sgn (n, d + 1), ..., N · Corr sgn (n, d + M) are sequentially input from the subtractor 106 in the reverse order. The maximum value detector 107 appropriately incorporates a buffer memory that absorbs the difference between the timing and the processing timing of the maximum value detector 107.

図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 step 303 is executed for the first time, since k is d + M, the correlation coefficient N · Corr sgn (n, d + M) is compared with the parameter max.

相関係数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 step 303 that the correlation coefficient N · Corr sgn (n, k) is smaller than the parameter max, or when the process in step 304 is completed, the parameter k is decremented by 1 (step 305), the process returns to step 302 described above.

ステップ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 step 302 to step 305, the correlation coefficient N · Corr sgn (n, d + M) to the correlation coefficient N · Corr sgn (n, d) one by one. Corr sgn (n, k) is compared with the maximum value max at that time. If the maximum value max is exceeded, the maximum value max and the time difference kmax are updated.

M+1個の相関係数N・Corrsgn(n,d+M)〜N・Corrsgn(n,d)の全てに対し、ステップ302〜ステップ305の処理ループが実行されたときには、ステップ302で否定結果が得られ、図7に示す一連の処理を終了する。この終了時のパラメータkmaxの値が、入力信号X(n)のピッチ周期として出力される。 When the processing loop from step 302 to step 305 is executed for all of M + 1 correlation coefficients N · Cor sgn (n, d + M) to N · Corr sgn (n, d), a negative result is obtained in step 302. The series of processes shown in FIG. The value of the parameter kmax at the end is output as the pitch period of the input signal X (n).

なお、M+1個の相関係数の中に同一の最大値をとるものが複数あっても、ステップ303がイコールを含めて比較し、イコールでもステップ304でパラメータkmaxを更新するようにしたので、より短い時間差の方がピッチ周期として検出されるようになっている。   Even if there are a plurality of M + 1 correlation coefficients that have the same maximum value, step 303 compares them including equal, and even if equal, step 304 updates the parameter kmax. A shorter time difference is detected as a pitch period.

なお、当業者であるならば、最大値検出器107をハードウェア構成によって実現し、図7に示すループ処理を1つの相関係数につき1マシンサイクルの処理時間で実現することは容易であろう。   Note that it would be easy for those skilled in the art to realize the maximum value detector 107 with a hardware configuration and realize the loop processing shown in FIG. 7 with a processing time of one machine cycle for one correlation coefficient. .

(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 Non-Patent Document 1 is N (M / 4 + 7/2) + α ( M / 2 + 5) machine cycle. In contrast, in the above embodiment, there are M + 1 machine cycles.

例えば、非特許文献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 Non-Patent Document 1 are N = 160 and M = 80, respectively. Substituting this, 3760 + 45α machine cycles in the prior art and 81 machine cycles in the embodiment. α is the number of machine cycles required to calculate equation (3) in the prior art. Here, assuming a conservative value of α = 40, the prior art has 5560 machine cycles (the embodiment has 81 machine cycles since it is not related to α).

すなわち、実施形態によれば、従来技術で要した演算量を約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 Non-Patent Document 1 using pitch estimation according to the prior art described in Non-Patent Document 1 and pitch estimation according to the embodiment will be described. .

実施条件としては、音源は男声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 class 0 to 4 and unspecified for class 5 It has become. Therefore, in the communication network having the quality of class 0 to 4, even if packet loss compensation using the pitch estimator of the embodiment is used, there is no inferiority.

(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の構成を示すブロック図である。It is a block diagram which shows the structure of the pitch estimator 100 of embodiment. 実施形態の2値化信号Xsgn(n)と2進数表現をXbin(n)との対応関係を説明する図表である。It is a chart explaining the correspondence between the binarized signal X sgn (n) and the binary representation X bin (n) of the embodiment. 実施形態の乗算Xsgn(n−i)Xsgn(n−k−i)における2進数表現との対応関係を説明する図表である。It is a table | surface explaining the corresponding | compatible relationship with the binary number expression in multiplication Xsgn ( ni ) Xsgn ( nki ) of embodiment. 実施形態における符号ビット抽出器101の具体的構成例を示すブロック図である。It is a block diagram which shows the specific structural example of the code bit extractor 101 in embodiment. 実施形態におけるシフトレジスタ102及び103、並びに、排他的論理和ゲート群104の具体的な構成例を示すブロック図である。3 is a block diagram illustrating a specific configuration example of shift registers 102 and 103 and an exclusive OR gate group 104 in the embodiment. FIG. 実施形態における加算器105の具体的な構成例を示すブロック図である。It is a block diagram which shows the specific structural example of the adder 105 in embodiment. 実施形態における最大値検出器107の処理を示すフローチャートである。It is a flowchart which shows the process of the maximum value detector 107 in embodiment. 実施形態における性能面の効果の説明図である。It is explanatory drawing of the effect of the performance surface in embodiment.

符号の説明Explanation of symbols

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)の所定区間(この区間のサンプル数はN)を参照信号とし、これより時間kだけ過去の所定区間Nの同一信号との自己相関係数Corr(n,k)を算出する自己相関演算器において、
離散的時間信号X(n)を、そのダイナミックレンジの中間値未満か中間値か中間値超過かに応じた1ビット信号Xbin(n)に変換する2値符号化手段と、
上記2値符号化手段からの1ビット信号Xbin(n)に基づき、(A)式に従う演算を実行し、その演算結果を上記自己相関係数Corr(n,k)として出力する演算手段と
を有することを特徴とする自己相関演算器。
Figure 2008158312
但し、+を丸で囲んだ記号は排他的論理和演算を表している。
A predetermined interval (the number of samples in this interval is N) of the discrete value system signal X (n) is used as a reference signal, and an autocorrelation coefficient Corr (n, k) with the same signal in the predetermined interval N past by this time k. In the autocorrelation calculator that calculates
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:
Figure 2008158312
However, a symbol in which + is circled represents an exclusive OR operation.
上記演算手段は、
上記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.
離散値系信号X(n)の所定区間(この区間のサンプル数はN)を参照信号とし、これより時間kだけ過去の所定区間Nの同一信号との自己相関係数Corr(n,k)を算出する自己相関演算方法において、
2値符号化手段及び演算手段を有し、
上記2値符号化手段は、離散的時間信号X(n)を、そのダイナミックレンジの中間値未満か中間値か中間値超過かに応じた1ビット信号Xbin(n)に変換し、
上記演算手段は、上記2値符号化手段からの1ビット信号Xbin(n)に基づき、(B)式に従う演算を実行し、その演算結果を上記自己相関係数Corr(n,k)として出力する
ことを特徴とする自己相関演算方法。
Figure 2008158312
但し、+を丸で囲んだ記号は排他的論理和演算を表している。
A predetermined interval (the number of samples in this interval is N) of the discrete value system signal X (n) is used as a reference signal, and an autocorrelation coefficient Corr (n, k) with the same signal in the predetermined interval N past by this time k. In the autocorrelation calculation method for calculating
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.
Figure 2008158312
However, a symbol in which + is circled represents an exclusive OR operation.
離散値系信号X(n)のピッチ周期を検出するピッチ推定器において、
離散値系信号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)のピッチ周期を検出するピッチ推定方法において、
自己相関演算器と最大値検出手段とを有し、
上記自己相関演算器は、離散値系信号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.
JP2006347738A 2006-12-25 2006-12-25 Pitch estimator, pitch estimation method, self-correlation computing device, and self-correlation computation method Pending JP2008158312A (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (4)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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