KR102167469B1 - Feedback processing apparatus - Google Patents

Feedback processing apparatus Download PDF

Info

Publication number
KR102167469B1
KR102167469B1 KR1020180164888A KR20180164888A KR102167469B1 KR 102167469 B1 KR102167469 B1 KR 102167469B1 KR 1020180164888 A KR1020180164888 A KR 1020180164888A KR 20180164888 A KR20180164888 A KR 20180164888A KR 102167469 B1 KR102167469 B1 KR 102167469B1
Authority
KR
South Korea
Prior art keywords
feedback
value
vad
energy
voice
Prior art date
Application number
KR1020180164888A
Other languages
Korean (ko)
Other versions
KR20200076127A (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 KR1020180164888A priority Critical patent/KR102167469B1/en
Publication of KR20200076127A publication Critical patent/KR20200076127A/en
Application granted granted Critical
Publication of KR102167469B1 publication Critical patent/KR102167469B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04RLOUDSPEAKERS, MICROPHONES, GRAMOPHONE PICK-UPS OR LIKE ACOUSTIC ELECTROMECHANICAL TRANSDUCERS; DEAF-AID SETS; PUBLIC ADDRESS SYSTEMS
    • H04R25/00Deaf-aid sets, i.e. electro-acoustic or electro-mechanical hearing aids; Electric tinnitus maskers providing an auditory perception
    • H04R25/45Prevention of acoustic reaction, i.e. acoustic oscillatory feedback
    • H04R25/453Prevention of acoustic reaction, i.e. acoustic oscillatory feedback electronically
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04RLOUDSPEAKERS, MICROPHONES, GRAMOPHONE PICK-UPS OR LIKE ACOUSTIC ELECTROMECHANICAL TRANSDUCERS; DEAF-AID SETS; PUBLIC ADDRESS SYSTEMS
    • H04R25/00Deaf-aid sets, i.e. electro-acoustic or electro-mechanical hearing aids; Electric tinnitus maskers providing an auditory perception
    • H04R25/50Customised settings for obtaining desired overall acoustical characteristics
    • H04R25/505Customised settings for obtaining desired overall acoustical characteristics using digital signal processing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04RLOUDSPEAKERS, MICROPHONES, GRAMOPHONE PICK-UPS OR LIKE ACOUSTIC ELECTROMECHANICAL TRANSDUCERS; DEAF-AID SETS; PUBLIC ADDRESS SYSTEMS
    • H04R2225/00Details of deaf aids covered by H04R25/00, not provided for in any of its subgroups
    • H04R2225/43Signal processing in hearing aids to enhance the speech intelligibility

Abstract

본 발명은 음향 신호에 피드백의 발생 여부를 보다 정확하게 판단하여 제거할 수 있는 피드백 처리 방법에 관한 것이다.
본 발명인 피드백 처리 방법은 음향 신호를 입력 받는 단계와, 입력된 음향 신호를 프레임 단위로 주파수 영역의 신호로 변환하는 단계와, VAD 과정 및 피드백 확인 과정을 수행하는 단계와, 기저장된 VAD 성능에 따라서, VAD 과정의 음성 판단 결과와 피드백 확인 과정의 피드백 발생 판단 결과 간의 논리 연산을 수행하는 단계와, 논리 연산의 수행 단계에서의 결정된 논리 연산에 따라 VAD 과정의 음성 판단 결과 및 피드백 확인 과정의 피드백 발생 판단 결과를 처리하여 최종 피드백 발생 결과를 판단하는 단계와, 판단 단계의 최종 피드백 발생 결과에 따라 음소거 처리를 수행하는 단계를 포함한다.
The present invention relates to a feedback processing method capable of more accurately determining and removing whether feedback occurs in an acoustic signal.
The feedback processing method according to the present invention includes the steps of receiving an acoustic signal, converting the input sound signal into a signal in the frequency domain in a frame unit, performing a VAD process and a feedback verification process, and according to a previously stored VAD performance. , A step of performing a logical operation between the voice determination result of the VAD process and the feedback occurrence determination result of the feedback check process, and the voice determination result of the VAD process and the feedback generation of the feedback check process according to the logic operation determined in the execution step of the logic operation. And processing the determination result to determine a final feedback generation result, and performing mute processing according to the final feedback generation result in the determination step.

Figure R1020180164888
Figure R1020180164888

Description

피드백 처리 방법{FEEDBACK PROCESSING APPARATUS}Feedback processing method {FEEDBACK PROCESSING APPARATUS}

본 발명은 피드백 처리 방법에 관한 것으로, 특히 음향 신호에 피드백의 발생 여부를 보다 정확하게 판단하여 제거할 수 있는 피드백 처리 방법에 관한 것이다. The present invention relates to a feedback processing method, and more particularly, to a feedback processing method capable of more accurately determining and removing whether feedback occurs in an acoustic signal.

마이크로폰과 같은 소리 센서를 통하여 입력된 소리를 증폭하여 사용자가 소리를 더 듣기 쉽도록 소리를 출력하는 장치는 기존에 보청기나 확성기 등에 적용되어 널리 이용되어 왔다. 기존의 소리 음량 조절 장치에 있어서 설정된 소리 증폭률에 따라 입력되는 소리를 일률적으로 증폭하는 확성기가 존재한다. 하지만 이와 같은 확성기는 입력되는 모든 소리를 일률적으로 증폭함으로써, 불필요한 노이즈까지 증폭하여 사용자가 청음에 불편을 느끼고 의미 있는 소리를 명확하게 인식하기 어렵도록 하는 문제점이 있다.A device that amplifies the sound input through a sound sensor such as a microphone and outputs sound so that the user can hear the sound more easily has been applied to hearing aids or loudspeakers and has been widely used. In the existing sound volume control device, there is a loudspeaker that uniformly amplifies the input sound according to the set sound amplification rate. However, such a loudspeaker uniformly amplifies all input sounds, thereby amplifying unnecessary noise, causing the user to feel uncomfortable in hearing and make it difficult to clearly recognize meaningful sounds.

또한 기존의 소리 음량 조절 장치로는, 입력된 소리를 가공하여 사용자가 듣기를 원하는 음량으로 소리 크기를 조절하여 출력하는 장치도 존재한다. 예를 들면 보청기와 같은 경우 일률적으로 입력되는 모든 소리를 증폭하는 것이 아니라, 입력된 소리를 주파수 분석하고, 청각에 손실이 발생하여 보상이 필요한 주파수 대역에 해당하는 주파수 성분의 신호를 선택적으로 증폭하는 방식으로 동작한다. 그리고 보다 정확한 음량 조절을 위하여 청각에 손실이 발생한 주파수 대역을 청력검사를 통해 확인하고 장치의 파라미터를 설정한다. 이러한 일단 설정된 파라미터들에 대해서는, 종래 기술은 장치의 성능 개선을 위한 갱신을 수행하는 기술을 제공하고 있지 않다.In addition, as a conventional sound volume control device, there is a device that processes the input sound and adjusts the sound volume to a volume desired by the user to be heard. For example, in the case of hearing aids, it does not uniformly amplify all input sounds, but analyzes the frequency of the input sound, and selectively amplifies the signal of the frequency component corresponding to the frequency band that needs compensation due to loss in hearing. Works in a way. And for more accurate volume control, the frequency band where hearing loss occurs is checked through the hearing test, and the parameters of the device are set. For these once set parameters, the prior art does not provide a technique for performing an update to improve the performance of the device.

종래의 피드백 제거 시스템(feedback cancellation system)은 음성 신호(S(n))와 피드백 경로 블록(F(z))의 출력 신호(v(n))를 합산하는 합산부와, 합산부의 출력 신호를 고속 푸리에 변환(Fast Fourier Transform)을 수행하여 출력값(Y(k))을 출력하는 분석부와, 분석부로부터의 출력값(Y(k))에서 블록(W(z))로부터의 추정값(v(k))을 감산하여 출력값(E(k))(즉, 피드백 값)을 출력하는 감산부와, 감산부로부터의 출력값(E(k))에 게인(gain)을 곱하여 출력값(X(k))을 출력하는 블록(G(z))과, 블록(G(z))의 출력값(X(k))과 감산부로부터의 출력값(E(k))을 입력값으로 하여 피드백 성분을 제거하기 위한 추정값(v(k))을 출력하는 블록(W(z))(피드백 추정 블록)과, 블록(G(z))로부터의 출력값(X(k))을 인버스 고속 푸리에 변환(Inverse Fast Fourier Transform)을 수행하여 출력 신호(x(n))를 출력하는 합성부와, 출력 신호(x(n))을 입력 받아 출력 신호(v(n))를 합산부로 출력하는 피드백 경로 블록(F(z))을 구성된다.A conventional feedback cancellation system includes a summing unit for summing the voice signal S(n) and the output signal v(n) of the feedback path block F(z), and an output signal of the summing unit. An analysis unit that performs a Fast Fourier Transform and outputs an output value (Y(k)), and an estimated value from the block (W(z)) from the output value (Y(k)) from the analysis unit (v( k)) to output the output value (E(k)) (i.e., the feedback value), and the output value (X(k)) by multiplying the output value (E(k)) from the subtraction unit by the gain. ) Outputting block (G(z)), output value (X(k)) of block (G(z)) and output value (E(k)) from subtraction unit as input values to remove feedback component The block (W(z)) (feedback estimation block) that outputs the estimated value (v(k)) and the output value (X(k)) from the block (G(z)) are converted into an Inverse Fast Fourier Transform. A synthesis unit that performs transform) to output an output signal (x(n)), and a feedback path block (F()) that receives the output signal (x(n)) and outputs the output signal (v(n)) to the summing unit. z)).

종래의 피드백 제거 시스템은 일정 시간 동안 출력값(E(k))과 X(k)을 수신하여 블록(W(z))에서 처리하여 추정값(V(k))을 출력하여 처리하는 과정에서의 피드백 발생 여부에 대한 판단의 정확성이 중요한 문제이다.The conventional feedback removal system receives output values (E(k)) and X(k) for a certain period of time, processes them in a block (W(z)), and outputs an estimated value (V(k)) for feedback in the process. The accuracy of judgment as to whether or not it occurs is an important issue.

(특허 문헌 1)대한민국 공개특허공보 특2000-0067641호 "다중디역 보청기를 위한 적응 피드백 제거장치 및 방법" (2000년 11월 25일 공개)(Patent Document 1) Korean Patent Publication No. 2000-0067641 "Adaptive Feedback Removal Device and Method for Multi-Di Station Hearing Aids" (published on November 25, 2000)

본 발명은 음성 검출의 성능에 따라서 피드백 판정 방법을 상이하게 하여 음향 신호에 피드백의 발생 여부를 보다 정확하게 판단하여 제거할 수 있는 피드백 처리 방법을 제공하는 것을 목적으로 한다.An object of the present invention is to provide a feedback processing method capable of more accurately determining and eliminating whether feedback has occurred in an acoustic signal by making the feedback determination method different according to the performance of speech detection.

본 발명인 피드백 처리 방법은 음향 신호를 입력 받는 단계와, 입력된 음향 신호를 프레임 단위로 주파수 영역의 신호로 변환하는 단계와, 주파수 영역으로 변환된 음향 신호의 프레임 각각에 대하여, VAD 과정 및 피드백 확인 과정을 수행하는 단계와, 기저장된 VAD 성능에 따라서, VAD 과정의 음성 판단 결과와 피드백 확인 과정의 피드백 발생 판단 결과 간의 논리 연산을 수행하는 단계와, 논리 연산의 수행 단계에서의 결과값을 기준으로 최종 피드백 발생 결과를 판단하는 단계와, 판단 단계의 최종 피드백 발생 결과에 따라 음소거 처리를 수행하는 단계를 포함하되, VAD 과정을 수행하는 단계는 현재 프레임에서 음성 주파수 영역의 에너지의 평균값(Mve)과 비음성 주파수 영역의 에너지의 평균값(Mne)을 각각 산정하는 단계와, 프레임마다 평균값(Mve)이 평균값(Mne)보다 큰 경우의 횟수에 대응하는 현재의 제 1 산정값(Vc)을 산정하되, 평균값(Mve)이 평균값(Mne)보다 큰 경우에는 이전의 제 1 산정값(Vc)에 제 1 증가값을 합산하여 현재 프레임에서의 제 1 산정값(Vc)으로 저장하고, 평균값(Mve)이 평균값(Mne)보다 작거나 같은 경우에는 이전의 제 1 산정값(Vc)에 제 1 감소값을 차감하여 현재 프레임에서의 제 1 산정값(Vc)으로 저장하는 단계와, 현재의 제 1 산정값(Vc)이 제 1 기준값(Vf)보다 크면 음성이 있는 것으로 판단하고, 그렇지 않으면 음성이 없는 것으로 판단하는 단계를 포함한다. The feedback processing method of the present invention includes the steps of receiving an acoustic signal, converting the input acoustic signal into a signal in the frequency domain in frame units, and checking the VAD process and feedback for each frame of the acoustic signal converted into the frequency domain. Based on the step of performing the process and the step of performing a logical operation between the voice determination result of the VAD process and the feedback occurrence determination result of the feedback check process, and the result value at the performing step of the logic operation according to the previously stored VAD performance. Determining the final feedback generation result, and performing mute processing according to the final feedback generation result of the determination step, wherein the VAD process includes an average value (Mve) of energy in the voice frequency domain in the current frame and Calculating the average value (Mne) of the energy in the non-speech frequency domain, respectively, and calculating the current first calculated value (Vc) corresponding to the number of times when the average value (Mve) is greater than the average value (Mne) for each frame, If the average value Mve is greater than the average value Mne, the first increment value is added to the previous first calculated value Vc and stored as the first calculated value Vc in the current frame, and the average value Mve is If it is less than or equal to the average value Mne, the step of subtracting the first reduction value from the previous first calculated value Vc and storing it as the first calculated value Vc in the current frame, and the current first calculated value If (Vc) is greater than the first reference value (Vf), it is determined that there is a voice, otherwise, determining that there is no voice.

또한, 논리 연산의 수행 단계에서 VAD 성능이 기준 성능 이상인 경우, 판단 단계에서 VAD 과정의 음성 판단 결과 및 피드백 확인 과정의 피드백 발생 판단 결과를 OR 연산하고, 결정 단계에서 VAD 성능이 기준 성능 미만인 경우, 판단 단계에서 VAD 과정의 음성 판단 결과 및 피드백 확인 과정의 피드백 발생 판단 결과를 AND 연산하는 것이 바람직하다.In addition, if the VAD performance is greater than or equal to the reference performance in the execution step of the logical operation, the voice determination result of the VAD process and the feedback occurrence determination result of the feedback check process are ORed in the determination step, and the VAD performance is less than the reference performance in the determination step, In the determination step, it is preferable to AND the voice determination result of the VAD process and the feedback generation determination result of the feedback confirmation process.

또한, 본 발명인 피드백 처리 방법은 음향 신호를 입력 받는 단계와, 입력된 음향 신호를 프레임 단위로 주파수 영역의 신호로 변환하는 단계와, 기저장된 VAD 성능에 따라서 VAD 과정 및 피드백 확인 과정의 수행 여부를 결정하는 단계와, 결정 단계에서의 결정에 따라, VAD 과정 및 피드백 확인 과정을 수행하거나 VAD 과정 및 피드백 확인 과정 중의 어느 하나의 과정을 우선 수행하고 우선 수행되는 과정의 결과에 따라 남은 과정을 수행하는 단계와, 수행 단계에서, VAD 과정의 음성 판단 결과 및 피드백 확인 과정의 피드백 발생 판단 결과 중의 어느 하나 이상에 따른 최종 피드백 발생 결과를 판단하는 단계와, 판단 단계에서 최종 피드백 발생 결과에 따라 음소거 처리를 수행하는 단계를 포함한다.In addition, the feedback processing method of the present invention determines whether to perform the VAD process and the feedback check process according to the steps of receiving an audio signal, converting the input sound signal into a signal in the frequency domain in frame units, and pre-stored VAD performance. Depending on the decision step and the decision at the decision step, the VAD process and the feedback verification process are performed, or any one of the VAD process and the feedback verification process is performed first, and the remaining processes are performed according to the result of the first process. In the step and in the execution step, a final feedback generation result is determined according to one or more of the voice determination result of the VAD process and the feedback generation determination result of the feedback confirmation process, and in the determination step, mute processing is performed according to the final feedback generation result. It includes performing steps.

또한, 결정 단계에서 VAD 성능이 기준 성능 이상인 경우, 수행 단계에서 VAD 과정 및 피드백 확인 과정 중의 어느 하나의 과정을 우선 수행하고 우선 수행되는 과정의 결과에 따라 남은 과정을 수행하고, 결정 단계에서 VAD 성능이 기준 성능 미만인 경우, 수행 단계에서 VAD 과정 및 피드백 확인 과정을 수행하는 것이 바람직하다.In addition, if the VAD performance is greater than or equal to the reference performance in the decision step, one of the VAD process and the feedback check process is first performed in the execution step, and the remaining process is performed according to the result of the first performed process, and the VAD performance is performed in the decision step. If it is less than this reference performance, it is preferable to perform the VAD process and the feedback check process in the execution step.

또한, VAD 과정은 음성 주파수 영역의 에너지의 평균값과 비음성 주파수 영역의 에너지의 평균값을 이용하여 음성 있음 및 음성 없음을 판단하는 것이 바람직하다.In addition, in the VAD process, it is preferable to determine whether there is a voice or no voice using the average value of the energy in the voice frequency domain and the average energy in the non-voice frequency domain.

또한, 피드백 확인 과정은 피드백이 발생하는 주파수 대역의 에너지와, 피드백이 발생하는 주파수 대역 이외의 주파수 대역의 에너지를 이용하여 피드백 발생 및 피드백 미발생을 판단하는 것이 바람직하다.In addition, in the feedback check process, it is preferable to determine the occurrence of feedback and no occurrence of feedback using the energy of the frequency band in which the feedback occurs and the energy of the frequency band other than the frequency band where the feedback occurs.

본 발명은 음성 검출의 성능에 따라서 피드백 판정 방법을 상이하게 하여 음향 신호에 피드백의 최종 발생 여부를 보다 정확하게 판단하여 제거할 수 있으며, 피드백 판정 시의 수행되는 과정들을 간소화시킴으로써 연산량 등을 감소시키는 효과가 있다. According to the present invention, the feedback determination method is different according to the performance of speech detection, so that the final occurrence of feedback in the sound signal can be more accurately determined and eliminated, and the amount of computation is reduced by simplifying the processes performed during the feedback determination. There is.

도 1은 본 발명인 피드백 처리 방법을 수행하는 전기 기기의 구성도이다.
도 2는 본 발명은 피드백 처리 방법의 순서도이다.
1 is a block diagram of an electric device that performs a feedback processing method according to the present invention.
2 is a flowchart of a feedback processing method according to the present invention.

이하에서, 본 발명은 실시예와 도면을 통하여 상세하게 설명된다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 실시 예의 다양한 변경(modification), 균등물(equivalent), 및/또는 대체물(alternative)을 포함하는 것으로 이해되어야 한다. 도면의 설명과 관련하여, 유사한 구성요소에 대해서는 유사한 참조 부호가 사용될 수 있다.In the following, the present invention will be described in detail through examples and drawings. However, this is not intended to limit the present invention to a specific embodiment, it should be understood to include various modifications, equivalents, and/or alternatives of the embodiments of the present invention. In connection with the description of the drawings, similar reference numerals may be used for similar elements.

본 문서에서, "가진다", "가질 수 있다", "포함한다", 또는 "포함할 수 있다" 등의 표현은 해당 특징(예: 수치, 기능, 동작, 또는 부품 등의 구성요소)의 존재를 가리키며, 추가적인 특징의 존재를 배제하지 않는다.In this document, expressions such as "have", "may have", "include", or "may contain" are the presence of corresponding features (eg, elements such as numbers, functions, actions, or parts). And does not exclude the presence of additional features.

본 문서에서, "A 또는 B", "A 또는/및 B 중 적어도 하나", 또는 "A 또는/및 B 중 하나 또는 그 이상" 등의 표현은 함께 나열된 항목들의 모든 가능한 조합을 포함할 수 있다. 예를 들면, "A 또는 B", "A 및 B 중 적어도 하나", 또는 "A 또는 B 중 적어도 하나"는, (1) 적어도 하나의 A를 포함, (2) 적어도 하나의 B를 포함, 또는 (3) 적어도 하나의 A 및 적어도 하나의 B 모두를 포함하는 경우를 모두 지칭할 수 있다.In this document, expressions such as "A or B", "at least one of A or/and B", or "one or more of A or/and B" may include all possible combinations of items listed together. . For example, “A or B”, “at least one of A and B”, or “at least one of A or B” includes (1) at least one A, (2) at least one B, Or (3) it may refer to all cases including both at least one A and at least one B.

본 문서에서 사용된 "제1", "제2", "첫째", 또는 "둘째" 등의 표현들은 다양한 구성요소들을, 순서 및/또는 중요도에 상관없이 수식할 수 있고, 한 구성요소를 다른 구성요소와 구분하기 위해 사용될 뿐 해당 구성요소들을 한정하지 않는다. 예를 들면, 제1 사용자 기기와 제2 사용자 기기는, 순서 또는 중요도와 무관하게, 서로 다른 사용자 기기를 나타낼 수 있다. 예를 들면, 본 문서에 기재된 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 바꾸어 명명될 수 있다.Expressions such as “first”, “second”, “first”, or “second” used in this document can modify various elements regardless of their order and/or importance, and It is used to distinguish it from the component, but does not limit the component. For example, a first user device and a second user device may represent different user devices regardless of order or importance. For example, without departing from the scope of the rights described in this document, a first component may be referred to as a second component, and similarly, a second component may be renamed to a first component.

어떤 구성요소(예: 제1 구성요소)가 다른 구성요소(예: 제2 구성요소)에 "(기능적으로 또는 통신적으로) 연결되어((operatively or communicatively) coupled with/to)" 있다거나 "접속되어(connected to)" 있다고 언급된 때에는, 상기 어떤 구성요소가 상기 다른 구성요소에 직접적으로 연결되거나, 다른 구성요소(예: 제3 구성요소)를 통하여 연결될 수 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소(예: 제1 구성요소)가 다른 구성요소(예: 제2 구성요소)에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 상기 어떤 구성요소와 상기 다른 구성요소 사이에 다른 구성요소(예: 제3 구성요소)가 존재하지 않는 것으로 이해될 수 있다.Some component (eg, a first component) is "(functionally or communicatively) coupled with/to)" to another component (eg, a second component) or " When referred to as "connected to", it should be understood that the certain component may be directly connected to the other component or may be connected through another component (eg, a third component). On the other hand, when a component (eg, a first component) is referred to as being “directly connected” or “directly connected” to another component (eg, a second component), the component and the It may be understood that no other component (eg, a third component) exists between the different components.

본 문서에서 사용된 표현 "~하도록 구성된(또는 설정된)(configured to)"은 상황에 따라, 예를 들면, "~에 적합한(suitable for)", "~하는 능력을 가지는(having the capacity to)", "~하도록 설계된(designed to)", "~하도록 변경된(adapted to)", "~하도록 만들어진(made to)", 또는 "~를 할 수 있는(capable of)"과 바꾸어 사용될 수 있다. 용어 "~하도록 구성(또는 설정)된"은 하드웨어적으로 "특별히 설계된(specifically designed to)"것만을 반드시 의미하지 않을 수 있다. 대신, 어떤 상황에서는, "~하도록 구성된 장치"라는 표현은, 그 장치가 다른 장치 또는 부품들과 함께 "~할 수 있는" 것을 의미할 수 있다. 예를 들면, 문구 "A, B, 및 C를 수행하도록 구성(또는 설정)된 프로세서"는 해당 동작을 수행하기 위한 전용 프로세서(예: 임베디드 프로세서), 또는 메모리 장치에 저장된 하나 이상의 소프트웨어 프로그램들을 실행함으로써, 해당 동작들을 수행할 수 있는 범용 프로세서(generic-purpose processor)(예: CPU 또는 application processor)를 의미할 수 있다.The expression "configured to" used in this document is, for example, "suitable for", "having the capacity to" depending on the situation. It can be used interchangeably with ", "designed to", "adapted to", "made to", or "capable of". The term "configured to (or set) to" may not necessarily mean only "specifically designed to" in hardware. Instead, in some situations, the expression "a device configured to" may mean that the device "can" along with other devices or parts. For example, the phrase “a processor configured (or configured) to perform A, B, and C” means a dedicated processor (eg, an embedded processor) for performing the operation, or executing one or more software programs stored in a memory device. By doing so, it may mean a generic-purpose processor (eg, a CPU or an application processor) capable of performing corresponding operations.

본 문서에서 사용된 용어들은 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 다른 실시 예의 범위를 한정하려는 의도가 아닐 수 있다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함할 수 있다. 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 용어들은 본 문서에 기재된 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가질 수 있다. 본 문서에 사용된 용어들 중 일반적인 사전에 정의된 용어들은 관련 기술의 문맥 상 가지는 의미와 동일 또는 유사한 의미로 해석될 수 있으며, 본 문서에서 명백하게 정의되지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다. 경우에 따라서, 본 문서에서 정의된 용어일지라도 본 문서의 실시 예들을 배제하도록 해석될 수 없다.Terms used in this document are only used to describe a specific embodiment, and may not be intended to limit the scope of other embodiments. Singular expressions may include plural expressions unless the context clearly indicates otherwise. Terms used herein, including technical or scientific terms, may have the same meaning as commonly understood by one of ordinary skill in the technical field described in this document. Among the terms used in this document, terms defined in a general dictionary may be interpreted as having the same or similar meaning as the meaning in the context of the related technology, and unless explicitly defined in this document, they may be interpreted in an ideal or excessively formal meaning. It is not interpreted. In some cases, even terms defined in this document cannot be interpreted to exclude embodiments of this document.

도 1은 본 발명인 피드백 처리 방법을 수행하는 전기 기기의 구성도이다. 전기 기기(10)는 예를 들면, 이어폰, 헤드셋 등과 같은 음향 변환 장치, 보청기 등과 같은 청음 보조 장치 등으로 구현될 수 있으며, 도 1은 전기 기기(10)의 예시에 해당된다.1 is a block diagram of an electric device that performs a feedback processing method according to the present invention. The electric device 10 may be implemented as, for example, an acoustic conversion device such as an earphone or a headset, a hearing aid device such as a hearing aid, and the like, and FIG. 1 corresponds to an example of the electric device 10.

