KR20170041828A - 역 에코 소거기 - Google Patents
역 에코 소거기 Download PDFInfo
- Publication number
- KR20170041828A KR20170041828A KR1020177006375A KR20177006375A KR20170041828A KR 20170041828 A KR20170041828 A KR 20170041828A KR 1020177006375 A KR1020177006375 A KR 1020177006375A KR 20177006375 A KR20177006375 A KR 20177006375A KR 20170041828 A KR20170041828 A KR 20170041828A
- Authority
- KR
- South Korea
- Prior art keywords
- user device
- signal
- audio
- audio signal
- user terminal
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M3/00—Automatic or semi-automatic exchanges
- H04M3/42—Systems providing special services or facilities to subscribers
- H04M3/56—Arrangements for connecting several subscribers to a common circuit, i.e. affording conference facilities
- H04M3/568—Arrangements for connecting several subscribers to a common circuit, i.e. affording conference facilities audio processing specific to telephonic conferencing, e.g. spatial distribution, mixing of participants
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/40—Support for services or applications
- H04L65/403—Arrangements for multi-party communication, e.g. for conferences
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04R—LOUDSPEAKERS, MICROPHONES, GRAMOPHONE PICK-UPS OR LIKE ACOUSTIC ELECTROMECHANICAL TRANSDUCERS; DEAF-AID SETS; PUBLIC ADDRESS SYSTEMS
- H04R3/00—Circuits for transducers, loudspeakers or microphones
- H04R3/002—Damping circuit arrangements for transducers, e.g. motional feedback circuits
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04B—TRANSMISSION
- H04B3/00—Line transmission systems
- H04B3/02—Details
- H04B3/20—Reducing echo effects or singing; Opening or closing transmitting path; Conditioning for transmission in one direction or the other
- H04B3/23—Reducing 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/80—Responding to QoS
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M9/00—Arrangements for interconnection not involving centralised switching
- H04M9/08—Two-way loud-speaking telephone systems with means for conditioning the signal, e.g. for suppressing echoes for one or both directions of traffic
- H04M9/082—Two-way loud-speaking telephone systems with means for conditioning the signal, e.g. for suppressing echoes for one or both directions of traffic using echo cancellers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04R—LOUDSPEAKERS, MICROPHONES, GRAMOPHONE PICK-UPS OR LIKE ACOUSTIC ELECTROMECHANICAL TRANSDUCERS; DEAF-AID SETS; PUBLIC ADDRESS SYSTEMS
- H04R1/00—Details of transducers, loudspeakers or microphones
- H04R1/08—Mouthpieces; Microphones; Attachments therefor
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M2203/00—Aspects of automatic or semi-automatic exchanges
- H04M2203/20—Aspects of automatic or semi-automatic exchanges related to features of supplementary services
- H04M2203/2094—Proximity
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M3/00—Automatic or semi-automatic exchanges
- H04M3/002—Applications of echo suppressors or cancellers in telephonic connections
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Multimedia (AREA)
- Physics & Mathematics (AREA)
- Acoustics & Sound (AREA)
- Telephonic Communication Services (AREA)
- Telephone Function (AREA)
- Cable Transmission Systems, Equalization Of Radio And Reduction Of Echo (AREA)
- Circuit For Audible Band Transducer (AREA)
Abstract
통신 네트워크를 통해 사용자 디바이스와 적어도 하나의 추가 사용자 디바이스 사이에서 수행되는 통신 이벤트 동안 구현되는 방법으로서, 본 방법은 상기 사용자 디바이스의 스피커로부터 출력되어야 하는 오디오 신호를 수신하는 단계 - 상기 오디오 신호는 적어도 하나의 추가 사용자 디바이스로부터 전송된 적어도 하나의 마이크로폰 신호를 포함함 -; 상기 오디오 신호가 상기 사용자 디바이스와 동일 장소에 위치하는 상기 적어도 하나의 추가 사용자 디바이스 중 하나 이상으로부터 전송된 마이크로폰 신호의 적어도 하나의 오디오 성분을 포함한다는 것을 검출하는 단계; 및 이 검출에 기초하여, 상기 스피커로부터 출력하기 위한 출력 오디오 신호를 생성하기 위해 상기 적어도 하나의 오디오 성분을 상기 오디오 신호로부터 제거하는 단계를 포함한다.
Description
패킷 기반 통신 시스템들은, 개인용 컴퓨터와 같은, 디바이스의 사용자가 IP(internet protocol)와 같은 패킷 프로토콜을 사용하여 통신 네트워크를 통해 통신할 수 있게 한다. 패킷 기반 통신 시스템들은 다양한 유형들의 통신 이벤트들에 대해 사용될 수 있다. 설정될 수 있는 통신 이벤트들은 음성 통화, 화상 통화, 인스턴트 메시징, 음성 메일, 파일 전송 등을 포함한다. 이 시스템들은, 종종 고정 회선 또는 모바일 네트워크들보다 상당히 더 저렴하기 때문에, 사용자에 유익하다. 장거리 통신에 대해 특히 그러할 수 있다. 패킷 기반 시스템을 사용하기 위해, 사용자는 자신의 디바이스 상에 클라이언트 소프트웨어를 설치하고 실행한다. 클라이언트 소프트웨어는 패킷 기반 연결들을 제공하는 것은 물론, 등록 및 인증과 같은 다른 기능들을 제공한다.
패킷 기반 통신 시스템들은 다수의 참가자들이 음성 또는 화상 전화 회의에 참가할 수 있게 한다. 동일한 음향 공간에(즉, 동일한 회의실에) 위치되어 있는 전화 회의의 참가자들이 (오디오를 수신하기 위해) 단일의 마이크로폰 및 (오디오를 출력하기 위해) 스피커들을 사용하기로 선택할지도 모른다. 그렇지만, 다른 참가자들과 동일한 음향 공간에 위치되어 있는 전화 회의의 일부 참가자들은 (연관된 마이크로폰 및 스피커들을 갖는) 그 자신의 디바이스를 사용하고자 할지도 모르며, 따라서 전화 회의의 다수의 참가자들이 존재하는 음향 공간에 다수의 마이크로폰들이 존재할 수 있다.
동일한 회의실에 있는 클라이언트 디바이스들로부터 발신되는 마이크로폰 신호들이 통신 네트워크를 통해 동일한 회의실에 있는 클라이언트 디바이스들로 전파되어 그들의 스피커들에 의해 재생될 때, 통신 네트워크 및 클라이언트 디바이스들에서의 로컬 오디오 버퍼링이 시그널링된 오디오에 지연을 유입시키기 때문에, 그 소리가 동일한 회의실에 위치된 회의 참가자들에 의해 에코로서 지각될 것이다.
본 개시 내용의 일 양태에 따르면, 통신 네트워크를 통해 사용자 디바이스와 적어도 하나의 추가 사용자 디바이스 사이에서 수행되는 통신 이벤트 동안 구현되는 방법이 제공되고, 본 방법은 상기 사용자 디바이스의 스피커로부터 출력되어야 하는 오디오 신호를 수신하는 단계 - 상기 오디오 신호는 적어도 하나의 추가 사용자 디바이스 중 하나 이상으로부터 전송된 적어도 하나의 마이크로폰 신호를 포함함 -; 상기 오디오 신호가 상기 사용자 디바이스와 동일 장소에 위치하는 상기 적어도 하나의 추가 사용자 디바이스 중 하나로부터 전송된 마이크로폰 신호의 적어도 하나의 오디오 성분을 포함한다는 것을 검출하는 단계; 및 이 검출에 기초하여, 상기 스피커로부터 출력하기 위한 출력 오디오 신호를 생성하기 위해 상기 적어도 하나의 오디오 성분을 상기 오디오 신호로부터 제거하는 단계를 포함한다.
본 개시내용의 다른 양태에 따르면, 사용자 디바이스가 제공되고, 본 사용자 디바이스는 통신 이벤트 동안 통신 네트워크를 통해 사용자 디바이스와 적어도 하나의 추가 사용자 디바이스 사이에서 오디오를 전송 및 수신하도록 구성된 네트워크 인터페이스; 오디오 신호들을 수신하는 마이크로폰; 오디오 신호들을 출력하는 스피커; 및 클라이언트 애플리케이션을 실행하도록 구성된 하나 이상의 프로세서들을 포함하고, 여기서 클라이언트 애플리케이션은 상기 스피커로부터 출력되어야 하는 오디오 신호를 수신하고 - 상기 오디오 신호는 적어도 하나의 추가 사용자 디바이스 중 하나 이상으로부터 전송된 적어도 하나의 마이크로폰 신호를 포함함 -; 상기 오디오 신호가 상기 사용자 디바이스와 동일 장소에 위치하는 상기 적어도 하나의 추가 사용자 디바이스 중 하나로부터 전송된 마이크로폰 신호의 적어도 하나의 오디오 성분을 포함한다는 것을 검출하며; 이 검출에 기초하여, 상기 스피커로부터 출력하기 위한 출력 오디오 신호를 생성하기 위해 상기 적어도 하나의 오디오 성분을 상기 오디오 신호로부터 제거하도록 구성되어 있다.
본 개시내용의 다른 양태에 따르면, 네트워크 엔터티가 제공되고, 본 네트워크 엔터티는 통신 이벤트 동안 통신 네트워크를 통해 사용자 디바이스와 적어도 하나의 추가 사용자 디바이스 사이에서 오디오를 전송 및 수신하도록 구성된 네트워크 인터페이스; 및 상기 사용자 디바이스의 스피커로부터 출력되어야 하는 오디오 신호를 수신하고 - 상기 오디오 신호는 적어도 하나의 추가 사용자 디바이스 중 하나 이상으로부터 전송된 적어도 하나의 마이크로폰 신호를 포함함 -; 상기 오디오 신호가 상기 사용자 디바이스와 동일 장소에 위치하는 상기 적어도 하나의 추가 사용자 디바이스 중 하나로부터 전송된 마이크로폰 신호의 적어도 하나의 오디오 성분을 포함한다는 것을 검출하며; 이 검출에 기초하여, 상기 스피커로부터 출력하기 위한 출력 오디오 신호를 생성하기 위해 상기 적어도 하나의 오디오 성분을 상기 오디오 신호로부터 제거하도록 구성된 에코 제거 모듈을 포함한다.
이 발명의 내용은 이하에서 발명을 실시하기 위한 구체적인 내용에 추가로 기술되는 선택된 개념들을 간략화된 형태로 소개하기 위해 제공된다. 이 발명의 내용은 청구된 발명 요지의 핵심적인 특징들 또는 필수적인 특징들을 언급하려고 의도되어 있지도 않고, 청구된 발명 요지의 범주를 제한하기 위해 사용되는 것으로 의도되어 있지도 않다.
본 개시내용의 보다 나은 이해를 위해 그리고 본 개시내용이 어떻게 실시될 수 있는지를 보여주기 위해, 이제부터, 예로서, 하기의 도면들이 참조될 것이다.
도 1은 통신 시스템을 나타낸 도면.
도 2는 사용자 단말의 개략도.
도 3은 동일한 음향 공간에 위치되어 있는 회의 참가자들로 인해 어떻게 에코가 발생하는지를 나타내는 도면.
도 4는 동일한 음향 공간에 위치되어 있는 회의 참가자들로 인해 어떻게 에코가 발생하는지를 나타내는 도면.
도 5a는 사용자 단말 상에서 수행되는 에코 제거에서 사용하기 위한 모듈들을 나타낸 기능도.
도 5b는 서버 상에서 수행되는 에코 제거에서 사용하기 위한 모듈들을 나타낸 기능도.
도 6은 에코를 제거하는 프로세스에 대한 플로우차트.
도 1은 통신 시스템을 나타낸 도면.
도 2는 사용자 단말의 개략도.
도 3은 동일한 음향 공간에 위치되어 있는 회의 참가자들로 인해 어떻게 에코가 발생하는지를 나타내는 도면.
도 4는 동일한 음향 공간에 위치되어 있는 회의 참가자들로 인해 어떻게 에코가 발생하는지를 나타내는 도면.
도 5a는 사용자 단말 상에서 수행되는 에코 제거에서 사용하기 위한 모듈들을 나타낸 기능도.
도 5b는 서버 상에서 수행되는 에코 제거에서 사용하기 위한 모듈들을 나타낸 기능도.
도 6은 에코를 제거하는 프로세스에 대한 플로우차트.
본 개시내용의 실시예들은 전화 회의(예컨대, 음성 또는 화상 전화 회의)를 수행하기 위해 다수의 오디오 입력 디바이스들(예컨대, 마이크로폰들)을 사용하는 다수의 참가자들이 공통의 음향 공간에(예컨대, 동일한 회의실에) 위치되어 있는 시나리오에 적용된다.
도 1은 사용자 단말(112)과 연관되어 있는 제1 사용자(102)(사용자 A), 사용자 단말(114)과 연관되어 있는 제2 사용자(104)(사용자 B), 및 사용자 단말(116)과 연관되어 있는 제3 사용자(106)(사용자 C)를 포함하는 통신 시스템(100)을 나타내고 있다. 사용자 A, 사용자 B 및 사용자 C 그리고 그들의 연관된 디바이스들이 동일한 회의실("회의실 1")에 위치되어 있다. 연관된 디바이스들을 갖는 3명의 사용자들이 회의실 1에 나타내어져 있지만, 이것은 일 예에 불과하다.
동일 장소에 위치된 사용자들은 (동일 장소에 위치된 사용자들과 동일 장소에 위치되지 않은) 한 명 이상의 다른 사용자들과 통신할 수 있다. 도 1은 회의실 "회의실 2"에 있는 사용자 단말(118)과 연관되어 있는 제4 사용자(108)(사용자 D), 및 회의실 "회의실 3"에 있는 사용자 단말(120)과 연관되어 있는 제5 사용자(110)를 나타내고 있다. 도 1이 실내 환경에 있는 사용자 단말들(118 및 120)을 나타내고 있지만, 이것은 일 예에 불과하다.
사용자 단말들은 통신 시스템(100)에서 통신 네트워크(101)를 통해 통신할 수 있고, 그로써 사용자들이 통신 네트워크(101)를 통해 서로 통신할 수 있게 한다. 통신 네트워크(101)는 사용자 단말들 사이에 통신 채널을 제공할 수 있는 임의의 적당한 네트워크일 수 있다. 예를 들어, 통신 네트워크(101)는 인터넷 또는, 3G(3rd generation) 모바일 네트워크와 같은, HDR(High data rate) 모바일 네트워크와 같은 다른 유형의 네트워크일 수 있다.
유의할 점은, 대안의 실시예들에서, 사용자 단말들이 도 1에 도시되지 않은 부가의 중간 네트워크를 거쳐 통신 네트워크(101)에 연결할 수 있다는 것이다. 예를 들어, 사용자 단말이 모바일 디바이스이면, 사용자 단말은 셀룰러 모바일 네트워크(도 1에 도시되지 않음), 예를 들어, GSM 또는 UMTS 네트워크를 거쳐 통신 네트워크(101)에 연결할 수 있다.
사용자 단말들은 통신 네트워크(101)에 연결할 수 있는, 예를 들어, 휴대폰, PDA(personal digital assistant), PC(personal computer)(예를 들어, Windows™, Mac OS™ 및 Linux™ PC를 포함함), 태블릿 컴퓨터, 게임 디바이스 또는 다른 임베디드 디바이스(embedded device)일 수 있다.
사용자 단말들 각각은 통신 시스템(100)과 연관된 소프트웨어 제공자에 의해 제공되는 통신 클라이언트 애플리케이션을 실행한다. 통신 클라이언트 애플리케이션은 각자의 사용자 단말 내의 로컬 프로세서 상에서 실행되는 소프트웨어 프로그램이다. 통신 클라이언트 애플리케이션은 사용자 단말이 통신 시스템(100)을 통해 데이터를 전송 및 수신하기 위해 각자의 사용자 단말에서 필요하게 되는 처리를 수행한다. 사용자 단말에서 실행되는 통신 클라이언트 애플리케이션은 통신 시스템을 통해 통신하기 위해 (예컨대, 연관된 사용자가 통신 시스템의 실제 가입자라는 것을 증명하기 위해 - WO 2005/009019에 보다 상세히 기술됨 -) 디지털 인증서들의 제시를 통해 인증받을 수 있다.
본 기술 분야에 공지된 바와 같이, 도 1에 도시된 것보다 더 많은 사용자들 및 사용자 디바이스들이 통신 시스템(100)에 포함될 수 있고, 각자의 사용자 디바이스들에서 실행되는 각자의 통신 클라이언트들을 사용하여 통신 시스템(100)을 통해 통신할 수 있다.
도 1은 네트워크(101)에 연결된 서버(103)를 나타내고 있다. 전화 회의 동안, 오디오 데이터가 네트워크 엔터티(예컨대, 서버)(103)를 거쳐 사용자 단말들 사이에서 전송될 수 있다. 대안적으로 또는 그에 부가하여, 본 기술 분야에 공지된 바와 같이, 전화 회의의 오디오 데이터가 사용자 단말들 사이의 포인트 투 포인트 경로(point-to-point route)들(즉, 통신 시스템(100)에 있는 임의의 서버를 거쳐 가지 않는 경로)을 통해 전송될 수 있다.
도 2는 통신 시스템(100)을 통해 통신하기 위해 통신 클라이언트 애플리케이션이 실행되는 사용자 단말(114)의 상세도를 나타내고 있다. 사용자 단말(114)은 화면 또는 터치 스크린과 같은 디스플레이(204), 키패드(206)와 같은 입력 디바이스들, 카메라(208), 및 터치 스크린(204)에 연결되어 있는 CPU(central processing unit)(202)를 포함한다. 출력 오디오 디바이스(210)(예컨대, 스피커) 및 입력 오디오 디바이스(212)(예컨대, 마이크로폰)이 CPU(202)에 연결되어 있다. 디스플레이(204), 키패드(206), 카메라(208), 출력 오디오 디바이스(210) 및 입력 오디오 디바이스(212)는, 도 2에 도시된 바와 같이, 사용자 단말(114) 내에 통합될 수 있다. 대안의 사용자 단말들에서, 디스플레이(204), 키패드(206), 카메라(208), 출력 오디오 디바이스(210) 및 입력 오디오 디바이스(212) 중 하나 이상이 사용자 단말(114) 내에 통합되지 않을 수 있고, 각자의 인터페이스들을 통해 CPU(202)에 연결될 수 있다. 이러한 인터페이스의 일 예는 USB 인터페이스이다. CPU(202)가 통신 네트워크(101)와의 통신을 위한 모뎀과 같은 네트워크 인터페이스(224)에 연결되어 있다. 네트워크 인터페이스(224)가, 도 2에 도시된 바와 같이, 사용자 단말(114) 내에 통합될 수 있다. 대안의 사용자 단말들에서, 네트워크 인터페이스(224)는 사용자 단말(114) 내에 통합되지 않는다. 사용자 단말(114)은 또한, 본 기술 분야에 공지된 바와 같이, 데이터를 저장하기 위한 메모리(226)를 포함한다. 메모리(226)는 ROM과 같은 영구적 메모리일 수 있다. 대안적으로, 메모리(226)는, RAM과 같은, 일시적 메모리일 수 있다.
통신 클라이언트 애플리케이션이 메모리(226)에 저장되고 CPU(202) 상에서 실행하도록 구성된다는 점에서, 통신 클라이언트 애플리케이션이 사용자 단말(114)에 설치된다. 도 2는 또한 CPU(202) 상에서 실행되는 OS(operating system)(214)를 예시하고 있다. 앞서 언급된 통신 클라이언트 애플리케이션(112)에 대한 소프트웨어 스택(software stack)(216)은 OS(214) 위에서 실행되고 있다. 소프트웨어 스택은 I/O 계층(218), 클라이언트 엔진 계층(220) 및 클라이언트 사용자 인터페이스 계층(UI)(222)을 나타내고 있다. 각각의 계층은 특정 기능을 책임지고 있다. 각각의 계층이 보통 2개의 다른 계층들과 통신하기 때문에, 그들은, 도 2에 도시된 바와 같이, 스택으로 배열되어 있는 것으로 간주된다. 운영 체제(214)는 컴퓨터의 하드웨어 자원들을 관리하고, 네트워크 인터페이스(224)를 거쳐 통신 네트워크(101)로 그리고 통신 네트워크(106)로부터 전송되는 데이터를 처리한다. I/O 계층(218)은 들어오는 인코딩된 스트림들을 수신하고, 적절한 경우, 스피커(210) 및/또는 디스플레이(204)로 출력하기 위해, 그들을 디코딩하는, 그리고 마이크로폰(212) 및/또는 카메라(208)로부터 인코딩되지 않은 오디오 및/또는 비디오 데이터를 수신하고 통신 시스템(100)의 다른 최종 사용자 단말들로 스트림들로서 전송하기 위해 그들을 인코딩하는, 오디오 및/또는 비디오 코덱들을 포함한다. 클라이언트 엔진 계층(220)은, 서버 기반 또는 P2P 주소 탐색(address look-up) 및 인증에 의해 호 또는 다른 연결들을 구축하는 것과 같은, 앞서 논의된 바와 같은 VoIP 시스템의 연결 관리 기능들을 처리한다. 클라이언트 엔진은 또한 본원에서 논의되지 않은 다른 보조 기능들을 책임지고 있을 수 있다. 클라이언트 엔진(220)은 또한 클라이언트 사용자 인터페이스 계층(222)과 통신한다. 클라이언트 엔진(220)은 디스플레이(204) 상에 디스플레이되는 클라이언트의 사용자 인터페이스를 거쳐 사용자 단말(114)의 사용자에게 정보를 제시하기 위해 그리고 사용자 인터페이스를 거쳐 사용자 단말(114)의 사용자로부터 정보를 수신하기 위해 클라이언트 사용자 인터페이스 계층(222)을 제어하도록 구성될 수 있다.
회의 참가자들이 동일한 회의실에 위치되어 있는 것으로 인해 발생하는 제1 에코 효과가 이제부터 도 3을 참조하여 기술될 것이다. 도 3에 도시된 바와 같이, 사용자 단말(114)의 마이크로폰(212)에 의해 수신되는 오디오 신호는, 네트워크(101)를 통해, 사용자 단말(112)의 스피커들에 의한 재생을 위해 사용자 단말(112)로 그리고 사용자 단말(116)의 스피커들에 의한 재생을 위해 사용자 단말(116)로 전송된다. 도 3에 도시되어 있지는 않지만, 사용자 단말(114)의 마이크로폰(212)에 의해 수신된 오디오 신호가 또한 네트워크(101)를 통해 사용자 단말(118) 및 사용자 단말(120)(사용자 단말(118)과 사용자 단말(120)은 도 3에 도시되지 않음)로 전송된다는 것을 잘 알 것이다.
사용자 단말들(112 및 116)이 사용자 단말(114)과 동일한 음향 공간에 있는 것으로 인해, 사용자 단말(114)의 마이크로폰(212)에 의해 수신되는 오디오 신호가 또한 사용자 단말(112)의 마이크로폰에 의해 수신될 수 있고(파선으로 표시됨), 네트워크(101)를 통해 사용자 단말(112)로부터, 사용자 단말(114)의 스피커들에 의한 재생을 위해 사용자 단말(114)로 그리고 사용자 단말(116)의 스피커들에 의한 재생을 위해 사용자 단말(116)로 전송될 수 있다.
사용자 단말들(112 및 116)이 사용자 단말(114)과 동일한 음향 공간에 있는 것으로 인해, 사용자 단말(114)의 마이크로폰(212)에 의해 수신되는 오디오 신호가 또한 사용자 단말(116)의 마이크로폰에 의해 수신될 수 있고(파선으로 표시됨), 사용자 단말(116)로부터 네트워크(101)를 통해, 사용자 단말(112)의 스피커들에 의한 재생을 위해 사용자 단말(112)로 그리고 사용자 단말(114)의 스피커들에 의한 재생을 위해 사용자 단말(114)로 전송될 수 있다.
이 시나리오에서, 사용자 B(104)는 사용자 단말(114)의 마이크로폰(212) 내로의 오디오 신호 입력(예컨대, 사용자 B의 음성)의 에코를 들을 것이다. 이것은 사용자 단말(112)의 마이크로폰에 의해 수신되는 오디오 신호(파선으로 표시됨)가 네트워크(101)를 통해 사용자 단말(112)로부터 사용자 단말(114)로 전송될 때 네트워크(101)에 의해 유입되는 지연, 및 사용자 단말(116)의 마이크로폰에 의해 수신되는 오디오 신호(파선으로 표시됨)가 네트워크(101)를 통해 사용자 단말(112)로부터 사용자 단말(114)로 전송될 때 네트워크(101)에 의해 유입되는 지연에 의해 야기된다.
사용자 A(102)는 사용자 B와 동일한 회의실에 있는 것으로 인해 사용자 단말(114)의 마이크로폰(212) 내로의 오디오 신호 입력(예컨대, 사용자 B의 음성)을 들을 것이다(즉, 음파들이 회의실 1을 가로질러 진행함). 사용자 A(102)는 또한, 사용자 단말(114)의 마이크로폰에 의해 수신되는 오디오 신호(실선으로 표시됨)가 네트워크(101)를 통해 사용자 단말(114)로부터 사용자 단말(112)로 전송되고 사용자 단말(112)의 스피커들이 이 오디오 신호를 사용자 A(102)에게 출력할 때 네트워크(101)에 의해 유입되는 지연으로 인해, 사용자 단말(114)의 마이크로폰(212) 내로의 오디오 신호 입력(예컨대, 사용자 B의 음성)의 에코를 들을 것이다. 사용자 A(102)는 또한, 사용자 단말(116)의 마이크로폰에 의해 수신되는 오디오 신호(파선으로 표시됨)가 네트워크(101)를 통해 사용자 단말(116)로부터 사용자 단말(112)로 전송되고 사용자 단말(112)의 스피커들이 이 오디오 신호를 사용자 A(102)에게 출력할 때 네트워크(101)에 의해 유입되는 지연으로 인해, 사용자 단말(114)의 마이크로폰(212) 내로의 오디오 신호 입력(예컨대, 사용자 B의 음성)의 에코를 들을 것이다.
이와 유사하게, 사용자 C(106)는 사용자 B와 동일한 회의실에 있는 것으로 인해 사용자 단말(114)의 마이크로폰(212) 내로의 오디오 신호 입력(예컨대, 사용자 B의 음성)을 들을 것이다(즉, 음파들이 회의실 1을 가로질러 진행함). 사용자 C(106)는 또한, 사용자 단말(114)의 마이크로폰에 의해 수신되는 오디오 신호(실선으로 표시됨)가 네트워크(101)를 통해 사용자 단말(114)로부터 사용자 단말(116)로 전송되고 사용자 단말(116)의 스피커들이 이 오디오 신호를 사용자 C(106)에게 출력할 때 네트워크(101)에 의해 유입되는 지연으로 인해, 사용자 단말(114)의 마이크로폰(212) 내로의 오디오 신호 입력(예컨대, 사용자 B의 음성)의 에코를 들을 것이다. 사용자 C(106)는 또한, 사용자 단말(112)의 마이크로폰에 의해 수신되는 오디오 신호(파선으로 표시됨)가 네트워크(101)를 통해 사용자 단말(112)로부터 사용자 단말(116)로 전송되고 사용자 단말(116)의 스피커들이 이 오디오 신호를 사용자 C(106)에게 출력할 때 네트워크(101)에 의해 유입되는 지연으로 인해, 사용자 단말(114)의 마이크로폰(212) 내로의 오디오 신호 입력(예컨대, 사용자 B의 음성)의 에코를 들을 것이다.
회의 참가자들이 동일한 회의실에 위치되어 있는 것으로 인해 발생하는 제2 에코 효과가 이제부터 도 4를 참조하여 기술될 것이다. 도 4에 도시된 바와 같이, 사용자 단말(114)의 마이크로폰(212)에 의해 수신되는 오디오 신호의, 사용자 단말(112)의 스피커들에 의한 그리고 사용자 단말(116)의 스피커들에 의한, 재생이 다른 동일 장소에 위치된 디바이스들의 마이크로폰들에 의해 수신될 수 있다.
사용자 B(104)는 사용자 단말(114)의 마이크로폰(212) 내로의 오디오 신호 입력(예컨대, 사용자 B의 음성)의 에코를 들을 것이다. 이것은 (i) 사용자 단말(112)의 마이크로폰이 사용자 단말(116)의 스피커들로부터 출력되는 오디오 신호(예컨대, 사용자 B의 음성)를 수신하는 것 및 이 오디오 신호가 사용자 단말(114)의 스피커들에 의한 재생을 위해 네트워크(101)를 통해 사용자 단말(112)로부터 사용자 단말(114)로 전파하는 것; 및 (ii) 사용자 단말(116)의 마이크로폰이 사용자 단말(112)의 스피커들로부터 출력되는 오디오 신호(예컨대, 사용자 B의 음성)를 수신하는 것 및 이 오디오 신호가 사용자 단말(114)의 스피커들에 의한 재생을 위해 네트워크(101)를 통해 사용자 단말(116)로부터 사용자 단말(114)로 전파하는 것에 의해 야기된다. 사용자 A(102)는 사용자 단말(114)의 마이크로폰(212) 내로의 오디오 신호 입력(예컨대, 사용자 A의 음성)의 에코를 들을 것이다. 이것은 (ii) 사용자 단말(116)의 마이크로폰이 사용자 단말(112)의 스피커들로부터 출력되는 오디오 신호(예컨대, 사용자 B의 음성)를 수신하는 것 및 이 오디오 신호가 사용자 단말(112)의 스피커들에 의한 재생을 위해 네트워크(101)를 통해 사용자 단말(116)로부터 사용자 단말(112)로 전파하는 것; (ii) 사용자 단말(114)의 마이크로폰이 사용자 단말(112)의 스피커들로부터 출력되는 오디오 신호(예컨대, 사용자 B의 음성)를 수신하는 것 및 이 오디오 신호가 사용자 단말(112)의 스피커들에 의한 재생을 위해 네트워크(101)를 통해 사용자 단말(114)로부터 사용자 단말(112)로 전파하는 것; 및 (ii) 사용자 단말(114)의 마이크로폰이 사용자 단말(116)의 스피커들로부터 출력되는 오디오 신호(예컨대, 사용자 B의 음성)를 수신하는 것 및 이 오디오 신호가 사용자 단말(112)의 스피커들에 의한 재생을 위해 네트워크(101)를 통해 사용자 단말(114)로부터 사용자 단말(112)로 전파하는 것에 의해 야기된다.
사용자 C(106)는 사용자 단말(114)의 마이크로폰(212) 내로의 오디오 신호 입력(예컨대, 사용자 B의 음성)의 에코를 들을 것이다. 이것은 (ii) 사용자 단말(112)의 마이크로폰이 사용자 단말(116)의 스피커들로부터 출력되는 오디오 신호(예컨대, 사용자 B의 음성)를 수신하는 것 및 이 오디오 신호가 사용자 단말(116)의 스피커들에 의한 재생을 위해 네트워크(101)를 통해 사용자 단말(112)로부터 사용자 단말(116)로 전파하는 것; (ii) 사용자 단말(114)의 마이크로폰이 사용자 단말(112)의 스피커들로부터 출력되는 오디오 신호(예컨대, 사용자 B의 음성)를 수신하는 것 및 이 오디오 신호가 사용자 단말(116)의 스피커들에 의한 재생을 위해 네트워크(101)를 통해 사용자 단말(114)로부터 사용자 단말(116)로 전파하는 것; 및 (ii) 사용자 단말(114)의 마이크로폰이 사용자 단말(116)의 스피커들로부터 출력되는 오디오 신호(예컨대, 사용자 B의 음성)를 수신하는 것 및 이 오디오 신호가 사용자 단말(116)의 스피커들에 의한 재생을 위해 네트워크(101)를 통해 사용자 단말(114)로부터 사용자 단말(116)로 전파하는 것에 의해 야기된다.
이것이 동일한 초기 음성 신호(사용자 단말(114)의 마이크로폰(212)에 의해 수신되는 오디오 신호)에 대해 계속하여 일어날 것이기 때문에, 추가의 바람직하지 않은 에코 효과들이 발생할 것이다.
앞서 제시된 에코 문제점들을 극복하는 하나의 방법은 공통의 음향 공간에 위치되어 있는 다수의 참가자들이 공통의 음향 공간에 있는 하나의 마이크로폰을 제외한 모든 마이크로폰들을 음소거(mute)하는 것이다. 그렇지만, 이것은 동일 장소에 위치된 회의 참가자들에 대해 종종 바람직하지 않다.
다른 방법은 공통의 음향 공간에 위치되어 있는 다수의 참가자들이 오디오 헤드셋들을 착용하는 것이다. 오디오 헤드셋은 USB 또는 오디오 잭 기반 인터페이스와 같은 적당한 인터페이스를 거쳐 전화 회의에 참가하고 있는 사용자 단말에 연결될 수 있는 출력 오디오 컴포넌트(헤드폰, 이어버드, 또는 유사한 것)와 입력 오디오 컴포넌트(마이크로폰) 둘 다를 포함하는 단일의 디바이스이다. 공통의 음향 공간에 위치되어 있는 다수의 참가자들에 의한 오디오 헤드셋들의 사용은 앞서 기술된 제2 에코 효과가 발생하는 것을 방지하는데, 그 이유는 하나의 헤드셋의 출력 오디오 컴포넌트로부터의 오디오의 재생이 동일 장소에 위치된 사용자에 의해 착용된 다른 헤드셋의 입력 오디오 컴포넌트에 의해 수신되지 않을 것이기 때문이다. 그렇지만, 다른 회의 참가자들과 동일한 음향 공간에 위치된 회의 참가자에 의해 착용된 오디오 헤드셋의 마이크로폰의 지역성(locality)이 전형적으로 앞서 기술된 제1 에코 효과가 발생하는 것을 방지하는 데 충분하지 않다.
도 5a 및 도 6을 참조하여, 에코를 제거하는 방법이 이제부터 기술된다. 도 5a는 사용자 단말(114)의 스피커(210)로부터 출력되어야 하는 신호로부터 에코를 제거하는 에코 제거 시스템(500)의 기능도이다.
도 5a는 사용자 단말(114)의 CPU(202) 상에서 실행되는 통신 클라이언트 애플리케이션의 기능의 일부로서 사용자 단말(114) 상에 구현되는 에코 제거 시스템(500)을 나타내고 있지만; 이하에서 보다 상세히 기술될 것인 바와 같이, 에코 제거 시스템(500)이 또한 서버(103) 상에 구현될 수도 있다.
에코 제거 시스템(500)은 지연 모듈(502), 및 에코 소거 모듈(506)을 포함한다.
도 5a에 도시된 바와 같이, 사용자 단말(114)의 마이크로폰(212)에 의해 포착되는 근단 신호(near end signal) y(t)는 지연 모듈(502)의 제1 입력에 결합된다. 유의할 점은, 본원에 기술되는 실시예들에서, 하나의 마이크로폰(도면들에서 참조 번호 212로 표시됨)만이 있지만, 다른 실시예들에서, 주변 환경으로부터 오디오 신호들을 수신하는 하나 초과의 마이크로폰이 있을 수 있다. 이와 유사하게, 본원에 기술되는 실시예들에서, 하나의 스피커(도면들에서 참조 번호 210으로 표시됨)만이 있지만, 다른 실시예들에서, 출력될 신호가 (스피커로부터 출력하기 위해) 결합되는 하나 초과의 스피커가 있을 수 있다. 스피커(210)로부터 출력될 신호 x(t)는 지연 모듈(502)의 제2 입력에 결합된다. 지연 모듈(502)의 출력은 에코 소거 모듈(506)의 제1 입력에 결합된다. 스피커(210)로부터 출력될 신호 x(t)는 또한 에코 소거 모듈(506)의 제2 입력에 결합된다.
에코 제거 시스템(500)이 사용자 단말(114)의 CPU(202) 상에서 실행되는 통신 클라이언트 애플리케이션의 기능의 일부로서 구현될 때, 사용자 단말(114)의 마이크로폰(212)에 의해 포착된 근단 신호 y(t)는 상기 사용자 단말(114) 상의 인코더에 의해 인코딩되기 이전에 인코딩되지 않은 형태로 되어 있고, 스피커(210)로부터 출력될 신호 x(t)는, 통신 네트워크(101)를 통해 수신된 인코딩된 신호가 상기 사용자 단말(114) 상의 디코더에 의해 디코딩된 후에, 인코딩되지 않은 형태로 되어 있다.
도 6은 근단 신호 y(t)로부터 나오는 신호 성분들이 스피커(210)로부터 출력될 신호 x(t)에 존재하는 것에 의해 야기된 에코를 제거하는 프로세스(600)에 대한 플로우차트이다.
단계(S602)에서, 사용자 단말(114)의 마이크로폰(212)에 의해 포착되는 근단 신호 y(t)가 에코 제거 시스템(500)에 의해 수신된다. 예를 들어, 통신 시스템(100)을 통한 사용자들(102 내지 110) 사이의 음성 또는 화상 통화 동안 근단 신호 y(t)가 사용자 단말(114)의 마이크로폰(212)에 의해 포착될 수 있다.
단계(S604)에서, 에코 제거 시스템(500)은 스피커(210)로부터 출력될 신호 x(t)를 수신한다. 앞서 기술된 바와 같이, 지연 모듈(502)과 에코 소거 모듈(506) 둘 다는 스피커(210)로부터 출력될 신호 x(t)를 수신하도록 구성되어 있다.
단계(S606)에서, 지연 모듈(502)은 근단 신호 y(t) 및 신호 x(t)를 입력들로서 수신한 것에 기초하여 근단 신호 y(t)에 적용될 지연을 결정한다. 이 지연은 스피커(210)로부터 출력될 신호 x(t)의 일부로서 에코 제거 시스템(500)에의 입력으로서 도착하기 전에 네트워크를 통해 피드백 루프에서 신호 y(t) 내의 신호 성분들이 겪는 네트워크 지연에 대응한다. 변하는 네트워크 상태들로 인해, 지연 모듈(502)은 적응적 지연 추정을 수행한다. 적응적 지연 추정 방법들은 본 기술 분야의 통상의 기술자에 널리 공지되어 있고, 따라서 본원에서 상세히 기술되지 않는다. 하나의 방법은 (상관 기법을 사용하여) 다수의 상이한 지연들에서 근단 신호 y(t)와 스피커(210)로부터 출력될 신호 x(t)를 비교하고 가장 높은 상관의 지연을 네트워크 지연의 추정치로서 선택하는 교차 상관 기법을 사용하는 것이다.
단계(S608)에서, 지연 모듈(502)은, 이 지연된 근단 신호 y(t)를 에코 소거 모듈(506)로 출력하기 전에, 단계(S606)에서 결정된 지연을 근단 신호 y(t)에 적용한다.
지연된 근단 신호 y(t) 및 신호 x(t)를 수신한 것에 기초하여, 단계(S610)에서, 에코 소거 모듈(506)은 (사용자 단말(114)과 동일한 음향 공간에 위치된 회의 참가자들의 마이크로폰 신호들의 신호 성분들인) 에코 성분들을 신호 x(t)로부터 제거하도록 구성되어 있다. 에코 소거 모듈(506)은 에코의 추정치가 신호 x(t)로부터 차감되는 에코 차감(echo subtraction)에 기초할 수 있다. 대안적으로, 에코 소거 모듈(506)은 (필연적으로, 1 이하일) 에코 억제(echo suppression) 이득들이 신호 x(t)에 적용되는 에코 억제에 기초할 수 있다. 이에 따라, 적용된 이득들은 에코를 제거하기 위해 신호 x(t)에서의 전력을 감쇠시킬 것이다. 게다가, 에코 소거 모듈(506)은 에코 차감 기법과 에코 억제 기법 둘 다를 겸비하는 하이브리드 에코 소거기(hybrid echo canceller)일 수 있다. 본 기술 분야의 통상의 기술자는 에코 소거 모듈(506)을 구현하는 가능한 방식들을 잘 알고 있을 것이며, 따라서 이들이 본원에서 상세히 논의되지 않는다.
완전함을 위해, 단계(S610)를 수행하기 위해 에코 소거 모듈(506)에 의해 구현될 수 있는 몇몇 예시적인 기법들이 이하에서 간략히 기술된다. 그렇지만, 본 기술 분야의 통상의 기술자는 에코 소거 모듈(506)이 이하에서 언급되는 것들에 대해 다양한 다른 방식들로 구현될 수 있다는 것을 잘 알 것이다.
일 예에서, 에코 소거 모듈(506)은 신호 x(t)와 지연 모듈(502)로부터 출력된 지연된 근단 신호 y(t) 사이의 교차 상관을 모니터링할 수 있다. 본 기술 분야의 통상의 기술자라면 잘 알 것인 바와 같이, 실용적으로 실현가능한 교차 상관 기반 유사성 척도에 대해, 신호 레벨들의 모니터링 및 교차 상관의 평균화(averaging)의 조절이 필요하게 될 수 있다. 이것은 에코 소거 모듈(506)이 사용자 단말(114)과 동일한 음향 공간에 위치된 회의 참가자의 마이크로폰 신호가 사용자 단말(114)로 송신된 신호 x(t)에 존재하는지를 결정할 수 있게 한다.
다른 예에서, 에코 소거 모듈(506)은 근단 신호 y(t)에 기초하여 신호 x(t)의 에코 성분들(사용자 단말(114)과 동일한 음향 공간에 위치된 회의 참가자들의 마이크로폰 신호들의 신호 성분들임)의 예측을 제공하기 위해 근단 신호 y(t)와 수신된 신호 x(t) 사이의 시스템을 모델링하고, 이어서, 지연된 근단 신호 y(t)와 수신된 신호 x(t)의 신호 성분들 사이의 유사성을 결정하기 위해, 신호 x(t) 내의 에코 성분들의 예측을 수신된 신호 x(t)와 비교할 수 있다. 예를 들어, 이 비교는, 실제의 수신된 신호 x(t)의 성분과 신호 x(t)의 예측의 성분 사이의 차 제곱(squared difference)들이 낮을 때, 신호 성분들이 유사한 것으로 간주되도록, 최소 제곱(least-squares) 방식으로 수행될 수 있다.
필터 모듈이 신호 x(t) 내의 에코 성분들의 예측을 제공하기 위해 근단 신호 y(t)와 수신된 신호 x(t) 사이의 시스템을 모델링하는 데 사용될 수 있다. 모델링되고 있는 시스템은 근단 신호 y(t)의 신호 성분들이, 신호 x(t)의 일부로서 도착하기 전에, 통과하는 시스템 컴포넌트들 모두, 예컨대, 근단 신호의 에코 경로, 예를 들어, 인코더들 및 디코더들, 지터 버퍼들 및 네트워크(101)를 포함한다. 필터 모듈은 수신된 신호 x(t)와 지연 모듈(502)로부터 출력된 지연된 근단 신호 y(t)를 입력들로서 받는다.
필터 모듈은 추정 오차 신호 e(t)의 크기, 절댓값 또는 제곱 값을 최소화하는 필터 모듈의 계수들을 식별하기 위해 적응 제어 알고리즘을 실행하는 적응 알고리즘 컴포넌트를 포함한다.
오차 신호 e(t), 지연된 근단 신호 y(t) 및 이전의 필터 계수들에 응답하여 필터 모듈에 대한 업데이트된 필터 계수들이 생성된다.
필터 모듈의 적응 알고리즘 컴포넌트는 시간 재귀적 방식으로 동작한다. 이것은 그것이 시스템에서의 변화들에 즉각적으로 적응하지 않고, 그 대신에, 알고리즘이 유한한 시간 구간에 걸쳐 근단 신호 y(t)와 수신된 신호 x(t) 사이의 시스템의 근사치(approximation)에 반복하여 수렴한다는 것을 의미한다. 사용된 특정의 알고리즘에 관계없이, 알고리즘의 각각의 반복에 의해 필터 모듈의 필터 계수들이 업데이트되고, 따라서 가까운 장래의 신호 상태들에 관계없이 필터 모듈의 계수들이 시간의 경과에 따라 계속하여 업데이트된다.
신호 x(t) 내의 에코 성분들의 추정치(예측)를 생성하기 위해 지연된 근단 신호 y(t)를 필터링하는 데 필터 모듈의 필터 계수들이 사용된다.
다른 변형에서, 이 모델이 에코 전력과 같은 신호 x(t) 내의 에코 성분들의 특성들을 추정하는 데 사용되고, 에코 소거 모듈(506)은 신호 x(t) 내의 에코 성분들의 에코 전력 추정치에 기초하여 에코 소거를 수행하도록 구성된다. 본 기술 분야의 통상의 기술자에게 공지되어 있는, 이것을 행하는 많은 방식들이 있고, 본 개시내용의 범주가 에코 전력 추정치를 결정하는 임의의 특정 방법으로 제한되지 않는다.
필터 모듈은 확률적 그레이디언트(stochastic gradient) 알고리즘을 구현하는 임의의 필터를 이용할 수 있다. 필터 모듈은 근단 신호 y(t)와 수신된 신호 x(t) 사이의 시스템을 모델링하기 위해 선형 필터를 이용할 수 있거나(예컨대, FIR(Finite Impulse Response) 필터 또는 IIR(Infinite impulse Response) 필터), 대안적으로 비선형 필터를 이용할 수 있다.
y(t)의 신호 성분들은, 신호 x(t)의 일부로서 도착하기 전에, 몇 개의 상이한 경로들을 취할 수 있다(그리고 따라서 상이한 시스템 컴포넌트들을 통과함). 이것은 필터 모듈이 근단 신호 y(t)와 수신된 신호 x(t) 사이의 시스템을 어떻게 모델링하는지를 구성하는 것에 의해 처리될 수 있다. 선형 음향 에코 소거를 위해, 다수의 에코들이 필터의 길이를 증가시키는 것에 의해 처리되고, 본 기술 분야의 통상의 기술자에게 명백할 에코 억제기들에 대해 이용될 수 있는 유사한 접근법들이 있다.
에코 제거 시스템(500)이, 스피커 신호로부터 비롯된 것으로 밝혀지는 마이크로폰 신호에서의 에코들을 제거하는 데 사용되는 본 기술 분야에 공지된 종래의 "전방향(forwards)" 에코 소거기와 달리, 마이크로폰 신호로부터 비롯된 것으로 밝혀지는 스피커 신호의 임의의 부분들을 예측하고 제거하기 위해 마이크로폰 신호를 사용한다는 점에서, "역방향(backwards)" 또는 "역(reversed)" 에코 소거기로 생각될 수 있다는 것을 잘 알 것이다.
에코 제거 시스템(500)이 사용자 단말(114)의 CPU(202) 상에서 실행되는 통신 클라이언트 애플리케이션의 기능의 일부로서 구현되는 것으로 앞서 기술되었지만, 에코 제거 시스템(500)이 전화 회의에 참가하는 임의의 사용자 단말 상에서 실행되는 통신 클라이언트 애플리케이션의 기능의 일부로서 구현될 때 동일한 원리들이 적용된다.
앞서 기술된 바와 같이, 에코 제거 시스템(500)은 서버(103) 상에서 구현될 수 있다. 에코 제거 시스템(500)이 서버(103)에서 구현될 수 있는 하나의 가능한 방식이 도 5b에 도시되어 있다.
도 5b에 도시된 바와 같이, 에코 제거 시스템(500)이 서버(103) 상에서 구현될 때, 통신 이벤트에 참가하고 있는 사용자 단말들의 마이크로폰들에 의해 포착되는 근단 신호 y(t)가 네트워크(101)를 통해 서버(103)에 의해 인코딩된 형태로(각자의 사용자 단말들 상의 인코더들에 의해 인코딩되었음) 수신된다.
도 5b에서, y1(t)는 사용자 단말(112)로부터 수신되고, y2(t)는 사용자 단말(114)로부터 수신되며, y3(t)는 사용자 단말(116)로부터 수신되고, y4(t)는 사용자 단말(118)로부터 수신되며, y5(t)는 사용자 단말(120)로부터 수신된다.
전형적으로, 서버(103)는 각자의 디코딩된 신호들을 출력하기 위해 인코딩된 신호들 y1(t) 내지 y5(t)를 디코딩하는 디코더(508), 디코딩된 신호들을 수신하고 그들을 단일 스트림으로 결합시키도록 구성되는 믹서(510), 및 출력 신호 x(t)를 생성하기 위해 믹서로부터 출력된 단일 스트림을 인코딩하는 인코더(512)를 포함한다. 참가자 사용자 단말들 각각은 x(t)의 그 자신의 버전을 수신하지만, 이 신호들 x(t) 중 일부는 동일할 수 있다.
도 5b에 도시된 바와 같이, 지연 모듈(502)은 믹서(510)에 입력되는 디코딩된 y1(t) 내지 y5(t) 신호들을 수신한다 . 디코딩된 y1(t) 내지 y5(t) 신호들 각각에 대해, 지연 모듈(502)은 (i) 음원과 디코딩된 y(t) 신호를 생성하는 사용자 단말 사이의 전파 경로로 인한 지연, (ii) 디코딩된 y(t) 신호를 생성하는 사용자 단말에서의 오디오 처리로 인한 지연, 및 (iii) 디코딩된 y(t) 신호를 생성하는 사용자 단말과 서버(103) 사이의 단방향 네트워크 지연을 포함하는 음원과 서버(103) 사이의 신호 전파 시간에 대응하는 지연을 계산한다. 디코딩된 y1(t) 내지 y5(t) 신호들의 신호 전파 시간이 네트워크(101)의 어쩌면 상이한 지연들로 인해 상이한 양일 수 있다. 변하는 네트워크 상태들로 인해, 지연 모듈(502)은 에코 제거 시스템(500)이 서버(103) 상에 구현될 때 적응적 지연 추정을 수행한다.
간단함을 위해, 서버(103) 상에서의 에코 제거 시스템(500)의 구현이 서버(103)로부터 y1(t)를 생성한 사용자 단말(112)로 송신되는 신호 x1(t)를 참조하여 이하에서 논의된다.
(y1(t)를 생성하는) 사용자 단말(112)이 다른 사용자 단말, 예컨대, y2(t)를 생성하는 사용자 단말(114)과 동일 장소에 위치하는 시나리오에서, 단일 소스로부터의 신호 s(t)가 사용자 단말(114)의 마이크로폰에 의해 픽업되는 것으로 인해 에코가 사용자 단말(112)에서 사용자 A에 들릴 것임 - 이 소리가 통신 네트워크(101)를 통해 서버(103)로 전송되고 사용자 단말(112)로 전송되는 신호 x1(t)에 존재할 것임 - 이 명백할 것이다. 앞서 기술된 바와 같이, 에코 소거 모듈(506)은 에코 소거를 수행하기 위해 다양한 공지된 기법들 중 하나를 구현할 수 있다.
하나의 예시적인 기법에서, 디코딩된 신호 y1(t)는 y2(t) - 즉, 에코가 사용자 단말(112)에서 사용자 A에 들리게 하는 믹서(510)의 단일 스트림 출력에 존재하는 신호 성분들 - 의 예측을 제공하는 데 사용될 수 있다.
이 예에서, 디코딩된 신호 y1(t)는 지연 모듈(502)에 제공된다. 지연 모듈(502)(이하에서 보다 상세히 기술됨)에 의해 지연이 계산되고 디코딩된 신호 y1(t)에 적용되면, 지연된 y1(t) 신호가 에코 소거 모듈(506)에 공급된다.
에코 소거 모듈(506)은 또한 믹서(510)의 단일 스트림 출력을, 입력으로서, 수신한다. 지연된 신호 y1(t) 및 믹서(510)의 단일 스트림 출력을 수신한 것에 기초하여, 에코 소거 모듈(506)은 서버(103)로부터 사용자 단말(112)로 전송되어야 하는 신호 x1(t)를 제공하기 위해 y2(t)의 신호 성분들을 믹서(510)의 단일 스트림 출력으로부터 제거하도록 구성되어 있다.
y1(t) = F1(s(t))이기 때문에 신호 y1(t)는 음원의 함수이고, y2(t) = F2(s(t))이기 때문에 신호 y2(t)는 음원의 함수이다.
함수 F1은 단일 소스로부터의 신호 s(t)가 서버(103)의 디코더(508)에의 입력 y1(t)로서 도착하기 전에 그 신호 s(t)에 영향을 미치는 시스템 컴포넌트들을 참조한다. 이것은 (i) 음원과 사용자 단말(112) 사이의 전파 경로, (ii) 사용자 단말(112)에서의 녹음된 소리의 신호 처리, (iii) 사용자 단말(112)에서의 인코딩 프로세스, 및 (iv) 네트워크(101)의 지연을 포함한다.
이와 유사하게, 함수 F2도 단일 소스로부터의 신호 s(t)가 서버(103)의 디코더(508)에의 입력 y2(t)로서 도착하기 전에 그 신호 s(t)에 영향을 미치는 시스템 컴포넌트들을 참조한다. 이것은 (i) 음원과 사용자 단말(114) 사이의 전파 경로, (ii) 사용자 단말(114)에서의 녹음된 소리의 신호 처리, (iii) 사용자 단말(114)에서의 인코딩 프로세스, 및 (iv) 네트워크(101)의 지연을 포함한다.
따라서, 신호 y1(t)가 에코 소거 모듈(506)이 F2와 F1의 역함수(inverse)(F1') 둘 다를 모델링하는 데 필요로 하는 y2(t)의 예측자(predictor)로서 사용되기 위해서는, y2(t) = F2F1'y1(t)(여기서 F1'은 함수 F1의 역함수임)라는 것이 명백할 것이다.
예를 들어, F1=5이고 F2 = 3이도록 F1과 F2가 간단한 상수들이라고 가정하고; 그러면 y1(t)=5s(t)이고 y2(t)=3s(t)이며, 이는 y2(t)=3/5y1(t)라는 것을 의미한다. 이 상황은 F1과 F2가 이것보다 더 진보된 것일 때 유사하고, 예컨대, F1과 F2가 FIR 필터이면, y1과 y2 사이의 관계는 분자와 분모를 갖는 IIR 필터로 된다.
앞서 기술된 바와 같이, 지연 모듈(502)에 의해 지연이 계산되고 디코딩된 신호 y1(t)에 적용된다. 이 지연은 s(t)에서의 특정 성분이 y1(t)에 나타날 때와 y2(t)에 나타날 때 사이의 지연 차이(delay difference)이다. 이 지연 차이를 검출하는 하나의 방법은 (상관 기법을 사용하여) 다수의 상이한 지연들에서 신호 y1(t)와 y2(t)를 비교하고 가장 높은 상관의 지연을 지연 차이로서 선택하는 교차 상관 기법을 사용하는 것이다. 이 지연을 검출하는 다른 방법은 신호들 y1(t)와 y2(t)의 인코딩된 오디오 데이터를 전송하는 데 사용되는 RTP(Real-time Transport Protocol) 패킷들의 타임 스탬프들을 사용하는 것이다.
이 지연이 보상되지 않으면, y1(t)에 기초하여 y2(t)를 모델링하기 위해 계산되는 모델이 비인과성(non-causal)일 필요가 있을 수 있다 - 즉, 그 모델이 y1(t)의 장래의 성분들(y1(t+1), y1(t+2), ...)을 포함할 필요가 있을 수 있다 -. 그렇지만, 이 지연이 식별되고 보상되면, 그 모델이 인과성인 것으로 가정될 수 있고, 이는 모델 파라미터 추정을 단순화시킨다.
즉, 지연 모듈(502)에 의해 수행되는 지연 계산의 목적은 y1(t)와 y2(t) 사이의 관계에 대한 인과성 모델이 사용될 수 있게 하기 위해 신호들 y1(t)와 y2(t)를 정렬하는 것이다. 계산되고 신호 y1(t)에 적용되는 지연은 따라서 y1(t)와 y2(t) 사이의 지연 차이, 즉 신호들 y1(t)와 y2(t)에 대한 음원과 서버(103) 사이의 신호 전파 시간들의 차이이다.
에코 소거가 y1(t)가 y2(t)의 예측을 제공하는 데 사용되는 것을 참조하여 앞서 기술되었지만, 동일한 원리들이 y1(t)가 전화 회의에의 다른 참가자들로부터 수신되는 오디오 신호들의 예측을 제공하는 데 사용되는 것에 대해 적용된다.
전화 회의에 참가하고 있는 사용자 단말들 중 어느 것이 동일한 음향 공간에 위치되어 있는지에 관한 정보를 수신한 것(이하에서 보다 상세히 기술됨)에 기초하여, 전화 회의에 참가하고 있는 다른 사용자 단말과 동일 장소에 위치되어 있는 사용자 단말로부터 비롯되지 않은 신호들의 신호 성분들을 예측할 필요가 없는 것에 의해 앞서 기술된 지연 계산 및 에코 소거가 단순화될 수 있다.
에코 소거 모듈(506)은 또한 디코딩된 y1(t) 내지 y5(t) 신호들 중 어느 것이 믹서(510)에 의해 출력되는 단일 스트림을 생성하기 위해 서로 믹싱되었는지를 나타내는 부가 정보를 믹서(510)로부터 수신할 수 있다. 믹서(510)에 의해 출력되는 단일 스트림을 생성하기 위해 어떤 신호들이 서로 믹싱되었는지를 아는 것에 의해, 에코 소거 모듈(506)은 동일 장소에 위치된 참가자들의 마이크로폰 신호들 중 임의의 것이 스트림에 있는지를 알 수 있다. 이것은 에코 소거 모듈(506)에서의 모델의 추정을 개선시킬 것인데, 그 이유는 에코 소거 모듈(506)이 동일 위치에 있는 장소로부터 나오지 않는 데이터에 대한 모델을 추정하는 것을 회피할 필요가 없을 것이기 때문이다. 게다가, 이는 에코 제거 기능을 선택적으로 턴오프시키는 것을 가능하게 할 것이며, 이는, 가짜 에코들(에코가 아닌 에코들)을 제거할 위험을 감소시킬 것이기 때문에, 에코 소거 모듈(506)의 출력의 품질을 개선시킬 것이다. 예를 들어, 유사한 소리가 y1(t)와 믹서(510)에 의해 출력되는 단일 스트림에 있는 동일 장소로부터 오지 않은 신호(non co-located signal) 둘 다에 있는 경우, 소리의 지연이 동일 장소로부터 온 신호(co-located signal)들의 지연들 중 임의의 것과 일치하면, 동일 장소로부터 오지 않은 신호가 에코 제거에 의해 영향을 받을 수 있다.
이것에 대한 대안은 신호 x(t) 및 지연 모듈(502)로부터 출력된 지연된 근단 신호 y(t)를 수신한 것에 기초하여 근단 신호 y(t)로부터 비롯되는 신호 x(t)의 신호 성분들을 식별하도록 구성되어 있는 신호 성분 식별 모듈(도면들에 도시되지 않음)을 사용하는 것이다. 이것은 근단 신호 y(t)를 생성하는 마이크로폰에의 오디오 입력이 스피커(210)로부터 출력되기 위해 서버(103)로부터 송신되는 신호 x(t)에 존재하지 않는 시나리오에 대해 에코 소거 모듈(506)이 신호 x(t)에 대해 에코 소거를 수행할 필요가 없게 할 것이다.
에코 소거가 수행되면, 인코더(512)는 네트워크(101)를 통해 사용자 단말(112)로 전달하기 위한 인코딩된 출력 신호 x1(t)를 생성하기 위해 믹서 에코 소거 모듈(506)로부터의 단일 스트림 출력을 인코딩한다.
서버(103) 상에서의 에코 제거 시스템(500)의 구현이 서버(103)로부터 y1(t)를 생성한 사용자 단말(112)로 송신되는 신호 x1(t)를 참조하여 앞서 기술되었지만, 서버(103)가 네트워크(101)를 통해 전화 회의에 참가하고 있는 사용자 단말들 각각으로 전달하기 위한 출력 신호 x(t)를 생성할 때 동일한 원리들이 적용된다.
본 기술 분야의 통상의 기술자라면 서버(103) 상에서의 에코 제거 시스템(500)의 구현이, 에코 제거 시스템(500)이 사용자 단말의 CPU(202) 상에서 실행되는 통신 클라이언트 애플리케이션의 기능의 일부로서 구현되는 것과 비교하여, 구현하기 더 간단할 수 있다는 것을 잘 알 것이다.
통신 클라이언트 애플리케이션에 의해 모델링되는 시스템은, 2개의 인코더들 및 디코더들, 서버(103) 상의 지터 버퍼들 및 사용자 단말들과 네트워크(101)에서의 임의의 손실을 포함하기 때문에, 비선형이다. 통신 클라이언트 애플리케이션에 의해 모델링되는 시스템은, 네트워크의 왕복 지연(round-trip delay)과 서버 및 클라이언트 상의 지터 버퍼들에서의 지연들을 포함하기 때문에, 시변 지연(time-variant delay)을 포함한다.
이와 달리, 서버(103)에 의해 모델링되는 시스템은 더(어쩌면 심지어 완전히) 선형적일 수 있고, 꽤 예측가능한(어쩌면 일정한) 지연을 가질 수 있다. 에코 소거 모듈(506)에 의해 모델링되는 시스템이 간단할수록, 에코 소거 모듈(506)의 작업이 간단하다. 전화 회의에 참가하고 있는 사용자 단말들 각각에 의해 동일한 코덱이 사용되는 시나리오들에 대해, 서버 구현에서, 마이크로폰 신호가 디코딩된 후에 그리고 스피커 신호가 인코딩되기 전에 에코 소거 모듈(506)이 적용될 수 있기 때문에, 그리고 신호와 에코가 서버로 가는 도중에 동일한 방식으로 인코딩/디코딩되었기 때문에, 모델이 에코 소거 모듈(506)이 모델링할 필요가 있는 시스템에 존재하는 인코더들/디코더들의 효과들을 포함할 필요가 없다.
그 결과, 서버 구현에서, 지연 모듈(502)에 의해 수행되는 지연 추정과 에코 소거 모듈(506)에 의해 수행되는 근단 신호 y(t)로부터 비롯되는 스피커(210)로부터 출력될 신호 x(t)의 신호 성분들의 에코 소거가 보다 정확하고 강건하게 될 수 있다.
전화 회의의 참가자 디바이스들(연관된 스피커 및 마이크로폰을 가짐)이 동일한 음향 공간에 위치하는 것과 연관된 앞서 기술된 문제점들을 방지하기 위해 에코 제거 시스템(500)의 기능이 항상 활성화될 수 있다.
다른 실시예들에서, 전화 회의에 참가하고 있는 사용자 단말이 전화 회의에 참가하고 있는 다른 사용자 단말에 가까이(예컨대, 동일한 음향 공간에) 위치되어 있을 때에만 에코 제거 시스템(500)의 기능이 활성화될 수 있고, 따라서 동일 장소에 위치되어 있는, 전화 회의에 참가하고 있는 사용자 단말들이 없을 때, 에코 제거 시스템(500)의 기능이 비활성화된다. 도 5a 및 도 5b는 에코 제거 시스템(500)의 동작을 활성화/비활성화시키는 데 사용되는 입력 φ를 나타내고 있다.
에코 제거 시스템(500)이 사용자 단말의 CPU(202) 상에서 실행되는 통신 클라이언트 애플리케이션의 기능의 일부로서 구현될 때, 통신 클라이언트 애플리케이션이 그가 실행되는 사용자 단말이 전화 회의에 참가하고 있는 다른 사용자 단말과 동일 장소에 위치되어 있다는 것을 검출할 수 있는 다양한 방식들이 있고, 이들이 이하에서 기술된다.
일 예에서, 통신 클라이언트 애플리케이션은 그가 실행되는 사용자 단말이 전화 회의에 참가하고 있는 다른 사용자 단말과 동일 장소에 위치되어 있다는 것을, 통신 클라이언트 애플리케이션에 의해 제공되는 클라이언트 사용자 인터페이스와의 상호작용(예컨대, 사용자 단말이 다른 사용자 단말과 동일 장소에 위치되어 있다는 것을 나타내는 버튼의 선택)을 검출함으로써 사용자 단말의 사용자에 의한 수동 통지를 검출하는 것에 기초하여, 검출할 수 있다. 전화 회의에 참가하고 있는 사용자 단말들 상에서 실행되는 통신 클라이언트 애플리케이션들 각각이 검출된 상호작용을 서버(103)로 전달하도록 구성되어 있는 것에 기초하여 에코 제거 시스템(500)이 서버(103)의 기능의 일부로서 구현될 때 유사한 원리들이 적용된다.
다른 예에서, 통신 클라이언트 애플리케이션은 그가 실행되는 사용자 단말이 전화 회의에 참가하고 있는 다른 사용자 단말과 동일 장소에 위치되어 있다는 것을, 통신 클라이언트 애플리케이션이 그가 실행되는 사용자 단말의 위치를 결정하는 것 및 위치 정보를 전화 회의에 참가하고 있는 다른 단말로부터 수신하는 것에 기초하여, 검출할 수 있다. 각각의 통신 클라이언트 애플리케이션은 그가 실행되는 사용자 단말의 위치를 결정하고, 위치 정보(즉, 위도 및 경도 정보)를 전화 회의에 참가하고 있는 다른 사용자 단말들 상에서 실행되는 다른 통신 클라이언트 애플리케이션들로 전송하는 것에 의해, 그의 위치를 보고할 수 있다. 통신 클라이언트 애플리케이션은 그가 실행되는 사용자 단말의 위치를, OS(214) 위에서 실행 중인 위치 결정 모듈과 통신하는 것에 의해, 결정할 수 있다. 위치 결정 모듈은, 지표면에 대한 지리적 위치의 면에서, 사용자 단말의 위치를 결정하기 위해 지리적 위치 기술, 예를 들어, GPS(Global Positioning System)(보조 GPS(assisted GPS) 또는 차분 GPS(differential GPS)와 같은 잠재적 변형들을 포함함), GLONASS(Global Navigation Satellite System) 또는 Galileo와 같은 위성 기반 위치결정 시스템을 사용한다. 이와 같이, 통신 클라이언트 애플리케이션은 그가 실행되는 사용자 단말의 위치 정보는 물론, 전화 회의에 참가하고 있는 다른 사용자 단말들의 위치 정보를 가지며, 그가 실행되는 사용자 단말이 전화 회의에 참가하고 있는 다른 사용자 단말과 동일 장소에 위치되어 있는지를, 다른 사용자 단말이 사용자 단말로부터 미리 결정된 범위 내에 있는지에 기초하여, 검출할 수 있다. 전화 회의에 참가하고 있는 사용자 단말들 상에서 실행되는 통신 클라이언트 애플리케이션들 각각이 그가 실행되는 사용자 단말의 위치를 서버(103)로 전달하도록 구성되어 있는 것에 기초하여 에코 제거 시스템(500)이 서버(103)의 기능의 일부로서 구현될 때 유사한 원리들이 적용된다.
다른 예에서, 각각의 통신 클라이언트 애플리케이션은 통신 네트워크(101)에 액세스하기 위해 사용자 단말에 의해 사용되는 액세스 포인트의 식별자를 결정하고 이 액세스 포인트 식별자를 전화 회의에 참가하고 있는 다른 사용자 단말들 상에서 실행되는 다른 통신 클라이언트 애플리케이션들에 보고할 수 있다. 이와 같이, 통신 클라이언트 애플리케이션은 그가 실행되는 사용자 단말의 액세스 포인트 식별자는 물론, 전화 회의에 참가하고 있는 다른 사용자 단말들로부터 수신된 액세스 포인트 식별자들을 가진다. 따라서, 통신 클라이언트 애플리케이션은 그가 실행되는 사용자 단말이 전화 회의에 참가하고 있는 다른 사용자 단말과 동일 장소에 위치되어 있다는 것을, 통신 네트워크(101)에 액세스하기 위해 사용자 단말에 의해 사용되는 액세스 포인트 식별자가 전화 회의에 참가하고 있는 다른 사용자 단말로부터 수신된 액세스 포인트 식별자와 일치하는지에 기초하여, 검출할 수 있다. 전화 회의에 참가하고 있는 사용자 단말들 상에서 실행되는 통신 클라이언트 애플리케이션들 각각이 그가 실행되는 사용자 단말에 의해 통신 네트워크(101)에 액세스하기 위해 사용되는 액세스 포인트의 식별자를 서버(103)로 전달하도록 구성되어 있는 것에 기초하여 에코 제거 시스템(500)이 서버(101)의 기능의 일부로서 구현될 때 유사한 원리들이 적용된다.
다른 예에서, 각각의 통신 클라이언트 애플리케이션은 그가 실행되는 사용자 단말의 도달거리 내에 있는 사용자 단말들의 디바이스 식별 정보를, Bluetooth® 또는 NFC(Near-Field Communication)와 같은 단거리 무선 기술을 사용하여, 획득하고 이 획득된 디바이스 식별 정보를 전화 회의에 참가하고 있는 다른 사용자 단말들 상에서 실행되는 다른 통신 클라이언트 애플리케이션들에 보고할 수 있다.
이와 같이, 전화 회의에 참가하고 있는 다른 사용자 단말들의 디바이스 ID(device identification)를 가지는 통신 클라이언트 애플리케이션은 그가 실행되는 사용자 단말이 전화 회의에 참가하고 있는 다른 사용자 단말과 동일 장소에 위치되어 있는지를, 다른 사용자 단말이 사용자 단말의 도달거리 내에 있는지에 기초하여, 검출할 수 있다. 전화 회의에 참가하고 있는 사용자 단말들 상에서 실행되는 통신 클라이언트 애플리케이션들 각각이 그가 실행되는 사용자 단말의 디바이스 식별 정보를 서버(103)로 전달하도록 구성되어 있는 것에 기초하여 에코 제거 시스템(500)이 서버(103)의 기능의 일부로서 구현될 때 유사한 원리들이 적용된다.
각각의 통신 클라이언트 애플리케이션은 통신 클라이언트 애플리케이션이 실행되는 사용자 단말과 연관된 사용자에게 착신 전화(incoming call)를 알려주기 위해, 예컨대, 특정 주파수의 사인파 파형(예컨대, 벨소리)을 출력하도록 구성될 수 있다. 또 다른 예에서, 통신 클라이언트 애플리케이션은 그가 실행되는 사용자 단말이 전화 회의에 참가하고 있는 다른 사용자 단말과 동일 장소에 위치되어 있다는 것을, 마이크로폰으로부터 출력된 오디오 신호에서 사인파 파형의 존재를 검출하기 위해 사용자 단말의 마이크로폰으로부터 출력되는 오디오 신호에 대해 신호 처리를 수행한 것에 기초하여, 검출할 수 있다. 전화 회의에 참가하고 있는 사용자 단말들 상에서 실행되는 통신 클라이언트 애플리케이션들 각각이 사인파 파형의 존재의 검출을 서버(103)로 전달하도록 구성되어 있는 것에 기초하여 에코 제거 시스템(500)이 서버(103)의 기능의 일부로서 구현될 때 유사한 원리들이 적용된다.
본 기술 분야의 통상의 기술자에게 명백한 다른 방법들이 전화 회의에 참가하고 있는 2개 이상의 사용자 단말들이 동일한 음향 공간에 존재하는 것을 검출하는 데 사용될 수 있고, 본 개시내용의 실시예들이 이 다른 방법들로 확장된다는 것을 잘 알 것이다.
에코 제거 시스템(500)을 비활성화시키는 것에 의해, 지연 모듈(502) 및 에코 소거 모듈(506)을 참조하여 앞서 기술된 동작들이 수행되지 않는다. 이것은 에코 제거 시스템(500)이 구현되는 디바이스(예컨대, 사용자 단말 또는 서버(103))의 처리 요구사항들을 감소시킨다. 이것은 에코 제거 시스템(500)이, 예를 들어, 모바일 디바이스에의 전력 공급이 제한될 수 있기 때문에 모바일 디바이스의 전력 소비를 낮은 레벨로 유지하는 것이 중요한 경우, 모바일 디바이스의 CPU(202) 상에서 실행되는 통신 클라이언트 애플리케이션의 기능의 일부로서 모바일 디바이스 상에 구현될 때 특히 유리하다.
앞서 기술된 바와 같이, 본 개시내용의 일 양태에 따르면, 통신 네트워크를 통해 사용자 디바이스와 적어도 하나의 추가 사용자 디바이스 사이에서 수행되는 통신 이벤트 동안 구현되는 방법이 제공되고, 본 방법은 상기 사용자 디바이스의 스피커로부터 출력되어야 하는 오디오 신호를 수신하는 단계 - 상기 오디오 신호는 적어도 하나의 추가 사용자 디바이스 중 하나 이상으로부터 전송된 적어도 하나의 마이크로폰 신호를 포함함 -; 상기 오디오 신호가 상기 사용자 디바이스와 동일 장소에 위치하는 상기 적어도 하나의 추가 사용자 디바이스 중 하나로부터 전송된 마이크로폰 신호의 적어도 하나의 오디오 성분을 포함한다는 것을 검출하는 단계; 및 이 검출에 기초하여, 상기 스피커로부터 출력하기 위한 출력 오디오 신호를 생성하기 위해 상기 적어도 하나의 오디오 성분을 상기 오디오 신호로부터 제거하는 단계를 포함한다.
본 방법은 상기 사용자 디바이스로부터 마이크로폰 신호를 수신하는 단계; 상기 오디오 신호 및 지연된 마이크로폰 신호에 기초하여 지연을 계산하는 단계; 및 지연된 마이크로폰 신호를 제공하기 위해 마이크로폰 신호를 상기 계산된 지연만큼 지연시키는 단계를 추가로 포함할 수 있고, 여기서 상기 검출은 상기 오디오 신호 및 지연된 마이크로폰 신호에 기초한다.
지연을 계산하는 단계는 복수의 상이한 지연들에서 상기 오디오 신호와 지연된 마이크로폰 신호를 비교하고 상기 오디오 신호와 지연된 마이크로폰 신호 사이의 가장 높은 상관을 제공하는 지연을 선택하는 단계를 포함할 수 있다.
검출하는 단계는 상기 오디오 신호와 지연된 마이크로폰 신호 사이의 교차 상관의 정도를 모니터링하는 단계를 포함할 수 있다.
검출하는 단계는 수신된 오디오 신호 내의 에코의 적응적 모델 추정치를 결정하기 위해 지연된 마이크로폰 신호에 기초하여 적응적 모델을 사용하여 마이크로폰 신호 내의 신호 성분들의 에코 경로를 모델링하는 단계; 및 수신된 오디오 신호 내의 에코의 적응적 모델 추정치를 상기 수신된 오디오 신호와 비교하는 단계를 포함할 수 있다.
예시적인 실시예들에서, 오디오 신호가 통신 네트워크를 통해 상기 사용자 디바이스에 수신된다.
예시적인 실시예들에서, 본 방법이 상기 사용자 디바이스 상에서 실행되는 통신 클라이언트 애플리케이션에 의해 수행된다.
다른 예시적인 실시예들에서, 사용자 디바이스와 적어도 하나의 추가 사용자 디바이스는 상기 통신 이벤트 동안 네트워크 엔터티를 거쳐 통신 네트워크를 통해 통신하고, 본 방법은 상기 네트워크 엔터티에 의해 수행된다.
이 다른 예시적인 실시예들에서, 본 방법은 상기 사용자 디바이스로부터 마이크로폰 신호를 수신하는 단계; 상기 적어도 하나의 추가 사용자 디바이스로부터 마이크로폰 신호를 수신하는 단계; 상기 사용자 디바이스로부터 수신된 마이크로폰 신호 및 상기 적어도 하나의 추가 사용자 디바이스로부터의 마이크로폰 신호에 기초하여 지연을 계산하는 단계; 및 지연된 마이크로폰 신호를 제공하기 위해 상기 사용자 디바이스로부터 수신된 마이크로폰 신호를 상기 계산된 지연만큼 지연시키는 단계를 추가로 포함할 수 있고, 여기서 상기 검출은 상기 오디오 신호 및 지연된 마이크로폰 신호에 기초한다.
지연을 계산하는 단계는 복수의 상이한 지연들에서 상기 사용자 디바이스로부터 수신된 마이크로폰 신호와 상기 적어도 하나의 추가 사용자 디바이스로부터의 마이크로폰 신호를 비교하고 상기 마이크로폰 신호들 사이의 가장 높은 상관을 제공하는 지연을 선택하는 단계를 포함할 수 있다.
검출하는 단계는 상기 적어도 하나의 추가 사용자 디바이스로부터 수신된 마이크로폰 신호 내의 에코의 적응적 모델 추정치를 결정하기 위해, 지연된 마이크로폰 신호에 기초하여 적응적 모델을 사용하여 상기 적어도 하나의 추가 사용자 디바이스를 통한 오디오 소스와 네트워크 엔터티 사이의 전파 경로, 및 상기 사용자 디바이스를 통한 오디오 소스와 네트워크 엔터티 사이의 전파 경로의 역(inverse)을 모델링하는 단계; 및 상기 적어도 하나의 추가 사용자 디바이스로부터 수신된 마이크로폰 신호 내의 에코의 적응적 모델 추정치와 상기 수신된 오디오 신호를 비교하는 단계를 포함할 수 있다.
네트워크 엔터티는 통신 네트워크를 통해 마이크로폰 신호를 상기 사용자 디바이스로부터 그리고 마이크로폰 신호를 상기 적어도 하나의 추가 사용자 디바이스로부터 수신하도록 구성된 믹서를 포함할 수 있고, 상기 오디오 신호는 상기 사용자 디바이스로 전달하기 위해 상기 믹서로부터 출력된다.
본 방법은 인코딩된 출력 오디오 신호를 생성하기 위해 상기 네트워크 엔터티의 인코더에서 출력 오디오 신호를 인코딩하고 인코딩된 출력 오디오 신호를 통신 네트워크를 통해 상기 사용자 디바이스로 전송하는 단계를 추가로 포함할 수 있다.
예시적인 실시예들에서, 본 방법은 사용자 디바이스와 적어도 하나의 추가 사용자 디바이스가 공통의 음향 공간에 위치되어 있다는 것을 검출한 것에 기초하여 수행된다.
통신 이벤트는 음성 통화 및 화상 통화 중 하나일 수 있다.
통신 네트워크는 패킷 기반 네트워크일 수 있다. 패킷 기반 네트워크는 인터넷을 포함할 수 있다.
본 개시내용의 일 양태에 따르면, 컴퓨터 판독가능 매체 상에 포함되고 프로세서 상에서 실행될 때 본원에 기술되는 방법 단계들 중 임의의 것을 수행하도록 구성된 컴퓨터 프로그램이 제공된다.
도 6에 개별적으로 도시된 단계들이 개별적인 단계들로서 구현될 수 있거나 그렇지 않을 수 있다.
일반적으로, 본원에 기술되는 기능들(예컨대, 도 5a 및 도 5b에 도시된 기능 모듈들 및 도 6에 도시된 기능 단계들) 중 임의의 것이 소프트웨어, 펌웨어, 하드웨어(예컨대, 고정 논리 회로부), 또는 이 구현들의 조합을 사용하여 구현될 수 있다. 예를 들어, 서버 구현에서, 기능이 소프트웨어, 펌웨어, 하드웨어(예컨대, 고정 논리 회로부), 또는 이 구현들의 조합으로 구현될 수 있는 에코 제거 모듈에 의해 구현될 수 있다.
도 5a, 도 5b 및 도 6에 개별적으로 도시된 모듈들 및 단계들이 개별적인 모듈들 또는 단계들로서 구현될 수 있거나 그렇지 않을 수 있다. 예를 들어, 에코 소거 모듈(506)은 지연 모듈(502)의 기능들을 수행할 수 있다.
용어들 "제어기", "기능", "컴포넌트", "모듈", 및 "애플리케이션"은, 본원에서 사용되는 바와 같이, 일반적으로 소프트웨어, 펌웨어, 하드웨어, 또는 이들의 조합을 나타낸다. 소프트웨어 구현의 경우에, 제어기, 기능, 컴포넌트 또는 애플리케이션은 프로세서(예컨대, CPU 또는 CPU들) 상에서 실행될 때 명시된 작업들을 수행하는 프로그램 코드를 나타낸다. 프로그램 코드는 하나 이상의 컴퓨터 판독가능 메모리 디바이스들에 저장될 수 있다. 이하에 기술되는 기법들의 특징들이 플랫폼 독립적(platform-independent)이며, 플랫폼 독립적이라는 것은 기법들이 각종의 프로세서들을 가지는 각종의 상용 컴퓨팅 플랫폼들에서 구현될 수 있다는 것을 의미한다.
예를 들어, 사용자 단말들은 또한 사용자 단말들의 하드웨어로 하여금 동작들, 예컨대, 프로세서 기능 블록들 등을 수행하게 하는 엔터티(예컨대, 소프트웨어)를 포함할 수 있다. 예를 들어, 사용자 단말들은 사용자 단말들, 그리고 보다 상세하게는, 사용자 단말들의 운영 체제 및 연관된 하드웨어로 하여금 동작들을 수행하게 하는 명령어들을 유지하도록 구성될 수 있는 컴퓨터 판독 가능 매체를 포함할 수 있다. 이와 같이, 명령어들은 운영 체제 및 연관된 하드웨어를 동작들을 수행하도록 구성하는 기능을 하고, 이러한 방식으로 운영 체제 및 연관된 하드웨어를 기능들을 수행하도록 변환시킨다. 명령어들은 각종의 상이한 구성들을 통해 컴퓨터 판독가능 매체에 의해 사용자 단말들에 제공될 수 있다.
컴퓨터 판독가능 매체의 하나의 이러한 구성은 신호 전달 매체(signal bearing medium)이고, 따라서 네트워크를 통하는 등에 의해, 명령어들을 (예컨대, 반송파로서) 컴퓨팅 디바이스로 전송하도록 구성되어 있다. 컴퓨터 판독가능 매체는 또한 컴퓨터 판독가능 저장 매체로서 구성될 수 있고, 따라서 신호 전달 매체가 아니다. 컴퓨터 판독가능 저장 매체의 예는 RAM(random-access memory), ROM(read-only memory), 광학 디스크, 플래시 메모리, 하드 디스크 메모리, 그리고 명령어들 및 다른 데이터를 저장하기 위해 자기, 광학, 및 다른 기법들을 사용할 수 있는 다른 메모리 디바이스들을 포함한다.
발명 요지가 구조적 특징들 및/또는 방법 동작들과 관련하여 기술되어 있지만, 첨부된 청구항들에 한정된 발명 요지가 앞서 기술된 구체적인 특징들 또는 동작들로 꼭 제한되는 것은 아님을 잘 알 것이다. 오히려, 앞서 기술된 구체적인 특징들 및 동작들은 청구항들을 구현하는 예시적인 형태들로서 개시되어 있다.
Claims (15)
- 통신 네트워크를 통해 사용자 디바이스와 적어도 하나의 추가 사용자 디바이스 사이에서 수행되는 통신 이벤트 동안 구현되는 방법에 있어서,
상기 사용자 디바이스의 스피커로부터 출력되어야 하는 오디오 신호를 수신하는 단계 - 상기 오디오 신호는 상기 적어도 하나의 추가 사용자 디바이스 중 하나 이상으로부터 전송된 적어도 하나의 마이크로폰 신호를 포함함 -;
상기 오디오 신호가 상기 사용자 디바이스와 동일 장소에 위치하는 상기 적어도 하나의 추가 사용자 디바이스 중 하나로부터 전송된 마이크로폰 신호의 적어도 하나의 오디오 성분을 포함한다는 것을 검출하는 단계; 및
이 검출에 기초하여, 상기 스피커로부터 출력하기 위한 출력 오디오 신호를 생성하기 위해 상기 적어도 하나의 오디오 성분을 상기 오디오 신호로부터 제거하는 단계
를 포함하는 통신 이벤트 동안 구현되는 방법. - 제1항에 있어서,
상기 사용자 디바이스로부터 마이크로폰 신호를 수신하는 단계;
상기 오디오 신호 및 지연된 마이크로폰 신호에 기초하여 지연을 계산하는 단계; 및
지연된 마이크로폰 신호를 제공하기 위해 상기 마이크로폰 신호를 상기 계산된 지연만큼 지연시키는 단계를 추가로 포함하고, 상기 검출은 상기 오디오 신호 및 상기 지연된 마이크로폰 신호에 기초하는 것인, 통신 이벤트 동안 구현되는 방법. - 제2항에 있어서, 상기 지연을 계산하는 단계는, 복수의 상이한 지연들에서 상기 오디오 신호와 상기 지연된 마이크로폰 신호를 비교하는 단계와, 상기 오디오 신호와 상기 지연된 마이크로폰 신호 사이의 가장 높은 상관을 제공하는 상기 지연을 선택하는 단계를 포함하는 것인, 통신 이벤트 동안 구현되는 방법.
- 제2항 또는 제3항에 있어서, 상기 검출하는 단계는, 상기 오디오 신호와 상기 지연된 마이크로폰 신호 사이의 교차 상관의 정도를 모니터링하는 단계를 포함하는 것인, 통신 이벤트 동안 구현되는 방법.
- 제2항 또는 제3항에 있어서, 상기 검출하는 단계는,
상기 수신된 오디오 신호 내의 에코의 적응적 모델 추정치를 결정하기 위해 상기 지연된 마이크로폰 신호에 기초하여 적응적 모델을 사용하여 상기 마이크로폰 신호 내의 신호 성분들의 에코 경로를 모델링하는 단계; 및
상기 수신된 오디오 신호 내의 에코의 상기 적응적 모델 추정치를 상기 수신된 오디오 신호와 비교하는 단계를 포함하는 것인, 통신 이벤트 동안 구현되는 방법. - 제1항 내지 제5항 중 어느 한 항에 있어서, 상기 오디오 신호는 상기 통신 네트워크를 통해 상기 사용자 디바이스에 수신되는 것인, 통신 이벤트 동안 구현되는 방법.
- 제1항 내지 제6항 중 어느 한 항에 있어서, 상기 방법은 상기 사용자 디바이스 상에서 실행되는 통신 클라이언트 애플리케이션에 의해 수행되는 것인, 통신 이벤트 동안 구현되는 방법.
- 제1항에 있어서, 상기 사용자 디바이스와 상기 적어도 하나의 추가 사용자 디바이스는 상기 통신 이벤트 동안 네트워크 엔터티를 거쳐 상기 통신 네트워크를 통해 통신하고, 상기 방법은 상기 네트워크 엔터티에 의해 수행되는 것인, 통신 이벤트 동안 구현되는 방법.
- 제8항에 있어서,
상기 사용자 디바이스로부터 마이크로폰 신호를 수신하는 단계;
상기 적어도 하나의 추가 사용자 디바이스로부터 마이크로폰 신호를 수신하는 단계;
상기 사용자 디바이스로부터 수신된 상기 마이크로폰 신호 및 상기 적어도 하나의 추가 사용자 디바이스로부터의 상기 마이크로폰 신호에 기초하여 지연을 계산하는 단계; 및
지연된 마이크로폰 신호를 제공하기 위해 상기 사용자 디바이스로부터 수신된 상기 마이크로폰 신호를 상기 계산된 지연만큼 지연시키는 단계를 추가로 포함하고, 상기 검출은 상기 오디오 신호 및 상기 지연된 마이크로폰 신호에 기초하는 것인, 통신 이벤트 동안 구현되는 방법. - 제9항에 있어서, 상기 지연을 계산하는 단계는, 복수의 상이한 지연들에서 상기 사용자 디바이스로부터 수신된 상기 마이크로폰 신호와 상기 적어도 하나의 추가 사용자 디바이스로부터의 상기 마이크로폰 신호를 비교하는 단계와, 상기 마이크로폰 신호들 사이의 가장 높은 상관을 제공하는 상기 지연을 선택하는 단계를 포함하는 것인, 통신 이벤트 동안 구현되는 방법.
- 제8항 내지 제10항 중 어느 한 항에 있어서, 상기 검출하는 단계는,
상기 적어도 하나의 추가 사용자 디바이스로부터 수신된 상기 마이크로폰 신호 내의 에코의 적응적 모델 추정치를 결정하기 위해, 상기 지연된 마이크로폰 신호에 기초하여 적응적 모델을 사용하여 상기 적어도 하나의 추가 사용자 디바이스를 통한 오디오 소스와 상기 네트워크 엔터티 사이의 전파 경로, 및 상기 사용자 디바이스를 통한 상기 오디오 소스와 상기 네트워크 엔터티 사이의 전파 경로의 역(inverse)을 모델링하는 단계; 및
상기 적어도 하나의 추가 사용자 디바이스로부터 수신된 상기 마이크로폰 신호 내의 에코의 상기 적응적 모델 추정치와 상기 수신된 오디오 신호를 비교하는 단계를 포함하는 것인, 통신 이벤트 동안 구현되는 방법. - 제9항 내지 제11항 중 어느 한 항에 있어서, 상기 네트워크 엔터티는 상기 통신 네트워크를 통해 상기 마이크로폰 신호를 상기 사용자 디바이스로부터 그리고 상기 마이크로폰 신호를 상기 적어도 하나의 추가 사용자 디바이스로부터 수신하도록 구성된 믹서를 포함하고, 상기 오디오 신호는 상기 사용자 디바이스로 전달하기 위해 상기 믹서로부터 출력되는 것인, 통신 이벤트 동안 구현되는 방법.
- 비일시적 컴퓨터 판독가능 매체 상에 포함되고 프로세서 상에서 실행될 때 제1항 내지 제12항 중 어느 한항의 방법을 수행하도록 구성된 컴퓨터 프로그램.
- 사용자 디바이스에 있어서,
통신 이벤트 동안 통신 네트워크를 통해 상기 사용자 디바이스와 적어도 하나의 추가 사용자 디바이스 사이에서 오디오를 전송 및 수신하도록 구성된 네트워크 인터페이스;
오디오 신호들을 수신하는 마이크로폰;
오디오 신호들을 출력하는 스피커; 및
클라이언트 애플리케이션을 실행하도록 구성된 하나 이상의 프로세서들
을 포함하고, 상기 클라이언트 애플리케이션은,
상기 스피커로부터 출력되어야 하는 오디오 신호를 수신하고 - 상기 오디오 신호는 상기 적어도 하나의 추가 사용자 디바이스로부터 전송된 적어도 하나의 마이크로폰 신호를 포함함 -;
상기 오디오 신호가 상기 사용자 디바이스와 동일 장소에 위치하는 상기 적어도 하나의 추가 사용자 디바이스 중 하나로부터 전송된 마이크로폰 신호의 적어도 하나의 오디오 성분을 포함한다는 것을 검출하며;
이 검출에 기초하여, 상기 스피커로부터 출력하기 위한 출력 오디오 신호를 생성하기 위해 상기 적어도 하나의 오디오 성분을 상기 오디오 신호로부터 제거하도록 구성되는 것인, 사용자 디바이스. - 네트워크 엔터티에 있어서,
통신 이벤트 동안 통신 네트워크를 통해 사용자 디바이스와 적어도 하나의 추가 사용자 디바이스 사이에서 오디오를 전송 및 수신하도록 구성된 네트워크 인터페이스; 및
에코 제거 모듈
을 포함하고, 상기 에코 제거 모듈은,
상기 사용자 디바이스의 스피커로부터 출력되어야 하는 오디오 신호를 수신하고 - 상기 오디오 신호는 상기 적어도 하나의 추가 사용자 디바이스 중 하나 이상으로부터 전송된 적어도 하나의 마이크로폰 신호를 포함함 -;
상기 오디오 신호가 상기 사용자 디바이스와 동일 장소에 위치하는 상기 적어도 하나의 추가 사용자 디바이스 중 하나로부터 전송된 마이크로폰 신호의 적어도 하나의 오디오 성분을 포함한다는 것을 검출하며;
이 검출에 기초하여, 상기 스피커로부터 출력하기 위한 출력 오디오 신호를 생성하기 위해 상기 적어도 하나의 오디오 성분을 상기 오디오 신호로부터 제거하도록 구성되는 것인, 네트워크 엔터티.
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GB1414352.3 | 2014-08-13 | ||
GBGB1414352.3A GB201414352D0 (en) | 2014-08-13 | 2014-08-13 | Reversed echo canceller |
US14/498,972 US9913026B2 (en) | 2014-08-13 | 2014-09-26 | Reversed echo canceller |
US14/498,972 | 2014-09-26 | ||
PCT/US2015/044544 WO2016025416A1 (en) | 2014-08-13 | 2015-08-11 | Reversed echo canceller |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20170041828A true KR20170041828A (ko) | 2017-04-17 |
KR102371394B1 KR102371394B1 (ko) | 2022-03-04 |
Family
ID=51629717
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020177006375A KR102371394B1 (ko) | 2014-08-13 | 2015-08-11 | 역 에코 소거기 |
Country Status (7)
Country | Link |
---|---|
US (1) | US9913026B2 (ko) |
EP (1) | EP3167592B1 (ko) |
KR (1) | KR102371394B1 (ko) |
CN (1) | CN106576103B (ko) |
GB (1) | GB201414352D0 (ko) |
TW (1) | TW201614983A (ko) |
WO (1) | WO2016025416A1 (ko) |
Families Citing this family (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB201309781D0 (en) | 2013-05-31 | 2013-07-17 | Microsoft Corp | Echo cancellation |
US20160142462A1 (en) * | 2014-11-19 | 2016-05-19 | Cisco Technology, Inc. | Displaying Identities of Online Conference Participants at a Multi-Participant Location |
US10135993B2 (en) * | 2016-05-31 | 2018-11-20 | Vonage Business Inc. | Systems and methods for mitigating and/or avoiding feedback loops during communication sessions |
US10390136B2 (en) * | 2016-12-13 | 2019-08-20 | Yamaha Corporation | Howling suppression device and howling suppression method |
CN107749304B (zh) | 2017-09-07 | 2021-04-06 | 电信科学技术研究院 | 有限冲激响应滤波器系数矢量的可持续更新方法及装置 |
US10880440B2 (en) * | 2017-10-04 | 2020-12-29 | Proactiv Audio Gmbh | Echo canceller and method therefor |
US10708689B2 (en) * | 2018-05-15 | 2020-07-07 | LogMeln, Inc. | Reducing acoustic feedback over variable-delay pathway |
US10297266B1 (en) | 2018-06-15 | 2019-05-21 | Cisco Technology, Inc. | Adaptive noise cancellation for multiple audio endpoints in a shared space |
US11539844B2 (en) * | 2018-09-21 | 2022-12-27 | Dolby Laboratories Licensing Corporation | Audio conferencing using a distributed array of smartphones |
CN109087662B (zh) * | 2018-10-25 | 2021-10-08 | 科大讯飞股份有限公司 | 一种回声消除方法及装置 |
US10412080B1 (en) * | 2019-01-16 | 2019-09-10 | Capital One Services, Llc | Authenticating a user device via a monitoring device |
US11425258B2 (en) * | 2020-01-06 | 2022-08-23 | Waves Audio Ltd. | Audio conferencing in a room |
CN113079267B (zh) * | 2020-01-06 | 2023-05-05 | 波音频有限公司 | 房间内的音频会议 |
CN111800552A (zh) * | 2020-06-30 | 2020-10-20 | 联想(北京)有限公司 | 音频输出处理方法、装置、系统及电子设备 |
US11122160B1 (en) * | 2020-07-08 | 2021-09-14 | Lenovo (Singapore) Pte. Ltd. | Detecting and correcting audio echo |
WO2024160496A1 (en) * | 2023-02-03 | 2024-08-08 | Koninklijke Kpn N.V. | Proximity-based audio conferencing |
US20240340390A1 (en) * | 2023-04-07 | 2024-10-10 | Google Llc | Efficient Detection of Co-Located Participant Devices in Teleconferencing Sessions |
US20240338167A1 (en) * | 2023-04-07 | 2024-10-10 | Google Llc | Identifying Co-Located Devices within a Teleconferencing Session |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060140392A1 (en) * | 2002-02-21 | 2006-06-29 | Masoud Ahmadi | Echo detector having correlator with preprocessing |
KR20070119568A (ko) * | 2006-06-15 | 2007-12-20 | 아바야 테크놀러지 엘엘씨 | 피드백을 회피하기 위해 공동 거주 원격회의엔드포인트들을 조정하는 방법 |
US20090003586A1 (en) * | 2007-06-28 | 2009-01-01 | Fortemedia, Inc. | Signal processor and method for canceling echo in a communication device |
US20100260344A1 (en) * | 2007-11-29 | 2010-10-14 | Telefonaktiebolaget Lm Ericsson (Publ) | Method and Arrangement for Echo Cancellation of Voice Signals |
Family Cites Families (31)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6125179A (en) | 1995-12-13 | 2000-09-26 | 3Com Corporation | Echo control device with quick response to sudden echo-path change |
GB2330745B (en) | 1997-10-24 | 2002-08-21 | Mitel Corp | Nonlinear processor for acoustic echo canceller |
US6317419B1 (en) * | 1998-06-10 | 2001-11-13 | Conexant Systems, Inc. | Method and apparatus for training an echo canceler in a PCM modem context |
JP3492315B2 (ja) | 2000-12-15 | 2004-02-03 | 沖電気工業株式会社 | 音量自動調整機能付エコーキャンセラ |
JP3727258B2 (ja) * | 2001-08-13 | 2005-12-14 | 富士通株式会社 | エコー抑制処理システム |
EP1459510A1 (en) | 2001-12-14 | 2004-09-22 | Koninklijke Philips Electronics N.V. | Echo canceller having spectral echo tail estimator |
US6961422B2 (en) | 2001-12-28 | 2005-11-01 | Avaya Technology Corp. | Gain control method for acoustic echo cancellation and suppression |
JP2004274681A (ja) | 2003-03-12 | 2004-09-30 | Matsushita Electric Ind Co Ltd | エコーキャンセル装置、エコーキャンセル方法、プログラムおよび記録媒体 |
WO2005009019A2 (en) | 2003-07-16 | 2005-01-27 | Skype Limited | Peer-to-peer telephone system and method |
US7464029B2 (en) | 2005-07-22 | 2008-12-09 | Qualcomm Incorporated | Robust separation of speech signals in a noisy environment |
GB2432759B (en) | 2005-11-26 | 2008-07-02 | Wolfson Ltd | Audio device |
ATE460809T1 (de) | 2006-01-06 | 2010-03-15 | Koninkl Philips Electronics Nv | Akustischer echokompensator |
US20070263851A1 (en) | 2006-04-19 | 2007-11-15 | Tellabs Operations, Inc. | Echo detection and delay estimation using a pattern recognition approach and cepstral correlation |
US8275120B2 (en) | 2006-05-30 | 2012-09-25 | Microsoft Corp. | Adaptive acoustic echo cancellation |
US8081753B2 (en) | 2007-04-02 | 2011-12-20 | Microsoft Corporation | Hybrid echo canceller controllers |
US8204249B2 (en) | 2007-04-30 | 2012-06-19 | Hewlett-Packard Development Company, L.P. | Methods and systems for reducing acoustic echoes in multichannel audio-communication systems |
JP5034819B2 (ja) * | 2007-09-21 | 2012-09-26 | ヤマハ株式会社 | 放収音装置 |
GB2456400B (en) | 2008-01-21 | 2012-12-26 | Skype | Reducing echo in a signal to be transmitted in a communication system |
US8325909B2 (en) | 2008-06-25 | 2012-12-04 | Microsoft Corporation | Acoustic echo suppression |
US8526587B2 (en) | 2009-12-23 | 2013-09-03 | Oracle America, Inc. | Web guided collaborative audio |
US9100734B2 (en) * | 2010-10-22 | 2015-08-04 | Qualcomm Incorporated | Systems, methods, apparatus, and computer-readable media for far-field multi-source tracking and separation |
CN103348700B (zh) | 2011-02-22 | 2016-09-07 | 蓝博士公司 | 用于无线麦克风和扬声器的声学回音消除的系统和方法 |
US8582754B2 (en) | 2011-03-21 | 2013-11-12 | Broadcom Corporation | Method and system for echo cancellation in presence of streamed audio |
US9264553B2 (en) | 2011-06-11 | 2016-02-16 | Clearone Communications, Inc. | Methods and apparatuses for echo cancelation with beamforming microphone arrays |
US8811602B2 (en) | 2011-06-30 | 2014-08-19 | Broadcom Corporation | Full duplex speakerphone design using acoustically compensated speaker distortion |
US8774399B2 (en) | 2011-12-27 | 2014-07-08 | Broadcom Corporation | System for reducing speakerphone echo |
US20130332156A1 (en) * | 2012-06-11 | 2013-12-12 | Apple Inc. | Sensor Fusion to Improve Speech/Audio Processing in a Mobile Device |
US8958897B2 (en) | 2012-07-03 | 2015-02-17 | Revo Labs, Inc. | Synchronizing audio signal sampling in a wireless, digital audio conferencing system |
CN103152546B (zh) * | 2013-02-22 | 2015-12-09 | 华鸿汇德(北京)信息技术有限公司 | 基于模式识别和延迟前馈控制的视频会议回声抑制方法 |
US9232072B2 (en) * | 2013-03-13 | 2016-01-05 | Google Inc. | Participant controlled spatial AEC |
GB201309781D0 (en) | 2013-05-31 | 2013-07-17 | Microsoft Corp | Echo cancellation |
-
2014
- 2014-08-13 GB GBGB1414352.3A patent/GB201414352D0/en not_active Ceased
- 2014-09-26 US US14/498,972 patent/US9913026B2/en active Active
-
2015
- 2015-08-07 TW TW104125826A patent/TW201614983A/zh unknown
- 2015-08-11 KR KR1020177006375A patent/KR102371394B1/ko active IP Right Grant
- 2015-08-11 CN CN201580043402.2A patent/CN106576103B/zh active Active
- 2015-08-11 WO PCT/US2015/044544 patent/WO2016025416A1/en active Application Filing
- 2015-08-11 EP EP15753819.0A patent/EP3167592B1/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060140392A1 (en) * | 2002-02-21 | 2006-06-29 | Masoud Ahmadi | Echo detector having correlator with preprocessing |
KR20070119568A (ko) * | 2006-06-15 | 2007-12-20 | 아바야 테크놀러지 엘엘씨 | 피드백을 회피하기 위해 공동 거주 원격회의엔드포인트들을 조정하는 방법 |
US20090003586A1 (en) * | 2007-06-28 | 2009-01-01 | Fortemedia, Inc. | Signal processor and method for canceling echo in a communication device |
US20100260344A1 (en) * | 2007-11-29 | 2010-10-14 | Telefonaktiebolaget Lm Ericsson (Publ) | Method and Arrangement for Echo Cancellation of Voice Signals |
Also Published As
Publication number | Publication date |
---|---|
CN106576103B (zh) | 2020-01-07 |
WO2016025416A1 (en) | 2016-02-18 |
US20160050491A1 (en) | 2016-02-18 |
GB201414352D0 (en) | 2014-09-24 |
US9913026B2 (en) | 2018-03-06 |
KR102371394B1 (ko) | 2022-03-04 |
EP3167592B1 (en) | 2019-09-25 |
EP3167592A1 (en) | 2017-05-17 |
TW201614983A (en) | 2016-04-16 |
CN106576103A (zh) | 2017-04-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102371394B1 (ko) | 역 에코 소거기 | |
US8320974B2 (en) | Decisions on ambient noise suppression in a mobile communications handset device | |
US9100756B2 (en) | Microphone occlusion detector | |
US20090046866A1 (en) | Apparatus capable of performing acoustic echo cancellation and a method thereof | |
US9749474B2 (en) | Matching reverberation in teleconferencing environments | |
CN106663447B (zh) | 具有噪声干扰抑制的音频系统 | |
CN103141076B (zh) | 回波控制优化 | |
TW201707498A (zh) | 用於使用個人通信裝置之虛擬會議系統的方法及系統 | |
US9491545B2 (en) | Methods and devices for reverberation suppression | |
US8718562B2 (en) | Processing audio signals | |
JP6100801B2 (ja) | 通信システムにおけるオーディオ信号処理 | |
JP2007336560A (ja) | フィードバックを回避するために共在するテレコンファレンス・エンドポイントを調整する方法 | |
WO2016096339A1 (en) | Delay estimation for echo cancellation using ultrasonic markers | |
JP2015532019A (ja) | 適応的リアルタイム通信のためのユーザ・インタラクション・モニタリング | |
EP2795884A1 (en) | Audio conferencing | |
KR102112018B1 (ko) | 영상 회의 시스템에서의 음향 반향 제거 장치 및 방법 | |
US8553520B2 (en) | System and method for echo suppression in web browser-based communication | |
US11223716B2 (en) | Adaptive volume control using speech loudness gesture | |
JP6601030B2 (ja) | ヘッドセット | |
US20230421704A1 (en) | Conference call and mobile communication devices that participate in a conference call | |
JP5745475B2 (ja) | エコー消去方法とそのシステムと各装置 | |
JP2016174233A (ja) | 情報処理装置、判定方法及びコンピュータプログラム | |
JP2016032129A (ja) | 遅延時間調整装置及び方法及びプログラム | |
JP2007329630A (ja) | エコー品質測定装置、システム、方法およびプログラム | |
WO2024160496A1 (en) | Proximity-based audio conferencing |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |