KR100641453B1 - Time Scale Modification method - Google Patents

Time Scale Modification method Download PDF

Info

Publication number
KR100641453B1
KR100641453B1 KR1020040116893A KR20040116893A KR100641453B1 KR 100641453 B1 KR100641453 B1 KR 100641453B1 KR 1020040116893 A KR1020040116893 A KR 1020040116893A KR 20040116893 A KR20040116893 A KR 20040116893A KR 100641453 B1 KR100641453 B1 KR 100641453B1
Authority
KR
South Korea
Prior art keywords
pitch
value
amdf
audio
pavg
Prior art date
Application number
KR1020040116893A
Other languages
Korean (ko)
Other versions
KR20060078183A (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 KR1020040116893A priority Critical patent/KR100641453B1/en
Priority to US11/321,583 priority patent/US20060149535A1/en
Priority to PCT/KR2005/004651 priority patent/WO2006071093A1/en
Priority to EP05822461A priority patent/EP1847120A4/en
Publication of KR20060078183A publication Critical patent/KR20060078183A/en
Application granted granted Critical
Publication of KR100641453B1 publication Critical patent/KR100641453B1/en

Links

Images

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L21/00Processing of the speech or voice signal to produce another audible or non-audible signal, e.g. visual or tactile, in order to modify its quality or its intelligibility
    • G10L21/04Time compression or expansion
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/00007Time or data compression or expansion

Abstract

본 발명의 사상에 따른 오디오 속도 조절 방법은 샘플의 범위와 간격을 최소화 시킴으로써 TSM에서 필요한 기본 검색의 퀄리티는 유지하고, 큰 연산량의 감소를 제공하는 최적화된 AMDF 알고리즘을 적용하여 빠른 시간 내에 오디오의 속도를 처리하는 단계, 상기 최적화된 AMDF 방법으로 반복되는 피치 또는 최소 샘플 값의 차이를 갖는 일정 범위를 찾고, 상기 피치나 일정 범위를 OLA 처리하여 신호의 왜곡 없이 프레임을 확장하거나 축소시키는 단계가 수행된다.The audio speed control method according to the present invention minimizes the range and interval of the sample to maintain the quality of the basic search required by the TSM, and applies the optimized AMDF algorithm that provides a large amount of computation, thereby reducing the speed of the audio in a short time. Processing a step of finding a predetermined range having a difference of a pitch or a minimum sample value repeated by the optimized AMDF method, and expanding or reducing the frame without distortion of the signal by performing an OLA process on the pitch or the predetermined range is performed. .

본 발명은 음성과 음악의 속도를 실시간으로 제어함에 있어서 낮은 연산량으로 품질 좋은 TSM 결과를 창출한다.The present invention produces high quality TSM results with low computation in controlling the speed of voice and music in real time.

보다 상세히, 본 발명은 실시간 속도 제어를 어떤 시스템에서도 쉽게 적용할 수 있도록 연산량을 최대한 낮추고, 그럼에도 불구하고 품질에는 영향을 받지 않도록하는 오디오 속도 조절 방법을 제안하는 효과가 있다.In more detail, the present invention has the effect of suggesting an audio speed adjusting method for lowering the amount of computation as much as possible so that real-time speed control can be easily applied to any system and nevertheless not affecting the quality.

AMDF, OLAAMDF, OLA

Description

오디오 속도 조절 방법{Time Scale Modification method}Audio Scale Adjustment Method {Time Scale Modification method}

도 1은 종래 오디오 속도 조절 방법 중 하나인 업 샘플링/다운 샘플링 방법을 도시한 도면.1 is a diagram illustrating an upsampling / downsampling method which is one of conventional audio speed adjusting methods.

도 2는 종래 오디오 속도 조절 방법 중 하나인 OLA 방법을 도시한 도면.2 is a diagram illustrating an OLA method, which is one of conventional audio speed adjusting methods.

도 3은 본 발명의 사상에 따른 오디오 속도 조절 방법을 도시한 플로우 차트.3 is a flowchart illustrating an audio speed adjusting method according to the spirit of the present invention.

본 발명은 오디오(음성, 음악 등)의 속도를 적은 연산량을 사용하여 0.5 배에서 2 배까지 조절 가능한 오디오 속도 조절 방법에 관한 것이다.The present invention relates to an audio speed adjusting method which can adjust the speed of audio (voice, music, etc.) from 0.5 to 2 times using a small amount of calculation.

보다 상세히, 상기 본 발명은 소프트웨어(Software), 알고리즘(Algorithm), 오디오(Audio)& 스피치 프로세싱(Speech Processing) 분야에 속하는 것으로, 어학용 기기나 프로그램에서 사용될 수 있으며, 이외에도 디지털(Digital) TV의 타임 시프트(Time Shift) 기능, MP3 플레이어(player)의 재생 속도 제어 등 다양한 제품에서 오디오의 속도를 음색의 큰 손상 없이 조절할 수 있는 오디오 속도 조절 방법에 관한 것이다.More specifically, the present invention belongs to the field of software, algorithm, audio & speech processing, and can be used in language devices or programs, and in addition to the time of digital TV. The present invention relates to an audio speed control method that can control audio speed in various products such as time shift function and playback speed control of an MP3 player without significant damage to sound.

음성이나 음악과 같은 오디오의 속도를 제어하는 알고리즘은 크게 샘플(sample)을 재조합하는 방법과 프레임(Frame)별 처리 방법으로 나눌 수 있다. Algorithms for controlling the speed of audio such as voice or music can be largely divided into a method of recombining a sample and a processing method for each frame.

대표적인 샘플 재조합 방법은 업 샘플링(Up-sampling)/다운 샘플링(Down-sampling) 방법이고 대표적인 프레임 별 처리방법은 1985년 미국의 Salim Roucos가 제안한 OLA와 SOLA 알고리즘이다. 도 1에 도시된 바와 같이, 업 샘플링/다운 샘플링 방법은 연산량이 적고 간단하지만 음색이 크게 손상되어 0.5 배속이나 2.0 배속에서는 오디오(음성이나 음악)를 인지하기 쉽지 않다. 반면, 프레임별 처리 방법의 대표격인 OLA와 SOLA 알고리즘은 음색의 손상이 적어 업 샘플링/다운 샘플링 방법에 비하여 주로 사용된다. A representative sample recombination method is an up-sampling / down-sampling method, and a representative frame-by-frame method is an OLA and SOLA algorithm proposed by Salim Roucos of the United States in 1985. As shown in FIG. 1, the upsampling / downsampling method has a small amount of calculation and is simple, but the tone is greatly damaged, so it is not easy to recognize audio (voice or music) at 0.5x or 2.0x. On the other hand, the OLA and SOLA algorithms, which are representative of the frame-by-frame processing method, are mainly used as compared to the upsampling / downsampling methods due to the small tonal damage.

도 2에 도시된 OLA(Overlap and Add)는 연산량이 적고 업 샘플링/다운 샘플링에 비해 0.5배속이나 2.0배속에서 음성이나 음악과 같은 오디오를 인지하기 쉽지만 큰 신호의 왜곡으로 실제 제품에 적용되기는 힘들다. 이같은 OLA의 단점을 해결하기 위해 OLA와 함께 제안된 SOLA는 음질은 뛰어나지만, 연산량이 많아 실시간 속도 조절 장치(Real Time TSM system)에 적용하기 쉽지 않은 단점을 가지고 있다. SOLA의 기본 처리 과정은 OLA와 같지만, OLA의 처리 위치를 찾는 계산식을 모든 위치에서 비교하여 찾는점이 상이하다. Overlapping and Add (OLA) shown in Fig. 2 is less computational and easier to recognize audio such as voice or music at 0.5x or 2.0x speed than upsampling / downsampling, but it is difficult to be applied to a real product due to distortion of a large signal. SOLA proposed together with OLA to solve such disadvantages of OLA has excellent sound quality, but it has a disadvantage that it is not easy to apply to Real Time TSM system due to large amount of computation. The basic process of SOLA is the same as that of OLA, but the difference is that the formula for finding the processing position of the OLA is compared by all the positions.

보다 상세히, 음성 및 음악 등의 속도 조절을 의미하는 TSM의 프레임 별 처리 방법은 음성이나 음악의 피치(Pitch)를 찾아 처리하는 PSOLA와 신호의 유사성을 찾아 OLA처리를 하는 WSOLA 등 많은 알고리즘이 개발되었고 발전 중에 있다.More specifically, TSM's frame-by-frame processing method, which means speed control of voice and music, has developed many algorithms such as PSOLA, which finds and processes the pitch of voice or music, and WSOLA, which performs OLA processing for signal similarity. It is under development.

상기 TSM이란 Time Scale Modification의 약자로 주로 음색의 큰 변화 없이 음성이나 음악의 속도를 제어하는 알고리즘을 의미한다. The TSM stands for Time Scale Modification and mainly refers to an algorithm for controlling the speed of voice or music without a great change in timbre.

상기 TSM은 어학, 방송 등의 다양한 분야에서 적용 가능하다. 여기서, 실시간 속도제어(real-time TSM)가 필요한 경우에는 TSM 처리 속도가 품질만큼 크게 중요시 된다.The TSM can be applied in various fields such as language and broadcasting. Here, when real-time TSM is required, the TSM processing speed is as important as quality.

현재 TSM 알고리즘은 MP3 플레이어와 PC 프로그램에서 어학용으로 활발히 상용화 되어 있고 여러 곳에서 위에 언급한 알고리즘을 보완하여 특허도 여러 업체에서 보유하고 있다. 그 중 대표적으로 국내의 상용 TSM 프로그램 개발 업체인 ㈜ Cosmotan에서는 WSOLA를 이용한 방법을 구현하고 이를 특허화시켜 여러 회사 제품에 라이센스(license)를 받고 판매하고 있다.Currently, TSM algorithms are actively commercialized for language use in MP3 players and PC programs, and several companies have patents in addition to the above mentioned algorithms in various places. Among them, Cosmotan Co., Ltd., a developer of commercial TSM programs in Korea, implements and patents the method using WSOLA and licenses it to various company products.

하지만, 상기 여러 알고리즘을 실제 제품에 적용하기 위해서는 낮은 연산량으로 품질 좋은 TSM을 정확한 배율에 맞추어 처리하는 방법이 필요하다.However, in order to apply the various algorithms to a real product, a method of processing a high quality TSM at an accurate magnification with a low calculation amount is required.

본 발명은 음성과 음악의 속도를 실시간으로 제어함에 있어서 낮은 연산량으로 품질 좋은 TSM 결과를 창출하는 것을 목적으로 한다.An object of the present invention is to generate high quality TSM results with low computation amount in controlling the speed of voice and music in real time.

보다 상세히, 본 발명은 실시간 속도 제어를 어떤 시스템에서도 쉽게 적용할 수 있도록 연산량을 최대한 낮추고, 그럼에도 불구하고 품질에는 영향을 받지 않도록하는 오디오 속도 조절 방법을 제안하는 것을 목적으로 한다.More specifically, it is an object of the present invention to propose an audio speed adjusting method for lowering the amount of computation as much as possible so that real-time speed control can be easily applied to any system and nevertheless not affecting the quality.

본 발명의 사상에 따른 오디오 속도 조절 방법은 샘플의 범위와 간격을 최소화 시킴으로써 TSM에서 필요한 기본 검색의 질은 유지하며, 큰 연산량의 감소를 제공하는 최적화된 AMDF 알고리즘을 적용하여 빠른 시간 내에 오디오의 속도를 처리하는 단계, 상기 최적화된 AMDF 방법으로 반복되는 피치 또는 최소 샘플 값의 차이를 갖는 일정 범위를 찾고, 상기 피치나 일정 범위를 OLA 처리하여 신호의 왜곡 없이 프레임을 확장하거나 축소시키는 단계가 수행된다.The audio speed control method according to the present invention minimizes the range and interval of the sample to maintain the basic search quality required by the TSM, and the speed of the audio is rapidly applied by applying the optimized AMDF algorithm that provides a large amount of computation. Processing a step of finding a predetermined range having a difference of a pitch or a minimum sample value repeated by the optimized AMDF method, and expanding or reducing the frame without distortion of the signal by performing an OLA process on the pitch or the predetermined range is performed. .

본 발명은 음성이나 음악과 같은 오디오의 속도를 실시간으로 제어함에 있어서 낮은 연산량으로 품질 좋은 TSM 결과를 창출한다.The present invention produces high quality TSM results with low computation in controlling the speed of audio such as voice or music in real time.

보다 상세히, 본 발명은 실시간 속도 제어를 어떤 시스템에서도 쉽게 적용할 수 있도록 연산량을 최대한 낮추고, 그럼에도 불구하고 품질에는 영향을 받지 않도록하는 오디오 속도 조절 방법을 제안하는 효과가 있다.In more detail, the present invention has the effect of suggesting an audio speed adjusting method for lowering the amount of computation as much as possible so that real-time speed control can be easily applied to any system and nevertheless not affecting the quality.

본 발명의 목적은 낮은 속도의 프로세서나 DSP에서도 실시간으로 좋은 품질의 TSM기능을 적용하기 위해 새로운 알고리즘과 프로그램을 개발하는 것으로 앞으로 MP3 플레이어와 휴대폰의 어학기능 또는 디지털 TV의 타임 시프트(Time shift) 기능 등에 적용 가능하다.An object of the present invention is to develop a new algorithm and program to apply a good quality TSM function in real time even in a low speed processor or DSP. In the future, a language function of an MP3 player and a mobile phone or a time shift function of a digital TV is provided. Applicable to the back.

오디오, 예를 들면 음성의 기본적 피치는 100Hz ~ 650Hz에서 찾을 수 있고 이 의미는 피치의 검색(Search)범위를 Pmin(5/3×(샘플 Rate/1000))과, Pmax(25/3×(샘플 Rate/1000)) 사이에서 찾아질 수 있다는 의미이다. 이렇게 피치의 검색범위를 줄여 AMDF를 수행하는 것은 스피치(speech) 등에서 일반적으로 사용되는 방법이다. 여기서, 정확도 등을 위해 큰 범위로 늘려 AMDF를 처리하는 것도 충분히 가능하며 용도에 따라서는 좀더 큰 범위의 피치의 검색 범위를 정할 수도 있다. 하지만, 피치 검색 범위를 늘려서 사용하는 것도 AMDF연산을 증가시키는 요인이 될 수 있으므로 특별한 경우를 제외하고는 위에서 정의한 범위를 사용하는 것이 바람직하다. AMDF에 대해서는 이하 상세히 후술한다. The basic pitch of audio, e.g. speech, can be found at 100Hz to 650Hz, which means that the search range for the pitch is Pmin (5/3 × (sample rate / 1000)) and Pmax (25/3 × ( Sample rate / 1000). Performing AMDF by reducing the search range of the pitch is a method commonly used in speech and the like. Here, it is possible to process the AMDF by increasing the range to a large range for accuracy and the like, and a search range of a larger range of pitch may be determined depending on the use. However, increasing the pitch search range may be a factor to increase the AMDF operation. Therefore, except in special cases, it is preferable to use the range defined above. AMDF will be described later in detail.

본 발명의 일 특징은 음성 신호가 음악보다 속도처리에 있어서 예민하게 반응하기 때문에 음성신호의 피치에 최적화된 피치 검색 알고리즘을 적용하여 빠른 시간 내에 음성과 음악의 속도 처리를 하는 것이다. One feature of the present invention is that the voice signal responds more sensitively to the speed process than the music, so that the speed processing of the voice and the music is performed quickly by applying a pitch search algorithm optimized for the pitch of the voice signal.

본 발명에서 사용한 기본 피치 검색 알고리즘은 AMDF(Absolute Magnitude Difference function)으로서 Autocorrelation 방법 등 여러 피치 검색 알고리즘 중에서 가장 연산량이 적은 알고리즘 중 하나이다.The basic pitch search algorithm used in the present invention is an absolute magnitude difference function (AMDF) and is one of the least computational algorithms among various pitch search algorithms such as an autocorrelation method.

통상적으로 음원의 손실이 발생할 때, 상기 손실된 음원의 실제 값과 예측 값의 차이인 잔차신호(residual signal)를 구하기 위해서는 이전 프레임의 피치 정보가 필요하다. 상기 피치를 구하기 위하여 상기 AMDF를 사용하게 된다.In general, when a loss of a sound source occurs, pitch information of a previous frame is required to obtain a residual signal which is a difference between an actual value and a predicted value of the lost sound source. The AMDF is used to find the pitch.

C(P) = Σ |S(i) - S(P+i)| (from i = 0 to i = P) i += 1C (P) = ΣS (i)-S (P + i) | (from i = 0 to i = P) i + = 1

상기 식은 AMDF를 표현한 식이다. 상기 S(i)는 버퍼의 오디오 샘플의 값을 의미하며, 상기 식에 나타난 바와 같이 피치를 더하기와 빼기의 연산만으로 손쉽게 구할 수 있다. The above formula expresses AMDF. S (i) means the value of the audio sample of the buffer, and can be easily obtained by only adding and subtracting the pitch as shown in the above equation.

보다 상세히, C(P)의 값이 최소값이 되도록 하는 P의 값이 음원 샘플의 피치 값이 된다. 하지만 이 때, 시그마 연산으로 인하여 상기 C(P) 값은 i 값이 증가할수록 큰 값을 가질 수 밖에 없으므로 결국 피치수 만큼 나누기 연산을 하여야 올바른 C(P) 값을 찾을 수 있다. 상기 나누기 연산에는 상당한 연산량이 요구되는 문제 점이 존재한다. More specifically, the value of P such that the value of C (P) becomes the minimum value becomes the pitch value of the sound source sample. However, at this time, the C (P) value has a large value as the value of i increases due to the sigma operation, so that the correct C (P) value can be found only after dividing by the number of pitches. There is a problem that the division operation requires a considerable amount of computation.

즉, 이런 간단한 수학연산도 실제 시간에 대한 TSM을 구현하기 위해서는 많은 샘플을 처리해야 하기 때문에 많은 연산량이 필요하며, 처리속도 역시 지연될 수 밖에 없다. In other words, even this simple math operation requires a large amount of computation because a large number of samples must be processed in order to implement a TSM for real time, and the processing speed also has to be delayed.

C(P) = Σ |S(i)-S(P+i)| (from i = 0 to i = Pavg) i+= Pavg/6C (P) = ΣS (i) -S (P + i) | (from i = 0 to i = Pavg) i + = Pavg / 6

상기 식은 본 발명의 사상에 적용되는 AMDF 알고리즘을 표현한 식이다. 본 발명은 종래의 AMDF 알고리즘을 상기 식에 나타나 있는 것과 같이 최적화시켜 효율적인 피치 검색 방법을 제안한다. 본 발명의 사상에 따른 최적화된 AMDF 방법은 종래 AMDF의 수학식은 그대로 유지하되 비교 샘플의 범위와 간격을 최소화 시킴으로써 TSM에서 필요한 기본 피치 검색의 퀄리티(quality)는 유지하며 큰 연산량의 감소를 제공한다. The above equation represents the AMDF algorithm applied to the idea of the present invention. The present invention proposes an efficient pitch search method by optimizing the conventional AMDF algorithm as shown in the above equation. The optimized AMDF method according to the spirit of the present invention maintains the equation of the conventional AMDF while minimizing the range and spacing of the comparative sample, thereby maintaining the quality of the basic pitch search required in the TSM while providing a large amount of computation.

보다 상세히, 피치 간격의 음원 샘플 크기를 빼는 과정을 피치의 크기에 관계 없이 Pavg 만큼 수행함으로써 종래 AMDF를 수행할 때 병행되어야 하는 나누기 연산을 수행할 필요가 없다.In more detail, by performing the process of subtracting the sample size of the sound source in the pitch interval as much as Pavg, it is not necessary to perform the division operation that must be performed in parallel when performing the conventional AMDF.

보다 상세히, 종래 피치의 값에 따라 C(P)의 최소값을 구하기 위해서는 C(P)의 값에 상기 피치의 값을 나누어 주어야 정확한 피치를 계산할 수 있었다. 하지만 본 발명에서는 Pmax 나 Pmin 값에 상관없이 모두 Pavg 만큼의 합, 차 연산이 수행되기 때문에 나누기 연산 없이 C(P)의 값을 찾아낼 수 있다.In more detail, in order to obtain the minimum value of C (P) according to the conventional pitch value, the pitch value can be calculated by dividing the pitch value by the value of C (P). However, in the present invention, since the sum and difference operations are performed as much as Pavg regardless of the Pmax or Pmin value, the value of C (P) can be found without the division operation.

또한, 종래 AMDF 알고리즘에서는 i 값을 획일적으로 1씩 증가시키면서 연산이 수행되었으나 본 발명에서는 Pavg를 일정한 수로 나눈 수 만큼씩 건너 뛰면서 연산을 수행하기 때문에 연산 속도가 증가한다. 예를 들어 i 값을 Pavg/6 값 만큼씩 증가시키면서 피치를 찾는 경우에는 C(P)의 최소값을 찾기 위하여 수행되는 연산 횟수는 비약적으로 줄어들며, 이로 인하여 연산량의 감소는 물론, 처리 속도의 향상을 꾀할 수 있다.In addition, in the conventional AMDF algorithm, the operation was performed while increasing the value of i uniformly by 1, but in the present invention, the operation speed increases because the operation is performed while skipping Pavg by the number divided by a certain number. For example, in the case of finding the pitch while increasing the value of i by Pavg / 6, the number of operations performed to find the minimum value of C (P) is drastically reduced, thereby reducing the amount of computation and improving the processing speed. You can do it.

이하 본 발명의 일 특징인 AMDF를 보다 상세히 설명한다. 본 발명은 이하 제시되는 실시예에 한정되지 않으며 본 발명이 속하는 기술분야에서 통상의 지식을 가진자에게 자명한 범위 내에서 구성요소의 부가, 한정, 삭제, 추가 등에 의하여 동일 범위의 발명이 제시 될 수 있을 것이다.Hereinafter, AMDF, which is a feature of the present invention, will be described in detail. The present invention is not limited to the embodiments set forth below, and the scope of the invention will be presented by the addition, limitation, deletion, addition, etc. of components within the scope obvious to those skilled in the art to which the present invention pertains. Could be.

본 발명의 일 특징인 최적화된 AMDF는 TSM에서 피치를 찾는 알고리즘으로 사용된다. 본 발명의 사상에 따른 AMDF는 종래 AMDF의 수학식에서 피치의 검색 범위, 비교 범위, 비교 간격을 조절 하여 연산량을 감소시키고 이에 따라 처리 속도를 비약적으로 향상시키게 된다. An optimized AMDF, which is a feature of the present invention, is used as an algorithm for finding pitch in TSM. AMDF according to the spirit of the present invention by reducing the amount of calculation by adjusting the search range, the comparison range, the comparison interval of the pitch in the equation of the conventional AMDF to thereby significantly improve the processing speed.

피치의 검색 범위는 상기에서 설명한 바와 같이 Pmax와 Pmin의 사이 값을 의미한다. 상기 Pmax와 Pmin의 값은 정의하기에 따라 다양한 값을 가질 수 있으나, 보다 바람직하게는 Pmax는 25/3×(샘플 Rate/1000), Pmin은 5/3×(샘플 Rate/1000) 값을 가지는 것이 연산량을 줄일 수 있어 좋다. The search range of the pitch means a value between Pmax and Pmin as described above. The values of Pmax and Pmin may have various values according to the definition. More preferably, Pmax has a value of 25/3 × (sample rate / 1000) and Pmin has a value of 5/3 × (sample rate / 1000). This can reduce the amount of computation.

AMDF에서 사용되는 피치의 비교 범위를 정할 때에는 원칙적으로는 찾으려는 피치의 갯수 모두를 사용하여 정확한 비교를 하는 것이 바람직하겠지만, 각각의 연산에 사용된 피치의 갯수를 전체적으로 비교하려면 일관적인 비교범위가 있어야 한다. When deciding the range of pitches used in AMDF, it is generally desirable to make an accurate comparison using all the number of pitches to find, but to compare the number of pitches used in each operation as a whole, there must be a consistent range. do.

즉. 종래에는 최소값의 AMDF 값을 찾을 때 각각의 C(P)값을 피치의 갯수 만큼 나누어주어야 정확한 비교가 가능하였다. 그러나, 본 발명에서는 피치의 비교범위의 크기를 Pavg로 정의하여 사용함으로써 나누기 연산 없이 AMDF 값을 비교할 수 있게 하였다. 바람직한 일 실시예로 Pavg를 5×(샘플 Rate/1000)으로 정의하므로써 연산량을 감소시킬 수 있다.In other words. Conventionally, when searching for the minimum AMDF value, each C (P) value needs to be divided by the number of pitches for accurate comparison. However, in the present invention, it is possible to compare the AMDF values without dividing operation by defining the size of the pitch comparison range as Pavg. In a preferred embodiment, the amount of computation can be reduced by defining Pavg as 5 × (sample rate / 1000).

한편, 음성을 위주로 AMDF를 수행하여 피치를 찾는 이유는 음성의 경우가 음악의 경우보다 TSM 수행 시 조그만 신호 왜곡에도 예민하게 반응하기 때문이다. 또한, 대부분의 속도조절 기능의 용도가 음성 위주로 이루어 지기 때문이다. On the other hand, the reason for finding pitch by performing AMDF mainly on voice is that voice is more sensitive to small signal distortion when performing TSM than music. In addition, most of the speed control function is used because the voice is mainly.

하지만, 이렇게 음성 중심의 TSM이 음악의 TSM에 부정적으로 작용한다고 볼 수는 없다. 피치의 검색 범위를 음성 중심으로 좁혀놓은 경우에도 상기 피치의 검색을 위하여 TSM을 실제 시간(Real Time)에 대하여 동작시키기에는 TSM 이전에 주로 사용되는 코덱(Codec)의 디코딩(Decoding)에 필요한 시간 등을 고려할 때 여전히 부담스러운 연산량을 가지고 있기 때문이다. However, this voice-oriented TSM does not seem to act negatively on the TSM of music. Even when the pitch search range is narrowed to the voice center, the time required for decoding the codec mainly used before the TSM is required to operate the TSM with respect to the real time to search the pitch. This is because it still has a burdensome calculation amount.

본 발명에서는 최소의 연산량을 통하여 TSM에 필요한 AMDF를 구현하는 방법을 구현하였고 이를 위하여 비교 간격을 1 샘플 간격이 아닌 델타(Delta) 값으로 정의하여 연산을 수행한다. 상기 델타 값의 일 실시예로 Pavg/6을 정의할 수 있으며, Pavg의 값을 상기에서 제안된 일 실시예인 5×(샘플 Rate/1000)으로 정의한다면, 상기 델타의 값은 5/6×(샘플 Rate/1000)으로 정의될 것이다. 상기 델타 값을 정의하므로써 엄청난 양의 샘플 비교를 줄일 수 있으며 연산량을 최적화 할 수 있다. In the present invention, a method for implementing the AMDF required for the TSM through the minimum amount of computation is implemented. For this purpose, the comparison interval is defined as a delta value instead of one sample interval to perform an operation. As an example of the delta value, Pavg / 6 may be defined, and if the value of Pavg is defined as 5 × (sample rate / 1000), the proposed embodiment, the value of the delta is 5/6 × ( Sample rate / 1000). By defining the delta value, we can reduce the huge amount of sample comparison and optimize the computation.

예를 들어 샘플링 레이트가 48kHz라고 가정한다면 델타값은 5/6×(48000/1000) = 40이 될 것이고 Pavg는 5×(샘플 Rate/1000) = 240이 된다. 이 경우 AMDF 값을 계산하기 위해 델타 값을 적용하지 않고 i 값에 1씩 적용하는 경우 240번의 빼기 연산과 더하기 연산이 수행되어야 한다. 하지만, 델타 값을 사용할 경우 단 6번의 빼기 연산과 더하기 연산이 필요하기 때문에 40분의 1의 연산량 감소가 이루어 진다.For example, assuming a sampling rate of 48 kHz, the delta value would be 5/6 × (48000/1000) = 40 and Pavg would be 5 × (sample Rate / 1000) = 240. In this case, 240 subtraction and addition operations should be performed when applying 1 to i instead of delta to calculate AMDF. However, using a delta value requires only six subtraction and addition operations, resulting in a one-fourth reduction in throughput.

만약, 여기서 더욱 연산량을 줄여야 한다면 델타 값을 Pavg/α로 정의하여 사용할 수 있다. 즉, 상기 델타 값은 5/α×(샘플 Rate/1000)와 같이 표현되며, α는 2에서 5사이의 6보다 작은 값을 취하여 사용할 수 있다. 하지만, 상기 α 값을 줄이면 줄일수록 신호의 왜곡이 증가하기 때문에 특별한 경우가 아니면 α 값은 6이상을 사용하는 것이 바람직하다.If the amount of computation needs to be reduced further, the delta value can be defined as Pavg / α. That is, the delta value is expressed as 5 / α × (sample rate / 1000), and α may be used by taking a value smaller than 6 between 2 and 5. However, since decreasing the value of α increases the distortion of the signal, it is preferable to use an α value of 6 or more unless there is a special case.

또다른 본 발명의 일 특징에 따르면, PSOLA의 개념을 응용하여 피치 값 만큼을 OLA 처리하여 보다 자연스러운 복원음을 재생할 수 있다.According to another aspect of the present invention, by applying the concept of PSOLA, OLA processing by pitch value can reproduce more natural reconstruction sound.

즉. 상기에서 언급된 최적화된 AMDF 방법을 통하여 피치값 또는 최소 샘플값의 차이를 갖는 일정 범위를 찾고, 상기 피치값이나 일정 범위를 OLA 처리하여 상기 피치값이나 일정 범위만큼을 추가하거나 축소시키는 방법이 적용된다. In other words. The above-described optimized AMDF method finds a range having a difference between a pitch value or a minimum sample value, and applies a method of adding or reducing the pitch value or the predetermined range by OLA processing the pitch value or the predetermined range. do.

이러한 과정을 반복적으로 수행하면 0.5배~ 2.0배까지의 범위에서 음성이나 음악과 같은 오디오의 속도를 음색이 손상 없이 제어할 수 있다. 0.5배에서 1.0배 사이와 1.0배와 2.0배 사이의 배속율은 몇 프레임에 한번씩 AMDF와 OLA과정을 수행할 것인가를 정의하여 조절할 수 있다. By repeating this process, you can control the speed of audio such as voice or music in the range of 0.5 times to 2.0 times without damage to the tone. The speed ratio between 0.5 times and 1.0 times and between 1.0 times and 2.0 times can be adjusted by defining how many frames the AMDF and OLA processes are performed once.

이하 보다 상세히 설명한다. 상기 본 발명은 PSOLA의 기본적인 알고리즘에 근간하였지만 최적화된 AMDF를 발명하고 적용함으로써 실제 쉽게 상용화할 수 있는 특징이 있다. It will be described in more detail below. Although the present invention is based on the basic algorithm of PSOLA, the invention can be easily commercialized by inventing and applying optimized AMDF.

피치 또는 최소 AMDF 값의 위치를 찾아 OLA 알고리즘으로 두 개의 피치를 하나로 축소하거나 두 개의 피치를 3개 확장시킬 수 있다. 또한, 상기 축소나 확대를 프레임 단위로 얼마나 자주하는가에 따라 배속율도 자유롭게 조정할 수 있다. By finding the position of the pitch or minimum AMDF value, the OLA algorithm can reduce two pitches to one or two pitches to three. In addition, the speed ratio can be freely adjusted according to how often the reduction or enlargement is performed in units of frames.

예를 들어 1.7배속을 설정하는 방법을 생각해 보면, 10개의 프레임중 7프레임에서 최적화 AMDF와 OLA방식을 적용해 축소를 하면 1.7 배속의 배속율을 대략 맞출 수 있다. For example, if you think about how to set the 1.7x speed, you can use the optimized AMDF and OLA method to reduce the frame rate to 7x out of 10 frames.

상기 배속율의 범위는 0.5배속에서 2.0배속 사이가 된다. 0.5배속의 경우는 최적화 AMDF와 OLA방식을 모든 프레임에 대하여 확대로 설정해 적용하면 가능하고 2.0배속의 경우는 최적화 AMDF와 OLA방식을 모든 프레임에 대하여 축소로 설정해 적용하면 가능하다. 최적화된 AMDF와 OLA방식의 수행과정은 도 3에 도시되어 있다. 이하 상기 도 3에 대하여 상세히 설명한다.The speed ratio ranges from 0.5 times to 2.0 times. In case of 0.5x speed, it is possible to apply optimized AMDF and OLA method to enlargement for all frames, and in case of 2.0x speed, it is possible to apply optimized AMDF and OLA method to reduced size for all frames. The execution of the optimized AMDF and OLA scheme is shown in FIG. 3. Hereinafter, FIG. 3 will be described in detail.

도 3은 본 발명의 사상에 따른 오디오 속도 조절 방법을 도시한 플로우 차트이다.3 is a flowchart illustrating an audio speed adjusting method according to the spirit of the present invention.

상기 도 3을 참조하면, 먼저, 속도를 조절하고자 하는 파일 중 한 프레임씩의 샘플을 오디오 속도 조절 장치에서 읽는다(S100). 상기 단계에서 인식된 프레임의 처리 방법에 따라 AMDF와 OLA 방법이 달라지게 되므로 배속율에 따른 프레임의 처리 방법이 결정되게 된다(S110). 상기 방법에는 프레임의 확장, 축소 또는 불변의 방법이 있다.Referring to FIG. 3, first, a sample of one frame of a file to be adjusted in speed is read by an audio speed controller (S100). Since the AMDF and the OLA method are changed according to the processing method of the frame recognized in the above step, the processing method of the frame according to the speed ratio is determined (S110). The method is a method of expanding, contracting or immutating a frame.

먼저 프레임을 확장하는 경우를 생각해보면, 최적화된 AMDF를 사용하여 최적화된 피치를 찾는다(S120). 다음으로 OLA를 사용하여 상기 과정에서 검색된 2개의 피치를 3개로 확장하게 된다(S130). 리드 포인터(Read Pointer)에서는 한 피치씩 증가하는 양 만큼 샘플을 읽고, 라이트 포인터(Write Pointer)에서는 상기 리드 포인터에서 읽혀진 피치와 OLA를 사용하여 확장된 피치, 상기 두 피치 만큼의 샘플을 버퍼에 저장한다(S140).Considering the case of expanding the frame first, the optimized pitch is found using the optimized AMDF (S120). Next, using the OLA to expand the two pitches retrieved in the process to three (S130). Read Pointer reads samples in increments of one pitch, and Write Pointer stores pitches read from the Read Pointer, extended pitches using OLA, and samples for the two pitches in the buffer. (S140).

다음으로 상기 리드 포인터에 축적된 샘플의 길이와 Pmax의 합을 프레임의 크기와 비교한다(S150). 상기 비교결과 리드 포인터에 축적된 샘플의 길이와 Pmax의 합이 프레임의 크기보다 작은 경우에는 S120 단계로 다시 진행하여 최적화된 AMDF를 통하여 피치를 검색하게 된다. 반면, 프레임의 크기가 작은 경우에는 상기 프레임의 끝에 도달한 것이므로 새로운 프레임을 찾아야 한다.Next, the sum of the length of the sample accumulated in the read pointer and Pmax is compared with the size of the frame (S150). As a result of the comparison, if the sum of the sample length and Pmax accumulated in the read pointer is smaller than the size of the frame, the process returns to step S120 to search for the pitch through the optimized AMDF. On the other hand, if the size of the frame is small, the end of the frame has been reached and a new frame needs to be found.

상기 새로운 프레임을 찾기 전에 파일이 끝났는지 여부를 판단하게 된다(S200). 확장하고자 하는 파일이 끝난 경우에는 종료하며, 파일이 남아있는 경우에는 새로운 프레임을 검색하기 위하여 S100 단계로 진행한다.Before searching for the new frame, it is determined whether the file is finished (S200). If the file to be extended ends, the process ends. If the file remains, the process proceeds to step S100 to search for a new frame.

상기 S110 단계에서 배속율이 불변일 경우, 프레임의 확장, 또는 축소가 불필요하기 때문에 S200 단계에서 파일의 종료 여부만을 판단하게 된다.When the speed ratio is unchanged in the step S110, it is not necessary to expand or reduce the frame, so only the end of the file is determined in step S200.

한편, 상기 S110 단계에서 배속율이 축소되는 경우에는 확장의 경우와 마찬가지로 최적화된 AMDF로 피치를 찾고(S160), OLA를 사용하여 2개의 피치를 1개로 축소한다(S170). 리드 포인터에서는 두 피치 만큼씩 샘플을 읽고, 라이트 포이터에 서는 한 피치만큼씩 샘플을 버퍼에 저장한다(S180).On the other hand, when the speed ratio is reduced in the step S110, as in the case of expansion, the pitch is found with the optimized AMDF (S160), and the two pitches are reduced to one using the OLA (S170). The read pointer reads the samples by two pitches, and the write pointer stores the samples by one pitch in the buffer (S180).

이후 상기 S150 단계에서와 같이 리드 포인터와 Pmax의 합이 프레임 크기보다 작은 경우에는 S160 단계로 진행되며, 그렇지 않은 경우에는 파일의 종료 여부를 판단하게 된다(S200). 상기 S200 단계에서 파일이 종료하는 경우에는 상기 과정이 모두 종료되며, 그렇지 않은 경우에는 새로운 프레임을 검색하게 된다.Thereafter, when the sum of the read pointer and Pmax is smaller than the frame size as in step S150, the process proceeds to step S160. Otherwise, it is determined whether the file is to be terminated (S200). When the file ends in step S200, the process is terminated. Otherwise, a new frame is searched for.

본 발명은 음성이나 음악과 같은 오디오의 속도를 실시간으로 제어함에 있어서 낮은 연산량으로 품질 좋은 TSM 결과를 창출한다.The present invention produces high quality TSM results with low computation in controlling the speed of audio such as voice or music in real time.

보다 상세히, 본 발명은 실시간 속도 제어를 어떤 시스템에서도 쉽게 적용할 수 있도록 연산량을 최대한 낮추고, 그럼에도 불구하고 품질에는 영향을 받지 않도록하는 오디오 속도 조절 방법을 제안하는 효과가 있다.In more detail, the present invention has the effect of suggesting an audio speed adjusting method for lowering the amount of computation as much as possible so that real-time speed control can be easily applied to any system and nevertheless not affecting the quality.

따라서, 상기 본 발명은 실제 디지털 TV, 휴대폰, MP3 플레이어 등에서 어학기능 또는 타임 시프트(Time shift) 기능으로 사용될 수 있다. Therefore, the present invention can be used as a language function or a time shift function in an actual digital TV, a mobile phone, an MP3 player, or the like.

Claims (10)

AMDF(Absolute Magnitude Difference Function)를 위한 오디오 샘플 S(i)의 비교 범위를 i=0 부터 Pavg (Pavg는 설정값)까지, 비교 간격을 델타(Delta) 값으로 설정하고, 이 설정된 범위 및 간격을 적용한 최적화 AMDF 알고리즘 기반으로 오디오의 피치를 검색하는 단계;Set the comparison range of audio sample S (i) for AMD Magnitude Difference Function (AMF) from i = 0 to Pavg (Pavg is the set value), set the comparison interval to the Delta value, and set this set range and interval Searching for the pitch of audio based on the applied optimized AMDF algorithm; 상기 최적화 AMDF 알고리즘으로 반복되는 피치 또는 최소 샘플 값의 차이를 갖는 일정 범위를 찾고, 상기 피치나 일정 범위를 OLA(Overlap and Add) 처리하여 오디오 프레임을 확장하거나 축소시키는 단계;Finding a range having a difference in a pitch or a minimum sample value repeated by the optimized AMDF algorithm, and expanding or contracting an audio frame by processing the pitch or the range with overlap and add (OLA); 를 포함하는 것을 특징으로 하는 오디오 속도 조절 방법.Audio speed control method comprising a. 제 1항에 있어서,The method of claim 1, 상기 최적화 AMDF 알고리즘은 음성 신호의 피치에 최적화된 AMDF 알고리즘을 적용하여 음성과 음악의 속도 처리를 하는 것을 특징으로 하는 오디오 속도 조절 방법.The optimized AMDF algorithm is the audio speed control method, characterized in that for processing the speed of speech and music by applying the optimized AMDF algorithm to the pitch of the speech signal. 제 1항에 있어서,The method of claim 1, 상기 최적화 AMDF 알고리즘 기반의 피치 검색단계에서 피치의 검색 범위, 비교 범위, 비교 간격을 조절 하여 피치를 검색하는 것을 특징으로 하는 오디오 속도 조절 방법.The method of claim 8, wherein the pitch is searched by adjusting a pitch search range, a comparison range, and a comparison interval in the optimized AMDF algorithm based pitch search. 제 1항에 있어서,The method of claim 1, 상기 피치의 검색 범위는 Pmax [Pmax = 25/3×(샘플 Rate/1000)] ~ Pmin [Pmin = 5/3×(샘플 Rate/1000)] 인 것을 특징으로 하는 오디오 속도 조절 방법.The search range of the pitch is Pmax [Pmax = 25/3 × (Sample Rate / 1000)] ~ Pmin [Pmin = 5/3 × (Sample Rate / 1000)]. 제 1항에 있어서,The method of claim 1, 상기 AMDF 알고리즘에서 피치 간격을 가진 음원 샘플의 차를 구하는 과정을 상기 피치의 크기(P)에 관계 없이 Pavg (Pavg ≠P) 만큼 수행하는 것을 특징으로 하는 오디오 속도 조절 방법.And calculating a difference of sound source samples having a pitch interval in the AMDF algorithm by Pavg (Pavg ≠ P) regardless of the pitch size (P). 제 1항에 있어서,The method of claim 1, 상기 Pavg 값은 5×(샘플 Rate/1000)으로 설정되는 것을 특징으로 하는 오디오 속도 조절 방법.And the Pavg value is set to 5 × (sample rate / 1000). 제 1항에 있어서,The method of claim 1, 상기 비교 간격은 하나의 샘플 간격이 아닌 델타(Delta) 값을 적용하여 연산이 수행되는 것을 특징으로 하는 오디오 속도 조절 방법.The comparison interval is a method of adjusting the audio speed, characterized in that the operation is performed by applying a delta (Delta) value rather than one sample interval. 제 1항에 있어서,The method of claim 1, 상기 델타 값은 Pavg/α로 설정되는 것을 특징으로 하는 오디오 속도 조절 방법.And the delta value is set to Pavg / α. 제 1항에 있어서,The method of claim 1, 상기 Pavg 값은 5×(샘플 Rate/1000)으로 설정되고, 상기 델타 값은 5/α×(샘플 Rate/1000)로 설정되는 것을 특징으로 하는 오디오 속도 조절 방법.The Pavg value is set to 5 × (sample rate / 1000), and the delta value is set to 5 / α × (sample rate / 1000). 제 1항에 있어서,The method of claim 1, 상기 델타 값은 Pavg/6으로 설정되는 것을 특징으로 하는 오디오 속도 조절 방법.And the delta value is set to Pavg / 6.
KR1020040116893A 2004-12-30 2004-12-30 Time Scale Modification method KR100641453B1 (en)

Priority Applications (4)

Application Number Priority Date Filing Date Title
KR1020040116893A KR100641453B1 (en) 2004-12-30 2004-12-30 Time Scale Modification method
US11/321,583 US20060149535A1 (en) 2004-12-30 2005-12-28 Method for controlling speed of audio signals
PCT/KR2005/004651 WO2006071093A1 (en) 2004-12-30 2005-12-29 Method for controlling speed of audio signals
EP05822461A EP1847120A4 (en) 2004-12-30 2005-12-29 Method for controlling speed of audio signals

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020040116893A KR100641453B1 (en) 2004-12-30 2004-12-30 Time Scale Modification method

Publications (2)

Publication Number Publication Date
KR20060078183A KR20060078183A (en) 2006-07-05
KR100641453B1 true KR100641453B1 (en) 2006-10-31

Family

ID=37170125

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020040116893A KR100641453B1 (en) 2004-12-30 2004-12-30 Time Scale Modification method

Country Status (1)

Country Link
KR (1) KR100641453B1 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100782261B1 (en) * 2006-05-18 2007-12-04 엘지전자 주식회사 Video syncronization based on reproducing audio signal slow or fast
KR101334366B1 (en) 2006-12-28 2013-11-29 삼성전자주식회사 Method and apparatus for varying audio playback speed
KR101981955B1 (en) * 2017-11-29 2019-05-24 (주)유윈인포시스 Apparatus and methdo for making contents

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4864620A (en) 1987-12-21 1989-09-05 The Dsp Group, Inc. Method for performing time-scale modification of speech information or speech signals
US5864792A (en) 1995-09-30 1999-01-26 Samsung Electronics Co., Ltd. Speed-variable speech signal reproduction apparatus and method

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4864620A (en) 1987-12-21 1989-09-05 The Dsp Group, Inc. Method for performing time-scale modification of speech information or speech signals
US5864792A (en) 1995-09-30 1999-01-26 Samsung Electronics Co., Ltd. Speed-variable speech signal reproduction apparatus and method

Also Published As

Publication number Publication date
KR20060078183A (en) 2006-07-05

Similar Documents

Publication Publication Date Title
EP1847120A1 (en) Method for controlling speed of audio signals
JP4945586B2 (en) Signal band expander
KR101564151B1 (en) Decomposition of music signals using basis functions with time-evolution information
JP2021177260A (en) Decoding apparatus and method, and program
KR101264486B1 (en) Apparatus and Method for Determining a Plurality of Local Center of Gravity Frequencies of a Spectrum of an Audio Signal
KR101582358B1 (en) Method for time scaling of a sequence of input signal values
TW201905900A (en) Time delay estimation method and device
JP2012515939A (en) Apparatus, method and computer program for obtaining parameters describing changes in signal characteristics of signals
KR19980042556A (en) Voice encoding method, voice decoding method, voice encoding device, voice decoding device, telephone device, pitch conversion method and medium
US20050038534A1 (en) Fixed-size cross-correlation computation method for audio time scale modification
KR20190134707A (en) Apparatus and method for processing audio signals
JP2002538644A (en) Apparatus and method for efficiently removing time domain aliasing
KR100641453B1 (en) Time Scale Modification method
WO2019216187A1 (en) Pitch enhancement device, and method and program therefor
US20180061385A1 (en) Method for audio sample playback using mapped impulse responses
JP4408596B2 (en) Speech synthesis device, voice quality conversion device, speech synthesis method, voice quality conversion method, speech synthesis processing program, voice quality conversion processing program, and program recording medium
JP4888048B2 (en) Audio signal encoding / decoding method, apparatus and program for implementing the method
US11302340B2 (en) Pitch emphasis apparatus, method and program for the same
KR100598234B1 (en) Method of reproducing audio frame slow or fast
CN111630594B (en) Pitch enhancement device, pitch enhancement method, and recording medium
JP2007304515A (en) Audio signal decompressing and compressing method and device
US20190019525A1 (en) Audio processing method and audio processing device
KR100643966B1 (en) Method of reproducing audio frame slow or fast
US11348596B2 (en) Voice processing method for processing voice signal representing voice, voice processing device for processing voice signal representing voice, and recording medium storing program for processing voice signal representing voice
KR100547444B1 (en) Time Scale Correction Method of Audio Signal Using Variable Length Synthesis and Correlation Calculation Reduction Technique

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
LAPS Lapse due to unpaid annual fee