전기 기기(10)는 외부의 음향을 획득하여 음향 신호로 변환시키는 마이크(1)와, 음향 신호를 인가 받아 음 방출을 수행하는 스피커(3)와, 외부 전기 기기(미도시)와 유선 또는 무선 통신을 수행하는 통신부(5)와, 피드백 처리 알고리즘과 음향 신호를 저장하는 저장부(7)와, 마이크(1)로부터 인가된 음향 신호 또는 통신부(5)로부터 수신된 음향 신호 또는 저장부(7)에 저장된 음향 신호에 대하여 피드백 처리 알고리즘을 수행하여 피드백 처리를 수행하는 데이터 프로세서(9)로 구성된다. 다만, 전원이 필요한 구성요소들에 전원을 공급하는 전원부(미도시), 마이크(1), 스피커(3) 및 통신부(5)가 구비되나, 본 발명이 속하는 기술분야에 익숙한 통상의 기술자에게 당연히 인식되는 기술에 해당되어 그 설명이 생략된다. The electrical device 10 includes a microphone 1 that acquires external sound and converts it into an sound signal, a speaker 3 that emits sound by receiving the sound signal, and an external electrical device (not shown) and wired or wireless A communication unit 5 for performing communication, a storage unit 7 for storing a feedback processing algorithm and an acoustic signal, and an acoustic signal applied from the microphone 1 or an acoustic signal or a storage unit 7 received from the communication unit 5 A data processor 9 that performs feedback processing by performing a feedback processing algorithm on the acoustic signal stored in ). However, a power supply unit (not shown), a microphone 1, a speaker 3, and a communication unit 5 for supplying power to components requiring power are provided, but it is obvious to a person skilled in the art who is familiar with the technical field to which the present invention belongs. It corresponds to a recognized technology and its description is omitted.

저장부(7)는 휘발성 및/또는 비휘발성 메모리 등으로 구현되며, 음향 신호와 피드백 처리 알고리즘, 음성 검출(VAD: Voice Activity Detection) 성능 데이터, 에너지 임계치 등을 저장하며, 피드백 처리 알고리즘에 대한 사항은 하기의 도 2에서 상세하게 설명된다. The storage unit 7 is implemented as a volatile and/or non-volatile memory, and stores acoustic signals, feedback processing algorithms, voice activity detection (VAD) performance data, energy thresholds, etc., and details on feedback processing algorithms. Is described in detail in FIG. 2 below.

VAD 성능 데이터는 데이터 프로세서(9)에 의해 수행되는 음성 검출 기능의 성능에 대한 것으로서, 예를 들면, 음향 신호에 음성이 포함되어 있다고 판단하는 성능이 80%(기준 성능) 이상일 경우에는 고성능으로, 80% 미만인 경우에는 저성능으로 판단된다. 즉, VAD 성능 데이터는 고성능 또는 저성능 중의 어느 하나를 포함한다. 또한, 데이터 프로세서(9)가 통신부(5)를 통하여 외부 전기 기기에 의해 통계적으로 산정된 VAD 성능 데이터를 수신하여 저장부(7)에 저장할 수도 있다.The VAD performance data refers to the performance of the voice detection function performed by the data processor 9, for example, if the performance of determining that the sound signal contains voice is 80% (reference performance) or more, it is high performance, If it is less than 80%, it is judged as low performance. That is, the VAD performance data includes either high performance or low performance. In addition, the data processor 9 may receive the VAD performance data statistically calculated by an external electric device through the communication unit 5 and store it in the storage unit 7.

에너지 임계치는 음향 신호에 피드백이 발생되었는지를 판단하기 위한 기준값으로서, 예를 들면, 음향 신호의 밴드별 에너지 비율이 에너지 임계치보다 크면 피드백이 발생된 것으로 판단된다. The energy threshold is a reference value for determining whether feedback has occurred in the acoustic signal. For example, if the energy ratio for each band of the acoustic signal is greater than the energy threshold, it is determined that feedback has occurred.

데이터 프로세서(9)는 음향 신호를 입력 신호로 하여 피드백 처리 알고리즘을 수행하여 음향 신호에 대한 피드백 처리를 수행하는 프로세서(예를 들면, CPU, MICROPROCESSOR 등)이다. The data processor 9 is a processor (eg, CPU, MICROPROCESSOR, etc.) that performs feedback processing on an acoustic signal by performing a feedback processing algorithm using an acoustic signal as an input signal.

데이터 프로세서(9)는 음향 신호를 기설정된 크기의 프레임 단위로 처리하되, 고속 푸리에 변환(FFT: Fast Fourier Transform)과 역 고속 푸리에 변환(IFFT: Inverse Fast Fourier Transform)을 수행하는 기능을 지니고 있다. The data processor 9 processes the sound signal in a frame unit of a preset size, but has a function of performing Fast Fourier Transform (FFT) and Inverse Fast Fourier Transform (IFFT).

또한, 데이터 프로세서(9)는 VAD 과정을 수행하기 위해, 프레임의 주파수 영역의 신호를 이용하여 음성 주파수 영역(예를 들면, 0~2kHz)의 에너지의 평균값(Mve)과 비음성 주파수 영역(2kHz 초과 8kHz 이내의 주파수 범위)의 에너지의 평균값(Mne) 각각을 산정하여 이용한다. 또한, 저장부(7)는 음성의 유무(있음/없음)을 판단하기 위한 제 1 기준값(Vf)(예를 들면, 100)을 저장한다. 데이터 프로세서(9)는 평균값(Mve)이 평균값(Mne)보다 큰 경우에 음성이 있을 확률이 높으므로, 이러한 점을 이용하기 위해 매 프레임마다 평균값(Mve)이 평균값(Mne)보다 큰 경우의 횟수에 대응하는 제 1 산정값(Vc)을 산정하여 저장한다. 제 1 산정값(Vc)의 초기값은 0으로 저장부(7)에 저장되고, 데이터 프로세서(9)는 평균값(Mve)이 평균값(Mne)보다 큰 경우에는 이전의 제 1 산정값(Vc)(이전 Vc)에 제 1 증가값(예를 들면, 30)을 합산하여 현재 프레임에서의 제 1 산정값(Vc)(현재 Vc)으로 저장하고, 평균값(Mve)이 평균값(Mne)보다 작거나 같은 경우에는 이전의 제 1 산정값(Vc)에 제 1 감소값(예를 들면, 5)을 차감하여 현재 프레임에서의 제 1 산정값(Vc)으로 저장한다. 데이터 프로세서(9)는 현재의 제 1 산정값(Vc)이 제 1 기준값(Vf)보다 크면 음성이 있는 것으로 판단하고, 그렇지 않으면 음성이 없는 것으로 판단한다. 이러한 과정은 하기에서 보다 상세하게 기재된다.In addition, in order to perform the VAD process, the data processor 9 uses a signal in the frequency domain of the frame to provide an average value Mve of energy in the voice frequency domain (for example, 0 to 2 kHz) and the non-voice frequency domain (2 kHz). Each of the average energy values (Mne) of the frequency range exceeding 8 kHz) is calculated and used. In addition, the storage unit 7 stores a first reference value Vf (for example, 100) for determining the presence or absence of a voice. Since the data processor 9 has a high probability of having a voice when the average value Mve is greater than the average value Mne, the number of times when the average value Mve is greater than the average value Mne in each frame to use this point. The first calculated value Vc corresponding to is calculated and stored. The initial value of the first calculated value Vc is stored in the storage unit 7 as 0, and the data processor 9 uses the previous first calculated value Vc when the average value Mve is greater than the average value Mne. (Previous Vc) is added to the first increment (e.g., 30) and stored as the first calculated value (Vc) (current Vc) in the current frame, and the average value (Mve) is less than the average value (Mne) In the same case, a first reduction value (eg, 5) is subtracted from the previous first calculated value Vc and stored as the first calculated value Vc in the current frame. If the current first calculated value Vc is greater than the first reference value Vf, the data processor 9 determines that there is a voice, otherwise it determines that there is no voice. This process is described in more detail below.

또한, 데이터 프로세서(9)는 피드백이 발생하는 주파수 대역의 에너지를 이용하여 피드백이 발생하였는지를 판단하는 피드백 확인 과정을 수행한다. 데이터 프로세서(9)는 피드백이 발생하는 주파수 대역(예를 들면, 5,750~6,500Hz)의 에너지(Esp)와, 피드백이 발생하는 주파수 대역 이외의 주파수 대역(예를 들면, 0Hz부터 5,750 Hz 미만의 대역과, 6,500Hz 초과부터 8kHz까지의 대역)의 에너지(Eot)를 각각 산정하여 이용한다. 또한, 저장부(7)는 피드백 발생의 유무(있음/없음)을 판단하기 위한 제 2 기준값(Ff)(예를 들면, 100)을 저장한다. 데이터 프로세서(9)는 에너지(Esp)가 에너지(Eot)보다 큰 경우에 피드백 발생이 있을 확률이 높으므로, 이러한 점을 이용하기 위해 매 프레임마다 에너지(Esp)가 에너지(Eot)보다 큰 경우의 횟수에 대응하는 제 2 산정값(Fc)을 산정하여 저장한다. 제 2 산정값(Fc)의 초기값은 0으로 저장부(7)에 저장되고, 데이터 프로세서(9)는 에너지(Esp)가 에너지(Eot)보다 큰 경우에는 이전의 제 2 산정값(Fc)에 제 2 증가값(예를 들면, 30)을 합산하여 현재 프레임에서의 제 2 산정값(Fc)으로 저장하고, 에너지(Esp)가 에너지(Eot)보다 작거나 같은 경우에는 이전의 제 2 산정값(Fc)에 제 2 감소값(예를 들면, 1)을 차감하여 현재 프레임에서의 제 2 산정값(Fc)으로 저장한다. 데이터 프로세서(9)는 현재의 제 2 산정값(Fc)이 제 2 기준값(Ff)보다 크면 피드백 발생이 있는 것으로 판단하고, 그렇지 않으면 피드백 발생이 없는 것으로 판단한다. 이러한 과정은 하기에서 보다 상세하게 기재된다.In addition, the data processor 9 performs a feedback check process of determining whether feedback has occurred using energy in a frequency band in which the feedback occurs. The data processor 9 includes energy (Esp) in a frequency band in which feedback occurs (for example, 5,750 to 6,500 Hz) and a frequency band other than the frequency band in which feedback occurs (for example, from 0 Hz to less than 5,750 Hz). The energy (Eot) of the band and the band from over 6,500Hz to 8kHz) is calculated and used. In addition, the storage unit 7 stores a second reference value Ff (for example, 100) for determining the presence or absence of a feedback occurrence (yes/no). Since the data processor 9 has a high probability of generating feedback when the energy (Esp) is greater than the energy (Eot), in order to use this point, when the energy (Esp) is greater than the energy (Eot) The second calculated value Fc corresponding to the number of times is calculated and stored. The initial value of the second calculated value Fc is 0 and is stored in the storage unit 7, and the data processor 9 uses the previous second calculated value Fc when the energy Esp is greater than the energy Eot. The second increment value (for example, 30) is added to and stored as the second calculated value (Fc) in the current frame, and if the energy (Esp) is less than or equal to the energy (Eot), the previous second calculation A second reduction value (eg, 1) is subtracted from the value Fc and stored as a second calculated value Fc in the current frame. If the current second calculated value Fc is greater than the second reference value Ff, the data processor 9 determines that there is a feedback, otherwise it determines that there is no feedback. This process is described in more detail below.

본 발명에서, 데이터 프로세서(9)는 제 1 및 제 2 산정값(Vc, Fc)의 산정 과정에서 기재된 바와 같이, 음향 신호의 복수의 프레임들을 처리하여 최종적으로 피드백 발생을 판단한다. In the present invention, the data processor 9 processes a plurality of frames of an acoustic signal as described in the process of calculating the first and second calculated values Vc and Fc to finally determine the occurrence of feedback.

도 2는 본 발명은 피드백 처리 방법의 순서도이다. 데이터 프로세서(9)는 전원을 공급 받은 상태에서 피드백 처리를 수행한다. 2 is a flowchart of a feedback processing method according to the present invention. The data processor 9 performs feedback processing while receiving power.

단계(S1)에서, 데이터 프로세서(9)는 마이크(1)로부터의 음향 신호 또는 통신부(5)로부터의 음향 신호 또는 저장부(7)에서 판독된 음향 신호를 입력 받는다. 데이터 프로세서(9)는 입력된 음향 신호를 기설정된 크기인 프레임 단위로 피드백 처리하며, 단계(S1)이후로부터 입력된 음향 신호의 프레임 각각에 대한 처리를 수행하는 것이다. In step S1, the data processor 9 receives an acoustic signal from the microphone 1 or an acoustic signal from the communication unit 5 or an acoustic signal read from the storage unit 7. The data processor 9 feedback-processes the input sound signal in units of frames having a preset size, and performs processing on each frame of the input sound signal after step S1.

단계(S3)에서, 데이터 프로세서(9)는 입력된 프레임(예를 들면, 제 1 프레임)에 대한 고속 푸리에 변환(FFT: Fast Fourier Transform)을 수행하여 시간 영역의 신호를 주파수 영역의 신호로 변환한다. 데이터 프로세서(9)는 단계(S3)을 수행하고 단계(S5)로 진행한다. In step S3, the data processor 9 converts a signal in the time domain into a signal in the frequency domain by performing a Fast Fourier Transform (FFT) on the input frame (eg, a first frame). do. The data processor 9 performs step S3 and proceeds to step S5.

단계(S5)에서, 데이터 프로세서(9)는 프레임의 주파수 영역의 신호를 이용하여 음성 주파수 영역(예를 들면, 0~2kHz)의 에너지의 평균값(Mve)과 비음성 주파수 영역(2kHz 초과 8kHz 이내의 주파수 범위)의 에너지의 평균값(Mne) 각각을 산정한다. 데이터 프로세서(9)는 단계(S5)를 수행하고 단계(S7)로 진행한다. In step S5, the data processor 9 uses the signal in the frequency domain of the frame to generate an average value Mve of energy in the voice frequency domain (for example, 0 to 2 kHz) and the non-voice frequency domain (above 2 kHz and within 8 kHz). Calculate each of the average energy values (Mne) in the frequency range of. The data processor 9 performs step S5 and proceeds to step S7.

단계(S7)에서, 데이터 프로세서(9)는 평균값(Mve)과 평균값(Mne)을 비교하여 만약 평균값(Mve)이 평균값(Mne)보다 크면 단계(S9)로 진행하고, 그렇지 않으면 단계(S11)로 진행한다. In step S7, the data processor 9 compares the average value Mve and the average value Mne, and if the average value Mve is greater than the average value Mne, proceeds to step S9, otherwise, step S11 Proceed to.

단계(S9)에서, 데이터 프로세서(9)는 이전의 프레임까지의 저장된 제 1 산정값(Vc)에 제 1 증가값(예를 들면, 30)을 합산하여 현재 프레임에서의 제 1 산정값(Vc)으로 저장부(7)에 저장한다. 데이터 프로세서(9)는 단계(S9)를 수행하고 단계(S13)로 진행한다. In step S9, the data processor 9 adds the first incremental value (for example, 30) to the stored first computational value Vc up to the previous frame, and then adds the first computational value Vc in the current frame. ) To the storage unit (7). The data processor 9 performs step S9 and proceeds to step S13.

단계(S11)에서, 데이터 프로세서(9)는 이전의 프레임까지의 저장된 제 1 산정값(Vc)에 제 1 감소값(예를 들면, 5)을 차감하여 현재 프레임까지의 제 1 산정값(Vc)으로 저장부(7)에 저장한다. 데이터 프로세서(9)는 단계(S11)를 수행하고 단계(S13)로 진행한다. In step S11, the data processor 9 subtracts the first decremented value (e.g., 5) from the stored first calculated value Vc up to the previous frame, and then the first estimated value Vc up to the current frame. ) To the storage unit (7). The data processor 9 performs step S11 and proceeds to step S13.

단계(S13)에서, 데이터 프로세서(9)는 현재 프레임까지의 저장된 제 1 산정값(Vc)과 제 1 기준값(Vf)을 비교하여 만약 제 1 산정값(Vc)이 제 1 기준값(Vf)보다 크면 단계(S15)로 진행하고, 그렇지 않으면 단계(S17)로 진행한다. In step S13, the data processor 9 compares the first calculated value Vc stored up to the current frame with the first reference value Vf, and if the first calculated value Vc is greater than the first reference value Vf. If so, it proceeds to step S15, otherwise it proceeds to step S17.

단계(S15)에서, 데이터 프로세서(9)는 현재 프레임까지의 음향 신호에 음성이 있음으로 제 1 결과값(R1)(예를 들면, 논리값 F)을 설정하여 저장부(7)에 저장한다. 데이터 프로세서(9)는 단계(S15)를 수행하고 단계(S19)로 진행한다. In step S15, the data processor 9 sets the first result value R1 (e.g., a logical value F) as the sound signal up to the current frame has a voice and stores it in the storage unit 7 . The data processor 9 performs step S15 and proceeds to step S19.

단계(S17)에서, 데이터 프로세서(9)는 현재 프레임까지의 음향 신호에 음성이 없음(비음성)으로 제 1 결과값(R1)(예를 들면, 논리값 T)을 설정하여 저장부(7)에 저장한다. 데이터 프로세서(9)는 단계(S17)를 수행하고 단계(S19)로 진행한다. In step S17, the data processor 9 sets the first result value R1 (e.g., a logical value T) to the sound signal up to the current frame as no voice (non-speech), and the storage unit 7 ). The data processor 9 performs step S17 and proceeds to step S19.

단계(S19)에서, 데이터 프로세서(9)는 단계(S3)에서의 프레임의 주파수 영역의 신호를 이용하여 피드백이 발생하는 주파수 대역의 에너지(Esp)와, 피드백이 발생하는 주파수 대역 이외의 주파수 대역의 에너지(Eot)를 각각 산정한다.In step S19, the data processor 9 uses the signal in the frequency domain of the frame in step S3 to generate the energy (Esp) of the frequency band in which the feedback occurs, and the frequency band other than the frequency band where the feedback occurs. Calculate the energy (Eot) of each.

단계(S21)에서, 데이터 프로세서(9)는 에너지(Esp)와 에너지(Eot)를 비교하여, 만약 에너지(Esp)가 에너지(Eot)보다 크면 단계(S23)로 진행하고, 그렇지 않으면 단계(S25)로 진행한다.In step S21, the data processor 9 compares energy (Esp) and energy (Eot), and if the energy (Esp) is greater than the energy (Eot) proceeds to step (S23), otherwise step (S25) ).

단계(S23)에서, 데이터 프로세서(9)는 이전 프레임까지의 제 2 산정값(Fc)에 제 2 증가값(예를 들면, 30)을 합산하여 현재 프레임까지의 제 2 산정값(Fc)으로 저장한다. 데이터 프로세서(9)는 단계(S23)를 수행하고 단계(S27)로 진행한다.In step S23, the data processor 9 adds the second incremental value (for example, 30) to the second computed value Fc up to the previous frame to obtain a second computed value Fc up to the current frame. Save it. The data processor 9 performs step S23 and proceeds to step S27.

단계(S25)에서, 데이터 프로세서(9)는 이전 프레임까지의 제 2 산정값(Fc)에 제 2 감소값(예를 들면, 1)을 차감하여 현재 프레임까지의 제 2 산정값(Fc)으로 저장한다. 데이터 프로세서(9)는 단계(S25)를 수행하고 단계(S27)로 진행한다.In step S25, the data processor 9 subtracts a second decremented value (e.g., 1) from the second calculated value Fc up to the previous frame to obtain the second calculated value Fc up to the current frame. Save it. The data processor 9 performs step S25 and proceeds to step S27.

단계(S27)에서, 데이터 프로세서(9)는 현재 프레임까지의 제 2 산정값(Fc)과 제 2 기준값(Ff)를 비교하여, 만약 현재의 제 2 산정값(Fc)이 제 2 기준값(Ff)보다 크면 단계(S29)로 진행하고, 그렇지 않으면 단계(S31)로 진행한다. In step S27, the data processor 9 compares the second calculated value Fc up to the current frame with the second reference value Ff, and if the current second calculated value Fc is the second reference value Ff If it is greater than ), the process proceeds to step S29, otherwise the process proceeds to step S31.

단계(S29)에서, 데이터 프로세서(9)는 현재 프레임까지의 음향 신호에 피드백의 발생으로 제 2 결과값(R2)(예를 들면, 논리값 T)을 설정하여 저장부(7)에 저장한다. 데이터 프로세서(9)는 단계(S29)를 수행하고 단계(S33)로 진행한다. In step S29, the data processor 9 sets the second result value R2 (for example, a logical value T) by generating feedback on the acoustic signal up to the current frame and stores it in the storage unit 7 . The data processor 9 performs step S29 and proceeds to step S33.

단계(S31)에서, 데이터 프로세서(9)는 현재 프레임까지의 음향 신호에 피드백의 미발생으로 제 2 결과값(R2)(예를 들면, 논리값 F)을 설정하여 저장부(7)에 저장한다. 데이터 프로세서(9)는 단계(S31)를 수행하고 단계(S33)로 진행한다. In step S31, the data processor 9 sets the second result value R2 (e.g., a logic value F) due to no feedback on the acoustic signal up to the current frame and stores it in the storage unit 7 do. The data processor 9 performs step S31 and proceeds to step S33.

단계(S33)에서, 데이터 프로세서(9)는 VAD 성능 데이터를 저장부(7)에서 판독하여, VAD 성능이 기준 성능 이상인지를 판단한다. 만약 기준 성능 이상이면 단계(S35)로 진행하고, 그렇지 않으면 단계(S37)로 진행한다. In step S33, the data processor 9 reads the VAD performance data from the storage unit 7 to determine whether the VAD performance is equal to or greater than the reference performance. If it is more than the reference performance, the process proceeds to step S35, otherwise the process proceeds to step S37.

단계(S35)에서, 데이터 프로세서(9)는 VAD 성능이 기준 성능 이상인 고성능이므로, VAD 과정에서 비음성(음성 없음)으로 판단되거나 피드백 확인 과정에서 피드백 발생으로 판단되는 경우, 피드백이 발생된 것으로 최종적으로 판단하기 위해, 제 1 결과값(R1)과 제 2 결과값(R2)을 OR 연산하여 논리 연산 처리된 결과값(R)을 저장부(7)에 저장한다. In step (S35), the data processor 9 is a high performance whose VAD performance is greater than or equal to the reference performance, so if it is determined as non-voice (no voice) in the VAD process or as feedback is generated in the feedback check process, it is finally determined that the feedback has been generated. In order to determine as, the first result value R1 and the second result value R2 are ORed and the result value R processed by the logical operation is stored in the storage unit 7.

단계(S37)에서, 데이터 프로세서(9)는 VAD 성능이 기준 성능 미만인 저성능이므로, VAD 과정에서 비음성(음성 없음)으로 판단되고 피드백 확인 과정에서 피드백 발생으로 판단되는 경우, 피드백이 발생된 것으로 최종적으로 판단하기 위해, 제 1 결과값(R1)과 제 2 결과값(R2)을 AND 연산하여 논리 연산 처리된 결과값(R)을 저장부(7)에 저장한다. In step S37, since the data processor 9 is a low-performance VAD whose performance is less than the reference performance, it is determined that it is non-voiced (no voice) in the VAD process, and if it is determined that feedback has occurred in the feedback check process, the feedback has been generated. In order to make a final decision, the first result value R1 and the second result value R2 are ANDed and the result value R processed by the logical operation is stored in the storage unit 7.

단계(S39)에서, 데이터 프로세서(9)는 결과값(R)이 최종적으로 피드백이 발생된 것(예를 들면, 논리값 T)으로 판단되면 단계(S41)로 진행하고, 그렇지 않으면 최종적으로 피드백이 발생되지 않은 것으로 판단하여 단계(S43)로 진행한다. In step S39, the data processor 9 proceeds to step S41 when it is determined that the result value R is that the feedback has finally occurred (for example, a logical value T), otherwise, the data processor 9 finally returns the feedback. It is determined that this has not occurred and proceeds to step S43.

단계(S41)에서, 데이터 프로세서(9)는 피드백을 제거하기 위해, 현재 프레임의 FFT BIN의 값을 0으로 설정하여 음소거 처리를 수행한다. In step S41, the data processor 9 performs a mute process by setting the value of the FFT BIN of the current frame to 0 in order to remove the feedback.

단계(S43)에서, 데이터 프로세서(9)는 단계(S41)에서 처리된 주파수 영역의 신호를 또는 단계(S41)의 처리가 수행되지 않은 주파수 영역의 신호를 역고속 푸리에 변환(IFFT)를 수행하여 시간 영역의 신호로 변환한다. 데이터 프로세서(9)는 시간 영역의 신호인 음향 신호를 스피커(3)에 인가하여 음 방출시키거나 통신부(5)를 통하여 외부 전기 기기로 전송하거나 저장부(7)에 저장한다. 데이터 프로세서(9)는 단계(S43)를 수행하고 단계(S45)로 진행한다. In step S43, the data processor 9 performs an inverse fast Fourier transform (IFFT) on the signal in the frequency domain processed in step S41 or the signal in the frequency domain on which the processing in step S41 has not been performed. It converts to a signal in the time domain. The data processor 9 applies a sound signal, which is a signal in the time domain, to the speaker 3 to emit sound, transmits it to an external electric device through the communication unit 5, or stores it in the storage unit 7. The data processor 9 performs step S43 and proceeds to step S45.

단계(S45)에서, 데이터 프로세서(9)는 음향 신호의 입력이 종료되었는지를 판단한다. 즉, 데이터 프로세서(9)는 마이크(1)로부터의 음향 신호 또는 통신부(5)로부터의 음향 신호 또는 저장부(7)에서 판독된 음향 신호의 입력이 종료되었으면 피드백 처리 방법을 종료하고, 그렇지 않으면 단계(S1)로 진행하여, 다음 프레임을 처리한다.In step S45, the data processor 9 determines whether the input of the sound signal has ended. That is, the data processor 9 terminates the feedback processing method if the input of the sound signal from the microphone 1, the sound signal from the communication unit 5, or the sound signal read from the storage unit 7 is ended, otherwise The process proceeds to step S1, and the next frame is processed.

상술된 단계(S5) 내지 (S17)은 VAD 과정이며, 상술된 단계(S19) 내지 (S31)은 피드백 확인 과정에 해당된다. 다만, 데이터 프로세서(9)는 피드백 확인 과정을 VAD 과정보다 먼저 수행할 수도 있고, 피드백 확인 과정과 VAD 과정을 동시에 수행할 수도 있다.The above-described steps (S5) to (S17) are VAD processes, and the above-described steps (S19) to (S31) correspond to the feedback confirmation process. However, the data processor 9 may perform the feedback check process prior to the VAD process, or simultaneously perform the feedback check process and the VAD process.

