KR20080007041A - Method and system converting sampling rate targeting specific sampling rate - Google Patents

Method and system converting sampling rate targeting specific sampling rate Download PDF

Info

Publication number
KR20080007041A
KR20080007041A KR1020060066591A KR20060066591A KR20080007041A KR 20080007041 A KR20080007041 A KR 20080007041A KR 1020060066591 A KR1020060066591 A KR 1020060066591A KR 20060066591 A KR20060066591 A KR 20060066591A KR 20080007041 A KR20080007041 A KR 20080007041A
Authority
KR
South Korea
Prior art keywords
sampling rate
conversion
factor
function
value
Prior art date
Application number
KR1020060066591A
Other languages
Korean (ko)
Other versions
KR100834937B1 (en
Inventor
정윤형
Original Assignee
엠텍비젼 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 엠텍비젼 주식회사 filed Critical 엠텍비젼 주식회사
Priority to KR1020060066591A priority Critical patent/KR100834937B1/en
Publication of KR20080007041A publication Critical patent/KR20080007041A/en
Application granted granted Critical
Publication of KR100834937B1 publication Critical patent/KR100834937B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Transmission Systems Not Characterized By The Medium Used For Transmission (AREA)

Abstract

A method and a system for converting sampling rate targeting specific sampling rate are provided to perform sampling rate conversion for the frequency band unable to be accommodated for input sampling rate of conventional audio, by using an optimized conversion factor and coefficient value. According to a sampling rate conversion method, output sampling rate is determined by referring to input sampling rate. An intermediate frequency is calculated by using the input sampling rate and the output sampling rate. A plurality of conversion factors is derived from the relationship among the intermediate frequency, the input sampling rate and the output sampling rate. A coefficient value of a function used in sampling rate conversion is determined by using the derived conversion factors selectively. Sampling rate is converted by using the function.

Description

특정 샘플링 레이트를 목적으로 하는 샘플링 레이트 변환 방법 및 샘플링 레이트 변환 시스템{METHOD AND SYSTEM CONVERTING SAMPLING RATE TARGETING SPECIFIC SAMPLING RATE}TECHNICAL FIELD [0001] The present invention relates to a sampling rate conversion method and a sampling rate conversion system for a specific sampling rate,

도 1은 본 발명에 따른 입력 샘플링 레이트에 대한 인터폴레이션 처리를 구체적으로 예시한 도면이다.1 is a diagram illustrating an interpolation process for an input sampling rate according to an embodiment of the present invention.

도 2는 본 발명에 따른 입력 샘플링 레이트에 대한 데시메이션 처리를 구체적으로 예시한 도면이다.2 is a diagram illustrating a decimation process for an input sampling rate according to an embodiment of the present invention.

도 3은 본 발명에 따른 샘플링 레이트 변환 시스템의 구성을 도시한 도면이다.3 is a diagram illustrating a configuration of a sampling rate conversion system according to the present invention.

도 4는 본 발명의 초기화 수단에 의해 세팅되는 컨버젼 팩터의 일례를 예시하는 도면이다.4 is a diagram illustrating an example of a conversion factor set by the initialization means of the present invention.

도 5는 본 발명의 샘플링 레이트 변환 방법을 구체적으로 도시한 작업 흐름도이다.5 is a workflow diagram specifically illustrating the sampling rate conversion method of the present invention.

<도면의 주요 부분에 대한 부호의 설명>Description of the Related Art

300 : 샘플링 레이트 변환 시스템300: Sampling rate conversion system

310 : 초기화 수단310: initialization means

320 : 입력 인터페이스 수단320: input interface means

330 : 루프 카운트 수단330: loop count means

340 : 레이트 변환 수단340: rate conversion means

본 발명은 다양한 샘플링 레이트를 갖는 오디오 데이터를 다양하게 수용할 수 있는 주파수로의 변환에 있어서 계산량을 줄이고 쉽게 변환시킬 수 있는, 특정 샘플링 레이트를 목적으로 하는 샘플링 레이트 변환 방법 및 샘플링 레이트 변환 시스템에 관한 것이다.The present invention relates to a sampling rate conversion method and a sampling rate conversion system aimed at a specific sampling rate, which can reduce the amount of calculation and easily convert a frequency in conversion to a frequency capable of variously accommodating audio data having various sampling rates will be.

디지털 오디오 데이터는 다양한 여러 가지의 샘플링 레이트를 갖는다. 보통 음성 데이터의 샘플링을 위해서는 샘플링 레이트 8,000Hz가 설정되고, 오디오 CD인 경우 통상적으로 샘플링 레이트 44,100Hz가 설정된다. 이러한 샘플링 레이트는 국제적인 표준에서 정의하는 규격에 따라 다양하게 설정될 수 있다.Digital audio data has a variety of different sampling rates. A sampling rate of 8,000 Hz is set for the sampling of the normal audio data, and a sampling rate of 44,100 Hz is usually set for the audio CD. Such a sampling rate can be variously set according to a standard defined by an international standard.

디지털 오디오의 발전과 더불어, 최근에는 입력되는 데이터의 주파수가 예컨대 96,000Hz, 192,000Hz 등으로 높아지고 있고, 이에 따라 샘플링 레이트도 다양하게 요구되고 있는 추세이다.Along with the development of digital audio, in recent years, the frequency of input data has increased to, for example, 96,000 Hz and 192,000 Hz, and accordingly, a sampling rate has been requested variously.

하지만, 이러한 다양한 요구로 인해 다양한 샘플링 레이트들을 수용하지 못하는 규격들이 생겨 나게 되었다. 예컨대, 현재 그 서비스 이용 영역을 넓히고 있는 '블루투스'에서 쓰이고 있는 SBC의 경우, 이전에 규정된 몇 가지 샘플링 레이트 밖에 수용하지 못하는 한계가 있다.However, these various requirements have led to specifications that do not accommodate various sampling rates. For example, in the case of an SBC used in 'Bluetooth' which is widening the service utilization area at present, there is a limitation that it can accommodate only a few sampling rates previously defined.

이에 따라, 다양한 샘플링 레이트를 유연하게 변환시켜 수용 가능하게 하는 새로운 샘플링 레이트 변환 모델이 절실히 요구되고 있다.Accordingly, there is a desperate need for a new sampling rate conversion model that allows flexible conversion and acceptance of various sampling rates.

본 발명은 상기와 같은 문제점을 해결하기 위하여 안출된 것으로서, 일반적인 오디오의 입력 샘플링 레이트에 대해 수용이 불가능했던 주파수 대역에 대해서도, 최적하게 세팅된 컨버젼 팩터와 계수값을 활용함으로써 샘플링 레이트의 변환 작업을 가능하게 하며, 이를 통해 원하는 출력 샘플를 유연하게 유도할 수 있는 샘플링 레이트 변환 방법 및 샘플링 레이트 변환 시스템을 제공하는 것을 목적으로 한다.SUMMARY OF THE INVENTION The present invention has been conceived to solve the problems described above, and it is an object of the present invention to provide a method and apparatus for converting a sampling rate by using an optimum conversion factor and a coefficient value for a frequency band, And to provide a sampling rate conversion method and a sampling rate conversion system capable of flexibly leading a desired output sample through the sampling rate conversion system.

또한, 본 발명은 다양한 샘플링 레이트를 갖는 오디오 데이터를 SBC 등에서 수용 가능한 주파수로 변환하는데 있어서, 계산량을 줄일 수 있고 동시에 용이하게 변환 처리를 수행할 수 있도록 하는 샘플링 레이트 변환 방법 및 샘플링 레이트 변환 시스템을 제공하는 것을 목적으로 한다.In addition, the present invention provides a sampling rate conversion method and a sampling rate conversion system that can reduce the amount of calculation and easily perform conversion processing in converting audio data having various sampling rates into frequencies acceptable in SBC and the like .

또한, 본 발명은 특정 입력 샘플링 레이트의 샘플링 레이트 변환시 활용할 컨버젼 팩터에 대한 표준화된 계수값을 세팅함으로써 추후 새롭게 입력되는 데이터에 대한 샘플링 레이트의 변환시 기세팅한 컨버젼 팩터와 계수값을 이용하여 신속한 변환 처리가 이루어지도록 하는 환경을 마련하는 샘플링 레이트 변환 방법 및 샘플링 레이트 변환 시스템을 제공하는 것을 목적으로 한다.In addition, the present invention sets a standardized coefficient value for a conversion factor to be utilized in converting a sampling rate of a specific input sampling rate, thereby performing a quick conversion process using a conversion factor and a coefficient value set at the time of conversion of a sampling rate for data A sampling rate conversion method and an sampling rate conversion system for providing an environment in which a sampling rate conversion process is performed.

상기의 목적을 이루기 위한 샘플링 레이트 변환 방법은, 입력 샘플링 레이 트에 기준하여 출력 샘플링 레이트를 결정하는 단계와, 상기 입력 샘플링 레이트 및 상기 결정된 출력 샘플링 레이트를 이용하여 중간 주파수를 연산하는 단계와, 상기 중간 주파수와, 상기 입력 샘플링 레이트 및 상기 출력 샘플링 레이트 사이의 관계로부터 복수 개의 컨버젼 팩터를 유도하는 단계와, 상기 유도된 컨버젼 팩터를 선별적으로 이용하여 샘플링 레이트 변환에 사용될 함수의 계수값을 결정하는 단계, 및 상기 함수를 이용하여 샘플링 레이트를 변환하는 단계를 포함하는 것을 특징으로 한다.According to another aspect of the present invention, there is provided a sampling rate conversion method including: determining an output sampling rate based on an input sampling rate; calculating an intermediate frequency using the input sampling rate and the determined output sampling rate; Deriving a plurality of conversion factors from an intermediate frequency, a relationship between the input sampling rate and the output sampling rate, and selectively using the derived conversion factor to determine a coefficient value of the function to be used in the sampling rate conversion And converting the sampling rate using the function.

또한, 상기 목적을 달성하기 위한 기술적 구성으로서, 샘플링 레이트 변환 시스템은, 초기화 수단, 및 상기 샘플링 레이트 변환에 사용될 함수를 이용하여 샘플링 레이트를 변환하는 레이트 변환 수단을 포함하고, 상기 초기화 수단은, 입력 샘플링 레이트에 기준하여 출력 샘플링 레이트를 결정하는 레이트 결정부와, 상기 입력 샘플링 레이트 및 상기 결정된 출력 샘플링 레이트를 이용하여 중간 주파수를 연산하는 주파수 연산부와, 상기 중간 주파수와, 상기 입력 샘플링 레이트 및 상기 출력 샘플링 레이트 사이의 관계로부터 복수 개의 컨버젼 팩터를 유도하는 팩터 유도부, 및 상기 유도된 컨버젼 팩터를 선별적으로 이용하여 상기 함수의 계수값을 결정하는 계수 결정부를 포함하는 것을 특징으로 한다.In order to achieve the above object, as a technical configuration, a sampling rate conversion system includes initialization means and rate conversion means for converting a sampling rate using a function to be used for the sampling rate conversion, A frequency calculator for calculating an intermediate frequency using the input sampling rate and the determined output sampling rate; and a frequency calculator for calculating the intermediate frequency, the input sampling rate and the output A coefficient derivation unit for deriving a plurality of conversion factors from the relationship between sampling rates and a coefficient determiner for determining a coefficient value of the function selectively using the derived conversion factor.

이하, 첨부된 도면을 참조하여, 본 발명의 특정 샘플링 레이트를 목적으로 하는 샘플링 레이트 변환 방법 및 샘플링 레이트 변환 시스템에 대하여 설명한다.Hereinafter, a sampling rate conversion method and a sampling rate conversion system aiming at a specific sampling rate of the present invention will be described with reference to the accompanying drawings.

본 발명의 샘플링 레이트 변환 시스템은 다양한 요구에 상응하는 샘플링 레이트로의 변환이 가능하도록, 목적하는 샘플링 레이트를 유연하게 컨버젼시키는 역 할을 한다. 이를 위해 본 실시예에서는 입력 샘플링 레이트에 대응하는 표준화한 출력 샘플링 레이트를 마련하고, 상기 마련된 출력 샘플링 레이트로의 최적한 출력을 위해 샘플링 레이트에 대한 인터폴레이션 처리 또는 데시메이션 처리를 수행한다.The sampling rate conversion system of the present invention flexibly converts the desired sampling rate to enable conversion to a sampling rate corresponding to various needs. To this end, in the present embodiment, a standardized output sampling rate corresponding to the input sampling rate is provided, and interpolation processing or decimation processing is performed on the sampling rate for optimal output at the provided output sampling rate.

도 1은 본 발명에 따른 입력 샘플링 레이트에 대한 인터폴레이션 처리를 구체적으로 예시한 도면이며, 도 2는 본 발명에 따른 입력 샘플링 레이트에 대한 데시메이션 처리를 구체적으로 예시한 도면이다.FIG. 1 is a diagram illustrating an interpolation process for an input sampling rate according to an embodiment of the present invention. FIG. 2 illustrates a decimation process for an input sampling rate according to the present invention.

입력된 데이터를 샘플링 한 후, 샘플링 된 데이터의 샘플링 레이트를 변환시키는 과정은, 도 1의 인터폴레이터(interpolator)가 데이터를 m의 정수배로 업-샘플링(up-sampling)하고, L차의 로우 패스 필터링을 하며, 도 2의 데시메이터(decimator)가 인터폴레이터에 의해 인터폴레이션 된 데이터를 소정 n의 정수배로 다운-샘플링 함으로써(down-sampling) m/n배의 샘플링 레이트로의 변환을 통해 이루어진다.The interpolator of FIG. 1 up-samples the data by an integer multiple of m and converts the sampling rate of the L-order low-pass Filtering is performed, and the decimator of FIG. 2 is down-sampled by converting the interpolated data by an interpolator to an integer multiple of n to convert it to m / n times the sampling rate.

인터폴레이터에 의한 인터폴레이션 처리에 있어서, 주기 T로 샘플링 된 입력 X[n]에 대해 업-샘플링(↑L)한 출력 Xe[n]은 수학식 1과 같다.In the interpolation process by the interpolator, the output Xe [n] up-sampled (L) with respect to the input X [n] sampled in the cycle T is expressed by Equation (1).

Figure 112006050597163-PAT00001
Figure 112006050597163-PAT00001

상기 출력은 도 1에서와 같이, 원래 데이터의 신호가 노말라이즈드(Normalized)한 주파수(ω)에 대해 1/L만큼 스케일(Scale)된 것으로, 인터폴레이터는 게인(Gain)이 L이고 컷 오프(Cutoff)가 π/L인 로우 패스 필터(LPF)를 사용하여 타임 피어리드(Time Period) T/L로 샘플링 된 출력 Xi[n]을 얻는다.1, the output is scaled by 1 / L with respect to a frequency (ω) of a normalized signal of the original data. The interpolator has a gain of L and a cut- The output Xi [n] sampled at the time period T / L is obtained using a low-pass filter (LPF) with a cutoff of π / L.

데시메이션 처리에 있어서, 데시메이터는 타임 피어리드 T로 샘플링 된 입력 X[n]에 대해 다운-샘플링 한(↓M) 출력 Xd[n]을 수학식 2와 같이 출력할 수 있 다.In the decimation process, the decimator can output the down-sampled (↓ M) output Xd [n] with respect to the input X [n] sampled by the time peer lead T as shown in equation (2).

Figure 112006050597163-PAT00002
Figure 112006050597163-PAT00002

이때, 다운-샘플링에 의한 얼라이징(aliasing)을 피하기 위해서 다운-컨버젼 팩터(factor)(M)는 π/(ωn)보다 작아야 한다.At this time, in order to avoid aliasing by down-sampling, the down-conversion factor M must be smaller than? / (? N).

본 발명에 따른 샘플링 레이트의 변환은, m 인터폴레이션 처리, L차의 로우 패스 필터링, 및 n 데시메이션 처리를 통해 이루어지며, 입력 데이터의 수가 c라 가정되는 경우, c*m*L번의 곱셈 계산에 의해 수행될 수 있다.The conversion of the sampling rate according to the present invention is performed by m interpolation processing, L-th order low-pass filtering, and n-decimation processing. When the number of input data is assumed to be c, &Lt; / RTI &gt;

이러한 샘플링 레이트의 변환 방식 하에서, 특정 샘플링 레이트를 목적으로 하는 본 발명의 샘플링 레이트 변환 시스템의 구성에 대해 설명한다.The configuration of the sampling rate conversion system of the present invention aimed at a specific sampling rate will be described below under such a conversion system of the sampling rate.

도 3은 본 발명에 따른 샘플링 레이트 변환 시스템의 구성을 도시한 도면이다.3 is a diagram illustrating a configuration of a sampling rate conversion system according to the present invention.

본 발명의 샘플링 레이트 변환 시스템(300)은 초기화 수단(310), 입력 인터페이스 수단(320), 루프 카운트 수단(330), 및 레이트 변환 수단(340)을 포함한다. 또한, 초기화 수단(310)은 레이트 결정부(311), 주파수 연산부(312), 팩터 유도부(313), 및 계수 결정부(314)를 포함하여 구성된다.The sampling rate conversion system 300 of the present invention includes an initialization means 310, an input interface means 320, a loop count means 330, and a rate conversion means 340. The initializing unit 310 includes a rate determining unit 311, a frequency calculating unit 312, a factor inducing unit 313, and a coefficient determining unit 314.

초기화 수단(310)은 샘플링 레이트 변환에 사용될 함수의 계수값을 결정하고 실수 형태로 표현된 상기 계수값을 정수의 형태로 변경함으로써 정수 연산에 의한 샘플링 레이트 변환을 통해 소요되는 계산량을 감소시키는 역할을 한다.The initialization unit 310 plays a role of reducing the amount of computation required through the sampling rate conversion by an integer operation by determining the coefficient value of the function to be used for the sampling rate conversion and changing the coefficient value represented by the real number type to an integer type do.

샘플링 레이트 변환에 사용될 함수의 이러한 정수 계수값 변경을 위해, 초기화 수단(310)의 레이트 결정부(310)는 입력 샘플링 레이트에 기준하여 출력 샘플링 레이트를 결정한다. 즉, 레이트 결정부(310)는 표준화된 입력 샘플링 레이트와, 상기 입력 샘플링 레이트에 최적하게 대응할 수 있는 출력 샘플링 레이트를 결정함으로써 입력 샘플링 레이트에 대해 특정 출력 샘플링 레이트를 매핑하는 역할을 한다.For this integer count value change of the function to be used for the sampling rate conversion, the rate determination unit 310 of the initialization means 310 determines the output sampling rate based on the input sampling rate. That is, the rate determining unit 310 is operative to map a specific output sampling rate to the input sampling rate by determining a normalized input sampling rate and an output sampling rate that can best correspond to the input sampling rate.

예컨대, 입력되는 샘플링 레이트가 48kHz 혹은 32kHz의 1/x배 혹은 y배(x, y는 2, 4, 8, 16, …)일 경우, 레이트 결정부(310)는 출력되는 표준 샘플링 레이트를 48khz로 결정할 수 있다. 또한, 입력되는 샘플링 레이트가 11.025khz의 배수(11.025khz, 22.050khz, 33.075khz, …)일 경우, 레이트 결정부(311)는 출력되는 표준 샘플링 레이트를 44.1khz로 결정할 수 있다. 이러한 입력 샘플링 레이트에 따라 결정되는 출력 샘플링 레이트는, 샘플링 레이트의 입, 출력 환경, 샘플링 레이트 변환 환경 등을 고려한 본 시스템의 운영자에 의해 유연하게 결정할 수 있다.For example, when the input sampling rate is 1 / x times or y times (x, y is 2, 4, 8, 16, ...) of 48 kHz or 32 kHz, the rate determining unit 310 sets the standard sampling rate to 48 kHz . Also, when the input sampling rate is a multiple of 11.025 kHz (11.025 kHz, 22.050 kHz, 33.075 kHz, ...), the rate determination unit 311 can determine the output standard sampling rate to be 44.1 kHz. The output sampling rate determined according to the input sampling rate can be flexibly determined by the operator of the system in consideration of the input / output environment of the sampling rate, the sampling rate conversion environment, and the like.

초기화 수단(310)의 주파수 연산부(312)는 입력 샘플링 레이트 및 결정된 출력 샘플링 레이트를 이용하여 중간 주파수를 연산한다. 즉, 주파수 연산부(312)는 입력 샘플링 레이트에 양의 정수인 제1 인자를 곱한 값이, 출력 샘플링 레이트에 양의 정수인 제2 인자를 곱한 값의 최소 배수가 되는 주파수를 중간 주파수로 산출한다.The frequency calculator 312 of the initializing unit 310 calculates the intermediate frequency using the input sampling rate and the determined output sampling rate. That is, the frequency calculator 312 calculates a frequency at which the value obtained by multiplying the input sampling rate by the first factor, which is a positive integer, becomes the minimum multiple of the value obtained by multiplying the output sampling rate by the second factor, which is a positive integer, as an intermediate frequency.

즉, 주파수 연산부(312)는 입력 샘플링 레이트와 출력 샘플링 레이트의 최소공배수를 중간 주파수로 연산한다.That is, the frequency calculator 312 calculates the least common multiple of the input sampling rate and the output sampling rate at an intermediate frequency.

상기 중간 주파수의 결정 과정에서, 입력 샘플링 레이트에 곱해지는 제1 인자는 인터폴레이션 팩터(Interpolation factor(up)) 추출시 관여될 수 있고, 출력 샘플링 레이트에 곱해지는 제2 인자는 데시메이션 팩터(Decimation factor(down)) 추출시 관여될 수 있다.In determining the intermediate frequency, the first factor multiplied by the input sampling rate may be involved in extracting the interpolation factor (up), and the second factor multiplied by the output sampling rate may be the Decimation Factor (down)) extraction.

상술한 예에서, 입력 샘플링 레이트가 8khz이고 원하는 출력 샘플링 레이트가 48khz일 경우, 주파수 연산부(312)는 두 샘플링 레이트에 대한 최소공배수 '48khz'를 중간 주파수로 결정할 수 있다. 또한, 중간 주파수 '48khz'의 연산과 관련하여 입력 샘플링 레이트 '8khz'에 곱셈 적용되는 제1 인자 '6'은 인터폴레이션 팩터 추출시 이용되고, 출력 샘플링 레이트 '48khz'에 곱셈 적용되는 제2 인자 '1'은 데시메이션 팩터 추출시 이용될 수 있다.In the above example, when the input sampling rate is 8 kHz and the desired output sampling rate is 48 kHz, the frequency calculator 312 can determine the minimum common multiple '48 khz' for the two sampling rates as the intermediate frequency. Also, the first factor '6', which is multiplied with the input sampling rate of '8 kHz' in connection with the operation of the intermediate frequency '48 kHz', is used in the interpolation factor extraction and the second factor ' 1 'may be used in the extraction of the decimation factor.

초기화 수단(310)의 팩터 유도부(313)는 중간 주파수와, 입력 샘플링 레이 트 및 출력 샘플링 레이트 사이의 관계로부터 복수 개의 컨버젼 팩터를 유도한다. 즉, 팩터 유도부(313)는 입력 샘플링 레이트와 출력 샘플링 레이트의 최소공배수 연산 및, 상기 주파수 연산부(312)에서 연산된 중간 주파수를 고려하여, 샘플링 레이트를 m배수 증가시키는 인터폴레이션 팩터, 및 샘플링 레이트를 n배수 감소시키는 데시메이션 팩터를, 컨버젼 팩터로서 유도한다.The factor inducing portion 313 of the initializing means 310 derives a plurality of conversion factors from the relationship between the intermediate frequency and the input sampling rate and the output sampling rate. In other words, the factor inducing unit 313 includes an interpolation factor for increasing the sampling rate m times in consideration of the least common multiple of the input sampling rate and the output sampling rate and the intermediate frequency calculated by the frequency calculating unit 312, Decimation factor that reduces n times is derived as a conversion factor.

초기화 수단(310)의 계수 결정부(314)는 상기 유도된 컨버젼 팩터를 선별적으로 이용하여 샘플링 레이트에 대한 계수값을 결정한다. 즉, 계수 결정부(314)는 원하는 출력 샘플링 레이트를 얻기 위해, 샘플링 레이트 변환시 활용하는 함수의 계수값을 결정하는 역할을 한다.The coefficient determining unit 314 of the initializing unit 310 selectively uses the derived conversion factor to determine a coefficient value for the sampling rate. That is, the coefficient determiner 314 determines a coefficient value of a function to be utilized in converting the sampling rate to obtain a desired output sampling rate.

상기 계수값의 결정에 있어서, 계수 결정부(314)는 우선 샘플링 레이트 변환에 사용될 함수에 대해, 예컨대 실수의 형태로 표현된 계수값의 테이블로부터 최적한 계수값을 추출한다. 이후, 계수 결정부(314)는 상기 추출된 실수의 계수값으로부터 정수 형태의 계수값 만을 취하게 된다. 계수 결정부(314)에 의한 이러한 계수값의 변환은 계산량 감소 등의 편의를 위한 본 발명의 목적 달성을 위해, 실수 등의 형태로 표현되어 있는 함수의 계수값을 정수의 형태로 변환하는 것이며, 예컨대 bit-shift 등의 방법을 통해 계수의 표현 방식을 변환할 수 있다.In the determination of the coefficient value, the coefficient determination unit 314 first extracts an optimal coefficient value from a table of coefficient values expressed in the form of, for example, a real number with respect to a function to be used for the sampling rate conversion. Then, the coefficient determination unit 314 takes only the coefficient values of the integer type from the extracted real number coefficient values. The conversion of the coefficient value by the coefficient determination unit 314 is to convert the coefficient value of the function represented by a real number or the like into an integer type in order to achieve the object of the present invention for the convenience of reduction in the amount of calculation, For example, a method of expressing a coefficient can be converted by a method such as bit-shift.

계수 결정부(314)는 컨버젼 팩터에 의해 결정되는 각 함수를 이용할 때 쓰여지는 계수 값을 세팅하는 것이다. 계수 결정부(314)는 실수로 표현되는 각 계수 값을 시스템에서 가질 수 있는 데이터의 최고값과 그 계산식에 의해 나올 수 최고값을 고려하여 정수의 형태로 변형한다. 이때, 계수 결정부(314)는 정수 형태로 변형되어지는 계수의 최고 값이, 데이터가 가질 수 있는 최고값에서, 함수에서 이용되는 계수의 개수를 나눈 값을 넘지 않게 셋팅하여 준다. 계수 결정부(314)는 상기 실수 형태의 계수 값을 정수의 형태로 변형할 때, 각 계수에 곱해지는 값을 2의 승수를 곱한 값으로 한정함으로써 계산량을 줄일 수 있다. The coefficient determination unit 314 sets a coefficient value used when each function determined by the conversion factor is used. The coefficient determination unit 314 transforms each coefficient value represented by a real number into an integer form taking into account the highest value of data that the system can have and the maximum value that can be derived from the calculation formula. At this time, the coefficient determination unit 314 sets the maximum value of the coefficients transformed into the integer form not to exceed the value obtained by dividing the number of coefficients used in the function at the maximum value that the data can have. When the coefficient value of the real number form is transformed into the integer form, the coefficient determination unit 314 can reduce the amount of calculation by limiting the value multiplied by each coefficient to a value multiplied by 2.

각 함수의 형태는 계수에 입력되는 값의 곱들의 합 형태로 만들어지므로 이후 레이트 변환 수단(340)에서 이 계수값들을 이용하여 데이터를 계산할 수 있도록 한다. 레이트 변환 수단(340)은 상기 계수값들을 이용한 데이터의 계산에 의해 최종 데이터를 만들기 전에, 이 승수만큼 오른쪽으로 시프트 시킴으로써 원하는 값을 얻을 수 있다. 상기 승수만큼 우측으로 시프트시키는 것은 2의 승수의 값을 나눠 주는 것과 동일한 결과를 얻을 수 있으므로 시스템에서 나눗셈으로 인해 요구되는 CPU 클럭의 증가를 줄여 줄 수 있다. 일반적으로 시스템에서의 나눗셈 연산은 적어도 데이터의 비트 수 만큼의 CPU 클럭을 요구하는 반면, 시프트 연산은 CPU 1클럭만을 요구한다.Since the form of each function is made a sum of products of values input to the coefficient, the rate conversion means 340 can then calculate the data using these coefficient values. The rate conversion means 340 can obtain a desired value by shifting the multiplication right to the right by the calculation of the data using the coefficient values before the final data is generated. Shifting right by the multiplier can achieve the same result as dividing the value of the multiplier of 2, thereby reducing the increase of the CPU clock required by the division in the system. In general, the division operation in the system requires at least as much CPU clock as the number of bits of data, while the shift operation requires only one clock of the CPU.

이에 따라, 본 발명의 샘플링 레이트 변환 시스템(300)이 정수 계수값을 갖는 함수를 이용하여 샘플링 변환 처리를 수행하는 환경을 마련할 수 있다.Accordingly, the sampling rate conversion system 300 of the present invention can provide an environment for performing sampling conversion processing using a function having an integer coefficient value.

이와 같이, 실수 형태의 계수값을 이용하지 않고, 정수 형태의 계수값을 이용하는 것은, 샘플링 레이트 변환 시스템(300)의 샘플링 레이트 변환시 정수 연산이 수행되도록 함으로써 필요한 CPU Clock을 감소시키기 위함이다.In this way, the coefficient value of the integer type is used without using the coefficient value of the real number type in order to reduce the CPU clock required by performing the integer operation at the sampling rate conversion of the sampling rate conversion system 300.

만약, 실수 계수값의 함수를 이용하여 샘플링 레이트 변환 시스템(300)에서 샘플링 레이트를 변환하는 경우에는, 소수점 이상의 부분과 소수점 이하의 부분을 나누어 연산하게 되어 다량의 CPU clock이 요구된다.If the sampling rate conversion system 300 converts the sampling rate using the function of the real coefficient value, a large number of CPU clocks are required because the sampling rate conversion unit 300 divides the fractional part and the decimal part.

예컨대, 실수 계수값의 함수를 이용하여 샘플링 레이트를 변환하는 경우, 샘플링 레이트 변환 시스템(300)은 '소수점 이상 부분 * 소수점 이상 연산', '소수점 이상 부분 * 소수점 이하 연산', '소수점 이하 부분 * 소수점 이상 연산', '소수점 이하 부분 * 소수점 이하 연산', 및 연산한 값을 합산하는 연산 등이 요구되어, CPU clock이 비효율적으로 사용될 수 있다.For example, when the sampling rate is converted by using the function of the real coefficient value, the sampling rate conversion system 300 may calculate the sampling rate by multiplying the decimal point by the decimal point, A decimal point operation, a decimal portion decimal point operation, and an operation of summing the calculated values are required, so that the CPU clock can be used inefficiently.

반면, 최초 추출된 계수값에서 정수의 형태로 값을 변경하여 함수의 계수값으로 결정하는 경우, 예컨대 소수점 이하의 부분이 계산에 관여되지 않아, 필요되는 CPU clock을 줄일 수 있다.On the other hand, when the value of the first extracted coefficient value is changed to the integer type to determine the coefficient value of the function, for example, the fractional part is not involved in the calculation, thereby reducing the required CPU clock.

상기 계수값의 결정에 있어서, 계수 결정부(314)는 샘플링 레이트 변환시 사용될 함수가 Sync 함수일 경우, 유도된 상기 컨버젼 팩터 중에서 인터폴레이션 팩터에 따른 계수값을 결정할 수 있다.In the determination of the coefficient value, the coefficient determination unit 314 may determine a coefficient value according to the interpolation factor among the derived conversion factors when the function to be used in the sampling rate conversion is the Sync function.

다른 예로서, 계수 결정부(314)는 샘플링 레이트 변환시 사용될 함수가 필터 함수와 연관되는 경우, 인터폴레이션 팩터와 데시메이션 팩터의 크기를 비교하여 더 큰 크기를 갖는 팩터에 해당하는 필터 케이스(Filter case)를 생성한다. 이후, 계수 결정부(314)는 필터 케이스에 따른 계수값을 결정한다.As another example, when the function to be used in the sampling rate conversion is associated with the filter function, the coefficient determination unit 314 compares the size of the interpolation factor with the size of the decimation factor to determine a filter case corresponding to a factor having a larger size. . Then, the coefficient determination unit 314 determines a coefficient value according to the filter case.

또한, 계수 결정부(314)는 계수값 결정과 관련하여, 계산을 간편히 하고 보다 정확한 값을 갖게 하기 위해서, 상기 각 계수값에 소정의 보정값을 곱셈 적용하여 계수값을 결정할 수도 있다.In addition, the coefficient determination unit 314 may determine a coefficient value by multiplying each of the coefficient values by a predetermined correction value, in order to simplify the calculation and provide a more accurate value with respect to the determination of the coefficient value.

예컨대, 계수 결정부(314)는 ⅰ) 세팅될 계수값으로서 계산하고자 하는 데 이터 길이가 갖는 최고 값에서, Sync 함수에 사용될 계수의 수를 나눈 값을 넘지 않은 계수의 최고값 * 2l을 갖는 l을 구한 다음, 각 계수의 값에 2l을 곱한 값을 계수값으로 결정할 수 있다.For example, the coefficient determination unit 314 is ⅰ) at the maximum value that has a data length used to calculate a coefficient value to be set, with the highest value of the coefficient that is less than a value obtained by dividing the number of coefficients used in the Sync Function * 2 l l, and then the value obtained by multiplying the value of each coefficient by 2 l can be determined as a coefficient value.

다른 예로서, 계수 결정부(314)는 ⅱ) 세팅될 계수값으로서 계산하고자 하는 데이터 길이가 갖는 최고 값에서, FIR 함수에 사용될 계수의 수를 나눈 값을 넘지 않은 계수의 최고값 * 2m을 갖는 m을 구한 다음, 각 계수의 값에 2m을 곱한 값을 계수값으로 결정할 수 있다.As another example, the coefficient determining unit 314 ⅱ) From the maximum value of the data length that has to be computed as a coefficient value to be set, the maximum value of no more than a value obtained by dividing the number of coefficients used in the FIR function coefficient * 2 m , And then a value obtained by multiplying the value of each coefficient by 2 m can be determined as a coefficient value.

또 다른 예로서, 계수 결정부(314)는 ⅲ) 세팅될 계수값으로서 계산하고자 하는 데이터 길이가 갖는 최고 값에서 IIR 함수에 사용될 계수의 수를 나눈 값을 넘지 않은 계수의 최고값 * 2n을 갖는 n을 구한 다음, 각 계수의 값에 2n을 곱한 값을 계수값으로 세팅할 수 있다.As another example, the coefficient determining unit 314 may calculate the maximum value of the coefficient * 2 n that does not exceed the value obtained by dividing the number of coefficients used for the IIR function by the maximum value of the data length to be calculated as the iii) , And then a value obtained by multiplying the value of each coefficient by 2 n can be set as a coefficient value.

이에 따라 초기화 수단(310)은 특정 입력 샘플링 레이트의 샘플링 레이트 변환시 활용할 컨버젼 팩터에 대한 표준화된 계수값을 세팅할 수 있고 추후 새롭게 입력되는 데이터에 대한 샘플링 레이트의 변환시 기세팅한 계수값을 이용하여 컨버젼 팩터에 의한 신속한 변환 처리가 이루어지도록 하는 환경을 마련할 수 있다.Accordingly, the initialization unit 310 can set the standardized coefficient value for the conversion factor to be utilized in the conversion of the sampling rate of the specific input sampling rate, and can use the coefficient value set in the conversion of the sampling rate for the newly input data, It is possible to provide an environment for performing a quick conversion process by a factor.

레이트 변환 수단(340)은 컨버젼 벡터와 정수의 계수값을 갖는 함수를 이용하여 정수 연산을 통해 샘플링 레이트를 변환한다.The rate conversion unit 340 converts the sampling rate through an integer operation using a conversion vector and a function having an integer coefficient value.

또한, 레이트 변환 수단(340)은 최종적으로 나오는 샘플에 대하여 앞서 정수의 형태로 만들어진 계수의 값들에 대한 역방향의 역할, 즉 보상 처리를 수행할 수 있다.In addition, the rate conversion means 340 can perform a reverse function, i.e., a compensation process, on the values of coefficients made in the form of integers in advance of the final sample.

여기서 역방향의 역할(보상 처리)이라 함은, 계수 결정부(314)에서 함수에 대해 상기 취해진 정수의 계수값(l, m, n)만큼 오른쪽으로 쉬프트(shift) 함으로써 원하는 값을 얻는 것을 지칭할 수 있다. 즉, 레이트 변환 수단(340)은 계수 결정부(314)에서 샘플링 레이트 변환에 사용될 함수의 계수값의 조합들 중에서 하나가 결정, 추출된 이후에, 상기 결정, 추출된 계수값을 정수의 형태로 변환하는 과정에서의 발생하는 2l, 2m, 2n 배의 계수를 바탕으로 계산된 샘플의 값을, 원래 원하는 값으로 보상하는 역할을 한다.Here, the role of the reverse direction (compensation processing) refers to obtaining a desired value by shifting the function to the right by the coefficient value (l, m, n) of the integer taken as the function in the coefficient determination unit 314 . That is, after one of the combinations of the coefficient values of the function to be used for the sampling rate conversion is determined and extracted in the coefficient determination unit 314, the rate conversion unit 340 converts the determined coefficient values into integer types And compensates the value of the sample calculated based on the coefficients of 2 l , 2 m, and 2 n times generated in the conversion process to the original desired value.

도 4는 본 발명의 초기화 수단에 의해 세팅되는 컨버젼 팩터의 일례를 예시하는 도면이다.4 is a diagram illustrating an example of a conversion factor set by the initialization means of the present invention.

상술한 바와 같이, 초기화 수단(310)은 입력되는 특정의 샘플링 레이트에 대응하여, 원하는 출력 샘플링 레이트로의 변환을 위한 컨버젼 팩터와 컨버젼 팩터 값에 의해 필요한 계수값을 세팅하는 역할을 한다.As described above, the initialization unit 310 sets a necessary coefficient value according to a conversion factor for conversion to a desired output sampling rate and a conversion factor value, corresponding to the input specific sampling rate.

예컨대, 입력되는 샘플링 레이트로서 '22.050khz'가 입력되는 경우, 초기화 수단(310)은 입력 샘플링 레이트가 '11.025khz'의 배수임을 확인하고, 입력 샘플링 레이트에 따른 출력 샘플링 레이트로서 '44.1khz'를 결정할 수 있다. 또한, 초기화 수단(310)은 상기 입력 샘플링 레이트 '22.050khz'와 출력 샘플링 레이트 '44.1khz'와의 최소공배수 연산을 통해 중간 주파수 '44.1khz'를 연산할 수 있으며, 중간 주파수 연산에 관여되는 제1 인자 '2(22.050khz*2)' 및 제2 인자 '1(44.1khz*1)'을 식별한다.For example, when '22.050 khz' is input as the input sampling rate, the initialization unit 310 confirms that the input sampling rate is a multiple of '11.025 khz' and sets '44.1 khz' as the output sampling rate according to the input sampling rate You can decide. In addition, the initializing means 310 can calculate the intermediate frequency '44.1 khz 'through the least common multiple of the input sampling rate' 22.050 khz 'and the output sampling rate '44.1 khz' 2 (22.050 khz * 2) 'and the second factor' 1 (44.1 khz * 1) '.

이에 따라 상술한 예에서, 유도되는 인터폴레이션 팩터는 '2'가 되고 데시메이션 팩터는 '1'이 되며, 입력 샘플링 레이트 '22.050khz'에 대해 초기화 수단(310)은 컨버젼 팩터로서 'L=2, M=1'을 세팅할 수 있다.Accordingly, in the above example, the induced interpolation factor becomes' 2 'and the decimation factor becomes' 1'. For the input sampling rate '22.050 kHz', the initialization means 310 outputs' L = M = 1 'can be set.

또한, 초기화 수단(310)은 입력 샘플링 레이트가, 출력 샘플링 레이트로 결정된 주파수의 정수배가 되지 않는 경우, 인터폴레이션 처리를 수행하기 위하여 계수값을 세팅할 수 있다. 이때, 초기화 수단(310)에 의한 인터폴레이션 처리는 (1) Sync 함수를 이용하는 경우, Sync 함수와 연관되는 계수를 이용하여 수행하고, (2) Sync 함수를 이용하지 않는 경우, 소정 기준값에 인터폴레이션 팩터를 곱셈 적용하여 수행한다. 만약 필터를 사용하는 경우, 초기화 수단(310)은 인터폴레이션 팩터(L=2)와 데시메이션 팩터(M=1)의 크기를 비교하여 더 큰 크기를 갖는 팩터(L=2 > M=1)에 해당하는 필터 케이스(Filter case) '2'를 생성한다. 이후, 계수 결정부(314)는 필터 케이스에 따른 계수값을 결정한다Also, the initialization means 310 may set the count value to perform the interpolation process if the input sampling rate is not an integral multiple of the frequency determined by the output sampling rate. At this time, the interpolation process by the initialization means 310 is performed by using (1) a coefficient associated with the Sync function when the Sync function is used, and (2) by using an interpolation factor at a predetermined reference value Multiplication. If a filter is used, the initialization means 310 compares the magnitudes of the interpolation factor (L = 2) and the decimation factor (M = 1) to obtain a factor with a larger magnitude (L = 2> M = 1) And generates a corresponding filter case '2'. Then, the coefficient determiner 314 determines a coefficient value according to the filter case

또 다른 예로써, 출력 샘플링 레이트 '48khz'에 정수배가 되지 않는 입력 샘플링 레이트 '32khz'가 입력되는 경우, 초기화 수단(310)은 입력된 샘플링 레이트 '32khz'에 인터폴레이션 팩터 '3'을 곱셈 적용하여 중간주파수 '96kHz'를 구할 수 있다. 더불어 초기화 수단(310)은 인터폴레이션 팩터가 적용된 주파수 '96khz'에 데시메이션 팩터 '2'를 곱셈 적용(실제로는 나누는 역할)하여 출력 샘플링 레이트 '48khz'가 출력되도록 한다.As another example, when an input sampling rate of '32 khz' that is not an integral multiple of the output sampling rate of '48 khz' is input, the initialization unit 310 multiplies the input sampling rate '32 khz' by the interpolation factor '3' The intermediate frequency '96 kHz' can be obtained. In addition, the initialization unit 310 multiplies (actually divides) the decimation factor '2' to the frequency '96 kHz' to which the interpolation factor is applied, and outputs the output sampling rate '48 kHz'.

이에 따라 상기 예에서, 유도되는 인터폴레이션 팩터는'3'이 되고 데시메이 션 팩터는'2'이 되며, 입력 샘플링 레이트 '32khz'에 대해 초기화 수단(310)은 컨버젼 팩터로서 'L=3, M=2'을 세팅할 수 있다. 이때, 초기화 수단(310)에 의한 인터폴레이션 처리는 (1) Sync 함수를 이용하는 경우, Sync 함수와 연관되는 계수를 이용하여 수행하고, (2) Sync 함수를 이용하지 않는 경우, 소정 기준값에 인터폴레이션 팩터를 곱셈 적용하여 수행한다. 만약 필터를 사용하는 경우, 초기화 수단(310)은 인터폴레이션 팩터(L=3)와 데시메이션 팩터(M=2)의 크기를 비교하여 더 큰 크기를 갖는 팩터(L=3 > M=2)에 해당하는 필터 케이스(Filter case) '3'를 생성한다. 이후, 계수 결정부(314)는 필터 케이스에 따른 계수값을 결정한다Thus, in this example, the derived interpolation factor is 3, the decimation factor is 2, and the initialization means 310 for the input sampling rate 32 kHz is L = 3, M = 2 &quot; can be set. At this time, the interpolation process by the initialization means 310 is performed by using (1) a coefficient associated with the Sync function when the Sync function is used, and (2) by using an interpolation factor at a predetermined reference value Multiplication. If a filter is used, the initialization means 310 compares the magnitudes of the interpolation factor (L = 3) and the decimation factor (M = 2) to obtain a factor with a larger magnitude (L = 3> M = 2) And generates a corresponding filter case '3'. Then, the coefficient determiner 314 determines a coefficient value according to the filter case

입력 인터페이스 수단(320)은 신규데이터를 입력 받는 역할을 한다. 즉, 입력 인터페이스 수단(320)은 파일, 메모리 또는 스트림(stream)으로부터 새로운 입력 데이터를 수신한다.The input interface means 320 receives new data. That is, the input interface means 320 receives new input data from a file, memory or stream.

루프 카운트 수단(330)은 입력되는 신규데이터의 샘플의 개수에 인터폴레이션 팩터(up)를 곱한 값을, 인터폴레이션 팩터(up)와 데시메이션 팩터(down)가 가질 수 있는 모든 경우의 수의 최소공배수(Filter Frame Size)(예컨대 도 4의 경우, '2, 3, 4, 6, 8, 16'의 최소 공배수 '48')로 나눈 값의 정수치를 토탈 루프 카운트(Total Loop Count)로 산출한다.The loop counting means 330 multiplies the number of samples of new data input by the interpolation factor up by the minimum common multiple of the number of interpolation factors up and decimation factor down (The minimum common multiple of '48' of '2, 3, 4, 6, 8, 16' in the case of FIG. 4) is calculated by a total loop count.

이때, 루프 카운트 수단(330)은 계산된 토탈 루프 카운트에 데시메이션 팩터(down)가 가질 수 있는 모든 경우의 수의 최소공배수(예컨대 도 4의 경우, '2, 3, 4, 6, 8, 16'의 최소 공배수 '48')를 곱하고, 그 값을 인터폴레이션 팩터(up)로 나눈 값을, 현재 프레임에서 사용하는 입력샘플의 개수로 결정할 수 있다. 나머지 값은 다음 프레임에서 계산할 때 더해지는 샘플의 수가 된다. 또한 루프 카운트 수단(330)은 선행하여 계산되는 프레임에서 계산되지 않은 나머지의 입력 샘플이 있다면, 이를 차기 프레임에서의 입력 샘플과 합계 계산할 수 있다.At this time, the loop counting means 330 counts the number of the least common multiple of all cases (for example, '2, 3, 4, 6, 8, 16 '), and the value obtained by dividing the value by the interpolation factor (up) can be determined as the number of input samples used in the current frame. The remaining values are the number of samples to be added when calculating in the next frame. Also, if there is a remaining input sample that has not been computed in the preceding computed frame, the loop counting means 330 may sum up this with the input sample in the next frame.

이를 통해 본 발명의 샘플링 레이트 변환 시스템(300)은 보다 정밀한 중간 주파수의 연산이 가능한 환경을 마련할 수 있다.Accordingly, the sampling rate conversion system 300 of the present invention can provide an environment capable of more precise calculation of the intermediate frequency.

또한, 샘플링 레이트 변환 시스템(300)은 신규데이터와 연관된 입력 샘플링 레이트가 원하는 출력 샘플링 레이트(44.1khz, 48khz)의 정수배가 되지 않을 경우, 이를 보상하기 위한 인터폴레이션 처리를 수행할 수 있다.In addition, the sampling rate conversion system 300 may perform an interpolation process to compensate for an input sampling rate associated with the new data that is not an integer multiple of the desired output sampling rate (44.1 kHz, 48 kHz).

만약, Sync 함수를 이용하여 인터폴레이션을 할 경우, 샘플링 레이트 변환 시스템(300)은 계수값의 세팅시 상기 Sync 함수를 위한 계수를 이용하여 인터폴레이션 처리를 한다. 즉, 샘플링 레이트 변환 시스템(300)은 Sync 함수를 이용하기 위한 계수값의 세팅시 초기화 수단(310)에 의해 l을 구하는 방법(상기 ⅰ) 과정) 에 의해 구해진 계수 값을 가지고 인터폴레이션 처리를 수행한다. 이 때 샘플링 레이트 변환 시스템(300)은 구해진 데이터의 값을 상기 l의 값 만큼 오른쪽으로 시프트(shift)시킴으로써 최종적인 데이터를 구한다..If interpolation is performed using the Sync function, the sampling rate conversion system 300 performs an interpolation process using the coefficient for the Sync function when the coefficient value is set. That is, the sampling rate conversion system 300 performs the interpolation processing with the coefficient values obtained by the method (i)) by the initialization means 310 when setting the coefficient values for using the Sync function . At this time, the sampling rate conversion system 300 obtains final data by shifting the value of the obtained data to the right by the value of l.

Sync 함수를 이용하지 않고, 인터폴레이션시키기 위해서 샘플링 레이트 변환 시스템(300)은 중간값을 "0"으로 취하고, 소정의 기준값에 인터폴레이션 팩터(up)의 값을 곱하여 파워 보정 처리한다.In order to interpolate without using the Sync function, the sampling rate conversion system 300 takes the intermediate value as "0 ", and performs power correction processing by multiplying the predetermined reference value by the value of the interpolation factor (up).

또한, 샘플링 레이트 변환 시스템(300)은 인터폴레이션 또는 데시메이션 처리에 따라 발생하는 얼라이징(aliasing)을 최소화하기 위해서, 필터를 사용할 수 있다. 이때, 샘플링 레이트 변환 시스템(300)은 세팅한 필터의 계수 값을 사용할 수 있으며, 상술한 FIR 함수 사용시의 세팅된 m(상기 ⅱ) 과정)과 IIR 함수 사용시의 세팅된 n(상기 ⅲ) 과정) 만큼 각 샘플을 오른쪽으로 shift 시킨다.In addition, the sampling rate conversion system 300 may use a filter to minimize aliasing that occurs in accordance with interpolation or decimation processing. At this time, the sampling rate conversion system 300 can use the coefficient value of the set filter, and the set m (the above-mentioned process) and the set n (the process (iii) process) when using the above- Shift each sample to the right.

또한, 샘플링 레이트 변환 시스템(300)은 상술한 과정에 의해 계산된 값을 입력된 데이터와 관련한 중간 주파수에 해당하는 데이터의 값으로 구하고, 데시메이션 처리를 수행하여 중간 주파수를 갖는 데이터들 중에서 원하는 주파수의 샘플을 얻는다. 즉, 샘플링 레이트 변환 시스템(300)은 원하는 출력 샘플링 레이트(44.1khz, 48khz)로 낮추기 위해서, 샘플 중 하나를 일정한 거리를 유지하면서 추출하는 데시메이션 처리(down)한다.In addition, the sampling rate conversion system 300 obtains the value calculated by the above-described procedure as the value of data corresponding to the intermediate frequency related to the input data, performs decimation processing, &Lt; / RTI &gt; That is, the sampling rate conversion system 300 performs a decimation process for extracting one of the samples while maintaining a constant distance to lower the sampling rate to a desired output sampling rate (44.1 kHz, 48 kHz).

따라서, 본 발명에 따르면, 다양한 샘플링 레이트를 갖는 오디오 데이터를 SBC 등에서 수용 가능한 주파수로 변환하는데 있어서, 계산량을 줄일 수 있고 동시에 용이하게 변환 처리를 수행할 수 있도록 한다.Therefore, according to the present invention, in converting audio data having various sampling rates into frequencies acceptable in the SBC and the like, the amount of calculation can be reduced and the conversion process can be easily performed at the same time.

이하에서는, 본 발명에 따른 특정 샘플링 레이트를 목적으로 하는 샘플링 레이트의 변환에 대한 일례를 설명한다.Hereinafter, an example of conversion of the sampling rate for a specific sampling rate according to the present invention will be described.

상술한 바와 같이, 본 발명의 샘플링 레이트 변환 시스템(300)은 샘플링 레이트의 다양한 요구에 따라 최적한 출력 샘플링 레이트를 출력할 수 있도록 함으로써 수용 가능한 샘플링 레이트의 범위를 크게 확대시킬 수 있다.As described above, the sampling rate conversion system 300 of the present invention can greatly expand the range of acceptable sampling rates by allowing an optimal output sampling rate to be output according to various demands of the sampling rate.

예컨대, 입력 샘플링 레이트로서 비교적 높은 주파수의 '192khz'가 입력되는 경우, 샘플링 레이트 변환 시스템(300)은 입력된 샘플링 레이트가 48kHz 혹은 32kHz의 1/x배 혹은 y배(x, y는 2, 4, 8, 16, …)일 경우임을 확인하고, 상기 입력 샘플링 레이트에 최적하게 대응하는 출력 샘플링 레이트로서 '48khz'를 결정할 수 있다.For example, when a relatively high frequency of '192 kHz' is input as the input sampling rate, the sampling rate conversion system 300 determines whether the input sampling rate is 1 / x times or y times the input sampling rate of 48 kHz or 32 kHz , 8, 16, ...), and may determine '48 khz' as the output sampling rate that best corresponds to the input sampling rate.

이후, 샘플링 레이트 변환 시스템(300)은 도 4에서 세팅된 컨버젼 팩터에 따라, 입력 샘플링 레이트 '192khz'에 인터폴레이션 팩터 '1'을 곱셈 적용하고, 데시메이션 팩터 '4'를 곱셈 적용(실제 4로 나눔)하여 원하는 출력 샘플링 레이트 '48khz'가 출력되도록 유도할 수 있다.Then, the sampling rate conversion system 300 multiplies the input sampling rate '192 khz' by the interpolation factor '1' according to the conversion factor set in FIG. 4, multiplies the decimation factor '4' So that a desired output sampling rate of '48 kHz' is output.

따라서, 본 발명에 따르면, 이전에 높은 입력 샘플링 레이트에 대해 수용이 불가능했던 주파수 대역에 대해서도, 최적하게 세팅된 계수값의 컨버젼 팩터를 활용함으로써 샘플링 레이트의 변환 작업을 가능하게 하며, 이를 통해 원하는 출력 샘플링 레이트를 유연하게 유도할 수 있는 효과를 얻는다.Thus, according to the present invention, the conversion rate of the sampling rate can be made possible by utilizing the conversion factor of the coefficient value that is set optimally for a frequency band that was previously unacceptable for a high input sampling rate, The sampling rate can be flexibly derived.

이하, 본 발명의 실시예에 따른 샘플링 레이트 변환 시스템의 작업 흐름을 상세히 설명한다.Hereinafter, the operation flow of the sampling rate conversion system according to the embodiment of the present invention will be described in detail.

도 5는 본 발명의 샘플링 레이트 변환 방법을 구체적으로 도시한 작업 흐름도이다.5 is a workflow diagram specifically illustrating the sampling rate conversion method of the present invention.

본 발명의 샘플링 레이트 변환 방법은 상술한 샘플링 레이트 변환 시스템(300)에 의해 수행된다.The sampling rate conversion method of the present invention is performed by the sampling rate conversion system 300 described above.

우선, 샘플링 레이트 변환 시스템(300)은 필요한 인자들을 세팅한다(S510)(Set the Argment). 본 단계(S510)는 입력되는 소스의 샘플링 레이트의 값을 수신하고, 기본적으로 입력되어야 하는 샘플의 수를 세팅한다.First, the sampling rate conversion system 300 sets necessary parameters (S510) (Set the Argment). In this step S510, the value of the sampling rate of the input source is received, and the number of samples to be input is set basically.

또한, 샘플링 레이트 변환 시스템(300)은 샘플링 레이트의 변환과 관련하여 초기화를 수행한다(S520)(Initialization). 본 단계(S520)는 입력 샘플링 레이트에 기준하여 출력 샘플링 레이트를 결정함으로써 입력 샘플링 레이트에 대해 특정 출력 샘플링 레이트를 매핑하는 과정이다. 즉, 샘플링 레이트 변환 시스템(300)은 상기 입력 샘플링 레이트 및 상기 결정된 출력 샘플링 레이트를 이용하여 중간 주파수를 연산하며, 상기 중간 주파수와, 상기 입력 샘플링 레이트 및 상기 출력 샘플링 레이트 사이의 관계로부터 복수 개의 컨버젼 팩터를 유도하고, 상기 유도된 컨버젼 팩터를 선별적으로 이용하여 샘플링 레이트 변환에 사용될 함수의 계수값을 결정하며, 상기 함수를 이용하여 샘플링 레이트를 변환한다.. In addition, the sampling rate conversion system 300 performs initialization with respect to the conversion of the sampling rate (S520) (Initialization). This step S520 is a process of mapping a specific output sampling rate to an input sampling rate by determining an output sampling rate based on the input sampling rate. That is, the sampling rate conversion system 300 calculates an intermediate frequency using the input sampling rate and the determined output sampling rate, and determines a plurality of conversions from the relationship between the intermediate frequency and the input sampling rate and the output sampling rate Derives the factor, determines the coefficient value of the function to be used for the sampling rate conversion by selectively using the derived conversion factor, and converts the sampling rate using the function.

이에 따라 본 단계(S520)에서 샘플링 레이트 변환 시스템(300)은 입력되는 샘플레이트에 기초하여 샘플링 레이트 변환에 활용할 컨버젼 팩터를 구하여 세팅할 수 있다.Accordingly, in this step S520, the sampling rate conversion system 300 can obtain and set a conversion factor to be used for the sampling rate conversion based on the input sample rate.

본 단계(S520)에서의 샘플링 레이트 변환 시스템(300)은 입력된 샘플링 레이트에 따라 출력되는 샘플링 레이트를 결정한다. 입력되는 샘플링 레이트가 48kHz 혹은 32kHz의 1/x배 혹은 y배(x, y는 2, 4, 8, 16, …)일 경우 출력되는 샘플링 레이트를 48khz로 결정하고, 입력되는 샘플링 레이트가 11.025khz의 배수인 경우 출력되는 샘플링 레이트를 44.1khz로 결정할 수 있다.The sampling rate conversion system 300 in this step S520 determines a sampling rate to be output according to the input sampling rate. When the input sampling rate is 1 / x times or 32 times the sampling rate of 48 kHz or 32 kHz (where x and y are 2, 4, 8, 16, ...), the output sampling rate is determined as 48 kHz, and the input sampling rate is 11.025 kHz The sampling rate to be output can be determined as 44.1 kHz.

또한, 샘플링 레이트 변환 시스템(300)은 입력 샘플링 레이트에 양의 정수인 제1 인자를 곱한 값 중에서, 출력 주파수의 양의 정수(제2 인자)배가 되는 최소의 중간 주파수를 구한다.Also, the sampling rate conversion system 300 obtains the minimum intermediate frequency that is a positive integer (second factor) of the output frequency, out of the values obtained by multiplying the input sampling rate by a first factor, which is a positive integer.

이 때, 샘플링 레이트 변환 시스템(300)은 상기 제1 인자의 값을 취해 Interpolation Factor의 값(up)을 얻고, 상기 제2 인자의 값을 취해 Decimation Factor 값(down)을 얻을 수 있다.At this time, the sampling rate conversion system 300 may obtain the value of the interpolation factor (up) by taking the value of the first factor, and may take the value of the second factor to obtain the decimation factor value (down).

또한, 샘플링 레이트 변환 시스템(300)은 구해진 Interpolation Factor의 값과 Decimation Factor의 값을 비교하여 큰 값을 Filter case의 값을 취한다. 여기서, 만약 sync 함수가 사용된다면 샘플링 레이트 변환 시스템(300)은 필요한 Interpolation Factor에 따른 계수 값을 세팅한다. 만약, Filter가 사용된다면 샘플링 레이트 변환 시스템(300)은 Filter case에 따라 계수 값을 세팅한다.Also, the sampling rate conversion system 300 compares the obtained value of the interpolation factor with the value of the decimation factor, and takes a value of the filter case as a large value. Here, if the sync function is used, the sampling rate conversion system 300 sets the coefficient value according to the required interpolation factor. If a filter is used, the sampling rate conversion system 300 sets the coefficient value according to the filter case.

계수 값의 세팅에 있어서, 샘플링 레이트 변환 시스템(300)은 ⅰ) 각각의 계수값으로서, 시스템에서 계산하고자 하는 데이터 길이가 갖는 최고 값에서, Sync 함수에 사용될 계수의 수를 나눈 값을 넘지 않는 계수의 최고값 * 2l(l은 양의 정수)을 갖는 l을 구한 다음, 나머지 각각의 계수에 2l을 곱한 값을 갖게 한다.In the setting of the coefficient values, the sampling rate conversion system 300 calculates i) a coefficient that does not exceed a value obtained by dividing the number of coefficients used for the Sync function by the maximum value of the data length to be calculated in the system, of the obtained l having the highest value * 2 l (l is a positive integer), and then has a value obtained by multiplying a 2 l in the rest each coefficient.

또한, 샘플링 레이트 변환 시스템(300)은 ⅱ) 각각의 계수값으로서, 시스템에서 계산하고자 하는 데이터 길이가 갖는 최고 값에서, FIR함수에 사용될 계수의 수를 나눈 값을 넘지 않는 계수의 최고값 * 2m(m은 양의 정수)을 갖는 m을 구한 다음, 나머지 각각의 계수에 2m을 곱한 값을 갖게 한다.Also, the sampling rate conversion system 300 is configured such that (ii) the maximum value of the coefficients that do not exceed the value obtained by dividing the number of coefficients used for the FIR function by the maximum value of the data length to be calculated in the system, Let m with m (m is a positive integer) and then multiply each of the remaining coefficients by 2 m .

더불어, 샘플링 레이트 변환 시스템(300)은 ⅲ) 각각의 계수값으로서, 시스템에서 계산하고자 하는 데이터 길이가 갖는 최고 값에서, IIR 함수에 사용될 계수의 수를 나눈 값을 넘지 않는 계수의 최고값 * 2n(n은 양의 정수)을 갖는 n을 구한 다음, 나머지 각각의 계수에 2n을 곱한 값을 갖게 한다.In addition, the sampling rate conversion system 300 calculates iii) the maximum value of the coefficient * 2 that does not exceed the value obtained by dividing the number of coefficients used for the IIR function by the maximum value of the data length to be calculated in the system, n (where n is a positive integer) is obtained, and then each of the remaining coefficients is multiplied by 2 n .

다음으로, 샘플링 레이트 변환 시스템(300)은 신규한 데이터를 입력한다(S530)(New sample Read). 본 단계(S530)는 파일, 메모리, 스트림으로부터 새로운 입력 데이터를 수신하는 과정이다.Next, the sampling rate conversion system 300 inputs new data (S530) (New sample Read). In this step (S530), new input data is received from a file, a memory, and a stream.

또한, 샘플링 레이트 변환 시스템(300)은 루프카운트를 연산한다(S540)(Calculation Loop count). 본 단계(S540)는 입력되는 데이터의 사이즈에 Interpolation Factor(up)를 곱한 값에 Interpolation Factor(up)와 Decimation Factor(down)가 가질 수 있는 모든 경우의 수의 최소공배수(FILTER FRAME SIZE)로 나눈 값의 정수치를 Total Loop Count로 취하는 과정이다. 만약 앞서 계산된 프레임에서 계산되지 않은 나머지의 입력 샘플이 있다면, 샘플링 레이트 변환 시스템(300)은 그 개수를 입력되는 개수에 더해 계산한다. 이 때 샘플링 레이트 변환 시스템(300)은 계산된 Total Loop Count에 Interpolation Factor(up)와 Decimation Factor(down)가 가질 수 있는 모든 경우의 수의 최소공배수(FILTER FRAME SIZE)를 곱하고 그 값을 Interpolation Factor(up)로 나눈 값을 현재 프레임에서 사용하는 입력의 개수로 하고 나머지는 다음 프레임에서 사용한다.In addition, the sampling rate conversion system 300 calculates a loop count (S540) (Calculation Loop count). In this step S540, the Interpolation Factor (up) multiplied by the input data size is divided by the minimum common number (FILTER FRAME SIZE) of the number of Interpolation Factor (up) and Decimation Factor And taking the integer value of the value as the total loop count. If there are remaining input samples not calculated in the previously computed frame, the sampling rate conversion system 300 adds the number to the input number. At this time, the sampling rate conversion system 300 multiplies the calculated total loop count by the minimum common number (FILTER FRAME SIZE) of all the cases that the interpolation factor (up) and the decimation factor (down) can have, (up) is used as the number of inputs used in the current frame, and the rest is used in the next frame.

계속해서, 샘플링 레이트 변환 시스템(300)은 SyncFunction에 대한 ON/OFF 여부를 판단하고(S550), SyncFunction이 ON으로 확인되는 경우, 즉 입력 샘플링 레이트가 원하는 출력 주파수(44100Hz, 48000Hz)의 정수배가 되지 않을 경우에 Interpolation을 한다(S551)(Interpolation with Syncfunction). 만약 Sync function을 이용하여 Interpolation을 하는 경우, 샘플링 레이트 변환 시스템(300)은 앞서 받아들인 Sync함수를 위한 계수를 이용하여 Interpolation한다. 이때 샘플링 레이트 변환 시스템(300)은 상기 단계(S520)의 Initialization에서 상기 ⅰ)에서 구한 방법의 역을 해주어야 한다. 즉, 샘플링 레이트 변환 시스템(300)은 상기 l의 값으로 오른쪽으로 shift시킨다.Subsequently, the sampling rate conversion system 300 determines whether the SyncFunction is ON / OFF (S550). If the SyncFunction is ON, that is, if the input sampling rate is an integral multiple of the desired output frequency (44100 Hz, 48000 Hz) If not, Interpolation is performed (S551) (Interpolation with Syncfunction). If interpolation is performed using the Sync function, the sampling rate conversion system 300 performs interpolation using coefficients for the previously received Sync function. At this time, the sampling rate conversion system 300 should reverse the method obtained in step i) in the initialization of step S520. That is, the sampling rate conversion system 300 shifts to the right by the value of l.

반면, 단계(S550)에서 SyncFunction이 OFF로 확인되는 경우, 즉 Sync함수를 이용하지 않고 Interpolation 시키는 경우, 샘플링 레이트 변환 시스템(300)은 중간값을 "0"을 취하고 기준값에 Interpolation Factor(up)의 값을 곱해 Power를 보정한다(S552)(Interpolation with Zero & Power Correction).If the SyncFunction is turned OFF in step S550, that is, interpolation is performed without using the Sync function, the sampling rate conversion system 300 takes the intermediate value as "0" and sets the Interpolation Factor (up) (S552) (Interpolation with Zero & Power Correction).

이후, 샘플링 레이트 변환 시스템(300)은 Interpolation 또는 Decimation 처리에 의해 발생한 Aliasing을 이를 최소화 하기 위해서 Filter를 사용한다(S560). 이 때 샘플링 레이트 변환 시스템(300)은 앞서 받아들인 각각 필터의 계수 값을 사용하게 되는데, 상기 단계(S520)의 Initialization에서 상기 ⅱ) 및 ⅲ)에서 변형시킨 값을 보정하기 위해서 계산한 다음 오른쪽으로 (m),(n)만큼 shift시킨다.Thereafter, the sampling rate conversion system 300 uses a filter to minimize the aliasing generated by the interpolation or decimation process (S560). At this time, the sampling rate conversion system 300 uses the coefficient values of the previously received filters. In the initialization of the step S520, the sampling rate conversion system 300 calculates the values modified in steps ii) and iii) (m) and (n).

또한, 샘플링 레이트 변환 시스템(300)은 데시메이션 처리를 수행한다(S570). 본 단계(S570)는 중간 주파수를 갖는 값 중에서 원하는 출력 주파수(44100Hz, 48000Hz)로 낮춰 주기 위해서 down개의 샘플 중 하나를 일정한 거리를 유지하면서 추출해 내는 과정이다(Decimation).In addition, the sampling rate conversion system 300 performs a decimation process (S570). In this step (S570), one of the down samples is extracted while maintaining a constant distance to reduce the intermediate frequency to a desired output frequency (44100Hz, 48000Hz).

이후, 샘플링 레이트 변환 시스템(300)은 루프카운트를 이용하여 추출되는 샘플에 대한 값이 0 이상의 양수인지를 비교, 판단한다(S571). 판단 결과, 루프카운트의 값이 0 보다 클 경우(S571의 Yes 방향), 샘플링 레이트 변환 시스템(300)은 단계(S550) 이하를 재수행할 수 있다. 반면, 판단 결과, 루프카운트의 값이 0 보다 작을 경우(S571의 No 방향), 샘플링 레이트 변환 시스템(300)은 소정의 마무리 단계(S572)를 수행한다.Thereafter, the sampling rate conversion system 300 compares and determines whether the value of the sample extracted using the loop count is 0 or more (S571). As a result of the determination, if the value of the loop count is larger than 0 (Yes in step S571), the sampling rate conversion system 300 can re-execute step S550 and the following steps. On the other hand, as a result of the determination, if the value of the loop count is smaller than 0 (No in S571), the sampling rate conversion system 300 performs a predetermined finishing step S572.

상기 마무리 단계(S572)에서 새로운 입력 데이터의 수신이 계속적으로 이루어지는 경우(S572의 No 방향), 샘플링 레이트 변환 시스템(300)은 신규데이터 입력 단계(S530) 이하를 재수행할 수 있다. 반면, 더 이상의 데이터 입력이 없을 경우(S572의 Yes 방향), 샘플링 레이트 변환 시스템(300)은 샘플링 레이트 변환 과정을 종료한다.If the new input data is continuously received in the finishing step S572 (No in S572), the sampling rate conversion system 300 can re-execute the steps after the new data input step S530. On the other hand, if there is no more data input (Yes in S572), the sampling rate conversion system 300 ends the sampling rate conversion process.

따라서, 본 발명에 따르면, 다양한 샘플링 레이트를 갖는 오디오 데이터를 SBC 등에서 수용 가능한 주파수로 변환하는데 있어서, 계산량을 줄일 수 있고 동시에 용이하게 변환 처리를 수행할 수 있도록 한다.Therefore, according to the present invention, in converting audio data having various sampling rates into frequencies acceptable in the SBC and the like, the amount of calculation can be reduced and the conversion process can be easily performed at the same time.

본 발명의 실시예들은 다양한 컴퓨터로 구현되는 동작을 수행하기 위한 프로그램 명령을 포함하는 컴퓨터 판독 가능 매체를 포함한다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 로컬 데이터 파일, 로컬 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체는 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM, DVD와 같은 광기록 매체, 플롭티컬 디스크와 같 은 자기-광 매체, 및 롬, 램, 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 상기 매체는 프로그램 명령, 로컬 데이터 구조 등을 지정하는 신호를 전송하는 반송파를 포함하는 광 또는 금속선, 도파관 등의 전송 매체일 수도 있다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다.Embodiments of the present invention include computer readable media including program instructions for performing various computer implemented operations. The computer-readable medium may include program instructions, local data files, local data structures, etc., alone or in combination. The media may be those specially designed and constructed for the present invention or may be those known to those skilled in the computer software. Examples of computer-readable media include magnetic media such as hard disks, floppy disks and magnetic tape, optical recording media such as CD-ROMs and DVDs, magneto-optical media such as floppy disks, , And the like. The medium may be a transmission medium such as optical or metal lines, waveguides, etc., including a carrier wave for transmitting a signal specifying a program command, a local data structure, and the like. Examples of program instructions include machine language code such as those produced by a compiler, as well as high-level language code that can be executed by a computer using an interpreter or the like.

지금까지 본 발명에 따른 구체적인 실시예에 관하여 설명하였으나, 본 발명의 범위에서 벗어나지 않는 한도 내에서는 여러 가지 변형이 가능함은 물론이다. 그러므로, 본 발명의 범위는 설명된 실시예에 국한되어 정해져서는 안되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등한 것들에 의해 정해져야 한다.While the present invention has been described in connection with what is presently considered to be practical exemplary embodiments, it is to be understood that the invention is not limited to the disclosed embodiments. Therefore, the scope of the present invention should not be limited to the described embodiments, but should be determined by the equivalents of the claims and the claims.

이상의 설명에서 알 수 있는 바와 같이, 본 발명에 따르면, 이전에 높은 입력 샘플링 레이트에 대해 수용이 불가능했던 주파수 대역에 대해서도, 최적하게 세팅된 계수값의 컨버젼 팩터를 활용함으로써 샘플링 레이트의 변환 작업을 가능하게 하며, 이를 통해 원하는 출력 샘플링 레이트를 유연하게 유도할 수 있는 샘플링 레이트 변환 방법 및 샘플링 레이트 변환 시스템을 제공할 수 있다.As can be seen from the above description, according to the present invention, the conversion rate of the sampling rate can be made possible by utilizing the conversion factor of the coefficient value that is optimally set, even for a frequency band that was previously unacceptable for a high input sampling rate. Thereby providing a sampling rate conversion method and a sampling rate conversion system capable of flexibly deriving a desired output sampling rate.

또한, 본 발명에 따르면, 다양한 샘플링 레이트를 갖는 오디오 데이터를 SBC 등에서 수용 가능한 주파수로 변환하는데 있어서, 계산량을 줄일 수 있고 동시에 용이하게 변환 처리를 수행할 수 있도록 하는 샘플링 레이트 변환 방법 및 샘플링 레이트 변환 시스템을 제공할 수 있다.According to the present invention, there are provided a sampling rate conversion method and a sampling rate conversion system that can reduce the amount of calculation and easily perform conversion processing in converting audio data having various sampling rates into frequencies acceptable in SBC, Can be provided.

또한, 본 발명에 따르면, 특정 입력 샘플링 레이트의 샘플링 레이트 변환시 활용할 컨버젼 팩터에 대한 표준화된 계수값을 세팅함으로써 추후 새롭게 입력되는 데이터에 대한 샘플링 레이트의 변환시 기세팅한 계수값을 이용하여 컨버젼 팩터에 의한 신속한 변환 처리가 이루어지도록 하는 환경을 마련하는 샘플링 레이트 변환 방법 및 샘플링 레이트 변환 시스템을 제공할 수 있다.In addition, according to the present invention, by setting a standardized coefficient value for a conversion factor to be utilized in converting a sampling rate of a specific input sampling rate, it is possible to set a conversion factor by a conversion factor It is possible to provide a sampling rate conversion method and a sampling rate conversion system which provide an environment for performing a quick conversion process.

Claims (23)

샘플링 레이트 변환 방법에 있어서,In the sampling rate conversion method, 입력 샘플링 레이트에 기준하여 출력 샘플링 레이트를 결정하는 단계;Determining an output sampling rate based on an input sampling rate; 상기 입력 샘플링 레이트 및 상기 결정된 출력 샘플링 레이트를 이용하여 중간 주파수를 연산하는 단계;Calculating an intermediate frequency using the input sampling rate and the determined output sampling rate; 상기 중간 주파수와, 상기 입력 샘플링 레이트 및 상기 출력 샘플링 레이트 사이의 관계로부터 복수 개의 컨버젼 팩터를 유도하는 단계;Deriving a plurality of conversion factors from the relationship between the intermediate frequency and the input sampling rate and the output sampling rate; 상기 유도된 컨버젼 팩터를 선별적으로 이용하여 샘플링 레이트 변환에 사용될 함수의 계수값을 결정하는 단계; 및Determining a coefficient value of a function to be used for the sampling rate conversion by selectively using the derived conversion factor; And 상기 함수를 이용하여 샘플링 레이트를 변환하는 단계Converting the sampling rate using the function 를 포함하는 것을 특징으로 하는 샘플링 레이트 변환 방법.Wherein the sampling rate conversion step comprises: 제1항에 있어서,The method according to claim 1, 샘플링 레이트 변환에 사용될 함수의 계수값을 결정하는 상기 단계는,The step of determining the coefficient value of the function to be used for the sampling rate conversion, 실수 형태로 표현된 계수값을 추출하는 단계; 및Extracting a coefficient value expressed in a real number form; And 상기 추출된 실수의 계수값으로부터 정수 계수값을 취하는 단계Taking an integer count value from the extracted real number count value 를 포함하는 것을 특징으로 하는 샘플링 레이트 변환 방법.Wherein the sampling rate conversion step comprises: 제2항에 있어서,3. The method of claim 2, 함수를 이용하여 샘플링 레이트를 변환하는 상기 단계는,Wherein the step of converting the sampling rate using the function comprises: 상기 정수 계수값의 함수를 이용한 정수 연산을 통해 샘플링 레이트를 변환하는 것을 특징으로 하는 샘플링 레이트 변환 방법.Wherein the sampling rate is converted through an integer operation using a function of the integer coefficient value. 제2항에 있어서,3. The method of claim 2, 함수를 이용하여 샘플링 레이트를 변환하는 상기 단계는,Wherein the step of converting the sampling rate using the function comprises: 샘플링 레이트의 변환 이후, 상기 취해진 정수의 계수값에 대한 보상을 수행하는 단계Performing a compensation on a coefficient value of the taken integer after the conversion of the sampling rate 를 포함하는 것을 특징으로 하는 샘플링 레이트 변환 방법.Wherein the sampling rate conversion step comprises: 제1항에 있어서,The method according to claim 1, 상기 유도되는 컨버젼 팩터는 인터폴레이션 팩터를 포함하고,Wherein the derived conversion factor comprises an interpolation factor, 샘플링 레이트 변환에 사용될 함수의 계수값을 결정하는 상기 단계는,The step of determining the coefficient value of the function to be used for the sampling rate conversion, 상기 함수가 Sync 함수일 경우, 상기 인터폴레이션 팩터에 따른 계수값을 결정하는 것을 특징으로 하는 샘플링 레이트 변환 방법.And determining a coefficient value according to the interpolation factor when the function is a Sync function. 제1항에 있어서,The method according to claim 1, 상기 유도되는 컨버젼 팩터는 인터폴레이션 팩터 및 데시메이션 팩터를 포함하고,Wherein the derived conversion factor comprises an interpolation factor and a decimation factor, 샘플링 레이트 변환에 사용될 함수의 계수값을 결정하는 상기 단계는,The step of determining the coefficient value of the function to be used for the sampling rate conversion, 상기 함수가 필터 함수일 경우,If the function is a filter function, 상기 인터폴레이션 팩터 크기와 데시메이션 팩터 크기를 비교하여 더 큰 크기를 갖는 필터 케이스를 생성하는 단계; 및Comparing the interpolation factor size and the decimation factor size to generate a filter case having a larger size; And 상기 필터 케이스에 따른 계수값을 결정하는 단계Determining a coefficient value according to the filter case 를 포함하는 것을 특징으로 하는 샘플링 레이트 변환 방법.Wherein the sampling rate conversion step comprises: 제1항에 있어서,The method according to claim 1, 중간 주파수를 연산하는 상기 단계는,The step of computing the intermediate frequency comprises: 상기 입력 샘플링 레이트와 상기 출력 샘플링 레이트와의 최소 공배수를 상기 중간 주파수로서 연산하는 단계Calculating a least common multiple of the input sampling rate and the output sampling rate as the intermediate frequency 를 포함하는 것을 특징으로 하는 샘플링 레이트 변환 방법.Wherein the sampling rate conversion step comprises: 제7항에 있어서,8. The method of claim 7, 컨버젼 팩터를 유도하는 상기 단계는,The step of deriving the conversion factor comprises: 상기 최소 공배수의 중간 주파수를 연산하기 위해 상기 입력 샘플링 레이트에 곱셈 적용되는 양의 정수를 이용하여 인터폴레이션 팩터를 유도하는 단계; 및Deriving an interpolation factor using a positive integer multiplied by the input sampling rate to compute an intermediate frequency of the least common multiple; And 상기 최소 공배수의 중간 주파수를 연산하기 위한 상기 출력 샘플링 레이트에 곱셈 적용되는 양의 정수를 이용하여 데시메이션 팩터를 유도하는 단계Deriving a decimation factor using a positive integer multiplied by the output sampling rate to compute an intermediate frequency of the least common multiple, 를 포함하는 것을 특징으로 하는 샘플링 레이트 변환 방법.Wherein the sampling rate conversion step comprises: 제1항에 있어서,The method according to claim 1, 신규데이터를 입력받는 단계; 및Receiving new data; And 상기 신규데이터의 사이즈에 상기 유도된 컨버젼 팩터 중에서 인터폴레이션 팩터를 곱한 값을, 상기 유도된 컨버젼 팩터가 가질 수 있는 모든 경우의 수의 최소공배수로 나눈 값의 정수치를 토탈 루프 카운트로 산출하는 단계Calculating an integer value of a value obtained by dividing the value obtained by multiplying the size of the new data by the interpolation factor in the derived conversion factor by the least common multiple of the number of all cases that the derived conversion factor can have, 를 더 포함하는 것을 특징으로 하는 샘플링 레이트 변환 방법.&Lt; / RTI &gt; 제9항에 있어서,10. The method of claim 9, 토탈 루프 카운트로 산출하는 상기 단계는.The step of calculating with the total loop count is: 상기 토탈 루프 카운트에 상기 컨버젼 팩터가 가질 수 있는 모든 경우의 수의 최소공배수를 곱하여 중간값을 계산하는 단계; 및Multiplying the total loop count by the least common multiple of the number of all cases that the conversion factor may have, and calculating an intermediate value; And 상기 계산한 중간값을 상기 인터폴레이션 팩터로 나눈 값을 현재 프레임에서 사용하는 입력의 개수로 결정하고, 나머지를 다음 프레임에서 사용하는 단계Determining a value obtained by dividing the calculated intermediate value by the interpolation factor as the number of inputs used in the current frame and using the remaining value in the next frame 를 포함하는 것을 특징으로 하는 샘플링 레이트 변환 방법.Wherein the sampling rate conversion step comprises: 제9항에 있어서,10. The method of claim 9, 상기 신규데이터와 연관된 상기 입력 샘플링 레이트가 원하는 출력 샘플링 레이트의 정수배가 되지 않는 경우, 인터폴레이션 처리를 수행하는 단계If the input sampling rate associated with the new data is not an integral multiple of a desired output sampling rate, performing an interpolation process 를 더 포함하며,Further comprising: 상기 인터폴레이션 처리는, (1) Sync 함수를 이용하는 경우, Sync 함수와 연관되는 계수를 이용하여 수행하고, (2) Sync 함수를 이용하지 않는 경우, 소정 기준값에 인터폴레이션 팩터를 곱셈 적용하여 수행하는 것을 특징으로 하는 샘플링 레이트 변환 방법.The interpolation process is performed by (1) using a coefficient associated with the Sync function when using the Sync function, and (2) when not using the Sync function, by multiplying the predetermined reference value by an interpolation factor / RTI &gt; 샘플링 레이트 변환 방법에 있어서,In the sampling rate conversion method, 입력 샘플링 레이트에 기준하여 출력 샘플링 레이트를 결정하는 단계;Determining an output sampling rate based on an input sampling rate; 상기 입력 샘플링 레이트 및 상기 결정된 출력 샘플링 레이트를 이용하여 중간 주파수를 연산하는 단계;Calculating an intermediate frequency using the input sampling rate and the determined output sampling rate; 상기 중간 주파수와, 상기 입력 샘플링 레이트 및 상기 출력 샘플링 레이트 사이의 관계로부터 복수 개의 컨버젼 팩터를 유도하는 단계;Deriving a plurality of conversion factors from the relationship between the intermediate frequency and the input sampling rate and the output sampling rate; 상기 유도된 컨버젼 팩터를 선별적으로 이용하여 샘플링 레이트 변환에 사용될 함수의, 실수 형태로 표현된 계수값을 추출하는 단계;Extracting a coefficient value expressed by a real number form of a function to be used for a sampling rate conversion by selectively using the derived conversion factor; 상기 추출된 실수 계수값을 정수 계수값을 변환하는 단계; 및Converting the extracted real coefficient value into an integer coefficient value; And 변환된 상기 정수 계수값의 상기 함수를 이용하여 샘플링 레이트를 변환하는 단계Converting the sampling rate using the function of the transformed integer coefficient value 를 포함하는 것을 특징으로 하는 샘플링 레이트 변환 방법.Wherein the sampling rate conversion step comprises: 제1항 내지 제12항 중 어느 한 항의 방법을 실행시키기 위한 프로그램을 기록한 컴퓨터 판독 가능한 기록 매체.A computer-readable recording medium recording a program for executing the method according to any one of claims 1 to 12. 샘플링 레이트 변환 시스템에 있어서,A sampling rate conversion system comprising: 초기화 수단; 및Initialization means; And 상기 샘플링 레이트 변환에 사용될 함수를 이용하여 샘플링 레이트를 변환하는 레이트 변환 수단을 포함하고,Rate conversion means for converting a sampling rate using a function to be used for the sampling rate conversion, 상기 초기화 수단은,The initialization means, 입력 샘플링 레이트에 기준하여 출력 샘플링 레이트를 결정하는 레이트 결정부;A rate determining unit for determining an output sampling rate based on an input sampling rate; 상기 입력 샘플링 레이트 및 상기 결정된 출력 샘플링 레이트를 이용하여 중간 주파수를 연산하는 주파수 연산부;A frequency calculator for calculating an intermediate frequency using the input sampling rate and the determined output sampling rate; 상기 중간 주파수와, 상기 입력 샘플링 레이트 및 상기 출력 샘플링 레이트 사이의 관계로부터 복수 개의 컨버젼 팩터를 유도하는 팩터 유도부; 및A factor inducing unit for deriving a plurality of conversion factors from the relationship between the intermediate frequency and the input sampling rate and the output sampling rate; And 상기 유도된 컨버젼 팩터를 선별적으로 이용하여 상기 함수의 계수값을 결정하는 계수 결정부And a coefficient determiner for determining a coefficient value of the function by selectively using the derived conversion factor, 를 포함하는 것을 특징으로 하는 샘플링 레이트 변환 시스템.Wherein the sampling rate conversion system comprises: 제14항에 있어서,15. The method of claim 14, 상기 계수 결정부는 실수 형태로 표현된 계수값을 추출하고, 상기 추출된 실수의 계수값으로부터 정수 계수값을 취하는 것을 특징으로 하는 샘플링 레이트 변환 시스템.Wherein the coefficient determination unit extracts a coefficient value represented by a real number type and takes an integer coefficient value from a coefficient value of the extracted real number. 제15항에 있어서,16. The method of claim 15, 상기 레이트 변환 수단은 상기 정수 계수값의 함수를 이용한 정수 연산을 통해 샘플링 레이트를 변환하는 것을 특징으로 하는 샘플링 레이트 변환 시스템.Wherein the rate conversion means converts the sampling rate through an integer operation using the function of the integer coefficient value. 제15항에 있어서,16. The method of claim 15, 상기 레이트 변환 수단은 상기 샘플링 레이트의 변환 이후, 상기 취해진 정수의 계수값에 대한 보상을 수행하는 것을 특징으로 하는 샘플링 레이트 변환 시스템.Wherein said rate conversion means performs a compensation on a coefficient value of said taken integer after said conversion of said sampling rate. 제14항에 있어서,15. The method of claim 14, 상기 유도되는 컨버젼 팩터는 인터폴레이션 팩터를 포함하고,Wherein the derived conversion factor comprises an interpolation factor, 상기 계수 결정부는 상기 함수가 Sync 함수일 경우, 상기 인터폴레이션 팩터에 따른 계수값을 결정하는 것을 특징으로 하는 샘플링 레이트 변환 시스템.Wherein the coefficient determining unit determines a coefficient value according to the interpolation factor when the function is a Sync function. 제14항에 있어서,15. The method of claim 14, 상기 유도되는 컨버젼 팩터는 인터폴레이션 팩터 및 데시메이션 팩터를 포함하고,Wherein the derived conversion factor comprises an interpolation factor and a decimation factor, 상기 계수 결정부는 상기 함수가 필터 함수일 경우, 상기 인터폴레이션 팩터 크기와 데시메이션 팩터 크기를 비교하여 더 큰 크기를 갖는 필터 케이스를 생성하고, 상기 필터 케이스에 따른 계수값을 결정하는 것을 특징으로 하는 샘플링 레이트 변환 시스템.Wherein the coefficient determiner determines a coefficient value according to the filter case by generating a filter case having a larger size by comparing the interpolation factor size and the decimation factor size when the function is a filter function, Conversion system. 제14항에 있어서,15. The method of claim 14, 상기 주파수 연산부는 상기 입력 샘플링 레이트와 상기 출력 샘플링 레이트와의 최소 공배수를 상기 중간 주파수로서 연산하는 것을 특징으로 하는 샘플링 레이트 변환 시스템.Wherein the frequency calculator calculates the least common multiple of the input sampling rate and the output sampling rate as the intermediate frequency. 제20항에 있어서,21. The method of claim 20, 상기 팩터 유도부는 상기 최소 공배수의 중간 주파수를 연산하기 위해 상기 입력 샘플링 레이트에 곱셈 적용되는 양의 정수를 이용하여 인터폴레이션 팩터를 유도하고, 상기 최소 공배수의 중간 주파수를 연산하기 위한 상기 출력 샘플링 레이트에 곱셈 적용되는 양의 정수를 이용하여 데시메이션 팩터를 유도하는 것을 특징으로 하는 샘플링 레이트 변환 시스템.Wherein the factor inducing unit derives an interpolation factor using a positive integer multiplied by the input sampling rate to compute an intermediate frequency of the least common multiple and multiplies the output sampling rate to calculate an intermediate frequency of the least common multiple, Wherein a decimation factor is derived using an applied positive integer. 제14항에 있어서,15. The method of claim 14, 신규데이터를 입력받는 입력 인터페이스 수단; 및Input interface means for receiving new data; And 상기 신규데이터의 사이즈에 상기 유도된 컨버젼 팩터 중에서 인터폴레이션 팩터를 곱한 값을, 상기 유도된 컨버젼 팩터 중에서 데시메이션 팩터가 가질 수 있는 모든 경우의 수의 최소공배수로 나눈 값의 정수치를 토탈 루프 카운트로 산출하는 루프 카운트 수단An integer value of a value obtained by dividing the value obtained by multiplying the size of the new data by the interpolation factor in the derived conversion factor by the least common multiple of the number of all the cases in which the decimation factor has the derived conversion factor is calculated by the total loop count Loop count means 을 더 포함하는 것을 특징으로 하는 샘플링 레이트 변환 시스템.Wherein the sampling rate conversion system further comprises: 샘플링 레이트 변환 시스템에 있어서,A sampling rate conversion system comprising: 입력 샘플링 레이트에 기준하여 출력 샘플링 레이트를 결정하는 레이트 결정부;A rate determining unit for determining an output sampling rate based on an input sampling rate; 상기 입력 샘플링 레이트 및 상기 결정된 출력 샘플링 레이트를 이용하여 중간 주파수를 연산하는 주파수 연산부;A frequency calculator for calculating an intermediate frequency using the input sampling rate and the determined output sampling rate; 상기 중간 주파수와, 상기 입력 샘플링 레이트 및 상기 출력 샘플링 레이트 사이의 관계로부터 복수 개의 컨버젼 팩터를 유도하는 팩터 유도부;A factor inducing unit for deriving a plurality of conversion factors from the relationship between the intermediate frequency and the input sampling rate and the output sampling rate; (1) 상기 유도된 컨버젼 팩터를 선별적으로 이용하여 샘플링 레이트 변환에 사용될 함수의, 실수 형태로 표현된 계수값을 추출하고, (2) 상기 추출된 실수 계수값을 정수 계수값을 변환하는 계수 결정부; 및(1) extracting a coefficient value represented by a real number form of a function to be used for the sampling rate conversion by selectively using the derived conversion factor, (2) calculating a coefficient for converting the extracted real coefficient value into an integer coefficient value A decision unit; And 변환된 상기 정수 계수값의 상기 함수를 이용하여 샘플링 레이트를 변환하는 레이트 변환 수단Rate conversion means for converting the sampling rate using the function of the converted integer coefficient value, 을 포함하여 구성되는 초기화 수단을 포함하는 것을 특징으로 하는 샘플링 레이트 변환 시스템.And an initialization unit configured to include the sampling rate conversion unit.
KR1020060066591A 2006-07-14 2006-07-14 Method and system converting sampling rate targeting specific sampling rate KR100834937B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020060066591A KR100834937B1 (en) 2006-07-14 2006-07-14 Method and system converting sampling rate targeting specific sampling rate

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020060066591A KR100834937B1 (en) 2006-07-14 2006-07-14 Method and system converting sampling rate targeting specific sampling rate

