JP2019016002A - Data interpolation apparatus and data interpolation method - Google Patents
Data interpolation apparatus and data interpolation method Download PDFInfo
- Publication number
- JP2019016002A JP2019016002A JP2017130401A JP2017130401A JP2019016002A JP 2019016002 A JP2019016002 A JP 2019016002A JP 2017130401 A JP2017130401 A JP 2017130401A JP 2017130401 A JP2017130401 A JP 2017130401A JP 2019016002 A JP2019016002 A JP 2019016002A
- Authority
- JP
- Japan
- Prior art keywords
- interpolation
- data
- target section
- sections
- spline function
- 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.)
- Granted
Links
Images
Landscapes
- Complex Calculations (AREA)
Abstract
Description
本発明は、データ補間装置、およびデータ補間方法に関する。 The present invention relates to a data interpolation device and a data interpolation method.
次のようなデジタル−アナログ変換器が知られている。このデジタル−アナログ変換器では、デジタルデータを補間するために、3階Bスプライン関数F(t)を用いた二次の区分多項式である標本化関数H(t)を用いていた(例えば、特許文献1)。 The following digital-analog converters are known. In this digital-analog converter, a sampling function H (t), which is a quadratic piecewise polynomial using a third-order B-spline function F (t), is used to interpolate digital data (for example, a patent) Reference 1).
連続したデジタルデータに対してスプライン関数を用いた補間を行う場合、スプライン関数の係数をデジタルデータのサンプル点間の区間ごとに求めることができれば、入力されるデジタルデータに応じた精度の高い補間が可能となる。しかしながら、従来のデジタル−アナログ変換器では、二次の区分多項式である標本化関数を用いているが、区間ごとに多項式を解いて係数を求める処理を行っておらず、多項式の係数はあらかじめ設定されているため、入力されるデジタルデータに適した係数を設定して補間を行うことはできなかった。 When performing interpolation using spline functions on continuous digital data, if the coefficients of the spline function can be obtained for each section between sample points of the digital data, high-accuracy interpolation according to the input digital data is possible. It becomes possible. However, the conventional digital-analog converter uses a sampling function which is a quadratic piecewise polynomial, but does not perform a process of obtaining a coefficient by solving the polynomial for each section, and the coefficient of the polynomial is set in advance. Therefore, interpolation cannot be performed by setting a coefficient suitable for the input digital data.
本発明によるデータ補間装置は、入力された連続するデジタルデータの連続する2つのサンプル点とサンプル点との間の区間をスプライン関数を用いて補間する補間手段と、補間対象区間の補間手段による補間結果をアナログデータに変換して出力する出力手段とを備え、補間手段は、補間対象区間と、補間対象区間よりも過去側の所定数の区間と、補間対象区間よりも未来側の所定数の区間とを対象として、スプライン関数の係数を算出し、算出した係数を用いてスプライン関数を定義して、補間対象区間を補間することを特徴とする。
本発明によるデータ補間方法は、入力されたデジタルデータをアナログデータに変換するためのデータ補間方法であって、入力されたデジタルデータの連続する2つのサンプル点とサンプル点との間の区間をスプライン関数を用いて補間する補間手順と、補間対象区間の補間手順による補間結果をアナログデータに変換して出力する出力手順とを演算装置に実行させるために、補間手順は、補間対象区間と、補間対象区間よりも過去側の所定数の区間と、補間対象区間よりも未来側の所定数の区間とを対象として、スプライン関数の係数を算出し、算出した係数を用いてスプライン関数を定義して、補間対象区間を補間することを特徴とする。
A data interpolating apparatus according to the present invention includes an interpolation means for interpolating a section between two consecutive sample points of input continuous digital data using a spline function, and an interpolation by an interpolation means for an interpolation target section. Output means for converting the result into analog data and outputting, and the interpolation means includes an interpolation target section, a predetermined number of sections on the past side of the interpolation target section, and a predetermined number of sections on the future side of the interpolation target section. A coefficient of a spline function is calculated with respect to a section, a spline function is defined using the calculated coefficient, and an interpolation target section is interpolated.
A data interpolation method according to the present invention is a data interpolation method for converting input digital data into analog data, and a spline between two consecutive sample points of the input digital data is splined. In order to cause the arithmetic unit to execute an interpolation procedure for performing interpolation using a function and an output procedure for converting the interpolation result of the interpolation procedure of the interpolation target section into analog data and outputting the result, the interpolation procedure includes an interpolation target section, an interpolation The spline function coefficient is calculated for a predetermined number of sections on the past side of the target section and a predetermined number of sections on the future side of the interpolation target section, and the spline function is defined using the calculated coefficients. The interpolation target section is interpolated.
本発明によれば、補間対象区間と、補間対象区間よりも過去側の所定数のサンプル点と、補間対象区間よりも未来側の所定数のサンプル点とを対象として、スプライン関数の係数を算出し、算出した係数を用いてスプライン関数を定義して、補間対象区間を補間するようにしたため、スプライン関数の係数をデジタルデータのサンプル点間の区間ごとに求めることができ、入力されるデジタルデータに応じて精度の高い補間を行うことができる。 According to the present invention, the coefficient of the spline function is calculated for the interpolation target section, the predetermined number of sample points on the past side of the interpolation target section, and the predetermined number of sample points on the future side of the interpolation target section. Since the spline function is defined using the calculated coefficient and the interpolation target section is interpolated, the coefficient of the spline function can be obtained for each section between the sample points of the digital data, and the input digital data Highly accurate interpolation can be performed according to the above.
本実施の形態では、CDやTVのデジタルデータのサンプル点とサンプル点の間に対して、スプライン関数を用いて、スプライン曲線上の31点で補間することにより、32倍スーパーサンプリングを実現したデータ補間装置について説明する。 In the present embodiment, data that realizes 32 times supersampling by interpolating between 31 sample points on a spline curve using a spline function between sample points of CD or TV digital data. The interpolation device will be described.
図1は、本実施の形態におけるデータ補間装置を、デジタル音声データを補間してからアナログ音声データに変換するためのデータ変換装置100に適用した場合の一実施の形態の構成を示すブロック図である。データ変換装置100は、入力インターフェース101と、データ補間回路102と、D/Aコンバータ103とを備えている。
FIG. 1 is a block diagram showing a configuration of an embodiment when the data interpolation apparatus according to the present embodiment is applied to a
入力インターフェース101は、デジタルデータを入力するためのインターフェースであって、例えば、USB−I2S変換基板が用いられる。入力インターフェース101を介して入力されたデジタルデータは、データ補間回路102へ出力される。
The
データ補間回路102は、入力インターフェースから連続して入力されるデジタルデータに対して、後述する補間処理を行うことにより、デジタルデータのサンプル点とサンプル点の間を補間するための演算装置であって、本発明におけるデータ補間装置に相当する。データ補間回路102で処理されたデジタルデータは、D/Aコンバータ103へ出力される。
The
D/Aコンバータ103は、データ補間回路102から入力されるデジタルデータをアナログデータに変換するためのデジタル−アナログ変換回路であって、例えば、16ビットの2チャンネルDACが用いられる。D/Aコンバータ103は、変換したアナログデータを出力する。
The D /
本実施の形態におけるデータ変換装置100では、データ補間回路102は、入力インターフェース101から入力されたデジタルデータの連続する2つのサンプル点とサンプル点との間の区間を一つの区間とし、補間対象とする補間対象区間と、該補間対象区間よりも過去側の所定数の区間と、該補間対象区間よりも未来側の所定数の区間とを対象として、隣り合った区間では関数の値、1次微分値、および2次微分値が連続するようにスプライン関数を定義して、補間対象区間を補間する。
In the
一般的に、デジタルデータをアナログデータに変換する際には、量子化ノイズや折り返しノイズが発生し、これを除去するため、従来のデジタルデータをアナログデータに変換するためのDAC装置では、オーバーサンプリングデジタルフィルタを用いて、データとデータの間に中間値を挿入するオーバーサンプリングが行われており、このオーバーサンプリングでは、量子化ノイズを広帯域に分散させてノイズの高域をローパスフィルタで取り除く方法がとられていたが、出力されるデジタルデータの音質は、オーバーサンプリングに用いるデジタルフィルタの性能に大きく左右されるという問題があった。 In general, when digital data is converted to analog data, quantization noise and aliasing noise are generated, and in order to remove these noises, a conventional DAC device for converting digital data to analog data requires oversampling. Oversampling that inserts an intermediate value between data is performed using a digital filter. In this oversampling, a method of dispersing quantization noise over a wide band and removing the high frequency of the noise with a low-pass filter is used. However, there has been a problem that the sound quality of the output digital data is greatly influenced by the performance of the digital filter used for oversampling.
本実施の形態におけるデータ変換装置100では、データ補間回路102は、入力されるデジタルデータに対して、後述するようにスプライン関数を用いた補間処理を行うことにより、音質に影響を与えるデジタルフィルタを用いることなく、量子化ノイズを抑えた音楽再生を実現する。以下、データ補間回路102で実行される処理の詳細について説明する。
In the
スプライン関数は、次式(1)に示す3次関数で定義される。
本実施の形態では、式(1)で定義されるスプライン関数は、入力されたデジタルデータのサンプル点から次のサンプル点までを1つの区間とし、各区間に対して定義される。すなわち、区間が変われば係数は再計算され、新しいスプライン関数が定義されることになる。なお、式(1)において、xは0≦x≦1の値をとる変数である。また、djはサンプル点の値であり既知である。一方、aj、bj、cjはスプライン関数の係数であり未知数である。 In the present embodiment, the spline function defined by Expression (1) is defined for each interval, with one interval from the sample point of the input digital data to the next sample point. That is, if the interval changes, the coefficient is recalculated and a new spline function is defined. In equation (1), x is a variable that takes a value of 0 ≦ x ≦ 1. Also, dj is a sample point value and is known. On the other hand, a j , b j and c j are coefficients of a spline function and are unknown numbers.
図2は、P、Q、R、Sの4つのサンプル点において、PとQの間の区間、QとRの間の区間、RとSの間の区間のそれぞれに対して式(1)に示したスプライン関数を定義した例を示している。なお、図2では、QとRの間の区間を補間対象とする現区間jとして式(1)に示したスプライン関数を定義し、QとRの間の区間は、過去側の1つ前の区間j−1、RとSの間の区間は未来側の1つ後の区間j+1として式(1)に示したスプライン関数を定義している。 FIG. 2 shows the equation (1) for each of the interval between P and Q, the interval between Q and R, and the interval between R and S at four sample points P, Q, R, and S. An example of defining the spline function shown in FIG. In FIG. 2, the spline function shown in Equation (1) is defined as the current section j in which the section between Q and R is the interpolation target, and the section between Q and R is the previous one on the past side. The section j−1, the section between R and S defines the spline function shown in the equation (1) as the section j + 1 that is the next one on the future side.
ここで、有限区間のスプライン関数は、図3に示すように全区間の両端が決まっているため、始点3aと終点3bの2次微分値を0とする境界条件によりスプライン関数を決定することができる。しかしながら、音楽信号などのデジタルデータは、図4に示すように、過去から未来へ無限に続いている信号であると近似されるため、全区間の両端を特定することができず、上記の境界条件を用いてスプライン関数を解くことができない。このため、本実施の形態では、補間対象とする現区間と、補間対象区間よりも過去側の所定数の区間と、補間対象区間よりも未来側の所定数の区間とを対象とし、これらを合わせた全区間を無限級数としてスプライン関数を解くことでスプライン補間を行うこととする。
Here, since the both ends of all sections are determined as shown in FIG. 3, the spline function of the finite section can be determined by a boundary condition in which the secondary differential value of the start point 3a and the
本実施の形態では、補間対象区間よりも過去側の所定数の区間は、補間対象区間よりも過去側の、入力データのビット数の半分に1を加えた数の区間とし、補間対象区間よりも未来側の所定数の区間は、補間対象区間よりも未来側の、入力データのビット数の半分に1を加えた数の区間とする。例えば、入力されるデジタルデータが16ビットである場合には、過去側、未来側ともに9の区間を対象とすることで、現区間を含めた19の区間の両端を含む20のサンプル点を対象として、スプライン関数を解くことにより、補間対象区間を補間する。また、入力されるデジタルデータが24ビットである場合には、過去側、未来側ともに13の区間を対象とすることで、現区間を含めた27の区間の両端を含む28のサンプル点を対象として、スプライン関数を解くことにより、補間対象区間を補間する。入力されるデジタルデータが32ビットである場合には、過去側、未来側ともに17の区間を対象とすることで、現区間を含めた35の区間の両端を含む36のサンプル点を対象として、スプライン関数を解くことにより、補間対象区間を補間する。このように、各区間はサンプル点で区切られるので計算に必要なサンプル点の数は区間の数より一つ大きくなる。 In the present embodiment, the predetermined number of sections on the past side of the interpolation target section is a section of the past side of the interpolation target section, which is a number obtained by adding 1 to half the number of bits of the input data. Also, the predetermined number of sections on the future side is a section of the future side with respect to the interpolation target section plus one half of the number of bits of the input data. For example, when the input digital data is 16 bits, 20 sample points including both ends of 19 sections including the current section are targeted by targeting 9 sections on both the past and future sides. Then, the interpolation target section is interpolated by solving the spline function. In addition, when the input digital data is 24 bits, by targeting 13 sections on both the past side and the future side, 28 sample points including both ends of 27 sections including the current section are targeted. Then, the interpolation target section is interpolated by solving the spline function. When the input digital data is 32 bits, by targeting 17 sections on both the past side and the future side, 36 sample points including both ends of 35 sections including the current section are targeted. The interpolation target section is interpolated by solving the spline function. Thus, since each section is divided by sample points, the number of sample points required for calculation is one greater than the number of sections.
以下、スプライン関数の係数aj、bj、cjの求め方と、過去から未来へ無限に続いていると近似されるデジタルデータに対して、補間対象区間よりも過去側の、入力データのビット数の半分に1を加えた数の区間と、補間対象区間よりも未来側の、入力データのビット数の半分に1を加えた数の区間とを対象とすれば、補間対象区間に対して定義したスプライン関数を高い精度で解くことができる理由について説明する。 Hereinafter, with respect to the method of obtaining the spline function coefficients a j , b j , c j and the digital data approximated as infinite from the past to the future, the input data on the past side of the interpolation target section If we target the number of sections with 1 added to half the number of bits and the section with 1 added to half the number of bits of input data on the future side of the interpolation target section, The reason why the defined spline function can be solved with high accuracy will be described.
図2に示したように、デジタルデータは、連続して入力されるデータであるため、隣り合った区間では、サンプル点において関数の値は連続し、1次微分値と2次微分値も連続する。このため、次式(2)〜(4)の関係が成り立つ。すなわち、隣り合う区間jとj+1においては、値が連続することから次式(2)が成り立ち、1次微分値が連続することから次式(3)が成り立ち、2次微分値が連続することから次式(4)が成り立つ。
式(2)〜(4)を解くことができれば、式(1)に示したスプライン関数の係数aj、bj、cjを求めることができるため、補間対象区間jを補間することができる。 If the equations (2) to (4) can be solved, the coefficients a j , b j , and c j of the spline function shown in the equation (1) can be obtained, so that the interpolation target section j can be interpolated. .
ここで、・・・dj−8dj−7dj−6dj−5dj−4dj−3dj−2dj−1djdj+1dj+2dj+3dj+4dj+5dj+6dj+7・・・というデータ列に対して、次式(5)、(6)に示す2つの無限級数を定義する。なお、次式(5)、(6)において、αは、次式(7)に示す定数である。
式(5)において、ejは、現区間jより過去側にあるデータの影響を集大成したものであり、本実施の形態では、これをBack Impulseと呼ぶ。なお、ejは、次式(8)に示す漸化式を満たす。
また、式(6)において、fjは、現区間jより未来側にあるデータの影響を集大成したものであり、本実施の形態では、これをFront Impulseと呼ぶ。なお、fjは、次式(9)に示す漸化式を満たす。
そうすると、係数aj、bj、cjは、次式(10)〜(12)に示すように求めることができる。
ここで、係数aj、bj、cjの間には、次式(13)、(14)に示す関係式が成り立つ。
上述したBack ImpulseとFront Impulseは、無限級数で定義されているが、これらは収束が速いので所定回数n近傍で計算を打ち切ることができる。n近傍で計算を打切った場合の打切り誤差は、次式(15)、(16)により求められる。
打切り誤差は、djの最小分解能の半分以下になれば無限級数が収束したことになるため、本実施の形態では、デジタルデータのビット数がDビットのときは、次式(17)を満たすときに、djの打切り誤差が収束したものとする。
ここで、式(17)について、両辺の2の対数をとると、次式(18)に示すようになる。これを整理すると、nとDの関係は、次式(19)に示すようになる。
これがBack ImpulseとFront Impulseを計算するために必要な前後のガードエリアとなる。すなわち、過去から未来へ無限に続いていると近似されるデジタルデータに対して、補間対象区間よりも過去側のBack Impulseについては、入力データのビット数の半分に1を加えた数の区間を対象とし、補間対象区間よりも未来側のFront Impulseに対して、入力データのビット数の半分に1を加えた数の区間とを対象とすれば、補間対象区間に対して定義したスプライン関数の係数aj、bj、cjを高い精度で求めて、補間対象区間を補間することができる。 This is the front and rear guard areas necessary for calculating Back Impulse and Front Impulse. That is, for digital data that is approximated to continue indefinitely from the past to the future, for Back Impulse on the past side of the interpolation target interval, the number of intervals obtained by adding 1 to half the number of bits of the input data is If the target is a section of the front side of the interpolation target section with a number obtained by adding 1 to half the number of bits of the input data, the spline function defined for the interpolation target section The coefficients a j , b j , and c j can be obtained with high accuracy, and the interpolation target section can be interpolated.
係数aj、bj、cjを求めることができれば、スプライン関数を実行することにより、補間対象区間のデータを補間することができる。スプライン関数の実行のためには、3つの積和算器が必要となり、ここでは、スプライン関数を次式(23)に示すように変形する。
B(x)の計算は、次式(27)に示す差分形式で行うことができる。これは、式(13)に示した関係があるため、B(x)はbjから2/3bj+1/3bj+1まで直線的に変化するためである。
なお、C(x)とSj(x)は、上記のB(x)のような直線関係が無いため、積和算で計算することとなる。このように、積和算の一部をアキュムレータ方式に置き換えることによりハードウェアサイズを削減することが可能である。本実施の形態では、データ補間回路102は、サンプル点とサンプル点との間の区間に対して、算出したSj(x)に基づいてスプライン曲線を設定し、スプライン曲線上の31点で補間することにより、入力されたデジタルデータに対して32倍スーパーサンプリングを実現する。これによって、デジタルデータのサンプル点間をなめらかな曲線で結んで補間することができる。
Since C (x) and S j (x) do not have a linear relationship as in the above B (x), they are calculated by multiply-add. In this way, it is possible to reduce the hardware size by replacing a part of the product-sum operation with the accumulator method. In this embodiment, the
なお、データ補間回路102は、スプライン関数の計算値が1を超えた場合には、Sj(x)の値を1にクリップする。例えば、図5では、Sj(x)の値が1を超えた区間5aと5bについて、Sj(x)の値が1にクリップされた例を示している。これは、一般的に、DACをオーバーフローさせるようなデジタルデータは存在しないはずだからである。もし、意図的にDACをオーバーフローさせるようなデジタルデータを扱う必要が生じた場合には、DACのダイナミックレンジを拡大する必要がある。
The
図6は、一般的なデジタルフィルタを用いたDAC装置の出力結果と、本実施の形態におけるデータ変換装置100による出力結果の比較例を模式的に示した図である。デジタルフィルタは方形波を連続サイン波の合成で表そうとするが、方形波の表現には無限次元までの高調波が必要になるので表現しきれない。このとき、表現しきれない高調波が方形波を歪として覆うことになる。これが図6(A)に示すプリエコー6aやポストエコー6bとなって現れ、これらが音質劣化の要因となる。これに対して、本実施の形態におけるデータ変換装置100では、3次元のスプライン関数を用いて補間を行うため、上記のデジタルフィルタで生じていた問題が解消し、図6(B)に示すように、プリエコーやポストエコーなどのノイズを発生させずに高音質を実現することができる。
FIG. 6 is a diagram schematically showing a comparative example of the output result of the DAC device using a general digital filter and the output result of the
図7は、入力されるデジタルデータを対象として補間処理を行うために、データ補間回路102によって実行される処理のフローチャートである。図7に示す処理は、入力インターフェース101からデジタルデータが入力されると、データ補間回路102によって実行される。なお、本実施の形態では、入力されるデジタルデータは、左右の2チャンネルからなるステレオデジタルデータであるものとする。また、図7に示す処理は、デジタルデータの入力が終了するまで、各区間ごとに繰り返し実行される。
FIG. 7 is a flowchart of processing executed by the
ステップS10において、データ補間回路102は、上述したように、入力されたデジタルデータ回路のビット数に応じて式(20)〜(22)に示したように、Back ImpulseとFront Impulseを計算するために必要な前後のガードエリアを特定し、特定したガードエリアを対象として、式(5)、(6)を用いて、Back Impulse(ej)とFront Impulse(fj)を計算する。その後、ステップS20へ進む。
In step S10, as described above, the
ステップS20では、データ補間回路102は、上述した式(10)〜(14)に示したように、スプライン関数の係数aj、bj、cjを算出する。その後、ステップS30へ進む。
In step S20, the
ステップS30では、データ補間回路102は、入力されたデジタルデータの右チャネルと左チャネルのそれぞれに対して、式(23)〜(27)に示した計算式を用いて、スプライン関数Sj(x)を算出する。その後、ステップS40へ進む。
In step S30, the
ステップS40では、データ補間回路102は、サンプル点とサンプル点との間の区間に対して、ステップS30で算出したSj(x)に基づいてスプライン曲線を設定して、スプライン曲線上の31点で補間する。その後、ステップS50へ進む。
In step S40, the
ステップS50では、データ補間回路102は、ステップS30で算出したSj(x)が1を超える場合には、1にクリップする。その後、ステップS60へ進む。
In step S50, the
ステップS60では、データ補間回路102は、補間したデジタルデータをD/Aコンバータ103へ出力する。その後、処理を終了する。
In step S <b> 60, the
以上説明した本実施の形態によれば、以下のような作用効果を得ることができる。
(1)データ補間回路102は、入力されたデジタルデータの連続する2つのサンプル点とサンプル点との間の区間をスプライン関数を用いて補間し、D/Aコンバータ103は、補間対象区間の補間結果をアナログデータに変換して出力する。このとき、データ補間回路102は、補間対象区間と、補間対象区間よりも過去側の所定数の区間と、補間対象区間よりも未来側の所定数の区間とを対象として、スプライン関数の係数を算出し、算出した係数を用いてスプライン関数を定義して、補間対象区間を補間するようにした。これによって、スプライン関数の係数をデジタルデータのサンプル点間の区間ごとに求めることができ、入力されるデジタルデータに応じて精度の高い補間を行うことができる。
According to the present embodiment described above, the following operational effects can be obtained.
(1) The
(2)スプライン関数は、3次関数で定義されたスプライン関数であって、データ補間回路102は、隣り合った区間ではサンプル点において、関数の値、1次微分値、および2次微分値が連続することを加味した計算式を用いて、スプライン関数の係数を算出するようにした。このように、補間に用いるスプライン関数を3次関数で定義し、隣り合う区間における関数の値と1次微分値と2次微分値が連続するようにスプライン関数を解くことによって、より精度の高い補間を可能とすることができる。
(2) The spline function is a spline function defined by a cubic function, and the
(3)データ補間回路102は、入力されたデジタルデータのビット数に応じて、補間対象区間よりも過去側の区間の数と、補間対象区間よりも未来側の区間の数を設定するようにし、補間対象区間よりも過去側の区間の数は、補間対象区間よりも過去側の、入力データのビット数の半分に1を加えた数であり、補間対象区間よりも未来側の区間の数は、補間対象区間よりも未来側の、入力データのビット数の半分に1を加えた数であるようにした。これによって、上述したように無限級数で定義されるBack ImpulseとFront Impulseについて、計算結果が収束する有限回数で計算を打ち切って、3次元のスプライン関数を解くことができる。
(3) The
―変形例―
なお、上述した実施の形態のデータ変換装置100は、以下のように変形することもできる。
-Modification-
The
(1)上述した実施の形態では、デジタルデータを各区間に対して設定したスプライン曲線上の31点で補間する例について説明するが、補間点の数はこれに限定されない。 (1) In the above-described embodiment, an example in which digital data is interpolated at 31 points on a spline curve set for each section will be described, but the number of interpolation points is not limited to this.
(2)上述した実施の形態では、スプライン関数を3次元で定義した場合の例について説明したが、スプライン関数の次数を下げて補間することも可能である。例えば2次式の場合は次式(28)〜(30)のようになる。これはスプライン関数の係数計算をしたときのCjの値(=関数の傾き)をそのまま使い、次のdj+1に命中するようにbjの値を定めたものである。
また、次式(31)、(32)に示すように、サンプル点とサンプル点を直線で結べば1次補間になる。1次補間の場合は前後のガードエリアが不要になり、音は粗くなるが切れの良い音になる。
(3)上述した実施の形態では、デジタル音声データのビット数に対して同じビット数のD/Aコンバータを使うことを前提に説明したが、シグマデルタ技術を使うことで、データのビット数よりもビット数を減らしたD/Aコンバータに応用することができる。 (3) In the above-described embodiment, the description has been made on the assumption that the D / A converter having the same number of bits as the number of bits of the digital audio data is used. However, by using the sigma delta technique, Can also be applied to a D / A converter with a reduced number of bits.
(4)上述した実施の形態では、デジタル音声データを対象としてDA変換する例について説明した。しかしながら、本発明は、デジタル音声データに限らず、DA変換全般に対して適用することができる。 (4) In the above-described embodiment, the example of performing DA conversion on digital audio data has been described. However, the present invention can be applied not only to digital audio data but also to general DA conversion.
(5)上述した実施の形態では、データ補間回路102は、入力されたデジタルデータのビット数に応じて、補間対象区間よりも過去側の区間の数と、補間対象区間よりも未来側の区間の数を設定するようにし、補間対象区間よりも過去側の区間の数は、補間対象区間よりも過去側の、入力データのビット数の半分に1を加えた数であり、補間対象区間よりも未来側の区間の数は、補間対象区間よりも未来側の、入力データのビット数の半分に1を加えた数であるようにした。しかしながら、補間対象区間よりも過去側の区間の数と、補間対象区間よりも未来側の区間の数をそれぞれビット数の半分に1を加えた数とすることは、精度が最小になる必要十分な値であって、これ以上にすることも可能である。また、精度を下げて差し支えなければこれ以下の数に簡素化することもできる。
(5) In the above-described embodiment, the
(6)上述した実施の形態では、式(5)、(6)で定義した無限級数におけるαは、式(7)に示す定数であるものとした。しかしながら、式(7)に示したαは、例えば、α=−1/4と近似することで回路を簡略化することも可能である。 (6) In the embodiment described above, α in the infinite series defined by the equations (5) and (6) is assumed to be a constant represented by the equation (7). However, the circuit shown in Equation (7) can be simplified by approximating α = −1 / 4, for example.
なお、本発明の特徴的な機能を損なわない限り、本発明は、上述した実施の形態における構成に何ら限定されない。また、上述の実施の形態と複数の変形例を組み合わせた構成としてもよい。 Note that the present invention is not limited to the configurations in the above-described embodiments as long as the characteristic functions of the present invention are not impaired. Moreover, it is good also as a structure which combined the above-mentioned embodiment and a some modification.
100 データ変換装置
101 入力インターフェース
102 データ補間回路
103 D/Aコンバータ
DESCRIPTION OF
Claims (8)
前記入力されたデジタルデータの連続する2つのサンプル点とサンプル点との間の区間をスプライン関数を用いて補間する補間手段と、
前記補間対象区間の前記補間手段による補間結果を出力する出力手段とを備え、
前記補間手段は、補間対象区間と、前記補間対象区間よりも過去側の所定数の区間と、前記補間対象区間よりも未来側の所定数の区間とを対象として、前記スプライン関数の係数を算出し、算出した係数を用いて前記スプライン関数を定義して、前記補間対象区間を補間することを特徴とするデータ補間装置。 A data interpolation device for interpolating input digital data,
Interpolation means for interpolating a section between two consecutive sample points of the input digital data using a spline function;
Output means for outputting an interpolation result by the interpolation means of the interpolation target section,
The interpolation means calculates the coefficient of the spline function for an interpolation target section, a predetermined number of sections on the past side of the interpolation target section, and a predetermined number of sections on the future side of the interpolation target section. And defining the spline function using the calculated coefficient and interpolating the interpolation target section.
前記スプライン関数は、3次関数で定義されたスプライン関数であって、
前記補間手段は、隣り合った区間ではサンプル点において、関数の値、1次微分値、および2次微分値が連続することを加味した計算式を用いて、前記スプライン関数の係数を算出することを特徴とするデータ補間装置。 The data interpolation device according to claim 1, wherein
The spline function is a spline function defined by a cubic function,
The interpolation means calculates the coefficient of the spline function using a calculation formula that takes into account that the function value, the primary differential value, and the secondary differential value are continuous at sample points in adjacent sections. A data interpolation device characterized by the above.
前記補間手段は、前記入力されたデジタルデータのビット数に応じて、前記補間対象区間よりも過去側の区間の数と、前記補間対象区間よりも未来側の区間の数を設定することを特徴とするデータ補間装置。 The data interpolation device according to claim 1 or 2,
The interpolation means sets the number of sections on the past side of the interpolation target section and the number of sections on the future side of the interpolation target section according to the number of bits of the input digital data. A data interpolation device.
前記補間対象区間よりも過去側の区間の数は、前記補間対象区間よりも過去側の、入力データのビット数の半分に1を加えた数であり、前記補間対象区間よりも未来側の区間の数は、前記補間対象区間よりも未来側の、入力データのビット数の半分に1を加えた数であることを特徴とするデータ補間装置。 The data interpolation apparatus according to claim 3, wherein
The number of sections on the past side of the interpolation target section is a number obtained by adding 1 to half the number of bits of input data on the past side of the interpolation target section, and a section on the future side of the interpolation target section. Is a number obtained by adding 1 to half of the number of bits of input data on the future side of the interpolation target section.
前記入力されたデジタルデータの連続する2つのサンプル点とサンプル点との間の区間をスプライン関数を用いて補間する補間手順と、
前記補間対象区間の前記補間手順による補間結果を出力する出力手順とを演算装置に実行させ、
前記補間手順は、補間対象区間と、前記補間対象区間よりも過去側の所定数の区間と、前記補間対象区間よりも未来側の所定数の区間とを対象として、前記スプライン関数の係数を算出し、算出した係数を用いて前記スプライン関数を定義して、前記補間対象区間を補間することを特徴とするデータ補間方法。 A data interpolation method for interpolating input digital data,
An interpolation procedure for interpolating a section between two consecutive sample points of the input digital data using a spline function;
Causing the arithmetic unit to execute an output procedure for outputting an interpolation result by the interpolation procedure of the interpolation target section;
The interpolation procedure calculates the coefficient of the spline function for an interpolation target section, a predetermined number of sections on the past side of the interpolation target section, and a predetermined number of sections on the future side of the interpolation target section. And defining the spline function using the calculated coefficient to interpolate the interpolation target section.
前記スプライン関数は、3次関数で定義されたスプライン関数であって、
前記補間手順は、隣り合った区間ではサンプル点において、関数の値、1次微分値、および2次微分値が連続することを加味した計算式を用いて、前記スプライン関数の係数を算出することを特徴とするデータ補間方法。 The data interpolation method according to claim 5, wherein
The spline function is a spline function defined by a cubic function,
In the interpolation procedure, the coefficient of the spline function is calculated using a calculation formula that takes into account that the function value, the primary differential value, and the secondary differential value continue at sample points in adjacent sections. A data interpolation method characterized by the above.
前記補間手順は、前記入力されたデジタルデータのビット数に応じて、前記補間対象区間よりも過去側の区間の数と、前記補間対象区間よりも未来側の区間の数を設定することを特徴とするデータ補間方法。 The data interpolation method according to claim 5 or 6,
The interpolation procedure sets the number of sections on the past side of the interpolation target section and the number of sections on the future side of the interpolation target section according to the number of bits of the input digital data. Data interpolation method.
前記補間対象区間よりも過去側の区間の数は、前記補間対象区間よりも過去側の、入力データのビット数の半分に1を加えた数であり、前記補間対象区間よりも未来側の区間の数は、前記補間対象区間よりも未来側の、入力データのビット数の半分に1を加えた数であることを特徴とするデータ補間方法。
The data interpolation method according to claim 7, wherein
The number of sections on the past side of the interpolation target section is a number obtained by adding 1 to half the number of bits of input data on the past side of the interpolation target section, and a section on the future side of the interpolation target section. Is a number obtained by adding 1 to half of the number of bits of input data on the future side of the interpolation target section.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017130401A JP6935912B2 (en) | 2017-07-03 | 2017-07-03 | Data interpolation device and data interpolation method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017130401A JP6935912B2 (en) | 2017-07-03 | 2017-07-03 | Data interpolation device and data interpolation method |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2019016002A true JP2019016002A (en) | 2019-01-31 |
JP6935912B2 JP6935912B2 (en) | 2021-09-15 |
Family
ID=65358502
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2017130401A Active JP6935912B2 (en) | 2017-07-03 | 2017-07-03 | Data interpolation device and data interpolation method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6935912B2 (en) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000036748A (en) * | 1998-07-16 | 2000-02-02 | Niigata Seimitsu Kk | Digital-to-analog converter |
JP2004288046A (en) * | 2003-03-24 | 2004-10-14 | Fuji Photo Film Co Ltd | Image processing method, device and program |
JP2014124345A (en) * | 2012-12-26 | 2014-07-07 | Nippon Koden Corp | Biosignal processor and biosignal processing method |
-
2017
- 2017-07-03 JP JP2017130401A patent/JP6935912B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000036748A (en) * | 1998-07-16 | 2000-02-02 | Niigata Seimitsu Kk | Digital-to-analog converter |
JP2004288046A (en) * | 2003-03-24 | 2004-10-14 | Fuji Photo Film Co Ltd | Image processing method, device and program |
JP2014124345A (en) * | 2012-12-26 | 2014-07-07 | Nippon Koden Corp | Biosignal processor and biosignal processing method |
Non-Patent Citations (1)
Title |
---|
藤代 一成 他, ビジュアル情報処理 −CG・画像処理入門−, vol. [改訂新版]第一版, JPN6021025851, 23 March 2017 (2017-03-23), pages 56 - 59, ISSN: 0004545661 * |
Also Published As
Publication number | Publication date |
---|---|
JP6935912B2 (en) | 2021-09-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7529788B2 (en) | Digital filter design method and device, digital filter design program, and digital filter | |
JPWO2006048958A1 (en) | DIGITAL FILTER, ITS DESIGNING METHOD, DESIGN DEVICE, DIGITAL FILTER DESIGN PROGRAM | |
JPH1117498A (en) | Sampling rate converting unit, its device and its method | |
JP4300272B2 (en) | Digital filter and design method thereof | |
EP2315353B1 (en) | Filter | |
US7224294B2 (en) | Compressing device and method, decompressing device and method, compressing/decompressing system, program, record medium | |
WO2005078925A1 (en) | Digital filter design method and device, digital filter design program, and digital filter | |
JP6935912B2 (en) | Data interpolation device and data interpolation method | |
US7590675B2 (en) | Digital filter, design method thereof, design device, and digital filter design program | |
US6515608B1 (en) | Digital-analog converter and method, and data interpolation device and method | |
JP5652873B2 (en) | Digital-to-analog converter and control method thereof | |
US6486813B1 (en) | Oversampling circuit digital/analog converter | |
JPWO2004079905A1 (en) | Digital filter design method and apparatus, digital filter design program, and digital filter | |
JPWO2005104365A1 (en) | DIGITAL FILTER DESIGN METHOD AND DESIGN DEVICE, DIGITAL FILTER DESIGN PROGRAM, DIGITAL FILTER, METHOD FOR GENERATING NUMERICAL CHARACTER CHARACTERISTICS FOR D desired frequency characteristics | |
US7400676B2 (en) | Tone quality adjustment device designing method and designing device, tone quality adjustment device designing program, and tone quality adjustment device | |
JP2003168958A (en) | Digital filter, method, apparatus and program for designing the same | |
WO2007102611A1 (en) | Interpolation function generation circuit | |
JP4035120B2 (en) | Signal processing apparatus, method and program | |
JP2002366539A (en) | Device, method for interpolating data, sampling function generator, data interpolation program and recording medium | |
EP1367721A1 (en) | Interpolating function generating apparatus and method, digital-analog converter, data interpolator, program, and record medium | |
JPWO2004036746A1 (en) | Digital filter design method and apparatus, digital filter design program, and digital filter | |
JP4989575B2 (en) | Filter and filter configuration method | |
JP5014312B2 (en) | Apparatus and method for real-time interpolation of discrete signals | |
JP3097324B2 (en) | Digital sound data output device | |
KR100782855B1 (en) | Method and apparatus for converting a sampled digital signal to a natually samplled digital signal |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20200416 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20210519 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20210706 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20210716 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20210817 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20210819 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6935912 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |