JP2003124785A - Device for converting sampling frequency - Google Patents
Device for converting sampling frequencyInfo
- Publication number
- JP2003124785A JP2003124785A JP2001315075A JP2001315075A JP2003124785A JP 2003124785 A JP2003124785 A JP 2003124785A JP 2001315075 A JP2001315075 A JP 2001315075A JP 2001315075 A JP2001315075 A JP 2001315075A JP 2003124785 A JP2003124785 A JP 2003124785A
- Authority
- JP
- Japan
- Prior art keywords
- curve
- data
- sampling frequency
- point
- output
- 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
Landscapes
- Complex Calculations (AREA)
- Synchronisation In Digital Transmission Systems (AREA)
Abstract
Description
【0001】[0001]
【発明の属する技術分野】本発明は、オーディオデータ
等の標本化周波数を変換する標本化周波数変換装置に関
し、特に入出力で標本化周波数が非同期であっても標本
化周波数の変換を実現する標本化周波数変換装置に関す
るものである。BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a sampling frequency conversion device for converting a sampling frequency of audio data or the like, and more particularly to a sampling frequency conversion device which realizes conversion of a sampling frequency even when the sampling frequency is asynchronous between input and output. The present invention relates to a digitized frequency conversion device.
【0002】[0002]
【従来の技術】現在、オーディオデータ、通信等の音声
データの標本化周波数を変換する標本化周波数変換装置
としては、例えば、特開平6−120776号公報に開
示されるものがある。これは図9に示すように、第1の
標本化周波数の入力データを記憶手段101に記憶し、
FIRデジタルフィルタ102により、記憶手段から読
み出した入力データを第1の標本化周波数のn倍化して
補間し、さらに、直線補間手段103により、FIRデ
ジタルフィルタ102の出力データを直線補間して第2
の標本化周波数の出力データとし、これにより入出力標
本化周波数が非同期であっても標本化周波数の変換を実
現する。2. Description of the Related Art At present, as a sampling frequency conversion device for converting the sampling frequency of audio data, voice data of communication, etc., there is, for example, the one disclosed in Japanese Patent Application Laid-Open No. 6-120776. As shown in FIG. 9, this stores the input data of the first sampling frequency in the storage means 101,
The FIR digital filter 102 interpolates the input data read from the storage means by multiplying the first sampling frequency by n times, and further, the linear interpolation means 103 linearly interpolates the output data of the FIR digital filter 102 to obtain the second data.
Sampling frequency output data is used to realize sampling frequency conversion even when the input and output sampling frequencies are asynchronous.
【0003】[0003]
【発明が解決しようとする課題】しかしながら、図9に
示す従来の標本化周波数変換装置では、直線補間を行う
ため、入力データの変化が激しくその波形の曲率が高い
部分では歪が大きくなる。必要な歪精度を得るには、第
1の標本化周波数のn倍化する際の倍率nの値を、例え
ば、256倍などと大きな値とする必要があった。この
ため、フィルタ係数が大きくなり、また、演算回数が多
くなる等回路規模を増大させていた。However, in the conventional sampling frequency conversion apparatus shown in FIG. 9, since linear interpolation is performed, the distortion becomes large in a portion where the change of the input data is large and the waveform has a high curvature. In order to obtain the required distortion accuracy, the value of the magnification n when multiplying the first sampling frequency by n needs to be large, for example, 256 times. For this reason, the filter coefficient is increased, and the number of calculations is increased, thus increasing the circuit scale.
【0004】本発明では、回路規模の小さな構成にて歪
精度の良い標本化周波数変換装置を提供することを目的
とする。An object of the present invention is to provide a sampling frequency conversion device having a small circuit scale and good distortion accuracy.
【0005】[0005]
【課題を解決するための手段】本発明の標本化周波数変
換装置は、第1の標本化周波数でデータを入力し、第2
の標本化周波数でデータを出力する標本化周波数変換装
置であって、上記第1の標本化周波数と上記第2の標本
化周波数とを比較し、上記入力データの時刻位置に対す
る上記出力データの時刻位置を示す出力時刻位置情報を
生成する時刻位置情報生成手段と、前後する上記入力デ
ータ間を曲線補間し、上記出力時刻位置情報に基づき、
上記曲線上の上記出力時刻位置情報に対応する値を演算
して当該値を上記出力データとして上記第2の標本化周
波数で出力する曲線補間手段とを具備することを特徴と
する。A sampling frequency conversion device of the present invention inputs data at a first sampling frequency, and a second sampling frequency conversion device.
Is a sampling frequency conversion device for outputting data at a sampling frequency, comparing the first sampling frequency with the second sampling frequency, and comparing the time point of the input data with the time point of the output data. Time position information generating means for generating output time position information indicating a position, and curve interpolation between the preceding and following input data, based on the output time position information,
And a curve interpolating means for calculating a value corresponding to the output time position information on the curve and outputting the value as the output data at the second sampling frequency.
【0006】上記曲線はベジェ曲線であり、上記曲線補
間手段はド・カステリョのアルゴリズムに基づいて上記
演算を行うことが好ましい。It is preferable that the curve is a Bezier curve, and the curve interpolating means performs the calculation based on the algorithm of Do Castello.
【0007】上記曲線はベジェ曲線であり、上記曲線補
間手段はド・カステリョのアルゴリズムに基づいて上記
演算を行うものであり、上記演算に用いる各点に重み付
けを行うことも好ましい。The above curve is a Bezier curve, and the above curve interpolating means performs the above calculation based on the algorithm of Do Castello, and it is also preferable to weight each point used for the above calculation.
【0008】上記曲線は2次ベジェ曲線であり、上記出
力時刻位置情報は、上記入力データの標本化周期の1/
2n(nは1以上の整数)を単位としてあり、上記曲線
補間手段は中点分割法に基づいて上記演算を行うことも
好ましい。The curve is a quadratic Bezier curve, and the output time position information is 1 / s of the sampling cycle of the input data.
It is also preferable that the unit is 2 n (n is an integer of 1 or more), and the curve interpolating means performs the calculation based on the midpoint division method.
【0009】上記曲線は2次ベジェ曲線であり、制御点
の時刻方向の位置を上記曲線の始点から上記入力データ
の標本化周期の1/2の位置としてあり、上記制御点の
データの値は、上記始点に対応する上記入力データの1
つ前の上記入力データと上記曲線の終点に対応する上記
入力データとから近似的に求められた上記曲線の上記始
点の傾きと、上記終点に対応する上記入力データの1つ
後の上記入力データと上記始点に対応する上記入力デー
タとから近似的に求められた上記曲線の上記終点の傾き
と、上記始点に対応する上記入力データと、上記終点に
対応する上記データとに基づいて定まることも好まし
い。The above curve is a quadratic Bezier curve, and the position of the control point in the time direction is set to the position of 1/2 of the sampling period of the above input data from the starting point of the above curve, and the value of the above control point data is , 1 of the input data corresponding to the start point
The slope of the starting point of the curve that is approximately obtained from the previous input data and the input data corresponding to the end point of the curve, and the input data after one of the input data corresponding to the end point. And the slope of the end point of the curve that is approximately obtained from the input data corresponding to the start point, the input data corresponding to the start point, and the data corresponding to the end point. preferable.
【0010】上記曲線は3次ベジェ曲線であり、第1の
制御点の時刻方向の位置を上記曲線の始点から上記入力
データの標本化周期の1/3の位置としてあり、第2の
制御点の時刻方向の位置を上記ベジェ曲線の始点から上
記入力データの標本化周期の2/3の位置としてあり、
上記第1の制御点のデータの値は、上記始点に対応する
上記入力データの1つ前の上記入力データと上記曲線の
終点に対応する上記入力データとから近似的に求めた上
記曲線の上記始点の傾きと上記始点に対応する上記入力
データとから定まり、上記第2の制御点のデータの値
は、上記終点に対応する上記入力データの1つ後の上記
入力データと上記始点に対応する上記入力データとから
近似的に求められた上記曲線の上記終点の傾きと、上記
終点に対応する上記入力データとから定まることも好ま
しい。The above-mentioned curve is a cubic Bezier curve, and the position of the first control point in the time direction is set to the position of 1/3 of the sampling period of the above-mentioned input data from the starting point of the above-mentioned curve, and the second control point. The position in the time direction of is the position of 2/3 of the sampling period of the input data from the start point of the Bezier curve,
The value of the data of the first control point is the value of the curve that is approximately obtained from the input data immediately before the input data corresponding to the start point and the input data corresponding to the end point of the curve. The value of the data of the second control point is determined from the slope of the starting point and the input data corresponding to the starting point, and the value of the data of the second control point corresponds to the input data one after the input data corresponding to the ending point and the starting point. It is also preferable to be determined from the slope of the end point of the curve that is approximately obtained from the input data and the input data corresponding to the end point.
【0011】また、本発明の標本化周波数変換装置は、
第1の標本化周波数でデータを入力し、第2の標本化周
波数でデータを出力する標本化周波数変換装置であっ
て、上記第1の標本化周波数でデータを入力し、当該入
力データを所定数保持する記憶手段と、上記記憶手段に
保持されたデータを取り出し、上記第1の標本化周波数
をn倍化して補間するデジタルフィルタと、上記第1の
標本化周波数と上記第2の標本化周波数とを比較し、上
記デジタルフィルタからの出力データの時刻位置に対す
る最終的な出力データの時刻位置を示す出力時刻位置情
報を生成する時刻位置情報生成手段と、上記デジタルフ
ィルタからの上記出力データ間を曲線補間し、上記出力
時刻位置情報に基づき、上記曲線上の上記出力時刻位置
情報に対応する値を演算して当該値を上記最終的な出力
データとして上記第2の標本化周波数で出力する曲線補
間手段とを具備することを特徴とすることも好ましい。Further, the sampling frequency conversion apparatus of the present invention is
A sampling frequency conversion device which inputs data at a first sampling frequency and outputs data at a second sampling frequency, wherein data is input at the first sampling frequency and the input data is set to a predetermined value. Storage means, a digital filter for taking out the data held in the storage means, multiplying the first sampling frequency by n times and interpolating, the first sampling frequency and the second sampling. Between the time position information generating means for comparing the frequency and the output time position information indicating the time position of the final output data with respect to the time position of the output data from the digital filter, and the output data from the digital filter. Curve-interpolating, the value corresponding to the output time position information on the curve is calculated based on the output time position information, and the value is used as the final output data. It is also preferably characterized by comprising a curve interpolation means for outputting at sampling frequency.
【0012】上記曲線はベジェ曲線であり、上記曲線補
間手段はド・カステリョのアルゴリズムに基づいて上記
演算を行うことも好ましい。上記曲線はベジェ曲線であ
り、上記曲線補間手段はド・カステリョのアルゴリズム
に基づいて上記演算を行うものであり、上記演算に用い
る各点に重み付けを行うことも好ましい。It is also preferable that the curve is a Bezier curve, and the curve interpolating means performs the calculation based on the algorithm of Do Castello. The above curve is a Bezier curve, and the above curve interpolating means performs the above calculation based on the algorithm of Do Castello, and it is also preferable to weight each point used for the above calculation.
【0013】上記曲線は2次ベジェ曲線であり、上記出
力時刻位置情報は、上記デジタルフィルタからの上記出
力データの標本化周期の1/2n(nは1以上の整数)
を単位としてあり、上記曲線補間手段は中点分割法に基
づいて上記演算を行うことも好ましい。The curve is a quadratic Bezier curve, and the output time position information is 1/2 n (n is an integer of 1 or more) of the sampling period of the output data from the digital filter.
It is also preferable that the curve interpolation means performs the above calculation based on the midpoint division method.
【0014】上記曲線は2次ベジェ曲線であり、制御点
の時刻方向の位置を上記曲線の始点から上記デジタルフ
ィルタからの上記出力データの標本化周期の1/2の位
置としてあり、上記制御点のデータの値は、上記曲線の
終点に対応する上記出力データから上記始点に対応する
上記出力データの1つ前の上記出力データを減算した結
果を1/4とした値と上記始点に対応する上記出力デー
タとを加算した値と、上記終点に対応する上記出力デー
タの1つ後の上記出力データから上記始点に対応する上
記出力データを減算した結果を1/4とした値を上記終
点に対応する上記出力データから減算した値とを平均し
て定まることも好ましい。The curve is a quadratic Bezier curve, and the position of the control point in the time direction is a position from the start point of the curve to half the sampling period of the output data from the digital filter. The value of the data corresponds to a value obtained by subtracting 1/4 of the output data immediately before the output data corresponding to the start point from the output data corresponding to the end point of the curve and the start point. A value obtained by subtracting the value obtained by adding the output data and the output data corresponding to the start point from the output data that is one after the output data corresponding to the end point and having the value of 1/4 is set as the end point. It is also preferable to determine by averaging the values subtracted from the corresponding output data.
【0015】上記曲線は3次ベジェ曲線であり、第1の
制御点の時刻方向の位置を上記曲線の始点から上記デジ
タルフィルタの上記出力データの標本化周期の1/3の
位置としてあり、第2の制御点の時刻方向の位置を上記
曲線の始点から上記出力データの標本化周期の2/3の
位置としてあり、上記第1の制御点のデータの値は、上
記曲線の終点に対応する上記出力データから上記始点に
対応する上記出力データの1つ前の上記出力データを減
算した結果を1/6した値に上記始点に対応する上記出
力データを加算して定まり、上記第2の制御点のデータ
の値は、上記終点に対応する上記出力データの1つ後の
上記出力データから上記始点に対応する上記出力データ
を減算した結果を1/6とした値を上記終点に対応する
上記出力データから減算して定まることも好ましい。The curve is a cubic Bezier curve, and the position of the first control point in the time direction is set to the position of 1/3 of the sampling period of the output data of the digital filter from the starting point of the curve. The position of the second control point in the time direction is set to the position of 2/3 of the sampling period of the output data from the start point of the curve, and the value of the data of the first control point corresponds to the end point of the curve. The second control is determined by adding the output data corresponding to the starting point to a value obtained by subtracting 1/6 of the result obtained by subtracting the output data immediately preceding the output data corresponding to the starting point from the output data, and determining the second control. Regarding the value of the point data, the value obtained by subtracting 1/6 of the result obtained by subtracting the output data corresponding to the start point from the output data immediately after the output data corresponding to the end point corresponds to the end point. Output data It is also preferable that is determined by subtracting.
【0016】[0016]
【発明の実施の形態】以下、添付図面を参照して本発明
の実施の形態を実施例に基づき詳細に説明する。BEST MODE FOR CARRYING OUT THE INVENTION Embodiments of the present invention will now be described in detail based on examples with reference to the accompanying drawings.
【0017】本発明の第1の実施例の非同期標本化周波
数変換装置について説明する。図1は本例の構成を示す
ブロック図であり、まず、同図を参照しながら本例の構
成について説明する。記憶手段としてのデータバッファ
1は、標本化周波数fsi(例えば、fsi=44.1
kHz)の入力データを後述のフィルタ演算に必要な個
数保持するものである。デジタルフィルタとしてのn倍
化補間FIRフィルタ2は、既知のオーバーサンプリン
グ手法により、標本化周波数fsiをn倍化し、フィタ
ル演算、すなわち、係数との積和演算によって入力デー
タ間を補間するものである。The asynchronous sampling frequency converter according to the first embodiment of the present invention will be described. FIG. 1 is a block diagram showing the configuration of this example. First, the configuration of this example will be described with reference to the figure. The data buffer 1 as a storage means has a sampling frequency fsi (for example, fsi = 44.1).
It holds the number of input data of (kHz) required for the filter calculation described later. The n-fold interpolation FIR filter 2 as a digital filter doubles the sampling frequency fsi by a known oversampling method and interpolates between input data by a physical operation, that is, a product-sum operation with a coefficient. .
【0018】時刻位置情報生成手段としての標本化周波
数比較器3は、位相比較器等からなり、標本化周波数f
siの入力標本化クロックCLKiと、入力標本化クロ
ックCLKiと同期していない標本化周波数fsoの出
力標本化クロックCLKoとを比較し、後述する曲線補
間手段へのデータの入力標本化タイミング間における曲
線補間手段からのデータの出力標本化タイミングの出力
時刻位置情報を演算するものである。すなわち、入力標
本化タイミング間、言い換えれば、入力標本化周期Tf
s_inを1とし、入力標本化周期Tfs_inに占め
る始点となる入力標本化タイミングから出力標本化タイ
ミング迄の間隔の割合を後述する時刻tとして求め、こ
れを出力時刻位置情報として出力する。なお、入力標本
化周期Tfs_inは、Tfs_in=1/(n×fs
i)である。The sampling frequency comparator 3 as the time position information generating means is composed of a phase comparator or the like and has a sampling frequency f.
The input sampling clock CLKi of si and the output sampling clock CLKo of the sampling frequency fso which is not synchronized with the input sampling clock CLKi are compared, and the curve between the input sampling timings of the data to the curve interpolation means described later is compared. The output time position information of the output sampling timing of the data from the interpolating means is calculated. That is, between the input sampling timings, in other words, the input sampling period Tf
When s_in is 1, the ratio of the interval from the input sampling timing, which is the starting point in the input sampling period Tfs_in, to the output sampling timing is obtained as time t described later, and this is output as output time position information. The input sampling period Tfs_in is Tfs_in = 1 / (n × fs
i).
【0019】曲線補間手段4は、出力時刻位置情報に基
づき、入力標本化タイミング毎に入力されるn倍化され
たデータ間をベジェ曲線による曲線補間アルゴリズムに
よって補間し、出力標本化タイミング毎に対応する補間
値を出力データとして出力するものである。The curve interpolating means 4 interpolates between n-times multiplied data input at each input sampling timing based on the output time position information by a curve interpolation algorithm using a Bezier curve, and responds at each output sampling timing. The interpolated value is output as output data.
【0020】次に本例の動作について説明する。標本化
周波数fsiで入力される入力データは、データバッフ
ァ1に取り込まれる。データバッファ1に保持されたデ
ータは順次n倍化補間FIRフィルタ2に送られ、フィ
ルタ演算に応じた係数を積和することによって標本化周
波数fsiのn倍の標本化周波数に対応した補間処理が
施され、n倍化補間FIRフィルタ2からn×fsiの
標本化周波数に対応するデータが出力される。Next, the operation of this example will be described. The input data input at the sampling frequency fsi is loaded into the data buffer 1. The data held in the data buffer 1 is sequentially sent to the n-fold interpolation FIR filter 2, and the interpolation processing corresponding to the sampling frequency of n times the sampling frequency fsi is performed by multiplying and adding the coefficients according to the filter calculation. Then, the n-fold interpolation FIR filter 2 outputs data corresponding to the sampling frequency of n × fsi.
【0021】標本化周波数比較器3は、標本化周波数f
siの入力標本化クロックCLKiと標本化周波数fs
oの出力標本化クロックCLKoとを比較し、出力時刻
位置情報を演算する。曲線補間手段4は、出力時刻位置
情報に基づき、入力標本化タイミング毎に入力されるn
倍化補間FIRフィルタ2からのデータ間をベジェ曲線
によって補間し、出力標本化タイミング毎に対応する補
間値を出力データとして出力する。The sampling frequency comparator 3 has a sampling frequency f
Input sampling clock CLKi of si and sampling frequency fs
The output sampling clock CLKo is compared with the output sampling clock CLKo to calculate output time position information. The curve interpolating means 4 inputs n at each input sampling timing based on the output time position information.
The data from the doubling interpolation FIR filter 2 is interpolated by a Bezier curve, and an interpolation value corresponding to each output sampling timing is output as output data.
【0022】次にベジェ曲線による曲線補間手段4の動
作について説明する。図2(a)、(b)にそれぞれ2
次ベジェ曲線、3次ベジェ曲線の例を示し、同図を参照
しながら本例のベジェ曲線による補間の概念について述
べる。ベジェ曲線はパラメトリック曲線の一つであり、
その次数−1個の制御点を用いて、2次及び3次の多項
式のパラメータ(τ)を0から1へと変化させることに
より、始点から終点への曲線が規定される。Next, the operation of the curve interpolation means 4 using the Bezier curve will be described. 2 in each of FIGS. 2 (a) and 2 (b).
An example of a next-order Bezier curve and a third-order Bezier curve will be shown, and the concept of interpolation by the Bezier curve of this example will be described with reference to FIG. Bezier curve is one of parametric curves,
A curve from the start point to the end point is defined by changing the parameter (τ) of the quadratic and cubic polynomials from 0 to 1 using the degree-1 control point.
【0023】本例で扱う時間軸上の曲線は時刻t
(τ)、その時の値y(τ)で決まり、始点S0(t
0,y0)、制御点P1(t1,y1)、終点S1(t
2,y2)とすると、2次ベジェ曲線R2(t,y)を
規定する式は次のようになる。The curve on the time axis used in this example is the time t.
(Τ) and the value y (τ) at that time, and the start point S0 (t
0, y0), control point P1 (t1, y1), end point S1 (t
2, y2), the equation defining the quadratic Bezier curve R2 (t, y) is as follows.
【数1】 [Equation 1]
【0024】ここで、式(1)は次のように表せる。Here, the equation (1) can be expressed as follows.
【数2】 [Equation 2]
【0025】始点の時刻t0を基準としてt0=0、終
点の時刻t2をt2=1とし、制御点の時刻t1をt1
=1/2とすると、式(3)は次のようになる。With reference to the time t0 of the start point, t0 = 0, the time t2 of the end point is t2 = 1, and the time t1 of the control point is t1.
= 3, the equation (3) becomes as follows.
【数3】 [Equation 3]
【0026】これにより、パラメータτと時刻tとを等
価なものとして扱える。この条件を満たすとき、2次ベ
ジェ曲線R2はtのみの関数として扱え、式(2)は次
のように表すことができる。As a result, the parameter τ and the time t can be treated as equivalent. When this condition is satisfied, the quadratic Bezier curve R2 can be treated as a function of only t, and the equation (2) can be expressed as follows.
【数4】 [Equation 4]
【0027】同様に3次ベジェ曲線R3は、始点S0
(t0,y0)、制御点P1(t1,y1)、制御点P
2(t2,y2)、終点S1(t3,y3)とすると、
次のようになる。Similarly, the cubic Bezier curve R3 has a starting point S0.
(T0, y0), control point P1 (t1, y1), control point P
2 (t2, y2) and end point S1 (t3, y3),
It looks like this:
【数5】 [Equation 5]
【0028】式(6)は次のように表せる。Equation (6) can be expressed as follows.
【数6】 [Equation 6]
【0029】始点の時刻t0を基準としてt0=0、終
点の時刻t3をt3=1とし、制御点の時刻t1をt1
=1/3、制御点の時刻t2をt2=1/3とすると、
式(8)は次のようになる。With reference to the time t0 at the start point, t0 = 0, the time t3 at the end point is t3 = 1, and the time t1 at the control point is t1.
= 1/3 and the time t2 of the control point is t2 = 1/3,
Equation (8) is as follows.
【数7】 [Equation 7]
【0030】この条件を満たすとき、3次ベジェ曲線R
3はtのみの関数として扱え、式(7)は次のようにな
る。When this condition is satisfied, the cubic Bezier curve R
3 can be treated as a function of only t, and the equation (7) is as follows.
【数8】 [Equation 8]
【0031】式(5)、(10)から、それぞれ2次、
3次のベジェ曲線は計算可能であるが、本例ではド・カ
ステリョのアルゴリズムを利用することにより、演算量
を減らす構成とする。図3を参照しながら、ド・カステ
リョのアルゴリズムを用いた2次及び3次ベジェ曲線に
よる補間について述べる。図3(a)は2次ベジェ曲線
R2を示してあり、時刻tにおける2次ベジェ曲線R2
上の点R2(t)を求める場合、次のように求められ
る。まず、始点S0から制御点P1への線分上のt:
(1−t)の割合の点Q1(t)及び、制御点P1から
終点S1への線分上のt:(1−t)の割合の点Q2
(t)を求める。次に点Q1(t)から点Q2(t)へ
の線分上のt:(1−t)の割合の点を求めると、この
点が点R2(t)となる。この計算は次の3式の演算に
よって実現され、3回の直線補間を行う場合と同じ計算
量ですむ。From equations (5) and (10), respectively,
A cubic Bezier curve can be calculated, but in this example, the amount of calculation is reduced by using the algorithm of Do Castello. Interpolation by quadratic and cubic Bezier curves using the Do Castello algorithm will be described with reference to FIG. FIG. 3A shows the quadratic Bezier curve R2, and the quadratic Bezier curve R2 at time t.
When obtaining the upper point R2 (t), it is obtained as follows. First, t on the line segment from the starting point S0 to the control point P1:
A point Q1 (t) having a ratio of (1-t) and a point Q2 having a ratio of t: (1-t) on a line segment from the control point P1 to the end point S1.
Find (t). Next, when a point having a ratio of t: (1-t) on the line segment from the point Q1 (t) to the point Q2 (t) is obtained, this point becomes the point R2 (t). This calculation is realized by the calculation of the following three formulas, and the same calculation amount as when performing linear interpolation three times is required.
【数9】 [Equation 9]
【0032】同様に図3(b)に示す3次ベジェ曲線R
3上の時刻tにおける点R3(t)を求める場合、次の
6式の演算によって実現され、6回の直線補間を行う場
合と同じ計算量ですむ。Similarly, a cubic Bezier curve R shown in FIG.
When the point R3 (t) at the time t on 3 is obtained, it is realized by the calculation of the following six equations, and the same calculation amount as in the case of performing the linear interpolation six times is required.
【数10】 [Equation 10]
【0033】次に制御点をどのように求めるかについて
説明する。2次、3次ベジェ曲線の特徴として、始点と
その次の制御点とを結んだベクトルは始点での傾きとな
っており、終点とその一つ前の制御点とを結んだベクト
ルは終点での傾きとなっている。本例では、これらの傾
きを入力データの前後のデータから近似し、制御点を求
める。これについて、図4に示すように4点の連続した
データS0、S1、S2、S3において、データS1と
データS2との間を2次ベジェ曲線により補間する場合
を例として述べる。Next, how to obtain the control points will be described. As a characteristic of the quadratic and cubic Bézier curves, the vector connecting the start point and the next control point is the slope at the start point, and the vector connecting the end point and the control point immediately before it is the end point. Has become the inclination of. In this example, these slopes are approximated from the data before and after the input data to obtain the control points. This will be described by taking as an example the case where the data S1 and the data S2 are interpolated by a quadratic Bezier curve in the continuous data S0, S1, S2 and S3 of four points as shown in FIG.
【0034】パラメータτが、時刻tと等価となる条件
として、制御点の時刻方向の位置を入力標本化周期Tf
s_inの1/2とする。このとき、データS1におけ
る傾きS1’を前後のデータとの差分から、次のように
近似できる。As a condition that the parameter τ is equivalent to the time t, the position of the control point in the time direction is input sampling period Tf.
It is 1/2 of s_in. At this time, the slope S1 ′ of the data S1 can be approximated as follows from the difference between the previous and next data.
【数11】 [Equation 11]
【0035】同様に、データS2における傾きS2’は
次のように近似できる。Similarly, the slope S2 'in the data S2 can be approximated as follows.
【数12】 [Equation 12]
【0036】ここで、2次ベジェ曲線の場合制御点は1
つであり、傾きS1’とデータS1の値とを加算したも
のと、傾きS2’の反転したベクトルとデータS2の値
とを加算したものとの平均を取ったものを制御点P1と
する。すなわち、次のようになる。In the case of a quadratic Bezier curve, the control point is 1
The control point P1 is the average of the sum of the slope S1 'and the value of the data S1 and the sum of the inverted vector of the slope S2' and the value of the data S2. That is, it becomes as follows.
【数13】 [Equation 13]
【0037】同様に3次ベジェ曲線による補間をする場
合には、制御点P1、P2の時刻方向の位置をそれぞれ
入力標本化周期Tfs_inの1/3、2/3とし、そ
の割合に応じてS1’、S2’を調整して制御点P1、
P2は次のようになる。Similarly, when performing interpolation using a cubic Bezier curve, the positions of the control points P1 and P2 in the time direction are set to 1/3 and 2/3 of the input sampling period Tfs_in, and S1 is set according to the ratio. Adjust ', S2' to control point P1,
P2 is as follows.
【数14】 [Equation 14]
【0038】このようにして制御点を決めるため、2次
ベジェ曲線を用いる場合は、そのための演算は加減算及
びシフトのみで済み、演算回路を簡易なものとできる。
また、3次のベジェ曲線を用いる場合でも、1/6の演
算のための乗算器を必要とする以外は、2次ベジェ曲線
を用いる場合と同様に加減算のみで済み演算回路を簡易
なものとできる。When the quadratic Bezier curve is used to determine the control point in this way, only the addition / subtraction and shift are required for the calculation, and the arithmetic circuit can be simplified.
Further, even when a cubic Bezier curve is used, only an addition / subtraction is required as in the case of using a quadratic Bezier curve except that a multiplier for 1/6 operation is required. it can.
【0039】以上のように本例の直線補間手段3は、n
倍化補間FIRフィルタ2によってn倍化されたデータ
を受け、4つの連続したデータS0、S1、S2、S3
から制御点を算出し、例えば、2次ベジェ曲線による補間
を行う場合は、上述の式(22)に基づき制御点P1を
算出し、データS0、S1と、求められた制御点、制御
点P1と、時刻t、すなわち、標本化周波数比較器3か
らの時刻位置情報とを用いて上述の式(11)乃至(1
3)の演算により、データS0とデータS1との間を補
間する2次ベジェ曲線上の時刻tに対応する点R2
(t)の値を算出する。算出された値は出力標本化周波
数fsoの出力標本化クロックCLKoにて定まる次の
出力標本化タイミングで出力される。このような動作を
入力標本化タイミングで入力されるデータ毎に行い、出
力標本化周波数fsoでデータを出力する。As described above, the linear interpolating means 3 of the present example uses n
Receiving the data multiplied by n by the doubling interpolation FIR filter 2, four continuous data S0, S1, S2, S3
When the control point is calculated from, for example, interpolation by the quadratic Bezier curve is performed, the control point P1 is calculated based on the above equation (22), and the data S0 and S1 and the obtained control point and control point P1 are calculated. And time t, that is, time position information from the sampling frequency comparator 3, is used to calculate the above equations (11) to (1).
The point R2 corresponding to the time t on the quadratic Bezier curve that interpolates between the data S0 and the data S1 by the calculation of 3).
The value of (t) is calculated. The calculated value is output at the next output sampling timing determined by the output sampling clock CLKo having the output sampling frequency fso. Such an operation is performed for each data input at the input sampling timing, and the data is output at the output sampling frequency fso.
【0040】なお、直線補間手段3は、2次及び3次ベ
ジェ曲線の何れを用いてもよく、以上の説明では便宜上
2次、3次ベジェ曲線を用いる場合について並行して説
明しているが、実際にはいずれか一方を用いる回路構成
とすることは言うまでもない。The linear interpolation means 3 may use either a quadratic or a cubic Bezier curve, and in the above description, the case of using a quadratic or cubic Bezier curve is described in parallel for convenience. Needless to say, the circuit configuration actually uses either one.
【0041】また、以上の説明では、曲線補間手段4に
て実行されるド・カステリョの演算処理をソフト的に示
したが、次にこの演算処理を実現するハード構成の一例
を示す。図5は、2次ベジェ曲線による曲線補間を行う
曲線補間手段4において、上記式(11)乃至(13)
の演算を行う演算回路の構成を示すブロック図である。
演算回路は、6個のセレクタSEL3〜SEL6、4個
のレジスタREG1〜REG4、2個の加算器ADD
1、ADD2、乗算器MUL及びインバータINVから
構成される。Further, in the above description, the calculation processing of de castello executed by the curve interpolating means 4 is shown by software. Next, an example of a hardware configuration for realizing this calculation processing will be shown. FIG. 5 shows the above equations (11) to (13) in the curve interpolating means 4 for performing the curve interpolation by the quadratic Bezier curve.
3 is a block diagram showing a configuration of an arithmetic circuit that performs the arithmetic operation of FIG.
The arithmetic circuit includes six selectors SEL3 to SEL6, four registers REG1 to REG4, two adders ADD.
1, ADD2, multiplier MUL and inverter INV.
【0042】セレクタSEL1はデータ入力端子DDA
TA−IN、レジスタREG1の出力端子、レジスタR
EG4の出力端子を選択的にレジスタREG1の入力端
子に接続する。セレクタSEL2はデータ入力端子DA
TA−IN、レジスタREG2の出力端子、レジスタR
EG4の出力端子を選択的にレジスタREG2の入力端
子に接続する。セレクタSEL3はデータ入力端子DA
TA−IN、レジスタREG3の出力端子を選択的にレ
ジスタREG3の入力端子に接続する。セレクタSEL
4は、レジスタREG1、REG2の主力端子を乗算器
MULの一方の入力端子に選択的に接続する。セレクタ
SEL5は、レジスタREG3の出力端子、加算器AD
D1の主力端子を乗算器MULの他方の入力端子に選択
的に接続する。乗算器MULは2つの入力端子への入力
データを乗算し、その結果を出力する。The selector SEL1 is a data input terminal DDA.
TA-IN, output terminal of register REG1, register R
The output terminal of EG4 is selectively connected to the input terminal of register REG1. The selector SEL2 is a data input terminal DA
TA-IN, output terminal of register REG2, register R
The output terminal of EG4 is selectively connected to the input terminal of register REG2. The selector SEL3 is a data input terminal DA
The TA-IN and the output terminal of the register REG3 are selectively connected to the input terminal of the register REG3. Selector SEL
4 selectively connects the main output terminals of the registers REG1 and REG2 to one input terminal of the multiplier MUL. The selector SEL5 has an output terminal of the register REG3 and an adder AD.
The main output terminal of D1 is selectively connected to the other input terminal of the multiplier MUL. The multiplier MUL multiplies the input data to the two input terminals and outputs the result.
【0043】インバータINVはレジスタREG3の出
力するデータを反転させる。加算器ADD1は、“1.
000・・”を示すデータとインバータINVの出力デ
ータとを入力してある。“1.000・・”の桁は、時
刻t(0<t<1)を示す時刻位置情報の桁と一致す
る。加算器ADD1は、“1.000・・”を示すデー
タとインバータINVの出力データとを加算し、そのキ
ャリーを最下位ビットに加算し、(1-t)の演算を実
現する。加算器ADD2の一方の入力端子は乗算器MU
Lの出力端子に接続され、他方の入力端子はセレクタS
EL6の出力端子に接続され、これらの入力端子への入
力データを加算し、その結果をレジスタREG4に出力
する。セレクタSEL6は、レジスタREG4の出力端
子、総ての桁が“0”のデータを供給する端子を加算器
ADD2の他方の入力端子に選択的に接続する。レジス
タREG4の出力端子は2次ベジェ曲線上の時刻tに対
応する点R2(t)の値を示すデータの出力端子となっ
ている。The inverter INV inverts the data output from the register REG3. The adder ADD1 has "1.
The data indicating "000 ..." And the output data of the inverter INV are input. The digit "1.000 ..." matches the digit of the time position information indicating the time t (0 <t <1). The adder ADD1 adds the data indicating "1.00 ..." And the output data of the inverter INV, and adds the carry to the least significant bit to realize the operation (1-t). One input terminal of ADD2 is a multiplier MU
L is connected to the output terminal and the other input terminal is the selector S
It is connected to the output terminal of EL6, adds the input data to these input terminals, and outputs the result to register REG4. The selector SEL6 selectively connects the output terminal of the register REG4 and the terminal for supplying data of all digits of "0" to the other input terminal of the adder ADD2. The output terminal of the register REG4 is an output terminal of data indicating the value of the point R2 (t) corresponding to the time t on the quadratic Bezier curve.
【0044】次に図5の演算回路の動作について、図6
にその動作シーケンスを示し、図5及び図6を参照しな
がらの説明する。図6の左側の“No.動作”には、下
方に並んだNo.1〜8にそれぞれ1〜8クロック迄の
クロック毎に行われるレジスタへのデータの格納動作を
示してある。例えばNo.1の“REG3<=D_IN
(t)”は、“REG3”は対象となるレジスタの符号
を示し、“<=”は、その右のデータをレジスタに格納
することを示してあり、“D_IN(t)”は入力端子
DATA_INにおけるデータを示し、“()”内の符
号はデータの内容を示す。ここでは、レジスタREG3
にDATA_INから時刻tを示すデータを格納するこ
とを示してある。No.2の“REG1<=D_IN
(S0)”は、レジスタREG1にDATA_INから
のデータS0を格納することを示してある。No.3の
“REG2<=D_IN(P1),REG4<=(1−
t)×REG1(S0)”は、レジスタREG2にDA
TA_INからのデータP1を格納し、レジスタREG
4に、レジスタREG1に格納されたデータS0と(1
−t)とを乗算した結果を格納することを示してある。
以下、No.8まで同様にデータ格納動作を示してあ
る。Next, the operation of the arithmetic circuit of FIG. 5 will be described with reference to FIG.
The operation sequence is shown in FIG. 5 and will be described with reference to FIGS. In the “No. operation” on the left side of FIG. 1 to 8 show the operation of storing data in the register, which is performed every clock of 1 to 8 clocks. For example, No. 1 “REG3 <= D_IN
“(T)” indicates that “REG3” indicates the code of the target register, “<=” indicates that the data on the right is stored in the register, and “D_IN (t)” indicates the input terminal DATA_IN. , And the code in “()” indicates the content of the data.
Shows that data indicating time t is stored from DATA_IN. No. 2 “REG1 <= D_IN
(S0) "indicates that the data S0 from DATA_IN is stored in the register REG1." REG2 <= D_IN (P1), REG4 <= (1-
t) × REG1 (S0) ”is stored in the register REG2 by DA
Stores data P1 from TA_IN and registers REG
4, the data S0 stored in the register REG1 and (1
-T) is shown and the result of multiplication is stored.
Hereinafter, No. Similarly, data storage operations up to 8 are shown.
【0045】図6の中央の“(Selector Co
ntrol)”には、左のNo.1〜No.8に対応し
てセレクタSEL1〜SEL6のクロック毎の状態を示
してある。“Hold”はレジスタの出力を帰還させて
固定することを示し、“D−IN”は入力端子DATA
_INを選択した状態を示し、“REG1”等は対応す
るレジスタの符号を示し、そのレジスタを選択した状態
を示し、“()”内はレジスタに格納されたデータを示
してある。また、セレクタSEL5については、No.
1の1クロックでは、“(REG3)”としてレジスタ
REG3を選択した状態を示し、No.2の2クロック
では、“t”としてレジスタREG3に格納されたデー
タtを示してレジスタREG3を選択することを示し、
No.3の3クロックでは、“1−t”として加算器A
DD1からのデータ(1−t)を示して加算器ADD1
を選択することを示し、以降同様に示してある。また、
セレクタSEL6については、“(0)”によって、総
ての桁が“0”のデータを供給する端子を選択した状態
を示してある。In the center of FIG. 6, "(Selector Co
"control)" indicates the state of each clock of the selectors SEL1 to SEL6 corresponding to No. 1 to No. 8 on the left. "Hold" indicates that the output of the register is fed back and fixed. "D-IN" is the input terminal DATA
_IN is selected, “REG1” and the like indicate the code of the corresponding register, the register is selected, and “()” indicates the data stored in the register. Regarding the selector SEL5, No.
In 1 clock of 1, the register REG3 is selected as “(REG3)”, and No. In 2 clocks of 2, it indicates that the data t stored in the register REG3 as "t" is selected and the register REG3 is selected.
No. In 3 clocks of 3, the adder A is set as "1-t".
Adder ADD1 showing data (1-t) from DD1
Is selected, and so on. Also,
Regarding the selector SEL6, "(0)" indicates a state in which a terminal supplying data having all digits of "0" is selected.
【0046】図6の右側の“Status_after
_clocked”には、左のNo.1〜No.8に対
応してレジスタREG1〜REG4のクロック毎に格納
したデータ内容を示してある。なお、“不定”によりデ
ータが不定な状態を示してある。"Status_after" on the right side of FIG.
"_Clocked" indicates the data content stored for each clock of the registers REG1 to REG4 corresponding to Nos. 1 to 8 on the left. Note that "undefined" indicates that the data is undefined. .
【0047】次に1〜8クロックの動作を順に述べる。
1クロックでは、セレクタSEL1、SEL2を“Ho
ld”とし、セレクタSEL3を、入力端子DATA_
INを選択した状態とし、セレクタSEL4を、レジス
タREG1を選択した状態とし、セレクタSEL5を、
レジスタREG3を選択した状態とし、セレクタSEL
6を、総ての桁が“0”のデータを供給する端子を選択
した状態とする。これにより、レジスタREG3には入
力端子DATA_INからの時刻tを示すデータtが格
納される。Next, the operation of 1 to 8 clocks will be described in order.
In one clock, the selectors SEL1 and SEL2 are set to “Ho
ld ”, and the selector SEL3 is connected to the input terminal DATA_
IN is selected, selector SEL4 is set to register REG1, and selector SEL5 is set to
With the register REG3 selected, the selector SEL
6 is a state in which a terminal for supplying data having all digits of "0" is selected. As a result, the data t indicating the time t from the input terminal DATA_IN is stored in the register REG3.
【0048】2クロックでは、セレクタSEL1を、入
力端子DATA_INを選択した状態とし、セレクタS
EL2、SEL3を“Hold”とし、セレクタSEL
4を、レジスタREG1を選択した状態とし、セレクタ
SEL5を、レジスタREG3を選択した状態とし、セ
レクタSEL6を、総ての桁が“0”のデータを供給す
る端子を選択した状態とする。これにより、レジスタR
EG1には入力端子DATA_INからの始点S0の値
を示すデータS0が格納される。At 2 clocks, the selector SEL1 is set to the state in which the input terminal DATA_IN is selected, and the selector S
Set EL2 and SEL3 to "Hold", and select SEL
4 is in a state in which the register REG1 is selected, the selector SEL5 is in a state in which the register REG3 is selected, and the selector SEL6 is in a state in which terminals for supplying data of all digits of "0" are selected. This allows register R
Data S0 indicating the value of the starting point S0 from the input terminal DATA_IN is stored in EG1.
【0049】3クロックでは、セレクタSEL1を“H
old”とし、セレクタSEL2を、入力端子DATA
_INを選択した状態とし、セレクタSEL3を“Ho
ld”とし、セレクタSEL4を、レジスタREG1を
選択した状態とし、セレクタSEL5を、加算器ADD
1を選択した状態とし、セレクタSEL6を、総ての桁
が“0”のデータを供給する端子を選択した状態とす
る。これにより、レジスタREG2には入力端子DAT
A_INからの制御P1の値を示すデータP1が格納さ
れる。また、セレクタSEL4を介したレジスタREG
1からデータS0と、セレクタSEL5を介した加算器
ADD1からのデータ(1−t)とが、乗算器MULに
よって乗算され、その結果が加算器ADD2を介してレ
ジスタREG4に格納される。At 3 clocks, the selector SEL1 is set to "H".
and the selector SEL2 is connected to the input terminal DATA.
With _IN selected, the selector SEL3 is set to “Ho
ld ", the selector SEL4 is in a state in which the register REG1 is selected, and the selector SEL5 is an adder ADD.
1 is selected, and the selector SEL6 is set to a state in which a terminal supplying data with all digits of "0" is selected. As a result, the register REG2 has an input terminal DAT.
Data P1 indicating the value of control P1 from A_IN is stored. In addition, the register REG via the selector SEL4
1 to the data S0 and the data (1-t) from the adder ADD1 via the selector SEL5 are multiplied by the multiplier MUL, and the result is stored in the register REG4 via the adder ADD2.
【0050】4クロックでは、セレクタSEL1を、入
力端子DATA_INを選択した状態とし、セレクタS
EL2、SEL3を“Hold”とし、セレクタSEL
4を、レジスタREG2を選択した状態とし、セレクタ
SEL5を、レジスタREG3を選択した状態とし、セ
レクタSEL6を、レジスタREG4を選択した状態と
する。これにより、レジスタREG1には入力端子DA
TA_INからの終点S1の値を示すデータS1が格納
される。また、セレクタSEL4を介したレジスタRE
G2からデータP1と、セレクタSEL5を介したレジ
スタREG3からのデータtとが、乗算器MULによっ
て乗算される。その結果であるtP1は、加算器ADD
2により、セレクタSEL6を介したレジスタREG4
からのデータ(1−t)S0と加算される。すなわち、
上記式(11)で得られる点Q1(t)のデータQ1が
得られる。データQ1はレジスタREG4に格納され
る。At 4 clocks, the selector SEL1 is set to the state in which the input terminal DATA_IN is selected, and the selector S
Set EL2 and SEL3 to "Hold", and select SEL
4, the register REG2 is selected, the selector SEL5 is set to the register REG3, and the selector SEL6 is set to the register REG4. As a result, the input terminal DA is connected to the register REG1.
Data S1 indicating the value of the end point S1 from TA_IN is stored. In addition, the register RE via the selector SEL4
The data P1 from G2 and the data t from the register REG3 via the selector SEL5 are multiplied by the multiplier MUL. The resulting tP1 is the adder ADD
2, the register REG4 via the selector SEL6
From the data (1-t) S0. That is,
The data Q1 of the point Q1 (t) obtained by the above equation (11) is obtained. The data Q1 is stored in the register REG4.
【0051】5クロックでは、セレクタSEL1を“H
old”とし、セレクタSEL2を、レジスタREG4
を選択した状態とし、セレクタSEL3を“Hold”
とし、セレクタSEL4を、レジスタREG2を選択し
た状態とし、セレクタSEL5を、加算器ADD1を選
択した状態とし、セレクタSEL6を、総ての桁が
“0”のデータを供給する端子を選択した状態とする。
これにより、レジスタREG2にはレジスタREG4に
格納されたデータQ1が格納される。また、セレクタS
EL4を介してレジスタREG2に格納されていたデー
タP1と、セレクタSEL5を介した加算器ADD1か
らのデータ(1−t)とが、乗算器MULによって乗算
され、その結果が加算器ADD2を介してレジスタRE
G4に格納される。At 5 clocks, the selector SEL1 is set to "H".
old ”and the selector SEL2 is set to the register REG4.
Is selected, and the selector SEL3 is set to “Hold”.
Then, the selector SEL4 is set to the state in which the register REG2 is selected, the selector SEL5 is set to the state in which the adder ADD1 is selected, and the selector SEL6 is set to the state in which all the terminals for supplying data of "0" are selected. To do.
As a result, the data Q1 stored in the register REG4 is stored in the register REG2. Also, the selector S
The data P1 stored in the register REG2 via EL4 and the data (1-t) from the adder ADD1 via the selector SEL5 are multiplied by the multiplier MUL, and the result is passed via the adder ADD2. Register RE
It is stored in G4.
【0052】6クロックでは、セレクタSEL1、SE
L2、SEL3を“Hold”とし、セレクタSEL4
を、レジスタREG1を選択した状態とし、セレクタS
EL5を、レジスタREG3を選択した状態とし、セレ
クタSEL6を、レジスタREG4を選択した状態とす
る。これにより、セレクタSEL4を介してレジスタR
EG1に格納されていたデータS1と、セレクタSEL
5を介したレジスタREG3からのデータtとが、乗算
器MULによって乗算され、その結果であるデータtS
1と、セレクタSEL4を介したレジスタREG4から
のデータ(1−t)P1とが加算器ADD2によって加
算される。すなわち、上記式(12)の点Q2(t)の
データQ2が得られる。このデータQ2はレジスタRE
G4に格納される。At 6 clocks, the selectors SEL1 and SE
L2 and SEL3 are set to "Hold", and the selector SEL4
To the state in which the register REG1 is selected, and the selector S
EL5 is in a state in which the register REG3 is selected, and selector SEL6 is in a state in which the register REG4 is selected. This causes the register R to pass through the selector SEL4.
The data S1 stored in EG1 and the selector SEL
The data t from the register REG3 via 5 is multiplied by the multiplier MUL, and the result is the data tS.
1 and the data (1-t) P1 from the register REG4 via the selector SEL4 are added by the adder ADD2. That is, the data Q2 at the point Q2 (t) in the above equation (12) is obtained. This data Q2 is stored in the register RE
It is stored in G4.
【0053】7クロックでは、セレクタSEL1を、レ
ジスタREG4を選択した状態とし、セレクタSEL
2、SEL3を“Hold”とし、セレクタ4を、レジ
スタREG2を選択した状態とし、セレクタSEL5
を、加算器ADD1を選択した状態とし、セレクタSE
L6を総ての桁が“0”のデータを供給する端子を選択
した状態とする。これにより、レジスタREG1にレジ
スタREG4からのデータQ2が格納される。また、セ
レクタ4を介したレジスタREG2からのデータQ1
と、セレクタSEL5を介した加算器ADD1からのデ
ータ(1−t)とが、乗算器MULによって乗算され、
その結果のデータ(1−t)Q1が加算器ADD2を介
してレジスタREG4に格納される。At 7 clocks, the selector SEL1 is set to the state in which the register REG4 is selected, and the selector SEL4 is selected.
2, SEL3 is set to "Hold", the selector 4 is set to the state in which the register REG2 is selected, and the selector SEL5
To the state where the adder ADD1 is selected, and the selector SE
L6 is in a state in which a terminal for supplying data having all digits of "0" is selected. As a result, the data Q2 from the register REG4 is stored in the register REG1. In addition, the data Q1 from the register REG2 via the selector 4
And the data (1-t) from the adder ADD1 via the selector SEL5 are multiplied by the multiplier MUL,
The resulting data (1-t) Q1 is stored in the register REG4 via the adder ADD2.
【0054】8クロックでは、セレクタSEL1を入力
端子DATA_INを選択した状態とし、セレクタSE
L2、SEL3を“Hold”とし、セレクタSEL4
を、レジスタREG1を選択した状態とし、セレクタS
EL5を、レジスタREG3を選択した状態とし、セレ
クタSEL6を、レジスタREG4を選択した状態とす
る。これにより、セレクタSEL4を介したレジスタR
EG2からのデータQ2と、セレクタSEL5を介した
レジスタREG3からのデータtとが、乗算器MULに
よって乗算される。その結果であるデータtQ2は、加
算器ADD2により、セレクタSEL6を介したレジス
タREG4からのデータ(1−t)Q1と加算される。
すなわち、上記式(13)で得られる点R2(t)のデ
ータR0が得られる。データR0はレジスタREG4に
格納される。このデータは次の出力標本化タイミングに
出力される。At 8 clocks, the selector SEL1 is set to the state in which the input terminal DATA_IN is selected, and the selector SE
L2 and SEL3 are set to "Hold", and the selector SEL4
To the state in which the register REG1 is selected, and the selector S
EL5 is in a state in which the register REG3 is selected, and selector SEL6 is in a state in which the register REG4 is selected. As a result, the register R via the selector SEL4
The data Q2 from EG2 and the data t from the register REG3 via the selector SEL5 are multiplied by the multiplier MUL. The resulting data tQ2 is added to the data (1-t) Q1 from the register REG4 via the selector SEL6 by the adder ADD2.
That is, the data R0 of the point R2 (t) obtained by the above equation (13) is obtained. The data R0 is stored in the register REG4. This data is output at the next output sampling timing.
【0055】以上1〜8クロックの動作を繰り返し行う
ことによって2次ベジェ曲線による補間が繰り返し行わ
れる。また、次の始点S0、時刻tを例えば、上記8ク
ロックにおいてレジスタREG1、REG3に格納すれ
ば、以降、6クロックの演算処理で点R2(t)のデー
タR0が得られる。このように、ド・カステリョのアル
ゴリズムを用いることにより、曲線補間を行うことによ
る処理速度の低下及び回路規模の増大を極力抑えること
ができる。Interpolation by the quadratic Bezier curve is repeatedly performed by repeating the above operation of 1 to 8 clocks. Further, if the next start point S0 and time t are stored in the registers REG1 and REG3 at the above-mentioned 8 clocks, the data R0 at the point R2 (t) can be obtained by the arithmetic processing of 6 clocks thereafter. As described above, by using the Do Castello algorithm, it is possible to suppress the decrease in the processing speed and the increase in the circuit scale due to the curve interpolation as much as possible.
【0056】以上のように、本例の非同期標本化周波数
変換装置では、標本化周波数比較器3により、標本化周
波数fsiの入力標本化クロックCLKiと標本化周波
数fsoの出力標本化クロックCLKoとを比較して出
力時刻位置情報を生成し、曲線補間手段4は出力時刻位
置情報に基づきベジェ曲線補間を行うため、入力標本化
周波数と出力標本化周波数とが非同期な場合であっても
ベジェ曲線補間を実現でき、歪精度の良い標本化周波数
変換を実現できる。ベジェ曲線補間をド・カステリョの
アルゴリズムを用いて行うため、曲線補間演算の演算量
を削減して処理速度の低下と回路規模の増大とを極力抑
えることができる。例えば、2次ベジェ曲線の場合、直
線補間の僅か3倍の計算量で補間演算ができる。これに
加えて、標本化周波数比較器3が曲線補間演算に用いら
れるパラメータの供給源となるため、別にパラメータ供
給源を必要とせず、その分の回路規模の増大を抑えるこ
とができる。As described above, in the asynchronous sampling frequency conversion apparatus of this example, the sampling frequency comparator 3 causes the input sampling clock CLKi of the sampling frequency fsi and the output sampling clock CLKo of the sampling frequency fso to be obtained. Since the output time position information is compared and the curve interpolation means 4 performs the Bezier curve interpolation based on the output time position information, the Bezier curve interpolation is performed even when the input sampling frequency and the output sampling frequency are asynchronous. And sampling frequency conversion with good distortion accuracy can be realized. Since the Bezier curve interpolation is performed by using the Do Castello algorithm, it is possible to reduce the calculation amount of the curve interpolation calculation and suppress the decrease in processing speed and the increase in circuit scale as much as possible. For example, in the case of a quadratic Bezier curve, interpolation calculation can be performed with a calculation amount that is only three times that of linear interpolation. In addition to this, since the sampling frequency comparator 3 serves as a supply source of parameters used in the curve interpolation calculation, a separate parameter supply source is not required, and an increase in circuit scale can be suppressed.
【0057】本例では、曲線補間を行うことにより、歪
誤差を従来の直線補間より少なくできるため、オーバー
サンプリングの倍率については、直線補間では256倍
程度必要であったが、同程度の精度を実現するには本例
のものでは16倍から32倍程度で良く、倍率を1/8
から1/16に抑えることが可能となる。それによるn
倍化補間FIRフィルタのフィルタ係数の縮小、回路規
模の縮小が可能となる。In this example, since the distortion error can be reduced by performing the curve interpolation as compared with the conventional linear interpolation, the oversampling magnification needs to be about 256 times in the linear interpolation, but the same accuracy is obtained. In order to realize this, in the case of this example, about 16 to 32 times is sufficient, and the magnification is 1/8.
It becomes possible to suppress from 1/16. N by it
It is possible to reduce the filter coefficient of the double interpolation FIR filter and the circuit scale.
【0058】次に本発明の第2の実施例の非同期標本化
周波数変換装置について説明する。上記第1の実施例で
は、ベジェ曲線補間をド・カステリョのアルゴリズムを
用いて行うものとしたが、本発明はこれに限るものでは
ない。ベジェ曲線補間を以下に述べる中点分割法を用い
て行っても良く、本例ではこれを用いたものである。中
点分割法は図7に示すように始点S0と制御点P1との
線分の中点Q1と、制御点P1と終点S1との線分の中
点Q2との中点R1が2次ベジェ曲線上にあり、中点R
1により2つの別の2次ベジェ曲線に分割できる点に着
目したものである。分割して得られた2つの2次ベジェ
曲線の内、時刻tが含まれる側の中点分割を繰り返して
順次生成される中点R1の時刻方向の位置を時刻tに近
づけていくことにより、時刻tにおける2次ベジェ曲線
上の点を近似的に得るものである。図8は中点分割法を
用いて2次ベジェ曲線上の点R2(t)を求める演算回
路の構成を示すブロック図である。その他の構成につい
ては上記第1の実施例のものと同じものである。これ
は、制御回路ctl、セレクタsel1、sel2、s
el3、レジスタreg1、reg2、reg3、シフ
トレジスタsr1、sr2、sr3、加算器add1、
add2、add3からなる。Next, an asynchronous sampling frequency converter according to the second embodiment of the present invention will be described. In the first embodiment, the Bezier curve interpolation is performed using the Do Castello algorithm, but the present invention is not limited to this. The Bezier curve interpolation may be performed using the midpoint division method described below, which is used in this example. In the midpoint division method, as shown in FIG. 7, the midpoint R1 between the midpoint Q1 of the line segment between the start point S0 and the control point P1 and the midpoint Q2 of the line segment between the control point P1 and the end point S1 is a quadratic Bezier. Located on the curve, midpoint R
It focuses on the point that 1 can be divided into two different quadratic Bezier curves. Of the two quadratic Bezier curves obtained by division, the position in the time direction of the midpoint R1 sequentially generated by repeating the midpoint division on the side including the time t is brought closer to the time t, The point on the quadratic Bezier curve at time t is approximately obtained. FIG. 8 is a block diagram showing the configuration of an arithmetic circuit that obtains a point R2 (t) on a quadratic Bezier curve using the midpoint division method. The other structure is the same as that of the first embodiment. This is a control circuit ctl, selectors sel1, sel2, s
el3, registers reg1, reg2, reg3, shift registers sr1, sr2, sr3, adder add1,
It consists of add2 and add3.
【0059】制御回路ctlは、出力時刻位置情報の示
す時刻tに応じ、セレクタsel1、sel2、sel
3のそれぞれの2つの入力端子L、Hの内何れの入力端
子への入力データを有効とするかを制御する。The control circuit ctl selects the selectors sel1, sel2, sel according to the time t indicated by the output time position information.
It controls which of the two input terminals L and H of 3 the input data to which is valid.
【0060】セレクタsel1、sel2、sel3は
有効とされた入力データをそれぞれレジスタreg1、
reg2、reg3に出力する。セレクタsel1で
は、入力端子Lはレジスタreg1の出力端子に接続さ
れ、出力端子Hはシフトレジスタsr3の出力端子に接
続されている。セレクタsel2では、入力端子Lはシ
フトレジスタsr1の出力端子に接続され、入力端子H
はシフトレジスタsr2の出力端子に接続されている。
セレクタsel3では、入力端子Lはシフトレジスタs
r3の出力端子に接続され、入力端子Hはレジスタre
g3の出力端子に接続されている。The selectors sel1, sel2, and sel3 register the valid input data in the registers reg1 and reg1, respectively.
Output to reg2 and reg3. In the selector sel1, the input terminal L is connected to the output terminal of the register reg1 and the output terminal H is connected to the output terminal of the shift register sr3. In the selector sel2, the input terminal L is connected to the output terminal of the shift register sr1 and the input terminal H
Is connected to the output terminal of the shift register sr2.
In the selector sel3, the input terminal L is the shift register s
It is connected to the output terminal of r3 and the input terminal H is connected to the register re.
It is connected to the output terminal of g3.
【0061】加算器add1はレジスタreg1、re
g2からの出力データを加算し、加算器add2はレジ
スタreg2、reg3からの出力データを加算する。
シフトレジスタsr1、sr2はそれぞれレジスタre
g2、reg3からの出力データを受け、データを下位
ビット側にシフトしてその値を1/2とする。加算器a
dd3はシフトレジスタsr1、sr2からの出力デー
タを加算する。シフトレジスタsr3は加算器add3
からの出力データを受け、データを下位ビット側にシフ
トしてその値を1/2とする。また、シフトレジスタs
r3の出力端子からは求める2次ベジェ曲線上の点のデ
ータが出力される。The adder add1 has registers reg1 and re
The output data from g2 is added, and the adder add2 adds the output data from the registers reg2 and reg3.
The shift registers sr1 and sr2 are register re
Upon receiving the output data from g2 and reg3, the data is shifted to the lower bit side and the value is halved. Adder a
dd3 adds the output data from the shift registers sr1 and sr2. The shift register sr3 is an adder add3
Receiving the output data from, the data is shifted to the lower bit side and the value is halved. Also, the shift register s
The data of the point on the quadratic Bezier curve to be obtained is output from the output terminal of r3.
【0062】次に本例の演算回路の動作について図7及
び8を参照しながら説明する。ここで便宜上出力時刻位
置情報としての時刻tは、上述の入力標本化周期Tfs
_inを1とし、これを8等分の期間に分割した1/8
〜7/8とする。まず、時刻tが、入力標本化周期Tf
s_inの中点にあるとき、すなわち、t=4/8のと
きの2次ベジェ曲線上の点R1のデータを求める場合に
ついて述べる。Next, the operation of the arithmetic circuit of this example will be described with reference to FIGS. Here, for convenience, the time t as the output time position information is the input sampling period Tfs described above.
_In is 1 and divided into 8 equal periods 1/8
~ 7/8. First, the time t is the input sampling period Tf
A case will be described in which the data of the point R1 on the quadratic Bezier curve at the midpoint of s_in, that is, when t = 4/8 is obtained.
【0063】まず、レジスタreg1、reg2、re
g3に初期値としてそれぞれ始点S0のデータS0、制
御点P1のデータP1、終点S1のデータS1を与え
る。加算器add1により、データS0とデータP1と
が加算され、この加算結果はシフトレジスタsr1に出
力され、シフトレジスタsr1からは加算結果の1/2
の値が出力データとして得られる。この出力データは、
始点S0と制御点P1との線分の中点Q1の値となる。
加算器add2により、データP1とデータS1とが加
算され、この加算結果はシフトレジスタsr2に出力さ
れ、シフトレジスタsr2からは加算結果の1/2の値
が出力データとして得られる。この出力データは、制御
点P1と終点S1との線分の中点Q2の値となる。加算
器add3により、シフトレジスタsr1、sr2の出
力データが加算され、この加算結果はシフトレジスタs
r3に出力され、シフトレジスタsr3からは加算結果
の1/2の値が出力データとして得られる。ここでは、
中点Q1、Q2のデータQ1、Q2の加算結果を1/2
としてあり、得られる出力データは点Q1、Q2の中点
R1の値となり、求めるべき2次ベジェ曲線上の点R1
の値となる。First, the registers reg1, reg2, re
The data S0 at the start point S0, the data P1 at the control point P1, and the data S1 at the end point S1 are given to g3 as initial values. The data S0 and the data P1 are added by the adder add1, the addition result is output to the shift register sr1, and the shift register sr1 outputs 1/2 of the addition result.
The value of is obtained as output data. This output data is
It is the value of the midpoint Q1 of the line segment between the starting point S0 and the control point P1.
The data P1 and the data S1 are added by the adder add2, the addition result is output to the shift register sr2, and the shift register sr2 obtains 1/2 of the addition result as output data. This output data becomes the value of the midpoint Q2 of the line segment between the control point P1 and the end point S1. The output data of the shift registers sr1 and sr2 are added by the adder add3, and the addition result is the shift register s
It is output to r3, and the shift register sr3 obtains 1/2 of the addition result as output data. here,
Half the addition result of the data Q1 and Q2 of the middle point Q1 and Q2
The obtained output data is the value of the midpoint R1 of the points Q1 and Q2, and the point R1 on the quadratic Bezier curve to be obtained is
Becomes the value of.
【0064】次に時刻tが、t=6/8のときの2次ベ
ジェ曲線上の点R2のデータを求める場合について述べ
る。これは、図7において、点R1によって2つに分割
された2つの2次ベジェ曲線の内、点R2を含む右側の
2次ベジェ曲線に上述の手法を適用することにより、点
R2の値を求めるのである。Next, a case will be described in which the data of the point R2 on the quadratic Bezier curve when the time t is t = 6/8 is obtained. In FIG. 7, the value of the point R2 is calculated by applying the above-mentioned method to the quadratic Bezier curve on the right side including the point R2 among the two quadratic Bezier curves divided into two by the point R1. To ask.
【0065】まず、上述の1回目の中点分割演算によっ
て点R1を求める。次に2回目の中点分割動作を行うに
あたり、制御回路ctlは、時刻位置情報としての時刻
tが、t=6/8の場合、セレクタsel1、sel
2、sel3に入力端子Hへの入力データを有効とせし
める。これにより、セレクタsel1には先に求めた点
R1の値であるデータR1が入力され、データR1はセ
レクタsel1を介してレジスタreg1に出力され
る。セレクタsel2には先に求めたデータQ2が入力
され、データQ2はセレクタsel2を介してレジスタ
reg2に出力される。セレクタsel3にはレジスタ
reg3のデータS1が入力され、データS1はセレク
タsel3を介してレジスタreg3に出力される。加
算器add1によってデータR1とデータQ2とが加算
され、シフトレジスタsr1によってこの加算結果の1
/2の値のデータQ3が得られる。このデータQ3は、
点R1と点Q2との線分の中点Q3の値を示す。加算器
add2によってデータQ2とデータS1とが加算さ
れ、シフトレジスタsr2によってこの加算結果の1/
2の値のデータQ4が得られる。このデータQ4は、点
Q2と点S1との線分の中点Q4の値を示す。加算器a
dd3によってデータQ3とデータQ4とが加算され、
シフトレジスタsr3によってこの加算結果の1/2の
値のデータR2が得られる。データR2は点Q3、Q4
の中点R2の値となり、求めるべき2次ベジェ曲線上の
点R2の値となる。First, the point R1 is obtained by the above-mentioned first midpoint division calculation. Next, when performing the second midpoint division operation, when the time t as the time position information is t = 6/8, the control circuit ctl selects the selectors sel1 and sel.
2. Make input data to the input terminal H valid in sel3. As a result, the data R1 that is the value of the point R1 previously obtained is input to the selector sel1, and the data R1 is output to the register reg1 via the selector sel1. The previously obtained data Q2 is input to the selector sel2, and the data Q2 is output to the register reg2 via the selector sel2. The data S1 of the register reg3 is input to the selector sel3, and the data S1 is output to the register reg3 via the selector sel3. The adder add1 adds the data R1 and the data Q2, and the shift register sr1 adds 1 to the addition result.
Data Q3 having a value of / 2 is obtained. This data Q3 is
The value of the midpoint Q3 of the line segment between the points R1 and Q2 is shown. The data Q2 and the data S1 are added by the adder add2, and 1 / of the addition result is obtained by the shift register sr2.
Data Q4 having a value of 2 is obtained. This data Q4 indicates the value of the midpoint Q4 of the line segment between the point Q2 and the point S1. Adder a
The data Q3 and the data Q4 are added by dd3,
By the shift register sr3, the data R2 having a value of 1/2 of this addition result is obtained. Data R2 are points Q3 and Q4
It becomes the value of the midpoint R2, and becomes the value of the point R2 on the quadratic Bezier curve to be obtained.
【0066】時刻tが、t=7/8のときの2次ベジェ
曲線上の点R3のデータを求める場合は、上述の動作に
よって1回目及び2回目の中点分割演算によって点R
1、R2の値を求めた後に、3回目の中点分割演算にあ
たり、制御回路ctlはセレクタsel1、sel2、
sel3の入力端子Hへの入力データを有効とし、上述
の中点分割演算を行うことによって点R3の値が求めら
れる。When the data of the point R3 on the quadratic Bezier curve when the time t is t = 7/8 is obtained, the point R is calculated by the first and second midpoint division operations by the above operation.
After obtaining the values of 1 and R2, in the third midpoint division calculation, the control circuit ctl has the selectors sel1, sel2,
The value of the point R3 is obtained by validating the input data to the input terminal H of sel3 and performing the above-mentioned midpoint division calculation.
【0067】また、時刻tが、t=5/8のときの2次
ベジェ曲線上の点R4のデータを求める場合は、上述の
動作によって1回目及び2回目の中点分割演算によって
点R1、R2の値を求めた後に、3回目の中点分割演算
にあたり、制御回路ctlはセレクタsel1、sel
2、sel3の入力端子Lへの入力データを有効とし、
上述の中点分割演算を行うことによって点R4の値が求
められる。Further, when the data of the point R4 on the quadratic Bezier curve at the time t = 5/8 is obtained, the points R1 and R1 are calculated by the above-described operation by the first and second midpoint division operations. After obtaining the value of R2, the control circuit ctl determines the selectors sel1 and sel for the third midpoint division calculation.
2, valid the input data to the input terminal L of sel3,
The value of the point R4 is obtained by performing the above-mentioned midpoint division calculation.
【0068】すなわち、上述の入力標本化周期Tfs_
inを2n(図7において、nは1から3迄の整数であ
るが、これに限らず1以上の任意の整数とすれば良
い。)に分割した時刻における2次ベジェ曲線状の点の
値はn回の上述の中点分割演算によって得られる。ま
た、n回目からn+1回目の中点分割演算に移るとき
に、n+1回目に求める点の時刻tの値が、n回目に求
めた点の時刻tの値より大きければ、制御回路ctlは
セレクタsel1、sel2、sel3の入力端子Hへ
の入力データを有効とし、n+1回目に求める点の時刻
tの値が、n回目に求めた点の時刻tの値より小さけれ
ば、制御回路ctlはセレクタsel1、sel2、s
el3の入力端子Hへの入力データを有効とする。この
ような制御処理は、例えば、時刻tを1〜111の2進
数で示すことにより、次のように実現できる。That is, the above-mentioned input sampling period Tfs_
The point of the quadratic Bezier curve at the time when in is divided into 2 n (n is an integer from 1 to 3 in FIG. 7, but is not limited to this and may be any integer of 1 or more). The value is obtained by performing the above midpoint division operation n times. If the value of the time t of the point obtained at the n + 1-th time is larger than the value of the time t of the point obtained at the n-th time when moving from the n-th to the n + 1-th midpoint division calculation, the control circuit ctl selects the selector sel1. , Sel2, sel3, the input data to the input terminals H of the sel, sel2, and sel3 are valid, and if the value of the time t of the point obtained in the (n + 1) th time is smaller than the value of the time t of the point obtained in the nth time, the control circuit ctl determines that the selector sel1, sel2, s
The input data to the input terminal H of el3 is validated. Such a control process can be realized as follows, for example, by indicating the time t with a binary number from 1 to 111.
【0069】1回目の中点分割演算の後のセレクタの設
定は時刻tを100と比較し、一致すれば、制御回路c
tlは1回目の中点分割演算で得られるシフトレジスタ
sr3のデータを求めるべきデータとして演算動作を終
了させ、一致せず、最上位ビットが1であれば、セレク
タsel1、sel2、sel3の入力端子Hへの入力
データを有効とし、最上位ビットが0であれば、セレク
タsel1、sel2、sel3の入力端子Lへの入力
データを有効として2回目の中点演算を行わせる。2回
目の点分割演算の後のセレクタの設定は次のように行わ
れる。まず、時刻tの全体を上位ビット側に1ビットだ
けシフトし、このシフトの直前の最上位ビットを切り捨
て、最下位ビットに0を与える。これを100と比較
し、一致すれば、制御回路ctlは2回目の中点分割演算
で得られるシフトレジスタsr3のデータを求めるべき
データとして演算動作を終了させる。ここで一致せず、
最上位ビットが1の場合は、セレクタsel1、sel
2、sel3の入力端子Hへの入力データを有効とし、
0の場合は、セレクタsel1、sel2、sel3の
入力端子Lへの入力データを有効として3回目の中点演
算を行わせる。時刻tの桁が増加すれば、同様の手順で
対応すればよい。このように、制御回路ctlは比較回
路とシフトレジスタという簡単な回路構成で実現でき
る。The setting of the selector after the first midpoint division calculation compares the time t with 100, and if they match, the control circuit c
tl is the data of the shift register sr3 obtained by the first midpoint division calculation, and ends the arithmetic operation. If they do not match and the most significant bit is 1, the input terminals of the selectors sel1, sel2, and sel3. If the input data to H is valid and the most significant bit is 0, the input data to the input terminals L of the selectors sel1, sel2, and sel3 are valid and the second midpoint calculation is performed. The setting of the selector after the second point division calculation is performed as follows. First, the entire time t is shifted by 1 bit to the upper bit side, the most significant bit immediately before this shift is truncated, and 0 is given to the least significant bit. This is compared with 100, and if they match, the control circuit ctl ends the arithmetic operation with the data of the shift register sr3 obtained by the second midpoint division calculation as the data to be obtained. Do not match here,
When the most significant bit is 1, selectors sel1 and sel
2, valid the input data to the input terminal H of sel3,
In the case of 0, the input data to the input terminals L of the selectors sel1, sel2, and sel3 are valid, and the third midpoint calculation is performed. If the digit of the time t increases, the same procedure may be taken. As described above, the control circuit ctl can be realized by a simple circuit configuration including the comparison circuit and the shift register.
【0070】以上のように本例では、標本化周波数比較
器3からの出力時刻位置情報としての時刻tが2nの形
で決まるようなものとし、中点分割法を用いることによ
り、演算回路を3つのセレクタ、セレクタを切り替える制
御回路、3つの加算器、3つのシフトレジスタから構成
できる。すなわち、本例は比較的大きな回路面積を占め
る乗算器を必要とせず、上記第1の実施例と同様の作
用、効果を奏するとともに、さらに回路規模を抑えるこ
とが可能となる。As described above, in this example, the time t as the output time position information from the sampling frequency comparator 3 is determined in the form of 2 n , and the arithmetic circuit is used by using the midpoint division method. Can be composed of three selectors, a control circuit for switching the selectors, three adders, and three shift registers. In other words, this example does not require a multiplier that occupies a relatively large circuit area, has the same operation and effect as those of the first embodiment, and can further reduce the circuit scale.
【0071】上記各実施例ではベジェ曲線に特に重み付
けを与えなかったが、これに限るものではない。例え
ば、曲線補間演算に用いられる各点に重み付けを与え
て、有理ベジェ曲線にて補間を行っても良く、この場合
の各点間の分割演算は次のようになる。Although the Bezier curve is not particularly weighted in each of the above embodiments, the present invention is not limited to this. For example, weighting may be given to each point used in the curve interpolation calculation, and interpolation may be performed using a rational Bezier curve. In this case, the division calculation between each point is as follows.
【数15】 [Equation 15]
【0072】ここで、W(i)はP(i)での重み付け
であり、P(i)は分割演算用いられるi(i=0、
1、2・・・)番目の点であり、例えば、式(11)に
適用すれば、P(0)=S0、P(1)=P1、P
(2)=Q1(t)と置ける。適当な重み付けを行うこ
とにより、再生されるオーディオ信号の音色に所望の効
果を持たせることができる。Here, W (i) is the weighting in P (i), and P (i) is i (i = 0,
(1, 2 ...) The second point, for example, if applied to the equation (11), P (0) = S0, P (1) = P1, P
(2) = Q1 (t) can be set. By performing appropriate weighting, it is possible to give a desired effect to the tone color of the reproduced audio signal.
【0073】また、上記各実施例では、ベジェ曲線の制
御点を、近似的に求めた始点、終点の傾きに係数を乗
じ、これを始点、終点に加算した結果として求めたが、
これに限るものではない。例えば、2次ベジェ曲線であ
れば、係数を乗じるのではなく始点、終点からその傾き
に沿って延長した直線の交点を制御点としても良い。こ
の場合、時刻tとパラメータτとの等価性が崩れるが、こ
のずれはパラメータτを時刻tから演算すれば問題とな
らない。Further, in each of the above embodiments, the control point of the Bezier curve is obtained as a result of multiplying the gradient of the start point and the end point, which are obtained approximately, by a coefficient, and adding this to the start point and the end point.
It is not limited to this. For example, in the case of a quadratic Bezier curve, the control points may be intersections of straight lines extending from the start point and the end point along the inclination, instead of being multiplied by the coefficient. In this case, the equivalence between the time t and the parameter τ is broken, but this deviation does not pose a problem if the parameter τ is calculated from the time t.
【0074】[0074]
【発明の効果】本発明によれば、出力時刻位置情報生成
手段により、曲線補間手段のへの入力の標本化周波数
と、曲線補間手段からの出力の標本化周波数とを比較し
て出力時刻位置情報を生成し、曲線補間手段は出力時刻
位置情報に基づき曲線補間を行うため、入力と出力とで
標本化周波数が非同期な場合であっても曲線補間を実現
でき、歪精度の良い標本化周波数変換を実現できる。According to the present invention, the output time position information generating means compares the sampling frequency of the input to the curve interpolating means with the sampling frequency of the output from the curve interpolating means to determine the output time position. Since the information is generated and the curve interpolating means performs the curve interpolation based on the output time position information, the curve interpolation can be realized even when the sampling frequency is asynchronous between the input and the output, and the sampling frequency with high distortion accuracy can be realized. The conversion can be realized.
【0075】特にオーバーサンプリングの用のデジタル
フィルタを用いる標本化周波数変換器において、デジタ
ルフィルタの出力データ間を曲線補間することに適用す
れば、曲線補間によって歪誤差が改善されることによ
り、従来の直線補間するものと同程度の精度を得る場合
であれば、従来のものと比べてオーバーサンプリング倍
率を抑えることが可能となり、デジタルフィルタのフィ
ルタ係数の縮小、回路規模の縮小が可能となる。Particularly in a sampling frequency converter using a digital filter for oversampling, if it is applied to curve interpolation between output data of the digital filter, the distortion error is improved by the curve interpolation. If an accuracy similar to that of linear interpolation is obtained, the oversampling ratio can be suppressed as compared with the conventional one, and the filter coefficient of the digital filter and the circuit scale can be reduced.
【0076】また、出力時刻位置情報生成手段が補間パ
ラメータの供給装置となっており、別途補間パラメータ
の供給装置を設ける必要がなく、この点からも回路規模
の縮小を効果的に進めることが可能となる。Further, since the output time position information generating means is the interpolation parameter supply device, there is no need to provide a separate interpolation parameter supply device, and from this point also the circuit scale can be effectively reduced. Becomes
【0077】また、曲線補間にベジェ曲線を用い、ド・
カステリョのアルゴリズムに基づいて曲線補間演算を行
うことにより、曲線補間演算の演算量を削減して処理速
度の低下と回路規模の増大とを極力抑えることができ
る。Also, using a Bezier curve for curve interpolation,
By performing the curve interpolation calculation based on the Castello algorithm, it is possible to reduce the calculation amount of the curve interpolation calculation, and to suppress the decrease in processing speed and the increase in circuit scale as much as possible.
【0078】また、出力時刻位置情報を入力データの標
本化周期の1/2n(nは1以上の整数)を単位とした
ものとして2次ベジェ曲線を用いて曲線補間を行い、こ
れを中点分割法に基づいて行うことによっては、乗算器
を必要とせず、セレクタ、加算器、レベルシフタ等の簡
単な回路構成により、曲線補間を実現でき、回路規模の
縮小を効果的に進めることができる。Also, curve interpolation is performed using a quadratic Bezier curve with the output time position information as a unit of 1/2 n (n is an integer of 1 or more) of the sampling cycle of the input data, Depending on the point division method, a multiplier is not required, and curve interpolation can be realized with a simple circuit configuration such as a selector, an adder, and a level shifter, and the circuit scale can be effectively reduced. .
【0079】また、曲線補間を行うことによれば、曲線
補間演算に用いられる各点に適当な重み付けを持たせて
再生されるオーディオ信号の音色に所望の効果を持たせ
る等、データの加工も可能となる。Further, by performing the curve interpolation, data processing is also performed such that each point used in the curve interpolation calculation is given an appropriate weighting to give a desired effect to the tone color of the reproduced audio signal. It will be possible.
【図1】本発明の第1の実施例の非同期標本化周波数変
換装置の構成を示すブロック図。FIG. 1 is a block diagram showing the configuration of an asynchronous sampling frequency conversion device according to a first embodiment of the present invention.
【図2】図1の非同期標本化周波数変換装置の曲線補間
演算に用いられるベジェ曲線を示す説明図。FIG. 2 is an explanatory diagram showing a Bezier curve used in a curve interpolation calculation of the asynchronous sampling frequency conversion device in FIG.
【図3】図1の非同期標本化周波数変換装置の曲線補間
演算に用いられるド・カステリョのアルゴリズムを示す
説明図。FIG. 3 is an explanatory diagram showing an algorithm of de Castello used in the curve interpolation calculation of the asynchronous sampling frequency conversion device of FIG. 1.
【図4】図1の非同期標本化周波数変換装置の曲線補間
演算に用いられるベジェ曲線の制御点を示す説明図。FIG. 4 is an explanatory diagram showing control points of a Bezier curve used in a curve interpolation calculation of the asynchronous sampling frequency conversion device of FIG.
【図5】図1の非同期標本化周波数変換装置の曲線補間
演算を実行する演算回路の構成を示すブロック図。5 is a block diagram showing a configuration of an arithmetic circuit that executes a curve interpolation operation of the asynchronous sampling frequency conversion device of FIG.
【図6】図5の演算回路の動作シーケンスを示す説明
図。FIG. 6 is an explanatory diagram showing an operation sequence of the arithmetic circuit of FIG.
【図7】本発明の第2の実施例の非同期標本化周波数変
換装置の曲線補間演算に用いられる中点分割法のアルゴ
リズムを示す説明図。FIG. 7 is an explanatory diagram showing an algorithm of the midpoint division method used for the curve interpolation calculation of the asynchronous sampling frequency conversion apparatus according to the second embodiment of the present invention.
【図8】本発明の第2の実施例の非同期標本化周波数変
換装置の曲線補間演算を実行する演算回路の構成を示す
ブロック図。FIG. 8 is a block diagram showing a configuration of an arithmetic circuit that executes a curve interpolation operation of the asynchronous sampling frequency conversion apparatus according to the second embodiment of the present invention.
【図9】従来の標本化周波数変換装置の構成を示すブロ
ック図。FIG. 9 is a block diagram showing the configuration of a conventional sampling frequency conversion device.
1 記憶手段(データバッファ) 2 デジタルフィルタ(n倍化補間FIRフィルタ) 3 時刻位置情報生成手段(標本化周波数比較器) 4 曲線補間手段 1 Storage means (data buffer) 2 Digital filter (n-fold interpolation FIR filter) 3 Time position information generating means (sampling frequency comparator) 4 Curve interpolation means
Claims (12)
第2の標本化周波数でデータを出力する標本化周波数変
換装置であって、 上記第1の標本化周波数と上記第2の標本化周波数とを
比較し、上記入力データの時刻位置に対する上記出力デ
ータの時刻位置を示す出力時刻位置情報を生成する時刻
位置情報生成手段と、 前後する上記入力データ間を曲線補間し、上記出力時刻
位置情報に基づき、上記曲線上の上記出力時刻位置情報
に対応する値を演算して当該値を上記出力データとして
上記第2の標本化周波数で出力する曲線補間手段とを具
備することを特徴とする標本化周波数変換装置。1. Inputting data at a first sampling frequency,
A sampling frequency conversion device that outputs data at a second sampling frequency, wherein the first sampling frequency and the second sampling frequency are compared, and the output data with respect to the time position of the input data. The time position information generating means for generating the output time position information indicating the time position and the preceding and following input data are curvedly interpolated, and based on the output time position information, correspond to the output time position information on the curve. A sampling frequency conversion device, comprising: a curve interpolating unit that calculates a value and outputs the value as the output data at the second sampling frequency.
補間手段はド・カステリョのアルゴリズムに基づいて上
記演算を行うことを特徴とする請求項1に記載の標本化
周波数変換装置。2. The sampling frequency conversion device according to claim 1, wherein the curve is a Bezier curve, and the curve interpolating means performs the calculation based on the algorithm of De Castello.
補間手段はド・カステリョのアルゴリズムに基づいて上
記演算を行うものであり、上記演算に用いる各点に重み
付けを行うことを特徴とする請求項1に記載の標本化周
波数変換装置。3. The curve is a Bezier curve, the curve interpolating means performs the calculation based on the algorithm of de Castello, and weights each point used in the calculation. Item 1. The sampling frequency converter according to item 1.
出力時刻位置情報は、上記入力データの標本化周期の1
/2n(nは1以上の整数)を単位としてあり、上記曲
線補間手段は中点分割法に基づいて上記演算を行うこと
を特徴とする請求項1に記載の標本化周波数変換装置。4. The curve is a quadratic Bezier curve, and the output time position information is 1 of a sampling cycle of the input data.
2. The sampling frequency conversion device according to claim 1, wherein the unit is set to / 2 n (n is an integer of 1 or more), and the curve interpolation means performs the calculation based on a midpoint division method.
の時刻方向の位置を上記曲線の始点から上記入力データ
の標本化周期の1/2の位置としてあり、上記制御点の
データの値は、上記始点に対応する上記入力データの1
つ前の上記入力データと上記曲線の終点に対応する上記
入力データとから近似的に求められた上記曲線の上記始
点の傾きと、上記終点に対応する上記入力データの1つ
後の上記入力データと上記始点に対応する上記入力デー
タとから近似的に求められた上記曲線の上記終点の傾き
と、上記始点に対応する上記入力データと、上記終点に
対応する上記データとに基づいて定まることを特徴とす
る請求項1乃至4の何れかに記載の標本化周波数変換装
置。5. The curve is a quadratic Bezier curve, and the position of the control point in the time direction is set to the position of 1/2 of the sampling cycle of the input data from the starting point of the curve, and the control point data The value is 1 of the above input data corresponding to the above start point.
The slope of the starting point of the curve that is approximately obtained from the previous input data and the input data corresponding to the end point of the curve, and the input data after one of the input data corresponding to the end point. And the slope of the end point of the curve that is approximately obtained from the input data corresponding to the start point, the input data corresponding to the start point, and the data corresponding to the end point. The sampling frequency conversion device according to claim 1, wherein the sampling frequency conversion device is a sampling frequency conversion device.
の制御点の時刻方向の位置を上記曲線の始点から上記入
力データの標本化周期の1/3の位置としてあり、第2
の制御点の時刻方向の位置を上記ベジェ曲線の始点から
上記入力データの標本化周期の2/3の位置としてあ
り、上記第1の制御点のデータの値は、上記始点に対応
する上記入力データの1つ前の上記入力データと上記曲
線の終点に対応する上記入力データとから近似的に求め
た上記曲線の上記始点の傾きと上記始点に対応する上記
入力データとから定まり、上記第2の制御点のデータの
値は、上記終点に対応する上記入力データの1つ後の上
記入力データと上記始点に対応する上記入力データとか
ら近似的に求められた上記曲線の上記終点の傾きと、上
記終点に対応する上記入力データとから定まることを特
徴とする請求項1乃至3の何れかに記載の標本化周波数
変換装置。6. The curve is a cubic Bezier curve, the first curve
The position of the control point in the time direction from the starting point of the curve is 1/3 of the sampling period of the input data,
Of the control point in the time direction from the start point of the Bezier curve to the position of 2/3 of the sampling period of the input data, and the value of the data of the first control point is the input corresponding to the start point. It is determined from the slope of the starting point of the curve approximately obtained from the input data immediately before the data and the input data corresponding to the end point of the curve, and the input data corresponding to the starting point. The value of the control point data is the slope of the end point of the curve approximately obtained from the input data one after the input data corresponding to the end point and the input data corresponding to the start point. The sampling frequency conversion device according to any one of claims 1 to 3, wherein the sampling frequency conversion device is determined from the input data corresponding to the end point.
第2の標本化周波数でデータを出力する標本化周波数変
換装置であって、 上記第1の標本化周波数でデータを入力し、当該入力デ
ータを所定数保持する記憶手段と、 上記記憶手段に保持されたデータを取り出し、上記第1
の標本化周波数をn倍化して補間するデジタルフィルタ
と、 上記第1の標本化周波数と上記第2の標本化周波数とを
比較し、上記デジタルフィルタからの出力データの時刻
位置に対する最終的な出力データの時刻位置を示す出力
時刻位置情報を生成する時刻位置情報生成手段と、 上記デジタルフィルタからの上記出力データ間を曲線補
間し、上記出力時刻位置情報に基づき、上記曲線上の上
記出力時刻位置情報に対応する値を演算して当該値を上
記最終的な出力データとして上記第2の標本化周波数で
出力する曲線補間手段とを具備することを特徴とする標
本化周波数変換装置。7. Inputting data at a first sampling frequency,
A sampling frequency conversion device for outputting data at a second sampling frequency, comprising storage means for inputting data at the first sampling frequency and storing a predetermined number of the input data, and storage means for storing the input data in the storage means. The extracted data, and
The digital filter that interpolates by multiplying the sampling frequency of n by n and the first sampling frequency and the second sampling frequency are compared, and the final output with respect to the time position of the output data from the digital filter is compared. The time position information generating means for generating the output time position information indicating the time position of the data and the output data from the digital filter are curvedly interpolated, and the output time position on the curve is based on the output time position information. A sampling frequency conversion device, comprising: a curve interpolating unit that calculates a value corresponding to information and outputs the value as the final output data at the second sampling frequency.
補間手段はド・カステリョのアルゴリズムに基づいて上
記演算を行うことを特徴とする請求項7に記載の標本化
周波数変換装置。8. The sampling frequency conversion device according to claim 7, wherein the curve is a Bezier curve, and the curve interpolating means performs the calculation based on the algorithm of De Castello.
補間手段はド・カステリョのアルゴリズムに基づいて上
記演算を行うものであり、上記演算に用いる各点に重み
付けを行うことを特徴とする請求項7に記載の標本化周
波数変換装置。9. The curve is a Bezier curve, and the curve interpolating means performs the calculation based on the algorithm of De Castello, and weights each point used in the calculation. Item 7. The sampling frequency converter according to item 7.
出力時刻位置情報は、上記デジタルフィルタからの上記
出力データの標本化周期の1/2n(nは1以上の整
数)を単位としてあり、上記曲線補間手段は中点分割法
に基づいて上記演算を行うことを特徴とする請求項7に
記載の標本化周波数変換装置。10. The curve is a quadratic Bezier curve, and the output time position information is in units of 1/2 n (n is an integer of 1 or more) of a sampling period of the output data from the digital filter. The sampling frequency conversion device according to claim 7, wherein the curve interpolation means performs the calculation based on a midpoint division method.
御点の時刻方向の位置を上記曲線の始点から上記デジタ
ルフィルタからの上記出力データの標本化周期の1/2
の位置としてあり、上記制御点のデータの値は、上記曲
線の終点に対応する上記出力データから上記始点に対応
する上記出力データの1つ前の上記出力データを減算し
た結果を1/4とした値と上記始点に対応する上記出力
データとを加算した値と、上記終点に対応する上記出力
データの1つ後の上記出力データから上記始点に対応す
る上記出力データを減算した結果を1/4とした値を上
記終点に対応する上記出力データから減算した値とを平
均して定まることを特徴とする請求項7乃至10の何れ
かに記載の標本化周波数変換装置。11. The curve is a quadratic Bezier curve, and the position of the control point in the time direction is set to 1/2 of the sampling period of the output data from the digital filter from the starting point of the curve.
And the value of the data of the control point is 1/4 of the result obtained by subtracting the output data immediately before the output data corresponding to the start point from the output data corresponding to the end point of the curve. Value obtained by adding the output data corresponding to the start point and the output data corresponding to the end point to the output data immediately after the output data corresponding to the start point, and subtracting 1 / The sampling frequency conversion device according to any one of claims 7 to 10, wherein a value obtained by subtracting 4 from the output data corresponding to the end point is averaged.
1の制御点の時刻方向の位置を上記曲線の始点から上記
デジタルフィルタの上記出力データの標本化周期の1/
3の位置としてあり、第2の制御点の時刻方向の位置を
上記曲線の始点から上記出力データの標本化周期の2/
3の位置としてあり、上記第1の制御点のデータの値
は、上記曲線の終点に対応する上記出力データから上記
始点に対応する上記出力データの1つ前の上記出力デー
タを減算した結果を1/6した値に上記始点に対応する
上記出力データを加算して定まり、上記第2の制御点の
データの値は、上記終点に対応する上記出力データの1
つ後の上記出力データから上記始点に対応する上記出力
データを減算した結果を1/6とした値を上記終点に対
応する上記出力データから減算して定まることを特徴と
する請求項7乃至9の何れかに記載の標本化周波数変換
装置。12. The curve is a cubic Bezier curve, and the position of the first control point in the time direction is set to 1 / s of the sampling period of the output data of the digital filter from the start point of the curve.
3 position, and the position of the second control point in the time direction is 2 / of the sampling cycle of the output data from the start point of the curve.
The value of the data of the first control point is obtained by subtracting the output data immediately before the output data corresponding to the start point from the output data corresponding to the end point of the curve. It is determined by adding the output data corresponding to the start point to a value obtained by ⅙, and the value of the data at the second control point is 1 of the output data corresponding to the end point.
10. The value obtained by subtracting 1/6 of the result obtained by subtracting the output data corresponding to the start point from the subsequent output data is determined by subtracting from the output data corresponding to the end point. The sampling frequency conversion device according to any one of 1.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001315075A JP2003124785A (en) | 2001-10-12 | 2001-10-12 | Device for converting sampling frequency |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001315075A JP2003124785A (en) | 2001-10-12 | 2001-10-12 | Device for converting sampling frequency |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2003124785A true JP2003124785A (en) | 2003-04-25 |
Family
ID=19133297
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2001315075A Pending JP2003124785A (en) | 2001-10-12 | 2001-10-12 | Device for converting sampling frequency |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2003124785A (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111127590A (en) * | 2019-12-26 | 2020-05-08 | 新奥数能科技有限公司 | Second-order Bezier curve drawing method and device |
-
2001
- 2001-10-12 JP JP2001315075A patent/JP2003124785A/en active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111127590A (en) * | 2019-12-26 | 2020-05-08 | 新奥数能科技有限公司 | Second-order Bezier curve drawing method and device |
CN111127590B (en) * | 2019-12-26 | 2023-06-20 | 新奥数能科技有限公司 | Second-order Bezier curve drawing method and device |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US4715257A (en) | Waveform generating device for electronic musical instruments | |
JP2576647B2 (en) | Waveform generator | |
JPH07112144B2 (en) | Digital filter | |
US6279020B1 (en) | Programmable circuit for realizing a digital filter | |
JP2005287003A (en) | Upconverter circuit | |
JP2003124785A (en) | Device for converting sampling frequency | |
US20110170639A1 (en) | Multiplier-less data processing techniques and related implementations adapted for use in polar modulator | |
WO2000079686A1 (en) | Digital-analog converter and method, and data interpolation device and method | |
TWI232027B (en) | Interpolation function generating device, interpolation data generating method, digital/analog converter, data interpolating device and recording medium | |
US6973468B2 (en) | Data interpolating device and method, sampling function generating device, data interpolating program, and recorded medium | |
JP3282573B2 (en) | Variable delay device and method | |
JP4630056B2 (en) | Convolution arithmetic circuit | |
JPH1155076A (en) | Sampling frequency converting device | |
JPH1131945A (en) | Finite impulse response filter having asymmetrical frequency response characteristic | |
US6778600B1 (en) | Method of filtering and apparatus therefore | |
JP3566613B2 (en) | Tone generator and digital tone generation method | |
JP4243473B2 (en) | FIR digital filter | |
JP3371469B2 (en) | Music signal synthesizer | |
JP5665770B2 (en) | Signal generation apparatus and signal generation method | |
JPH10322164A (en) | Digital filter | |
JP2818345B2 (en) | Digital sine wave generation circuit | |
JP3743625B2 (en) | Variable delay device | |
JP4276258B2 (en) | System and method for implementing sample rate converters using hardware and software to maximize speed and flexibility | |
JP3223555B2 (en) | Waveform reading device | |
JP2628506B2 (en) | Digital filter |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20040925 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20051101 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20051129 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060127 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060410 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20070221 |