Publications (2)

Publication Number Publication Date
KR20080007041A true KR20080007041A (en) 2008-01-17
KR100834937B1 KR100834937B1 (en) 2008-06-03

Family

ID=39220622

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020060066591A KR100834937B1 (en) 2006-07-14 2006-07-14 Method and system converting sampling rate targeting specific sampling rate

Country Status (1)

Country Link
KR (1) KR100834937B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021113835A1 (en) * 2019-12-06 2021-06-10 Tektronix, Inc. System for continuous recording and controllable playback of input signals

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101309834B1 (en) 2011-10-11 2013-09-23 한국해양과학기술원 method of calculating coupling coefficient for the one-dimensional inverse scattering of FBG
EP3716479A1 (en) 2019-03-26 2020-09-30 Bang & Olufsen A/S A method for sampling rate conversion
KR102488168B1 (en) 2019-06-03 2023-01-12 서강대학교산학협력단 Sampling rate convertor

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0077867A1 (en) * 1981-10-23 1983-05-04 Nicolaas Neuwahl Cigarette box with an ash receptacle for the butts
JPH10294646A (en) 1990-02-16 1998-11-04 Sony Corp Sampling rate conversion device
JPH0677768A (en) * 1992-08-25 1994-03-18 Kowa Co Sampling rate converting method for digital audio data
US5731769A (en) * 1995-12-04 1998-03-24 Motorola, Inc. Multi-rate digital filter apparatus and method for sigma-delta conversion processes
JPH10126218A (en) 1996-10-15 1998-05-15 Sony Corp Sampling frequency converting device
US5982305A (en) * 1997-09-17 1999-11-09 Microsoft Corporation Sample rate converter
US6747581B2 (en) 2002-02-01 2004-06-08 Octiv, Inc. Techniques for variable sample rate conversion
KR100594267B1 (en) 2004-03-29 2006-06-30 삼성전자주식회사 Method for sampling rate conversion, device for the same, and audio reproduction system including the device

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021113835A1 (en) * 2019-12-06 2021-06-10 Tektronix, Inc. System for continuous recording and controllable playback of input signals
US11817945B2 (en) 2019-12-06 2023-11-14 Tektronix, Inc. System for continuous recording and controllable playback of input signals

Also Published As

Publication number Publication date
KR100834937B1 (en) 2008-06-03

Similar Documents

Publication Publication Date Title
US6711538B1 (en) Information processing apparatus and method, and recording medium
US8405532B1 (en) Asynchronous sample rate converter
KR100834937B1 (en) Method and system converting sampling rate targeting specific sampling rate
JP5908472B2 (en) Method for analyzing signals and providing instantaneous frequency and short-time Fourier transform, and device for analyzing signals
JP3811873B2 (en) Symbol timing recovery circuit in digital demodulator.
JP2009504107A (en) Asynchronous sample rate converter
KR20080001708A (en) Method for generating concealment frames in communication system
US7298296B1 (en) Real-time sample rate converter having a non-polynomial convolution kernel
JPH0562495A (en) Sampling frequency converter
JP2001513295A (en) Sample rate converter
JP5065784B2 (en) In-phase component extraction method and apparatus
JP4834046B2 (en) Echo erasing device, echo erasing method, echo erasing program, recording medium
CN109905100B (en) FPGA implementation method and system of FARROW type filter
KR20030003252A (en) Speech recognition method and device, speech synthesis method and device, recording medium
KR100745133B1 (en) Sampling rate conversion method and sampling rate conversion system
JP3168238B2 (en) Method and apparatus for increasing the periodicity of a reconstructed audio signal
JP5949379B2 (en) Bandwidth expansion apparatus and method
JPWO2016006079A1 (en) Peak frequency detection apparatus, method and program
JP5103606B2 (en) Signal processing device
JP4035120B2 (en) Signal processing apparatus, method and program
JP2009094763A (en) Up/down sampling device, up/down sampling method, and program therefor
JP3890289B2 (en) Lagrange interpolation sampling rate converter
EP3211639B1 (en) Digital sound processing device, digital sound processing method, digital sound processing program
JP6685443B2 (en) Acoustic device, missing band estimation device, signal processing method, and frequency band estimation device
JP6506424B2 (en) Acoustic device, missing band estimation device, signal processing method, and frequency band estimation device

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20130422

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20140428

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20150428

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20180425

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20190425

Year of fee payment: 12