피드백 확인 과정에서, 데이터 프로세서(9)는 단계(S21)에서 에너지(Esp)와 에너지(Eot)를 비교하는 과정 대신에 에너지 비율(Esp/Eot)와 에너지 임계치를 비교할 수도 있다. 즉, 데이터 프로세서(9)는 저장부(7)에 저장된 에너지 임계치를 판독하고, 에너지 비율(Esp/Eot)이 에너지 임계치보다 크면 피드백이 발생된 것으로 판단하여 단계(S23)로 진행하고, 그렇지 않으면 단계(S25)로 진행한다. In the feedback check process, the data processor 9 may compare the energy ratio (Esp/Eot) and the energy threshold instead of comparing the energy (Esp) and the energy (Eot) in step S21. That is, the data processor 9 reads the energy threshold stored in the storage unit 7, and if the energy ratio (Esp/Eot) is greater than the energy threshold, it determines that feedback has occurred and proceeds to step S23, otherwise It proceeds to step S25.

상술된 도 2에서, 데이터 프로세서(9)는 음향 신호에 피드백이 발생했는지를 보다 정확하게 판단하기 위해, VAD 성능에 따라서 VAD 과정과 피드백 확인 과정의 결과값들을 상이하게 반영하는 점(OR 연산 또는 AND 연산)을 기재하고 있다. In FIG. 2 described above, in order to more accurately determine whether feedback has occurred in the sound signal, the data processor 9 reflects the result values of the VAD process and the feedback check process differently according to the VAD performance (OR operation or AND Operation) is described.

다른 실시예로서, 데이터 프로세서(9)는 VAD의 성능에 따라 VAD 과정과 피드백 확인 과정의 수행 여부를 결정할 수 있다. 자세하게, 데이터 프로세서(9)는 단계(S1)과 단계(S3)을 수행한 이후에, 단계(S33)과 유사하게, VAD 성능이 기준 성능 이상인 경우와, VAD 성능이 기준 성능 미만인 경우로 분리되어 설명된다. As another embodiment, the data processor 9 may determine whether to perform the VAD process and the feedback check process according to the performance of the VAD. In detail, after performing steps (S1) and (S3), the data processor 9 is divided into a case where the VAD performance is greater than or equal to the reference performance and a case where the VAD performance is less than the reference performance, similar to the step S33. Is explained.

VAD 성능이 기준 성능 이상인 경우, 데이터 프로세서(9)는 VAD 확인 과정 또는 피드백 확인 과정 중의 어느 하나를 우선 수행하고, 우선 수행된 과정에서 비음성의 판단 또는 피드백 발생의 판단으로 결정되면 단계(S41)로 진행하고, 그렇지 않고 우선 수행된 과정에서 음성의 판단 또는 피드백 미발생의 판단으로 결정되면 남은 과정을 수행하여 비음성의 판단 또는 피드백 발생의 판단으로 결정되면 단계(S41)로 진행한다. 이러한 제어를 통해 우선 수행된 과정에서 비음성의 판단 또는 피드백 발생의 판단으로 결정되면, 데이터 프로세서(9)는 남은 과정을 수행할 필요없이 단계(S41)을 진행하므로 데이터 연산량을 감소시킬 수 있다. When the VAD performance is greater than or equal to the reference performance, the data processor 9 first performs either the VAD verification process or the feedback verification process, and when it is determined as the determination of non-voice or the occurrence of feedback in the first performed process, step S41 Otherwise, if it is determined that voice or feedback has not occurred in the first process, the remaining process is performed, and if it is determined that non-speech or feedback is generated, the process proceeds to step S41. If the determination of non-speech or feedback generation is determined in the process performed first through such control, the data processor 9 proceeds to step S41 without performing the remaining process, so that the amount of data computation can be reduced.

VAD 성능이 기준 성능 미만인 경우, 데이터 프로세서(9)는 VAD 확인 과정 및 피드백 확인 과정을 각각 수행하고, 단계(S37)의 AND 연산을 수행하고 단계(S39)로 진행하면 된다. When the VAD performance is less than the reference performance, the data processor 9 may perform a VAD check process and a feedback check process, respectively, perform an AND operation in step S37, and proceed to step S39.

다양한 실시 예에 따른 장치(예: 프로세서 또는 그 기능들) 또는 방법(예: 동작들)의 적어도 일부는, 예컨대, 프로그램 모듈의 형태로 컴퓨터로 읽을 수 있는 저장매체(computer-readable storage media)에 저장된 명령어로 구현될 수 있다. 상기 명령어가 프로세서에 의해 실행될 경우, 상기 하나 이상의 프로세서가 상기 명령어에 해당하는 기능을 수행할 수 있다. 컴퓨터로 읽을 수 있는 저장매체는, 예를 들면, 메모리가 될 수 있다.At least a part of a device (eg, a processor or its functions) or a method (eg, operations) according to various embodiments is, for example, in a computer-readable storage media in the form of a program module. It can be implemented with stored instructions. When the command is executed by a processor, the one or more processors may perform a function corresponding to the command. The computer-readable storage medium may be, for example, a memory.

