KR102266780B1 - 음성 통신 환경에서 발생하는 클리핑 현상 완화 및 마이크 입력 신호, 에러 신호 및 원단 신호의 상관관계를 이용한 음성 왜곡 감소 업데이트 방법 및 장치 - Google Patents

음성 통신 환경에서 발생하는 클리핑 현상 완화 및 마이크 입력 신호, 에러 신호 및 원단 신호의 상관관계를 이용한 음성 왜곡 감소 업데이트 방법 및 장치 Download PDF

Info

Publication number
KR102266780B1
KR102266780B1 KR1020190080614A KR20190080614A KR102266780B1 KR 102266780 B1 KR102266780 B1 KR 102266780B1 KR 1020190080614 A KR1020190080614 A KR 1020190080614A KR 20190080614 A KR20190080614 A KR 20190080614A KR 102266780 B1 KR102266780 B1 KR 102266780B1
Authority
KR
South Korea
Prior art keywords
filter
echo
echo cancellation
signal
clipping
Prior art date
Application number
KR1020190080614A
Other languages
English (en)
Other versions
KR20210004340A (ko
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 KR1020190080614A priority Critical patent/KR102266780B1/ko
Publication of KR20210004340A publication Critical patent/KR20210004340A/ko
Application granted granted Critical
Publication of KR102266780B1 publication Critical patent/KR102266780B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B3/00Line transmission systems
    • H04B3/02Details
    • H04B3/20Reducing echo effects or singing; Opening or closing transmitting path; Conditioning for transmission in one direction or the other
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B3/00Line transmission systems
    • H04B3/02Details
    • H04B3/20Reducing echo effects or singing; Opening or closing transmitting path; Conditioning for transmission in one direction or the other
    • H04B3/23Reducing echo effects or singing; Opening or closing transmitting path; Conditioning for transmission in one direction or the other using a replica of transmitted signal in the time domain, e.g. echo cancellers
    • H04B3/235Reducing echo effects or singing; Opening or closing transmitting path; Conditioning for transmission in one direction or the other using a replica of transmitted signal in the time domain, e.g. echo cancellers combined with adaptive equaliser
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04RLOUDSPEAKERS, MICROPHONES, GRAMOPHONE PICK-UPS OR LIKE ACOUSTIC ELECTROMECHANICAL TRANSDUCERS; DEAF-AID SETS; PUBLIC ADDRESS SYSTEMS
    • H04R3/00Circuits for transducers, loudspeakers or microphones
    • H04R3/02Circuits for transducers, loudspeakers or microphones for preventing acoustic reaction, i.e. acoustic oscillatory feedback

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Otolaryngology (AREA)
  • Physics & Mathematics (AREA)
  • Acoustics & Sound (AREA)
  • Telephone Function (AREA)
  • Cable Transmission Systems, Equalization Of Radio And Reduction Of Echo (AREA)

Abstract

음성 통신 환경에서 발생하는 클리핑 현상 완화 및 마이크 입력 신호, 에러 신호 및 원단 신호의 상관관계를 이용한 음성 왜곡 감소 업데이트 방법 및 장치가 제시된다. 일 실시예에 따른 음성 통신 환경에서 발생하는 클리핑 현상 완화 및 음성 왜곡 감소 업데이트 방법은, 마이크 입력 신호의 크기를 이용하여 클리핑 여부를 판단하고, 상기 클리핑 여부에 따라 서로 다른 에코 제거 필터를 통해 실시간으로 에코를 제거하는 단계; 및 에코 제거 후, 잔여 에코가 남은 신호, 원단 신호(far-end) 및 상기 마이크 입력 신호를 이용하여 상관관계를 계산하고, 상기 상관관계에 따라 다른 비율로 업데이트하는 잔여 에코 제거 필터를 구성하여 잔여 에코를 제거하는 단계를 포함하여 이루어질 수 있다.

Description

음성 통신 환경에서 발생하는 클리핑 현상 완화 및 마이크 입력 신호, 에러 신호 및 원단 신호의 상관관계를 이용한 음성 왜곡 감소 업데이트 방법 및 장치{METHOD AND APPARATUS FOR REDUCING SPEECH DISTORTION BY MITIGATING CLIPPING PHENOMENON AND USING CORRELATION BETWEEN MICROPHONE INPUT SIGNAL, ERROR SIGNAL, AND FAR END SIGNAL OCCURRING IN A VOICE COMMUNICATION ENVIRONMENT}
아래의 실시예들은 클리핑 현상 완화 및 음성 왜곡 감소 방법 및 장치에 관한 것으로, 더욱 상세하게는 음성 통신 환경에서 발생하는 클리핑 현상 완화 및 마이크 입력 신호, 에러 신호 및 원단 신호의 상관관계를 이용한 음성 왜곡 감소 업데이트 방법 및 장치에 관한 것이다.
음성 통신(speech communication)은 음성 통신 사용자끼리 상호간의 의사소통을 위해 사용자의 발화된 음성을 상대방에게 전달하는 기술에 기반하고 있으며, 최근에는 전화뿐만 아니라 화상회의, 컨퍼런스콜 등의 다양한 분야에서 많이 활용되고 있다. 이상적으로는 음성 통신의 경우 발화자의 깨끗한 음성신호만 전달되어야 하나, 상대방의 발화가 스피커로 재생되어 다시 마이크로 입력되는 에코 현상을 야기시키며 이러한 에코 신호가 제거되지 않으면 오히려 마이크와 스피커의 하울링(howling) 현상으로 인해 발화자의 음성신호는 증폭된 상대방의 음성신호에 마스킹(masking)되어 전혀 들리지 않게 된다. 이러한 이유로 음성 통신의 경우 이 에코 성분을 제거함으로써 음성품질 향상을 기대할 수 있다.
그러나, 마이크 입력을 너무 크게 하여 에코 신호를 제거하는 필터를 업데이트 하지 못하거나 두 발화자가 동시에 이야기하는 더블 톡(double-talk) 구간에서는 에코 신호는 잘 제거하나 전달해야 하는 깨끗한 음성신호도 함께 제거하여 오히려 성능이 저하되는 경향이 보인다.
기존의 에코 제거 기술 중 실시간 음성 통신에 적용할 수 있는 기술들이 활발하게 연구되어 구현되어 있다. 기존의 에코 제거 기술은 마이크가 수용할 수 있는 음성크기를 넘어서는 클리핑(clipping) 환경에 대해 고려되어 있지 않기 때문에 클리핑(clipping)이 일어났을 때 에코 제거 필터가 원하지 않는 방향으로 업데이트 되어 오히려 에코를 증폭시키는 현상을 야기하며, 특히 더블 톡 구간에서는 에코 제거를 위해 전달해야 할 발화자의 깨끗한 음성신호도 함께 제거하여 음성 통신 간 상대방이 발화하는 음성을 알아듣지 못한다는 문제점이 있다. 이는 에코 제거에 사용되는 필터들의 업데이트 비율이 상황에 따라 항상 같은 비율로 업데이트 해주기 때문에 업데이트하지 않아야 할 상황에서도 업데이트하여 에코를 증폭시키거나 음성을 제거하는 경향이 있기 때문이다.
한국등록특허 10-0790770호는 이러한 에코 소거기 회로 및 이중 대화 활동 검출 방법에 관한 기술을 기재하고 있다.
한국등록특허 10-0790770호
실시예들은 음성 통신 환경에서 발생하는 클리핑 현상 완화 및 마이크 입력 신호, 에러 신호 및 원단 신호의 상관관계를 이용한 음성 왜곡 감소 업데이트 방법 및 장치에 관하여 기술하며, 보다 구체적으로 두 개의 경로 필터(two path filer)와 상관관계를 이용한 추정 구간별 잔여 에코 필터(residual echo filter)의 업데이트 기술을 제공한다.
실시예들은 마이크가 받을 수 있는 크기를 넘어서는 음성 데이터 값에 대해 별도의 필터로 제거하는 기술과 더블 톡 구간에서 추정되는 상관 계수 값에 따라 업데이트 비율을 다르게 함으로써, 클리핑 현상이 발생할 때 에코 제거 필터의 발산을 억제하고, 더블 톡 구간에서의 음성 왜곡을 최소화하는, 음성 통신 환경에서 발생하는 클리핑 현상 완화 및 음성 왜곡 감소 업데이트 방법 및 장치를 제공하는데 있다.
일 실시예에 따른 음성 통신 환경에서 발생하는 클리핑 현상 완화 및 음성 왜곡 감소 업데이트 방법은, 마이크 입력 신호의 크기를 이용하여 클리핑 여부를 판단하고, 상기 클리핑 여부에 따라 서로 다른 에코 제거 필터를 통해 실시간으로 에코를 제거하는 단계; 및 에코 제거 후, 잔여 에코가 남은 신호, 원단 신호(far-end) 및 상기 마이크 입력 신호를 이용하여 상관관계를 계산하고, 상기 상관관계에 따라 다른 비율로 업데이트하는 잔여 에코 제거 필터를 구성하여 잔여 에코를 제거하는 단계를 포함하여 이루어질 수 있다.
상기 에코 제거 필터를 통해 실시간으로 에코를 제거하는 단계는, 매 프레임마다 입력되는 상기 마이크 입력 신호의 크기를 이용하여 클리핑 여부를 판단하는 단계; 및 클리핑이 발생하는 것으로 판단되는 경우, NLMS(Normalized Least Mean Squares) 기반 에코 제거 필터를 이용하여 실시간 에코를 제거하는 단계를 포함할 수 있다.
상기 NLMS 기반 에코 제거 필터를 이용하여 실시간 에코를 제거하는 단계는, 원단 신호(far-end)와 상기 마이크 입력 신호를 이용하여 상기 NLMS 기반 에코 제거 필터를 업데이트 및 적용하여 실시간 에코를 제거할 수 있다.
상기 NLMS 기반 에코 제거 필터를 이용하여 실시간 에코를 제거하는 단계는, 상기 NLMS 기반 에코 제거 필터의 이전 필터에서 현재의 원단 신호와 에러 신호의 상관관계(correlation)를 연산하여 단계 크기(stepsize)만큼 업데이트 할 수 있다.
상기 에코 제거 필터를 통해 실시간으로 에코를 제거하는 단계는, 상기 클리핑 여부를 판단한 결과, 클리핑이 발생하지 않는 것으로 판단되는 경우, 두 개의 경로 필터(two path filer)를 이용하여 에코 신호를 제거하는 단계를 더 포함할 수 있다.
상기 두 개의 경로 필터를 이용하여 에코 신호를 제거하는 단계는, 전경 필터(foreground filter)와 배경 필터(background filter)를 포함하는 상기 두 개의 경로 필터(two path filer)에 입력된 신호들을 이용하여 배경 필터(background filter)만 우선 업데이트한 후, 상기 전경 필터(foreground filter)와 배경 필터(background filter)가 모두 에코 신호를 추정하게 되며, 두 개의 상기 전경 필터(foreground filter)와 배경 필터(background filter)를 통과한 에러 신호의 파워 중 더 작은 값을 갖는 필터를 상기 전경 필터(foreground filter)와 배경 필터(background filter)에 동시에 저장할 수 있다.
상기 상관관계에 따라 다른 비율로 업데이트하는 잔여 에코 제거 필터를 구성하여 잔여 에코를 제거하는 단계는, 에코 제거 후, 상기 에코 제거 필터를 통과한 에러 신호, 원단 신호(far-end) 및 상기 마이크 입력 신호를 이용하여 코히어런스(coherence)를 계산하는 단계; 계산된 상기 코히어런스(coherence)를 이용하여 에코 상태 여부를 판단하는 단계; 에코 상태로 판단되는 경우, 더블 톡 구간에서 상기 코히어런스(coherence)에 따라 다른 비율로 업데이트하는 잔여 에코 제거 필터를 구성하여, 더블 톡 구간에서 발화자의 음성이 왜곡되지 않도록 잔여 에코 제거 필터를 업데이트 하는 단계; 및 상기 잔여 에코 제거 필터를 업데이트 후 계산된 게인(Gain)을 상기 잔여 에코 제거 필터에 적용하여 잔여 에코를 제거하는 단계를 포함할 수 있다.
다른 실시예에 따른 음성 통신 환경에서 발생하는 클리핑 현상 완화 및 음성 왜곡 감소 업데이트 장치는, 마이크 입력 신호의 크기를 이용하여 클리핑 여부를 판단하고, 상기 클리핑 여부에 따라 서로 다른 에코 제거 필터를 통해 실시간으로 에코를 제거하는 에코 제거부; 및 상기 에코 제거부에서 에코 제거 후, 잔여 에코가 남은 신호, 원단 신호(far-end) 및 상기 마이크 입력 신호를 이용하여 상관관계를 계산하고, 상기 상관관계에 따라 다른 비율로 업데이트하는 잔여 에코 제거 필터를 구성하여 잔여 에코를 제거하는 잔여 에코 제거부를 포함하여 이루어질 수 있다.
상기 에코 제거부는, 매 프레임마다 입력되는 상기 마이크 입력 신호의 크기를 이용하여 클리핑 여부를 판단하는 클리핑 판단부; 및 클리핑이 발생하는 것으로 판단되는 경우, NLMS(Normalized Least Mean Squares) 기반 에코 제거 필터를 이용하여 실시간 에코를 제거하는 NLMS 기반 필터부를 포함할 수 있다.
상기 NLMS 기반 필터부는, 원단 신호(far-end)와 상기 마이크 입력 신호를 이용하여 상기 NLMS 기반 에코 제거 필터를 업데이트 및 적용하여 실시간 에코를 제거할 수 있다.
상기 NLMS 기반 필터부는, 상기 NLMS 기반 에코 제거 필터의 이전 필터에서 현재의 원단 신호와 에러 신호의 상관관계(correlation)를 연산하여 단계 크기(stepsize)만큼 업데이트 할 수 있다.
상기 클리핑 여부를 판단한 결과, 클리핑이 발생하지 않는 것으로 판단되는 경우, 두 개의 경로 필터(two path filer)를 이용하여 에코 신호를 제거하는 두 개의 경로 필터부를 더 포함할 수 있다.
상기 두 개의 경로 필터부는, 전경 필터(foreground filter)와 배경 필터(background filter)를 포함하는 상기 두 개의 경로 필터(two path filer)에 입력된 신호들을 이용하여 배경 필터(background filter)만 우선 업데이트한 후, 상기 전경 필터(foreground filter)와 배경 필터(background filter)가 모두 에코 신호를 추정하게 되며, 두 개의 상기 전경 필터(foreground filter)와 배경 필터(background filter)를 통과한 에러 신호의 파워 중 더 작은 값을 갖는 필터를 상기 전경 필터(foreground filter)와 배경 필터(background filter)에 동시에 저장할 수 있다.
상기 잔여 에코 제거부는, 에코 제거 후, 상기 에코 제거 필터를 통과한 에러 신호, 원단 신호(far-end) 및 상기 마이크 입력 신호를 이용하여 코히어런스(coherence)를 계산하는 코히어런스 산정부; 계산된 상기 코히어런스(coherence)를 이용하여 에코 상태 여부를 판단하는 에코 상태 판단부; 에코 상태로 판단되는 경우, 더블 톡 구간에서 상기 코히어런스(coherence)에 따라 다른 비율로 업데이트하는 잔여 에코 제거 필터를 구성하여, 더블 톡 구간에서 발화자의 음성이 왜곡되지 않도록 잔여 에코 제거 필터를 업데이트 하는 업데이트부; 및 상기 잔여 에코 제거 필터를 업데이트 후 계산된 게인(Gain)을 상기 잔여 에코 제거 필터에 적용하여 잔여 에코를 제거하는 게인 적용부를 포함할 수 있다.
실시예들에 따르면 마이크가 받을 수 있는 크기를 넘어서는 음성 데이터 값에 대해 별도의 필터로 제거하는 기술과 더블 톡 구간에서 추정되는 상관 계수 값에 따라 업데이트 비율을 다르게 함으로써, 클리핑 현상이 발생할 때 에코 제거 필터의 발산을 억제하고, 더블 톡 구간에서의 음성 왜곡을 최소화하는, 음성 통신 환경에서 발생하는 클리핑 현상 완화 및 음성 왜곡 감소 업데이트 방법 및 장치를 제공할 수 있다.
도 1a은 일 실시예에 따른 음성 통신 환경에서 발생하는 클리핑 현상 완화 및 음성 왜곡 감소 업데이트 방법을 나타내는 흐름도이다.
도 1b는 일 실시예에 따른 에코 제거 방법을 나타내는 흐름도이다.
도 1c는 일 실시예에 따른 잔여 에코 제거 방법을 나타내는 흐름도이다.
도 2는 일 실시예에 따른 음성 통신 환경에서 발생하는 클리핑 현상 완화 및 음성 왜곡 감소 업데이트 장치를 설명하기 위한 블록도이다.
도 3은 일 실시예에 따른 클리핑 발생 환경을 고려한 에코 제거부를 설명하기 위한 도면이다.
도 4는 일 실시예에 따른 음성 왜곡 완화를 위한 잔여 에코 제거부를 설명하기 위한 도면이다.
도 5는 일 실시예에 따른 에코 상태가 아닌 구간의 코히어런스 업데이트 및 잔여 에코 제거를 설명하기 위한 도면이다.
도 6은 에코 상태의 구간의 코히어런스 업데이트 및 잔여 에코 제거를 설명하기 위한 도면이다.
도 7은 일 실시예에 따른 추정된 코히어런스 값에 따른 업데이트 비율 적용 그래프를 나타낸다.
도 8은 종래 기술의 클리핑 환경에서 마이크 입력과 에코 제거 이후 신호를 나타내는 도면이다.
도 9는 일 실시예에 따른 클리핑 환경에서 마이크 입력과 에코 제거 이후 신호를 나타내는 도면이다.
도 10은 종래 기술의 더블 톡 환경에서 마이크 입력과 에코 제거 이후 신호를 나타내는 도면이다.
도 11은 일 실시예에 따른 더블 톡 환경에서 마이크 입력과 에코 제거 이후 신호를 나타내는 도면이다.
이하, 첨부된 도면을 참조하여 실시예들을 설명한다. 그러나, 기술되는 실시예들은 여러 가지 다른 형태로 변형될 수 있으며, 본 발명의 범위가 이하 설명되는 실시예들에 의하여 한정되는 것은 아니다. 또한, 여러 실시예들은 당해 기술분야에서 평균적인 지식을 가진 자에게 본 발명을 더욱 완전하게 설명하기 위해서 제공되는 것이다. 도면에서 요소들의 형상 및 크기 등은 보다 명확한 설명을 위해 과장될 수 있다.
아래의 실시예들은 마이크 입력이 클리핑(clipping) 현상을 야기시키거나 더블 톡(double-talk) 구간에서의 성능을 개선시키기 위한 방법으로 두 개의 경로 필터(two path filer)와 상관관계를 이용한 추정 구간별 잔여 에코 필터(residual echo filter)의 업데이트 방법을 제시한다.
보다 구체적으로, 마이크가 받을 수 있는 크기를 넘어서는 음성 데이터 값에 대해 별도의 필터로 제거하는 기술과 더블 톡 구간에서 추정되는 상관 계수 값에 따라 업데이트 비율을 다르게 함으로써, 클리핑 현상이 발생할 때 에코 제거 필터의 발산을 억제하고, 더블 톡 구간에서의 음성 왜곡을 최소화하는 방법을 제공할 수 있다.
도 1a은 일 실시예에 따른 음성 통신 환경에서 발생하는 클리핑 현상 완화 및 음성 왜곡 감소 업데이트 방법을 나타내는 흐름도이다. 또한, 도 1b는 일 실시예에 따른 에코 제거 방법을 나타내는 흐름도이고, 도 1c는 일 실시예에 따른 잔여 에코 제거 방법을 나타내는 흐름도이다.
도 1a을 참조하면, 일 실시예에 따른 음성 통신 환경에서 발생하는 클리핑 현상 완화 및 음성 왜곡 감소 업데이트 방법은, 마이크 입력 신호의 크기를 이용하여 클리핑 여부를 판단하고, 클리핑 여부에 따라 서로 다른 에코 제거 필터를 통해 실시간으로 에코를 제거하는 단계(S110), 및 에코 제거 후, 잔여 에코가 남은 신호, 원단 신호(far-end) 및 마이크 입력 신호를 이용하여 상관관계를 계산하고, 상관관계에 따라 다른 비율로 업데이트하는 잔여 에코 제거 필터를 구성하여 잔여 에코를 제거하는 단계(S120)를 포함하여 이루어질 수 있다.
도 1b를 참조하면, 단계(S110)는, 매 프레임마다 입력되는 마이크 입력 신호의 크기를 이용하여 클리핑 여부를 판단하는 단계(S111), 및 클리핑이 발생하는 것으로 판단되는 경우, NLMS(Normalized Least Mean Squares) 기반 에코 제거 필터를 이용하여 실시간 에코를 제거하는 단계(S112)를 포함할 수 있다. 또한, 단계(S110)는, 클리핑 여부를 판단한 결과, 클리핑이 발생하지 않는 것으로 판단되는 경우, 두 개의 경로 필터(two path filer)를 이용하여 에코 신호를 제거하는 단계(S113)를 더 포함할 수 있다.
도 1c를 참조하면, 단계(S120)는, 에코 제거 후, 에코 제거 필터를 통과한 에러 신호, 원단 신호(far-end) 및 마이크 입력 신호를 이용하여 코히어런스(coherence)를 계산하는 단계(S121), 계산된 코히어런스(coherence)를 이용하여 에코 상태 여부를 판단하는 단계(S122), 에코 상태로 판단되는 경우, 더블 톡 구간에서 코히어런스(coherence)에 따라 다른 비율로 업데이트하는 잔여 에코 제거 필터를 구성하여, 더블 톡 구간에서 발화자의 음성이 왜곡되지 않도록 잔여 에코 제거 필터를 업데이트 하는 단계(S123), 및 잔여 에코 제거 필터를 업데이트 후 계산된 게인(Gain)을 잔여 에코 제거 필터에 적용하여 잔여 에코를 제거하는 단계(S124)를 포함할 수 있다.
아래에서 일 실시예에 따른 음성 통신 환경에서 발생하는 클리핑 현상 완화 및 음성 왜곡 감소 업데이트 방법을 보다 상세히 설명하기로 한다.
일 실시예에 따른 음성 통신 환경에서 발생하는 클리핑 현상 완화 및 음성 왜곡 감소 업데이트 방법은 일 실시예에 따른 음성 통신 환경에서 발생하는 클리핑 현상 완화 및 음성 왜곡 감소 업데이트 장치를 이용하여 보다 구체적으로 설명할 수 있다.
도 2는 일 실시예에 따른 음성 통신 환경에서 발생하는 클리핑 현상 완화 및 음성 왜곡 감소 업데이트 장치를 설명하기 위한 블록도이다.
도 2를 참조하면, 일 실시예에 따른 음성 통신 환경에서 발생하는 클리핑 현상 완화 및 음성 왜곡 감소 업데이트 장치(200)는 에코 제거부(210) 및 잔여 에코 제거부(220)를 포함할 수 있다. 여기서, 에코 제거부(210)는 클리핑 판단부(211), NLMS 기반 필터부(212) 및 두 개의 경로 필터부(213)를 포함할 수 있고, 잔여 에코 제거부(220)는 코히어런스 산정부(221), 에코 상태 판단부(222), 업데이트부(223) 및 게인 적용부(224)를 포함할 수 있다.
단계(S110)에서, 에코 제거부(210)는 마이크 입력 신호의 크기를 이용하여 클리핑 여부를 판단하고, 클리핑 여부에 따라 서로 다른 에코 제거 필터를 통해 실시간으로 에코를 제거할 수 있다. 보다 구체적으로, 에코 제거부(210)는 마이크 입력 신호의 크기를 이용하여 클리핑 여부를 판단하고, 클리핑 여부에 따른 별도의 에코 제거 필터에 원단 신호(far-end)와 마이크 입력 신호를 이용하여 필터를 업데이트 및 각각 저장하여 실시간 에코 제거 기능이 동작하도록 한다. 아래에서 에코 제거부(210)의 각 단계를 예를 들어 설명한다.
단계(S111)에서, 클리핑 판단부(211)는 매 프레임마다 입력되는 마이크 입력 신호의 크기를 이용하여 클리핑 여부를 판단할 수 있다.
단계(S112)에서, NLMS 기반 필터부(212)는 클리핑이 발생하는 것으로 판단되는 경우, NLMS(Normalized Least Mean Squares) 기반 에코 제거 필터를 이용하여 실시간 에코를 제거할 수 있다. 여기서, NLMS 기반 필터부(212)는 원단 신호(far-end)와 마이크 입력 신호를 이용하여 NLMS 기반 에코 제거 필터를 업데이트 및 적용하여 실시간 에코를 제거할 수 있다. 특히, NLMS 기반 필터부(212)는 NLMS 기반 에코 제거 필터의 이전 필터에서 현재의 원단 신호와 에러 신호의 상관관계(correlation)를 연산하여 단계 크기(stepsize)만큼 업데이트 할 수 있다.
단계(S113)에서, 두 개의 경로 필터부(213)는 클리핑 여부를 판단한 결과, 클리핑이 발생하지 않는 것으로 판단되는 경우, 두 개의 경로 필터(two path filer)를 이용하여 에코 신호를 제거할 수 있다.
예를 들어, 두 개의 경로 필터부(213)는 전경 필터(foreground filter)와 배경 필터(background filter)를 포함하는 두 개의 경로 필터(two path filer)에 입력된 신호들을 이용하여 배경 필터(background filter)만 우선 업데이트한 후, 전경 필터(foreground filter)와 배경 필터(background filter)가 모두 에코 신호를 추정하게 되며, 두 개의 전경 필터(foreground filter)와 배경 필터(background filter)를 통과한 에러 신호의 파워 중 더 작은 값을 갖는 필터를 전경 필터(foreground filter)와 배경 필터(background filter)에 동시에 저장할 수 있다.
다음으로, 단계(S120)에서, 잔여 에코 제거부(220)는 에코 제거부(210)에서 에코 제거 후, 잔여 에코가 남은 신호, 원단 신호(far-end) 및 마이크 입력 신호를 이용하여 상관관계를 계산하고, 상관관계에 따라 다른 비율로 업데이트하는 잔여 에코 제거 필터를 구성하여 잔여 에코를 제거할 수 있다. 보다 구체적으로, 잔여 에코 제거부(220)는 잔여 에코가 남은 신호와 원단 신호(far-end) 및 마이크 입력 신호를 이용하여 코히어런스(coherence)를 계산하고, 계산된 코히어런스(coherence)를 이용하여 먼저 에코 상태 여부를 판단할 수 있다. 이후에, 잔여 에코 제거부(220)는 에코 상태라고 판단되면 더블 톡 구간에서 추정된 코히어런스(coherence)의 값에 따라 다른 비율로 업데이트하는 필터를 별도로 설계하여 더블 톡 구간에서 발화자의 음성이 왜곡되지 않도록 잔여 에코 제거 필터를 업데이트 할 수 있다. 아래에서 잔여 에코 제거부(220)의 각 단계를 예를 들어 설명한다.
단계(S121)에서, 코히어런스 산정부(221)는 에코 제거 후, 에코 제거 필터를 통과한 에러 신호, 원단 신호(far-end) 및 마이크 입력 신호를 이용하여 코히어런스(coherence)를 계산할 수 있다.
단계(S122)에서, 에코 상태 판단부(222)는 계산된 코히어런스(coherence)를 이용하여 에코 상태 여부를 판단할 수 있다.
단계(S123)에서, 업데이트부(223)는 에코 상태로 판단되는 경우, 더블 톡 구간에서 코히어런스(coherence)에 따라 다른 비율로 업데이트하는 잔여 에코 제거 필터를 구성하여, 더블 톡 구간에서 발화자의 음성이 왜곡되지 않도록 잔여 에코 제거 필터를 업데이트할 수 있다.
단계(S124)에서, 게인 적용부(224)는 잔여 에코 제거 필터를 업데이트 후 계산된 게인(Gain)을 잔여 에코 제거 필터에 적용하여 잔여 에코를 제거할 수 있다.
이상과 같이, 에코 제거 시 클리핑을 판별하고 별도의 시스템을 구성하여 에코를 제거할 수 있으며, 잔여 에코 제거 시 상황에 따라 별도로 업데이트하는 필터를 구성하여 잔여 에코를 제거할 수 있다. 특히, 더블 톡 구간에서 코히어런스(coherence)를 이용하여 추정된 비율에 따라 다른 값으로 업데이트하여 잔여 에코 필터를 구성할 수 있다. 이에 따라 실시간 음성 통신 환경 중 에코가 발생하는 환경에서 클리핑, 더블 톡 등이 발생하는 환경에서도 인공지능 스피커, 공항 로봇, TV 음성인식, 전화, 컨퍼런스콜 등의 음성인식률 및 음성품질을 개선시킬 수 있다.
아래에서 일 실시예에 따른 음성 통신 환경에서 발생하는 클리핑 현상 완화 및 음성 왜곡 감소 업데이트 방법 및 장치를 하나의 예를 들어 보다 상세히 설명한다.
도 3은 일 실시예에 따른 클리핑 발생 환경을 고려한 에코 제거부를 설명하기 위한 도면이다.
도 3을 참조하면, 일 실시예에 따른 클리핑 발생 환경을 고려한 에코 제거부(300)를 나타내며, 보다 구체적으로 AEC(Acoustic Echo Cancellation)를 위한 두 개의 경로 하이브리드 필터(two path hybrid filter) 블록다이어그램을 나타낸다.
에코 제거를 위한 필터 설계를 위해, 먼저 마이크 입력 신호(301)의 클리핑 여부를 판단(310)할 수 있다. 실시간 음성 통신을 위하여 매 프레임의 마이크 입력 신호(301) 및 에코 레퍼런스 신호(302)를 입력 받고, 마이크 입력 신호(301)의 데이터 크기를 이용하여 클리핑 샘플의 유무를 판단할 수 있다. 클리핑 발생 시 에코 제거를 위한 필터를 그대로 업데이트 하게 되면 에코 제거를 위한 필터의 에러가 증가할 수 있기 때문에 NLMS(Normalized Least Mean Squares) 기반의 필터(320)를 별도로 설계하여, 클리핑 발생 시 별도로 처리하도록 할 수 있다.
마이크 입력 신호(301)에서, 추정된 에코 신호를 제거한 에러 신호(e)를 다음 식과 같이 나타낼 수 있다.
[수학식 1]
Figure 112019068637228-pat00001
여기서, 에코 신호는 원단(far-end) 신호 x와 에코 제거를 위한 필터 h의 곱으로 추정할 수 있다.
에코 제거를 위한 NLMS 기반의 필터(320)는 이전 필터에서 현재의 원단 신호와 에러 신호의 상관관계(correlation)를 연산하여 단계 크기(stepsize)만큼 업데이트 하는 방법을 따르며, 다음 식과 같이 나타낼 수 있다.
[수학식 2]
Figure 112019068637228-pat00002
매 프레임마다 마이크 입력 신호(301)가 입력되었을 때 클리핑 여부를 판단(310)하고, 클리핑이라고 판단되었을 경우에는 위의 [수학식 1] 및 [수학식 2]를 이용하여 필터를 업데이트(340) 및 적용(330)하여 에코를 제거할 수 있다. 또한, 클리핑이 아니라고 판단되었을 경우에는 두 개의 경로 필터(two path filer)를 이용하여 에코 신호를 제거할 수 있다. 이 때 출력은 음성 및 잔여 에코(304)가 될 수 있다.
두 개의 경로 필터(two path filer)의 경우 기본적으로는 [수학식 1] 및 [수학식 2]의 구조를 가지지만, 에코 제거에 사용되었던 필터의 경우 전경 필터(foreground filter, 380)와 배경 필터(background filter, 390)에 동시에 저장되고, 새로운 프레임에서 신호들이 입력되었을 때 배경 필터(background filter, 390)의 적응도를 계산(350)하여 배경 필터(background filter, 390)만 우선 업데이트(360)하여 두 개의 필터가 모두 에코 신호를 추정하게 되며, 두 개의 필터를 통과한 에러 신호의 파워를 비교(370)하여 더 작은 값을 갖는 필터를 전경 필터(foreground filter, 380)와 배경 필터(background filter, 390)에 동시에 저장하여 좀 더 안정적인 성능을 내는 에코 제거 필터의 구조를 가지도록 할 수 있다.
도 4는 일 실시예에 따른 음성 왜곡 완화를 위한 잔여 에코 제거부를 설명하기 위한 도면이다.
도 4를 참조하면, 더블 톡 구간에서의 음성 왜곡 완화를 위한 잔여 에코 제거부(400)의 잔여 에코 제거 필터 업데이트를 나타내며, RES 두 개의 경로 하이브리드 필터(two path hybrid filter)로 표현될 수 있다. 이 RES 두 개의 경로 하이브리드 필터(two path hybrid filter)는 에코 상태를 판별(420)하고, 더블 톡 구간에서 코히어런스(coherence) 비율에 따른 업데이트를 통해 최종적인 에코 제거 신호(403)를 얻을 수 있다. 여기서, 최종적인 에코 제거 신호(403)는 1채널 RES 출력이 될 수 있다.
잔여 에코 제거부(400)에서 잔여 에코 제거를 위해서는 마이크 입력 신호, 에코 제거 필터를 통과한 에러 신호(401) 및 원단 신호(402)를 이용하여 코히어런스(coherence)를 계산하여 잔여 에코를 제거할 수 있는 필터를 설계할 수 있다. 여기서, 계산된 코히어런스(coherence)를 이용하여 먼저 에코 상태 여부를 판단(420)할 수 있다. 이후에, 잔여 에코 제거부(400)는 에코 상태라고 판단되면 더블 톡 구간에서 추정된 코히어런스(coherence)의 값에 따라 다른 비율로 업데이트하는 필터를 별도로 설계하여 더블 톡 구간에서 발화자의 음성이 왜곡되지 않도록 잔여 에코 제거 필터를 업데이트(410, 440) 할 수 있다. 그리고, 잔여 에코 제거 필터를 업데이트 후 계산된 게인(Gain)을 잔여 에코 제거 필터에 적용(430)하여 잔여 에코를 제거할 수 있다.
마이크 입력 신호, 에러 신호(401) 및 원단 신호(402)의 세 개의 신호를 가지고 연산한 코히어런스(coherence)를 통해 상관계수를 추정할 수 있으며, 다음 식과 같이 나타낼 수 있다.
[수학식 3]
Figure 112019068637228-pat00003
[수학식 4]
Figure 112019068637228-pat00004
여기서, x는 원단 신호(402)이고, D는 마이크 입력 신호이며, E는 두 개의 경로 하이브리드 필터(two path hybrid filter)를 통과한 신호이다.
각각의 [수학식 3] 및 [수학식 4]는 magnitude squared coherence를 의미하고,
Figure 112019068637228-pat00005
의 경우 마이크 입력 신호와 원단 신호(402)의 상관관계를 의미하며, 값의 범위는 0 ~ 1 사이 값이다. 이 때, 값이 크면 제거되지 않은 잔여 에코가 많은 것으로 판단할 수 있다. 또한,
Figure 112019068637228-pat00006
e의 경우 마이크 입력 신호와 두 개의 경로 하이브리드 필터(two path hybrid filter)를 통과한 에러 신호(401)의 상관관계를 의미하며, 동일하게 값의 범위는 0 ~ 1 사이 값이다. 이 때, 값이 크면 클수록 잔여 에코가 많은 것으로 판단할 수 있다.
이러한 두 가지 척도(indicator)를 이용하여 더블 톡 구간이라고 판단할 수 있으며, 두 개의 경로 하이브리드 필터(two path hybrid filter)의 업데이트를 중단하게 된다. 해당 척도(indicator)들의 값은 잔여 에코 제거 필터를 업데이트(410, 440) 시키는 역할을 하며, 잔여 에코 제거 필터의 업데이트(410, 440)는 다음 식과 같이 표현될 수 있다.
[수학식 5]
Figure 112019068637228-pat00007
잔여 에코 제거는 두 MSC 값 중 더 작은 값, 즉, 더 에코를 많이 제거하는 것으로 선택되어 기존의 값을 업데이트하게 되고, 업데이트 비율은 항상 고정되어 잔여 에코 필터를 연산할 수 있다.
더블 톡 구간에서 이러한 업데이트 수학식은 발화자의 음성을 별도로 고려하지 않았기 때문에 발화자의 음성이 많이 왜곡되는 경향을 보인다. 따라서 MSC 업데이트를 하지 않고, 또한 MSC 추정 값에 따라 업데이트 비율을 달리하여 음성 왜곡을 완화시킬 수 있다.
도 5 및 도 6은 도 4에서 설명한 잔여 에코 제거부(400)의 에코 상태(echo state)별 코히어런스(coherence) 업데이트 및 잔여 에코 제거를 설명하기 위한 도면이다. 도 5는 일 실시예에 따른 에코 상태가 아닌 구간의 코히어런스 업데이트 및 잔여 에코 제거를 설명하기 위한 도면이다. 그리고 도 6은 에코 상태의 구간의 코히어런스 업데이트 및 잔여 에코 제거를 설명하기 위한 도면이다.
도 5 및 도 6에 도시된 바와 같이, 에코 상태의 구간과 에코 상태가 아닌 구간의 코히어런스(coherence) 업데이트를 별도로 하고, 에코 상태의 구간과 에코 상태가 아닌 구간의 잔여 에코 제거 필터를 별도로 적용할 수 있다.
[수학식 5]의 경우 잔여 에코에 제거되는 필터 값을 에코 상태 중 더블 톡 구간을 고려하지 않았기 때문에 아래의 [수학식 6]으로 변경하여 적용할 수 있다.
[수학식 6]
Figure 112019068637228-pat00008
업데이트 비율인
Figure 112019068637228-pat00009
의 경우 코히어런스(coherence) 추정 값에 따라 총 4구간으로 나누어 업데이트 비율을 다르게 할 수 있으며, 다음 식과 같이 나타낼 수 있다.
[수학식 7]
Figure 112019068637228-pat00010
여기서, p 값은 두 개의 코히어런스(coherence) 값을 곱한 값으로 범위는 0 ~ 1을 가지게 되고, 값이 작을수록 잔여 에코가 많기 때문에 음성이 있을 확률이 적으므로 업데이트를 상대적으로 많이 해주며, 값이 클수록 음성이 있을 확률이 커지므로 업데이트를 상대적으로 많이 해준다. 그리고 도 7과 같이 업데이트 비율을 설정해줄 수 있다.
도 7은 일 실시예에 따른 추정된 코히어런스 값에 따른 업데이트 비율 적용 그래프를 나타낸다.
도 7을 참조하면, 추정된 코히어런스 값에 따른 업데이트 비율 적용 그래프를 나타내며, 여기서 x축은 p 값의 범위이고, y축은
Figure 112019068637228-pat00011
값을 나타낸다. 그래프를 통해 확인할 수 있듯이, 종래 기술(710)의 경우 p 값과 상관 없이 동일한
Figure 112019068637228-pat00012
값을 가지는 반면, 일 실시예에 따른 기술(720)이 더블 톡 상황에서 구간별로 업데이트 레벨(update level)을 다르게 설정하여 필터를 업데이트함으로써 잔여 에코를 제거하면서 음성 왜곡을 최소화시킬 수 있다.
아래에서는 본 실시예에 따른 실험을 구성하여 획득한 실험 결과를 기존의 기술과 비교하였다.
실험은 실제 음성 통신 솔루션으로 사용되는 webRTC 기술을 이용하여 실제 통신 환경에서 테스트하였고, 모든 발화는 16kHz의 샘플링 주파수로 샘플링되었고, 사용한 장비는 삼성 및 LG 노트북을 사용하였다. 실제 사람의 음성 샘플을 발화하기 위해 스피커를 이용하였고, 클리핑 환경을 조성하기 위해 마이크 입력 및 증폭을 최대치로 해놓고 실험하였다.
도 8은 종래 기술의 클리핑 환경에서 마이크 입력과 에코 제거 이후 신호를 나타내는 도면이다. 그리고 도 9는 일 실시예에 따른 클리핑 환경에서 마이크 입력과 에코 제거 이후 신호를 나타내는 도면이다.
도 8 및 도 9를 참조하면, 클리핑 환경에서 종래 기술과 일 실시예에 따른 마이크 입력과 에코 제거 이후 신호를 비교함으로써, 클리핑 환경에서의 에코 제거 성능을 확인할 수 있다. 실제 환경에서의 실시간 음성 통신 솔루션을 이용하여 추출한 마이크 입력 신호 및 에코 제거 신호이다. 도 8은 종래 기술인 webRTC 기술의 에코 제거 결과를 나타내며, 도 9는 일 실시예에 따른 두 개의 경로 하이브리드 필터(two path hybrid filter)를 적용한 에코 제거 결과를 나타낸다.
에코 제거 이후, 종래 기술인 webRTC의 경우 에코 성분이 비교적 많이 남이 있어 에코 제거가 제대로 되지 않은 것으로 보이며, 두 개의 경로 하이브리드 필터(two path hybrid filter)를 적용한 경우 에코 제거가 상대적으로 많이 되고, 발화자의 음성이 대부분 남아있어 후자가 전자보다 우수한 성능을 보였다.
도 10은 종래 기술의 더블 톡 환경에서 마이크 입력과 에코 제거 이후 신호를 나타내는 도면이다. 그리고 도 11은 일 실시예에 따른 더블 톡 환경에서 마이크 입력과 에코 제거 이후 신호를 나타내는 도면이다.
도 10 및 도 11을 참조하면, 실제 환경에서의 실시간 음성 통신 솔루션을 이용한 것 중 더블 톡 구간만 추출한 마이크 입력 신호 및 에코 제거 신호이다. 도 10에 도시된 바와 같이, 종래 기술의 경우 더블 톡 환경에서 발화자의 음성이 중간에 사라져, 실제 환경에서 상대방이 들을 수 없을 정도의 결과를 보인다.
반면, 도 11에 도시된 바와 같이 일 실시예에 따르면 더블 톡 환경에서 발화자의 음성이 사라지지 않으며, 실제 환경에서 상대방이 음성을 구분할 수 있을 정도로 왜곡이 최소화되어 종래 기술보다 우수한 성능을 보이는 것을 확인할 수 있다.
표 1은 DSLA 장비를 이용한 실환경 PESQ 점수 비교를 나타낸다.
[표 1]
Figure 112019068637228-pat00013
표 1을 참조하면, 실제 환경에서의 싱글 톡(single-talk) 및 더블 톡 환경에서의 장비를 이용한 실험과 실제 환경과 유사하게 조성하여 DSLA 내부의 PESQ(Perceptual Evaluation of Speech Quality) 테스트를 통해 실시간 음성 통신 솔루션을 이용한 것 중 더블 톡 구간만 추출한 마이크 입력 신호 및 에코 제거 신호이다. 표 1에 나타난 바와 같이 일 실시예에 따른 방법이 종래 기술과 비교하여 크게 점수가 향상된 것을 확인할 수 있다.
종래 기술은 NLMS(Normalized Least Mean Squares) 기반 AEC(Acoustic Echo Cancellation) 필터 하나만을 사용하였기 때문에 클리핑(clipping) 환경에서 에코 제거 성능이 떨어지며, 더블 톡 구간에서 코히어런스(coherence)를 이용한 잔여 에코 억제 필터(residual echo suppression filter) 업데이트를 매 프레임 연산하였기 때문에 음성 왜곡을 피할 수 없다.
반면, 본 실시예에 따르면 클리핑(clipping) 환경을 감지하여 별도의 NLMS 기반의 에코 제거 필터를 사용하였으며, 더블 톡 구간에서의 잔여 에코 억제 필터(residual echo suppression filter) 업데이트를 코히어런스(coherence) 값에 따라 다르게 적용하였기 때문에 음성 왜곡을 완화시켜 종래 기술보다 에코는 더 많이 제거하면서 음성의 왜곡은 완화시키는 장점이 있다. 더블 톡 구간뿐만 아니라 싱글 톡 구간에서도 별도로 업데이트하여 음성 통신 환경에서의 음성 품질을 향상시킬 수 있다.
실시예들은 음성 통신 환경에서 클리핑이 발생하는 환경과 더블 톡이 일어나는 환경에서의 에코 제거 기술에 관한 것이다. 이와 관련이 있는 기술 분야로는 인공지능 스피커를 이용한 음성인식, 자동차 환경에서의 음성인식/통신, 로봇용 음성인식, 화상회의, 다화자 음성회의 등이 있다. 실시예들에 따른 기술은 인공지능 스피커, 컨퍼런스콜, 로봇, 스마트폰 음성인식 및 통신 시스템 등에 사용 가능하다.
또한, 실시예들은 에코가 존재하는 환경에서 음성인식 혹은 음성 통신을 수행해야 하는 인공지능 스피커, 로봇, 스마트폰 음성인식 및 통신 시스템에 적용되어 음성 인식률 및 음성 품질 성능을 향상시킬 수 있으며, 다화자 음성 통신 환경에 동일하게 적용함으로써 음성 품질 향상이 가능하다.
이상에서 설명된 장치는 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치 및 구성요소는, 예를 들어, 프로세서, 컨트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPA(field programmable array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 애플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 컨트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치에 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다.
이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.
그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.

Claims (14)

  1. 마이크 입력 신호의 크기를 이용하여 클리핑 여부를 판단하고, 상기 클리핑 여부에 따라 서로 다른 에코 제거 필터를 통해 실시간으로 에코를 제거하는 단계; 및
    에코 제거 후, 잔여 에코가 남은 신호, 원단 신호(far-end) 및 상기 마이크 입력 신호를 이용하여 상관관계를 계산하고, 상기 상관관계에 따라 다른 비율로 업데이트하는 잔여 에코 제거 필터를 구성하여 잔여 에코를 제거하는 단계
    를 포함하고,
    상기 잔여 에코를 제거하는 단계는,
    에코 제거 후, 상기 에코 제거 필터를 통과한 에러 신호, 원단 신호(far-end) 및 상기 마이크 입력 신호를 이용하여 코히어런스(coherence)를 계산하는 단계;
    계산된 상기 코히어런스(coherence)를 이용하여 에코 상태 여부를 판단하는 단계;
    에코 상태로 판단되는 경우, 더블 톡 구간에서 상기 코히어런스(coherence)에 따라 다른 비율로 업데이트하는 잔여 에코 제거 필터를 구성하여, 더블 톡 구간에서 발화자의 음성이 왜곡되지 않도록 잔여 에코 제거 필터를 업데이트 하는 단계; 및
    상기 잔여 에코 제거 필터를 업데이트 후 계산된 게인(Gain)을 상기 잔여 에코 제거 필터에 적용하여 잔여 에코를 제거하는 단계
    를 포함하며,
    계산된 상기 코히어런스(coherence)의 값에 따라 복수개의 구간으로 나누어 업데이트 비율을 다르게 하는, 음성 왜곡 감소 업데이트 방법.
  2. 제1항에 있어서,
    상기 에코 제거 필터를 통해 실시간으로 에코를 제거하는 단계는,
    매 프레임마다 입력되는 상기 마이크 입력 신호의 크기를 이용하여 클리핑 여부를 판단하는 단계; 및
    클리핑이 발생하는 것으로 판단되는 경우, NLMS(Normalized Least Mean Squares) 기반 에코 제거 필터를 이용하여 실시간 에코를 제거하는 단계
    를 포함하는, 음성 왜곡 감소 업데이트 방법.
  3. 제2항에 있어서,
    상기 NLMS 기반 에코 제거 필터를 이용하여 실시간 에코를 제거하는 단계는,
    원단 신호(far-end)와 상기 마이크 입력 신호를 이용하여 상기 NLMS 기반 에코 제거 필터를 업데이트 및 적용하여 실시간 에코를 제거하는 것
    을 특징으로 하는, 음성 왜곡 감소 업데이트 방법.
  4. 제3항에 있어서,
    상기 NLMS 기반 에코 제거 필터를 이용하여 실시간 에코를 제거하는 단계는,
    상기 NLMS 기반 에코 제거 필터의 이전 필터에서 현재의 원단 신호와 에러 신호의 상관관계(correlation)를 연산하여 단계 크기(stepsize)만큼 업데이트 하는 것
    을 특징으로 하는, 음성 왜곡 감소 업데이트 방법.
  5. 제2항에 있어서,
    상기 에코 제거 필터를 통해 실시간으로 에코를 제거하는 단계는,
    상기 클리핑 여부를 판단한 결과, 클리핑이 발생하지 않는 것으로 판단되는 경우, 두 개의 경로 필터(two path filer)를 이용하여 에코 신호를 제거하는 단계
    를 더 포함하는, 음성 왜곡 감소 업데이트 방법.
  6. 제5항에 있어서,
    상기 두 개의 경로 필터를 이용하여 에코 신호를 제거하는 단계는,
    전경 필터(foreground filter)와 배경 필터(background filter)를 포함하는 상기 두 개의 경로 필터(two path filer)에 입력된 신호들을 이용하여 배경 필터(background filter)만 우선 업데이트한 후, 상기 전경 필터(foreground filter)와 배경 필터(background filter)가 모두 에코 신호를 추정하게 되며, 두 개의 상기 전경 필터(foreground filter)와 배경 필터(background filter)를 통과한 에러 신호의 파워 중 더 작은 값을 갖는 필터를 상기 전경 필터(foreground filter)와 배경 필터(background filter)에 동시에 저장하는 것
    을 특징으로 하는, 음성 왜곡 감소 업데이트 방법.
  7. 삭제
  8. 마이크 입력 신호의 크기를 이용하여 클리핑 여부를 판단하고, 상기 클리핑 여부에 따라 서로 다른 에코 제거 필터를 통해 실시간으로 에코를 제거하는 에코 제거부; 및
    상기 에코 제거부에서 에코 제거 후, 잔여 에코가 남은 신호, 원단 신호(far-end) 및 상기 마이크 입력 신호를 이용하여 상관관계를 계산하고, 상기 상관관계에 따라 다른 비율로 업데이트하는 잔여 에코 제거 필터를 구성하여 잔여 에코를 제거하는 잔여 에코 제거부
    를 포함하고,
    상기 잔여 에코 제거부는,
    에코 제거 후, 상기 에코 제거 필터를 통과한 에러 신호, 원단 신호(far-end) 및 상기 마이크 입력 신호를 이용하여 코히어런스(coherence)를 계산하는 코히어런스 산정부;
    계산된 상기 코히어런스(coherence)를 이용하여 에코 상태 여부를 판단하는 에코 상태 판단부;
    에코 상태로 판단되는 경우, 더블 톡 구간에서 상기 코히어런스(coherence)에 따라 다른 비율로 업데이트하는 잔여 에코 제거 필터를 구성하여, 더블 톡 구간에서 발화자의 음성이 왜곡되지 않도록 잔여 에코 제거 필터를 업데이트 하는 업데이트부; 및
    상기 잔여 에코 제거 필터를 업데이트 후 계산된 게인(Gain)을 상기 잔여 에코 제거 필터에 적용하여 잔여 에코를 제거하는 게인 적용부
    를 포함하며,
    계산된 상기 코히어런스(coherence)의 값에 따라 복수개의 구간으로 나누어 업데이트 비율을 다르게 하는, 음성 왜곡 감소 업데이트 장치.
  9. 제8항에 있어서,
    상기 에코 제거부는,
    매 프레임마다 입력되는 상기 마이크 입력 신호의 크기를 이용하여 클리핑 여부를 판단하는 클리핑 판단부; 및
    클리핑이 발생하는 것으로 판단되는 경우, NLMS(Normalized Least Mean Squares) 기반 에코 제거 필터를 이용하여 실시간 에코를 제거하는 NLMS 기반 필터부
    를 포함하는, 음성 왜곡 감소 업데이트 장치.
  10. 제9항에 있어서,
    상기 NLMS 기반 필터부는,
    원단 신호(far-end)와 상기 마이크 입력 신호를 이용하여 상기 NLMS 기반 에코 제거 필터를 업데이트 및 적용하여 실시간 에코를 제거하는 것
    을 특징으로 하는, 음성 왜곡 감소 업데이트 장치.
  11. 제10항에 있어서,
    상기 NLMS 기반 필터부는,
    상기 NLMS 기반 에코 제거 필터의 이전 필터에서 현재의 원단 신호와 에러 신호의 상관관계(correlation)를 연산하여 단계 크기(stepsize)만큼 업데이트 하는 것
    을 특징으로 하는, 음성 왜곡 감소 업데이트 장치.
  12. 제9항에 있어서,
    상기 클리핑 여부를 판단한 결과, 클리핑이 발생하지 않는 것으로 판단되는 경우, 두 개의 경로 필터(two path filer)를 이용하여 에코 신호를 제거하는 두 개의 경로 필터부
    를 더 포함하는, 음성 왜곡 감소 업데이트 장치.
  13. 제12항에 있어서,
    상기 두 개의 경로 필터부는,
    전경 필터(foreground filter)와 배경 필터(background filter)를 포함하는 상기 두 개의 경로 필터(two path filer)에 입력된 신호들을 이용하여 배경 필터(background filter)만 우선 업데이트한 후, 상기 전경 필터(foreground filter)와 배경 필터(background filter)가 모두 에코 신호를 추정하게 되며, 두 개의 상기 전경 필터(foreground filter)와 배경 필터(background filter)를 통과한 에러 신호의 파워 중 더 작은 값을 갖는 필터를 상기 전경 필터(foreground filter)와 배경 필터(background filter)에 동시에 저장하는 것
    을 특징으로 하는, 음성 왜곡 감소 업데이트 장치.
  14. 삭제
KR1020190080614A 2019-07-04 2019-07-04 음성 통신 환경에서 발생하는 클리핑 현상 완화 및 마이크 입력 신호, 에러 신호 및 원단 신호의 상관관계를 이용한 음성 왜곡 감소 업데이트 방법 및 장치 KR102266780B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020190080614A KR102266780B1 (ko) 2019-07-04 2019-07-04 음성 통신 환경에서 발생하는 클리핑 현상 완화 및 마이크 입력 신호, 에러 신호 및 원단 신호의 상관관계를 이용한 음성 왜곡 감소 업데이트 방법 및 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190080614A KR102266780B1 (ko) 2019-07-04 2019-07-04 음성 통신 환경에서 발생하는 클리핑 현상 완화 및 마이크 입력 신호, 에러 신호 및 원단 신호의 상관관계를 이용한 음성 왜곡 감소 업데이트 방법 및 장치

Publications (2)

Publication Number Publication Date
KR20210004340A KR20210004340A (ko) 2021-01-13
KR102266780B1 true KR102266780B1 (ko) 2021-06-18

Family

ID=74142710

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190080614A KR102266780B1 (ko) 2019-07-04 2019-07-04 음성 통신 환경에서 발생하는 클리핑 현상 완화 및 마이크 입력 신호, 에러 신호 및 원단 신호의 상관관계를 이용한 음성 왜곡 감소 업데이트 방법 및 장치

Country Status (1)

Country Link
KR (1) KR102266780B1 (ko)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100790770B1 (ko) * 2003-12-12 2008-01-03 모토로라 인코포레이티드 에코 소거기 회로 및 이중 대화 활동 검출 방법

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FI104524B (fi) * 1997-04-18 2000-02-15 Nokia Mobile Phones Ltd Kaiunpoistojärjestelmä ja -menetelmä sekä matkaviestin
KR20170052056A (ko) * 2015-11-03 2017-05-12 삼성전자주식회사 전자 장치 및 그의 음향 에코 저감 방법
KR102517975B1 (ko) * 2019-01-29 2023-04-04 삼성전자주식회사 시간 상관 관계에 기초하여 잔여 에코를 추정하는 잔여 에코 추정기, 잔여 에코를 추정하는 프로그램 코드를 저장하는 비일시적 컴퓨터 판독 가능한 매체, 그리고 어플리케이션 프로세서

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100790770B1 (ko) * 2003-12-12 2008-01-03 모토로라 인코포레이티드 에코 소거기 회로 및 이중 대화 활동 검출 방법

Also Published As

Publication number Publication date
KR20210004340A (ko) 2021-01-13

Similar Documents

Publication Publication Date Title
Zhang et al. Deep learning for acoustic echo cancellation in noisy and double-talk scenarios
US10403299B2 (en) Multi-channel speech signal enhancement for robust voice trigger detection and automatic speech recognition
CN108141502B (zh) 降低声学***中的声学反馈的方法及音频信号处理设备
EP2845189B1 (en) A universal reconfigurable echo cancellation system
US8600038B2 (en) System and method for echo cancellation
US20150371657A1 (en) Energy Adjustment of Acoustic Echo Replica Signal for Speech Enhancement
CN109273019B (zh) 用于回声抑制的双重通话检测的方法及回声抑制
US9286883B1 (en) Acoustic echo cancellation and automatic speech recognition with random noise
US10115411B1 (en) Methods for suppressing residual echo
US9313573B2 (en) Method and device for microphone selection
WO2017099728A1 (en) System and method for suppression of non-linear acoustic echoes
JP2009503568A (ja) 雑音環境における音声信号の着実な分離
US9437179B2 (en) Reverberation suppression device
US20220301577A1 (en) Echo cancellation method and apparatus
CN109215672B (zh) 一种声音信息的处理方法、装置及设备
EP2930917A1 (en) Method and apparatus for updating filter coefficients of an adaptive echo canceller
Sugiyama et al. A lowdistortion noise canceller with a novel stepsize control and conditional cancellation
TWI465121B (zh) 利用全方向麥克風改善通話的系統及方法
US9392365B1 (en) Psychoacoustic hearing and masking thresholds-based noise compensator system
KR102266780B1 (ko) 음성 통신 환경에서 발생하는 클리핑 현상 완화 및 마이크 입력 신호, 에러 신호 및 원단 신호의 상관관계를 이용한 음성 왜곡 감소 업데이트 방법 및 장치
CN113241084B (zh) 回声消除的方法、装置及设备
CN112929506A (zh) 音频信号的处理方法及装置,计算机存储介质及电子设备
US11990149B2 (en) Echo suppression device, echo suppression method, and echo suppression program
CN115315935A (zh) 回声残余抑制
WO2018087855A1 (ja) エコーキャンセラ装置、エコー消去方法、及びエコー消去プログラム

Legal Events

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