컴퓨터로 판독 가능한 기록 매체는, 하드디스크, 플로피디스크, 마그네틱 매체(magnetic media)(예:자기테이프), 광기록 매체(optical media)(예: CD-ROM, DVD(Digital Versatile Disc), 자기-광 매체(magnetoopticalmedia)(예: 플롭티컬 디스크(floptical disk)), 하드웨어 장치(예: ROM, RAM, 또는 플래시 메모리 등)등을 포함할 수 있다. 또한, 프로그램 명령에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함할 수 있다. 상술한 하드웨어 장치는 다양한 실시 예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지다.Computer-readable recording media include hard disks, floppy disks, magnetic media (e.g. magnetic tape), optical media (e.g. CD-ROM, DVD (Digital Versatile Disc), magnetic- It may include optical media (eg floptical disk), hardware devices (eg ROM, RAM, flash memory, etc.), etc. In addition, program instructions, such as those made by a compiler, may be included. It may include not only machine code but also high-level language code that can be executed by a computer using an interpreter, etc. The above-described hardware device may be configured to operate as one or more software modules to perform operations of various embodiments. The same goes for vice versa.

다양한 실시 예에 따른 프로세서 또는 프로세서에 의한 기능들은 전술한 구성요소들 중 적어도 하나 이상을 포함하거나, 일부가 생략되거나, 또는 추가적인 다른 구성요소를 더 포함할 수 있다. 다양한 실시 예에 따른 모듈, 프로그램 모듈 또는 다른 구성요소에 의해 수행되는 동작들은 순차적, 병렬적, 반복적 또는 휴리스틱(heuristic)한 방법으로 실행될 수 있다. 또한, 일부 동작은 다른 순서로 실행되거나, 생략되거나, 또는 다른 동작이 추가될 수 있다.A processor or functions performed by the processor according to various embodiments of the present disclosure may include at least one or more of the above-described components, some of the above-described components may be omitted, or additional other components may be further included. Operations performed by a module, a program module, or other components according to various embodiments may be executed sequentially, in parallel, repeatedly, or in a heuristic manner. Also, some operations may be executed in a different order, omitted, or other operations may be added.

이상 설명한 바와 같이, 본 발명은 상술한 특정의 바람직한 실시예에 한정되지 아니하며, 청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 누구든지 다양한 변형의 실시가 가능한 것은 물론이고, 그와 같은 변경은 청구범위 기재의 범위 내에 있게 된다.As described above, the present invention is not limited to the specific preferred embodiment described above, and anyone with ordinary knowledge in the technical field to which the present invention belongs without departing from the gist of the present invention claimed in the claims It goes without saying that modifications can be made, and such changes are within the scope of the claims.

1: 마이크 3: 스피커
5: 통신부 7: 저장부
1: microphone 3: speaker
5: communication unit 7: storage unit

Claims (6)

음향 신호를 입력 받는 단계와;
입력된 음향 신호를 프레임 단위로 주파수 영역의 신호로 변환하는 단계와;
주파수 영역으로 변환된 음향 신호의 프레임 각각에 대하여, VAD 과정 및 피드백 확인 과정을 수행하는 단계와;
기저장된 VAD 성능에 따라서, VAD 과정의 음성 판단 결과와 피드백 확인 과정의 피드백 발생 판단 결과 간의 논리 연산을 수행하는 단계와;
논리 연산의 수행 단계에서의 결과값을 기준으로 최종 피드백 발생 결과를 판단하는 단계와;
판단 단계의 최종 피드백 발생 결과에 따라 음소거 처리를 수행하는 단계를 포함하되,
VAD 과정을 수행하는 단계는:
현재 프레임에서 음성 주파수 영역의 에너지의 평균값(Mve)과 비음성 주파수 영역의 에너지의 평균값(Mne)을 각각 산정하는 단계와;
프레임마다 평균값(Mve)이 평균값(Mne)보다 큰 경우의 횟수에 대응하는 현재의 제 1 산정값(Vc)을 산정하되, 평균값(Mve)이 평균값(Mne)보다 큰 경우에는 이전의 제 1 산정값(Vc)에 제 1 증가값을 합산하여 현재 프레임에서의 제 1 산정값(Vc)으로 저장하고, 평균값(Mve)이 평균값(Mne)보다 작거나 같은 경우에는 이전의 제 1 산정값(Vc)에 제 1 감소값을 차감하여 현재 프레임에서의 제 1 산정값(Vc)으로 저장하는 단계와;
현재의 제 1 산정값(Vc)이 제 1 기준값(Vf)보다 크면 음성이 있는 것으로 판단하고, 그렇지 않으면 음성이 없는 것으로 판단하는 단계를 포함하는 것을 특징으로 하는 피드백 처리 방법.
Receiving an audio signal;
Converting the input sound signal into a frequency domain signal in a frame unit;
Performing a VAD process and a feedback check process for each frame of the sound signal converted to the frequency domain;
Performing a logical operation between the voice determination result of the VAD process and the feedback generation determination result of the feedback verification process according to the previously stored VAD performance;
Determining a result of generating a final feedback based on a result value in the step of performing a logical operation;
Including the step of performing mute processing according to the result of the final feedback generation in the determination step,
The steps to perform the VAD process are:
Calculating an average value (Mve) of energy in the voice frequency domain and an average value (Mne) of energy in the non-speech frequency domain in the current frame;
For each frame, the current first calculated value (Vc) corresponding to the number of times when the average value (Mve) is greater than the average value (Mne) is calculated, but if the average value (Mve) is greater than the average value (Mne), the previous first calculation The first increment value is added to the value Vc and stored as the first calculated value Vc in the current frame. If the average value Mve is less than or equal to the average value Mne, the previous first calculated value Vc Subtracting the first reduction value from) and storing it as a first calculated value Vc in the current frame;
And determining that there is a voice if the current first calculated value Vc is greater than the first reference value Vf, and if not, determining that there is no voice.
제 1 항에 있어서,
논리 연산의 수행 단계에서 VAD 성능이 기준 성능 이상인 경우, 판단 단계에서 VAD 과정의 음성 판단 결과 및 피드백 확인 과정의 피드백 발생 판단 결과를 OR 연산하고,
논리 연산의 수행 단계에서 VAD 성능이 기준 성능 미만인 경우, 판단 단계에서 VAD 과정의 음성 판단 결과 및 피드백 확인 과정의 피드백 발생 판단 결과를 AND 연산하는 것을 특징으로 하는 피드백 처리 방법.
The method of claim 1,
If the VAD performance is greater than or equal to the reference performance in the execution step of the logical operation, the voice determination result of the VAD process and the feedback occurrence determination result of the feedback check process are ORed in the determination step
When the VAD performance is less than the reference performance in the performing step of the logical operation, the voice determination result of the VAD process and the feedback generation determination result of the feedback check step are ANDed in the determination step.
제 1 항에 있어서,
피드백 확인 과정을 수행하는 단계는:
현재 프레임에서 피드백이 발생하는 주파수 대역이 에너지(Esp)와 피드백이 발생하는 주파수 대역 이외의 주파수 대역의 에너지(Eot)를 각각 산정하는 단계와;
프레임마다 에너지(Esp)가 에너지(Eot)보다 큰 경우의 횟수에 대응하는 제 2 산정값(Fc)을 산정하되,
에너지(Esp)가 에너지(Eot)보다 큰 경우에는 이전의 제 2 산정값(Fc)에 제 2 증가값을 합산하여 제 2 산정값(Fc)으로 저장하고, 에너지(Esp)가 에너지(Eot)보다 작거나 같은 경우에는 이전의 제 2 산정값(Fc)에 제 2 감소값을 차감하여 제 2 산정값(Fc)으로 저장하는 단계와;
제 2 산정값(Fc)이 제 2 기준값(Ff)보다 크면 피드백 발생이 있는 것으로 판단하고, 그렇지 않으면 피드백 발생이 없는 것으로 판단하는 단계를 포함하는 것을 특징으로 하는 피드백 처리 방법.
The method of claim 1,
The steps to perform the feedback verification process are:
Calculating energy (Esp) in a frequency band where feedback occurs in the current frame and energy (Eot) in a frequency band other than the frequency band in which feedback occurs, respectively;
For each frame, a second calculated value Fc corresponding to the number of times when the energy Esp is greater than the energy Eot is calculated,
If the energy (Esp) is greater than the energy (Eot), the second increase value is added to the previous second calculated value (Fc) and stored as a second calculated value (Fc), and the energy (Esp) is the energy (Eot). If it is less than or equal to, subtracting the second reduction value from the previous second calculated value Fc and storing it as a second calculated value Fc;
And determining that there is no feedback if the second calculated value Fc is larger than the second reference value Ff, and if not, determining that there is no feedback.
제 3 항에 있어서,
피드백이 발생하는 주파수 대역은 5,750~6,500Hz인 것을 특징으로 하는 피드백 처리 방법.
The method of claim 3,
Feedback processing method, characterized in that the frequency band in which the feedback occurs is 5,750 ~ 6,500Hz.
삭제delete 삭제delete
KR1020180164888A 2018-12-19 2018-12-19 Feedback processing apparatus KR102167469B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020180164888A KR102167469B1 (en) 2018-12-19 2018-12-19 Feedback processing apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180164888A KR102167469B1 (en) 2018-12-19 2018-12-19 Feedback processing apparatus

Publications (2)

Publication Number Publication Date
KR20200076127A KR20200076127A (en) 2020-06-29
KR102167469B1 true KR102167469B1 (en) 2020-10-19

Family

ID=71401236

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180164888A KR102167469B1 (en) 2018-12-19 2018-12-19 Feedback processing apparatus

Country Status (1)

Country Link
KR (1) KR102167469B1 (en)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007053512A (en) 2005-08-17 2007-03-01 Sony Corp Echo canceller and microphone device
KR100836522B1 (en) 2003-12-12 2008-06-12 모토로라 인코포레이티드 A downlink activity and double talk probability detector and method for an echo canceler circuit
JP2008141507A (en) 2006-12-01 2008-06-19 Toshiba Corp Information processor and program
JP2011061449A (en) 2009-09-09 2011-03-24 Oki Electric Industry Co Ltd Echo canceller
KR101231866B1 (en) 2012-09-11 2013-02-08 (주)알고코리아 Hearing aid for cancelling a feedback noise and controlling method therefor
US20170214800A1 (en) * 2014-10-08 2017-07-27 JVC Kenwood Corporation Echo cancellation device, non-transitory computer readable medium storing echo cancellation program, and echo cancellation

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100363252B1 (en) 1999-04-30 2002-11-30 삼성전자 주식회사 Adaptive feedback cancellation apparatus and method for multi-band compression hearing aids

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100836522B1 (en) 2003-12-12 2008-06-12 모토로라 인코포레이티드 A downlink activity and double talk probability detector and method for an echo canceler circuit
JP2007053512A (en) 2005-08-17 2007-03-01 Sony Corp Echo canceller and microphone device
JP2008141507A (en) 2006-12-01 2008-06-19 Toshiba Corp Information processor and program
JP2011061449A (en) 2009-09-09 2011-03-24 Oki Electric Industry Co Ltd Echo canceller
KR101231866B1 (en) 2012-09-11 2013-02-08 (주)알고코리아 Hearing aid for cancelling a feedback noise and controlling method therefor
US20170214800A1 (en) * 2014-10-08 2017-07-27 JVC Kenwood Corporation Echo cancellation device, non-transitory computer readable medium storing echo cancellation program, and echo cancellation

Also Published As

Publication number Publication date
KR20200076127A (en) 2020-06-29

Similar Documents

Publication Publication Date Title
US10848887B2 (en) Blocked microphone detection
TWI459828B (en) Method and system for scaling ducking of speech-relevant channels in multi-channel audio
US10553236B1 (en) Multichannel noise cancellation using frequency domain spectrum masking
US10755728B1 (en) Multichannel noise cancellation using frequency domain spectrum masking
WO2021022094A1 (en) Per-epoch data augmentation for training acoustic models
JP2015519602A5 (en)
EP3276621B1 (en) Noise suppression device and noise suppressing method
US10136222B2 (en) Signal processing apparatus and signal processing method to reduce external noise
JP6764923B2 (en) Speech processing methods, devices, devices and storage media
JP5003419B2 (en) Sound processing apparatus and program
JP6098149B2 (en) Audio processing apparatus, audio processing method, and audio processing program
US9002030B2 (en) System and method for performing voice activity detection
US8793128B2 (en) Speech signal processing system, speech signal processing method and speech signal processing method program using noise environment and volume of an input speech signal at a time point
JP6067391B2 (en) Peak detection when adapting signal gain based on signal volume
JP6284003B2 (en) Speech enhancement apparatus and method
KR102167469B1 (en) Feedback processing apparatus
WO2021152299A1 (en) Systems and methods for on ear detection of headsets
JP2019020678A (en) Noise reduction device and voice recognition device
WO2010106734A1 (en) Audio signal processing device
JP2012022127A (en) Voice recognizer
JP7257834B2 (en) Speech processing device, speech processing method, and speech processing system
JP3118023B2 (en) Voice section detection method and voice recognition device
KR20110090600A (en) Method and apparatus for removing noise signal from input signal
US10600432B1 (en) Methods for voice enhancement
JP2001228893A (en) Speech-recognizing device

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant