이하, 본 발명의 다양한 실시 예가 첨부된 도면을 참조하여 기재된다. 그러나, 이는 본 발명의 다양한 실시 예를 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 실시 예의 다양한 변경(modification), 균등물(equivalent) 및/또는 대체물(alternative)을 포함하는 것으로 이해되어야 한다. 도면의 설명과 관련하여, 유사한 구성요소에 대해서는 유사한 참조 부호가 사용되었다.
본 문서에서, “가진다,” “가질 수 있다,”“포함한다,” 또는 “포함할 수 있다” 등의 표현은 해당 특징 (예: 수치, 기능, 동작, 또는 부품 등의 구성요소)의 존재를 가리키며, 추가적인 특징의 존재를 배제하지 않는다.
본 문서에서, “A 또는 B”, “A 또는/및 B 중 적어도 하나” 또는 “A 또는/및 B 중 하나 또는 그 이상” 등의 표현은 함께 나열된 항목들의 모든 가능한 조합을 포함할 수 있다. 예를 들면, “A 또는 B”, “A 및 B 중 적어도 하나” 또는 “A 또는 B 중 적어도 하나”는, (1) 적어도 하나의 A를 포함, (2) 적어도 하나의 B를 포함, 또는 (3) 적어도 하나의 A 및 적어도 하나의 B 모두를 포함하는 경우를 모두 지칭할 수 있다.
다양한 실시 예에서 사용된 “제 1”, “제 2”, “첫째” 또는 “둘째” 등의 표현들은 다양한 구성요소들을, 순서 및/또는 중요도에 상관없이 수식할 수 있고, 해당 구성요소들을 한정하지 않는다. 상술한 표현들은 한 구성요소를 다른 구성요소와 구분하기 위해 사용될 수 있다. 예를 들면, 제 1 사용자 기기와 제 2 사용자 기기는, 순서 또는 중요도와 무관하게, 서로 다른 사용자 기기를 나타낼 수 있다. 예를 들면, 본 발명의 권리 범위를 벗어나지 않으면서 제 1 구성요소는 제 2 구성요소로 명명될 수 있고, 유사하게 제 2 구성요소도 제 1 구성요소로 바꾸어 명명될 수 있다.
어떤 구성요소 (예: 제 1 구성요소)가 다른 구성요소 (예: 제 2 구성요소)에 "(기능적으로 또는 통신적으로) 연결되어 ((operatively or communicatively) coupled with/to)" 있다거나 "접속되어 (connected to)" 있다고 언급된 때에는, 어떤 구성요소가 다른 구성요소에 직접적으로 연결되거나, 다른 구성요소 (예: 제 3 구성요소)를 통하여 연결될 수 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소 (예: 제 1 구성요소)가 다른 구성요소 (예: 제 2 구성요소)에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 어떤 구성요소와 다른 구성요소 사이에 다른 구성요소 (예: 제 3 구성요소)가 존재하지 않는 것으로 이해될 수 있다.
본 문서에서 사용된 표현 “~하도록 구성된 (또는 설정된)(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)를 의미할 수 있다.
본 문서에서 사용된 용어들은 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 다른 실시 예의 범위를 한정하려는 의도가 아닐 수 있다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함할 수 있다. 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명의 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가질 수 있다. 일반적으로 사용되는 사전에 정의된 용어들은 관련 기술의 문맥 상 가지는 의미와 동일 또는 유사한 의미를 가지는 것으로 해석될 수 있으며, 본 문서에서 명백하게 정의되지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다. 경우에 따라서, 본 문서에서 정의된 용어일지라도 본 발명의 실시 예들을 배제하도록 해석될 수 없다.
본 발명의 다양한 실시 예들에 따른 전자 장치는, 예를 들면, 전자 장치는 스마트폰 (smartphone), 태블릿 PC (tablet personal computer), 이동 전화기 (mobile phone), 화상 전화기, 전자북 리더기 (e-book reader), 데스크탑 PC (desktop personal computer), 랩탑 PC (laptop personal computer), 넷북 컴퓨터 (netbook computer), 워크스테이션 (workstation), 서버, PDA (personal digital assistant), PMP (portable multimedia player), MP3 플레이어, 모바일 의료기기, 카메라 (camera), 또는 웨어러블 전자 장치 (wearable device)(예: 스마트 안경, 머리 착용형 전자 장치 (head-mounted-device(HMD)), 전자 의복, 전자 팔찌, 전자 목걸이, 전자 앱세서리 (appcessory), 전자 문신, 스마트 미러, 또는 스마트 와치 (smart watch))중 적어도 하나를 포함할 수 있다.
어떤 실시 예들에서, 전자 장치는 스마트 가전 제품 (smart home appliance)일 수 있다. 스마트 가전 제품은, 예를 들면, 텔레비전, DVD (digital video disk) 플레이어, 오디오, 냉장고, 에어컨, 청소기, 오븐, 전자레인지, 세탁기, 공기 청정기, 셋톱 박스 (set-top box), 홈 자동 제어 패널 (home automation control panel), 보안 컨트롤 패널 (security control panel), TV 박스 (예: 삼성 HomeSync™, 애플TV™, 또는 구글 TV™), 게임 콘솔 (예: Xbox™, PlayStation™), 전자 사전, 전자 키, 캠코더 (camcorder), 또는 전자 액자 중 적어도 하나를 포함할 수 있다.
다른 실시 예에서, 전자 장치는, 각종 의료기기 (예: 각종 휴대용 의료측정기기 (혈당 측정기, 심박 측정기, 혈압 측정기, 또는 체온 측정기 등), MRA (magnetic resonance angiography), MRI (magnetic resonance imaging), CT (computed tomography), 촬영기, 또는 초음파기 등), 네비게이션 (navigation) 전자 장치, GPS 수신기 (global positioning system receiver), EDR (event data recorder), FDR (flight data recorder), 자동차 인포테인먼트 (infotainment) 전자 장치, 선박용 전자 장비(예: 선박용 항법 전자 장치, 자이로 콤파스 등), 항공 전자기기 (avionics), 보안 기기, 차량용 헤드 유닛 (head unit), 산업용 또는 가정용 로봇, 금융 기관의 ATM (automatic teller’s machine), 상점의 POS (point of sales), 또는 사물 인터넷 전자 장치 (internet of things)(예: 전구, 각종 센서, 전기 또는 가스 미터기, 스프링클러 전자 장치, 화재경보기, 온도조절기 (thermostat), 가로등, 토스터 (toaster), 운동기구, 온수탱크, 히터, 보일러 등) 중 적어도 하나를 포함할 수 있다.
어떤 실시 예에 따르면, 전자 장치는 가구 (furniture) 또는 건물/구조물의 일부, 전자 보드 (electronic board), 전자 사인 수신 전자 장치 (electronic signature receiving device), 프로젝터 (projector), 또는 각종 계측 기기 (예: 수도, 전기, 가스, 또는 전파 계측 기기 등) 중 적어도 하나를 포함할 수 있다. 다양한 실시 예에서, 전자 장치는 전술한 다양한 전자 장치들 중 하나 또는 그 이상의 조합일 수 있다. 어떤 실시 예에 따른 전자 장치는 플렉서블 전자 장치일 수 있다. 또한, 본 발명의 다양한 실시 예에 따른 전자 장치는 전술한 기기들에 한정되지 않으며, 기술 발전에 따른 새로운 전자 장치를 포함할 수 있다.
이하, 첨부 도면을 참조하여, 다양한 실시 예에 따른 전자 장치가 설명된다. 본 문서에서, 사용자라는 용어는 전자 장치를 사용하는 사람 또는 전자 장치를 사용하는 전자 장치 (예: 인공지능 전자 장치)를 지칭할 수 있다.
이하 본 발명은 전자 장치에서 마이크를 통해 유입되는 에코 신호를 제거하기 위한 기술에 대해 설명한다.
도 1은 본 발명의 다양한 실시 예에 따른 전자 장치의 블록도를 도시하고 있다.
도 1을 참조하면, 전자 장치(100)는 버스(110), 어플리케이션 프로세서(AP: application processor)(120), 통신 모듈(130), 메모리(140), 입력 인터페이스(150), 디스플레이(160) 및 오디오 처리 모듈(170)을 포함할 수 있다. 본 발명의 다양한 예에 따르면, 전자 장치(100)는, 상술한 구성요소들 중 적어도 하나를 생략하거나 다른 구성 요소를 추가적으로 구비할 수 있다.
버스(110)는 상술한 구성요소들(예: 어플리케이션 프로세서(120), 통신 모듈(130), 메모리(140), 입력 인터페이스(150), 디스플레이(160), 오디오 처리 모듈(170) 등)을 서로 연결하고, 상술한 구성요소들 간의 통신(예: 제어 메시지)을 전달하는 회로일 수 있다.
어플리케이션 프로세서(120)는 운영체제 또는 응용 프로그램을 구동하여 어플리케이션 프로세서(120)에 연결된 다수의 하드웨어 또는 소프트웨어 구성요소들을 제어할 수 있다. 또한, 어플리케이션 프로세서(120)는 멀티미디어 데이터를 포함한 각종 데이터 처리 또는 연산을 수행할 수 있다.
한 실시 예에 따르면, 어플리케이션 프로세서(120)는 응용 프로그램에 대응하는 오디오 신호(예: TTS(text to speech), 키톤, 효과음 등)를 생성할 수 있다. 어플리케이션 프로세서(120)는 에코가 제거된 마이크 입력 신호를 이용하여 응용 프로그램(예: 음성 인식 프로그램)을 구동할 수 있다.
통신 모듈(130)은 커뮤니케이션 프로세서(CP: communication processor)를 포함할 수 있다. 통신 모듈(130)은 전자 장치(100)와 네트워크를 통해 연결된 다른 전자 장치(예: 상대 전자 장치, 서버) 간의 통신을 통해 데이터를 송수신할 수 있다.
한 실시 예에 따르면, 통신 모듈(130)은 음성 통화 서비스를 위한 음성 신호를 네트워크를 통해 다른 전자 장치와 송수신할 수 있다. 이 경우, 통신 모듈(130)은 에코가 제거된 마이크 입력 신호(음성 신호)를 다른 전자 장치로 송신할 수 있다.
메모리(140)는 휘발성 및/또는 비휘발성 메모리를 포함할 수 있다. 메모리(140)는 전자 장치(100)의 적어도 하나의 다른 구성요소에 관련된 명령 또는 데이터를 저장할 수 있다. 한 실시 예에 따르면, 메모리(140)는 소프트웨어 및/또는 프로그램을 저장할 수 있다. 예를 들어, 프로그램은 커널(kernal), 미들웨어(middleware), 응용프로그램 프로그래밍 인터페이스(API: application programming interface) 또는 응용프로그램 등을 포함할 수 있다.
입력 인터페이스(150)는 사용자 또는 다른 외부 기기로부터 입력된 명령 또는 데이터를 전자 장치(100)의 다른 구성요소(들)에 전달할 수 있다.
디스플레이(160)는 사용자에게 각종 콘텐츠 (예: 텍스트, 이미지, 비디오, 아이콘, 또는 심볼 등)을 표시할 수 있다. 예를 들어, 디스플레이(160)는 액정 디스플레이 (LCD), 발광 다이오드 (LED) 디스플레이, 유기 발광 다이오드 (OLED) 디스플레이, 또는 마이크로 전자기계 시스템 (microelectromechanical systems (MEMS)) 디스플레이, 또는 전자종이 (electronic paper) 디스플레이를 포함할 수 있다. 예를 들어, 디스플레이(160)는 터치 스크린을 포함하며, 전자 펜 또는 사용자의 신체의 일부를 이용한 터치, 제스쳐, 근접, 또는 호버링 입력을 수신할 수 있다.
오디오 처리 모듈(170)은 마이크(172) 및 스피커(174)를 통해 사용자와 전자 장치(100) 사이의 오디오 인터페이스를 제공할 수 있다. 예를 들어, 오디오 처리 모듈(170)은 마이크(172)를 통해 제공받은 음향 신호를 어플리케이션 프로세서(120) 및 통신 모듈(130) 중 적어도 하나에서 처리될 수 있도록 제어할 수 있다. 예컨대, 오디오 처리 모듈(170)은 마이크(172)를 통해 제공받은 음향 신호를 디지털 신호로 변환하고, 인코딩(encoding)할 수 있다. 예를 들어, 오디오 처리 모듈(170)은 어플리케이션 프로세서(120) 및 통신 모듈(130) 중 적어도 하나로부터 제공받은 오디오 신호 및 음성 신호 중 적어도 하나를 스피커(174)를 통해 출력하도록 처리할 수 있다. 예컨대, 오디오 처리 모듈(170)은 어플리케이션 프로세서(120) 및 통신 모듈(130) 중 적어도 하나로부터 제공받은 오디오 신호 및 음성 신호 중 적어도 하나의 신호를 디코딩(decoding)하고, 아날로그 신호로 변환할 수 있다. 예컨대, 오디오 처리 모듈(170)은 코덱을 포함할 수 있다.
한 실시 예에 따르면, 오디오 처리 모듈(170)은 어플리케이션 프로세서(120)로부터 제공받은 오디오 신호 및 통신 모듈(130)로부터 제공받은 음성 신호 중 적어도 하나의 신호를 스피커(231)를 통해 출력할 수 있다. 예를 들어, 오디오 처리 모듈(170)은 어플리케이션 프로세서(120)로부터 제공받은 오디오 신호 및 통신 모듈(130)로부터 제공받은 음성 신호를 하나의 신호로 합성하여 스피커(231)를 통해 출력할 수 있다. 예를 들어, 오디오 처리 모듈(170)은 어플리케이션 프로세서(120) 또는 통신 모듈(130)로부터 오디오 신호 또는 음성 신호를 수신한 경우, 오디오 신호 또는 음성 신호를 스피커(231)를 통해 출력할 수 있다.
한 실시 예에 따르면, 오디오 처리 모듈(170)은 마이크(172)를 통해 입력받은 마이크 입력 신호를 디지털 신호로 변환하여 어플리케이션 프로세서(120) 및 통신 모듈(130) 중 적어도 하나로 전송할 수 있다. 여기서, 스피커(174)는 이어 피스와 외부 스피커 중 적어도 하나를 포함할 수 있다.
본 발명의 다양한 실시 예에서, 어플리케이션 프로세서(120)는 응용프로그램을 구동하기 위한 모듈을 나타낼 수 있다. 예를 들어, 어플리케이션 프로세서(120)는 응용프로그램 구동을 위한 사용자 인터페이스 구동부, 오디오 경로(장치 설정) 및 음량을 제어하기 위한 프레임워크(framework) 부, 상호 계층 간 인터페이스가 되는 HAL(hardware abstract layer) 부를 포함하도록 구성될 수 있다.
도 2는 본 발명의 다양한 실시 예에 따른 전자 장치에서 오디오 처리 모듈을 이용하여 에코 신호를 제거하기 위한 구조를 도시하고 있다. 이하 설명은 도 1의 전자 장치에서 마이크(172)를 통해 유입된 에코 신호를 제거하기 위한 구조에 대해 설명할 수 있다.
도 2를 참조하면, 오디오 처리 모듈(170)은 오디오 합성 모듈(200)을 통해 어플리케이션 프로세서(120)로부터 제공받은 오디오 신호(예: TTS, 키톤, 효과음 등) 및 통신 모듈(130)로부터 제공받은 음성 신호(예: 상대 방의 통화 음성 신호)를 하나의 신호로 합성하여 스피커(174)를 통해 출력할 수 있다. 예를 들어, 오디오 합성 모듈(200)은 어플리케이션 프로세서(120) 또는 통신 모듈(130)로부터 오디오 신호 또는 음성 신호를 제공받은 경우, 오디오 신호 또는 음성 신호를 스피커(174)를 통해 출력하도록 처리할 수 있다.
한 실시 예에 따르면, 오디오 합성 모듈(200)은 스피커(174)로 출력한 오디오 신호 및 음성 신호 중 적어도 하나를 에코 신호 제거를 위한 에코 기준 데이터로 사용할 수 있도록 제 1 AEC(201) 및 제 2 AEC(203)로 전송할 수 있다. 예를 들어, 오디오 합성 모듈(200)은 스피커(174)로 출력한 합성 신호를 에코 신호 제거를 위한 에코 기준 데이터로 사용할 수 있도록 제 1 AEC(201) 및 제 2 AEC(203)로 전송할 수 있다. 예를 들어, 오디오 합성 모듈(200)은 스피커(174)로 출력한 오디오 신호 또는 음성 신호를 에코 신호 제거를 위한 에코 기준 데이터로 사용할 수 있도록 제 1 AEC(201) 및 제 2 AEC(203)로 전송할 수 있다.
한 실시 예에 따르면, 오디오 처리 모듈(170)은 마이크(172)를 통해 유입된 에코 신호를 제거하기 위한 제 1 AEC(acoustic echo canceller)(201) 및 제 2 AEC(203)를 포함할 수 있다.
제 1 AEC(201)는 어플리케이션 프로세서(120)의 응용프로그램 구동을 위해 오디오 합성 모듈(200)로부터 제공받은 에코 기준 데이터(예: 오디오 신호 또는 음성 신호 또는 합성 신호)에 기반하여 마이크 입력 신호에 포함된 에코 신호를 제거할 수 있다. 예를 들어, 어플리케이션 프로세서(120)에서 음성 인식 서비스를 제공하는 경우, 마이크 입력 신호는 음성 인식을 위한 음성 신호와 에코 신호를 포함할 수 있다. 제 1 AEC(201)는 어플리케이션 프로세서(120)의 음성 인식률을 높이기 위해 마이크 입력 신호에 포함된 음성 신호가 왜곡되지 않는 수준으로 에코 신호를 제거할 수 있다. 여기서, 마이크 입력 신호는 마이크(172)를 통해 수집한 오디오 신호 및 음성 신호를 포함할 수 있다.
한 실시 예에 따르면, 어플리케이션 프로세서(120)는 제 1 AEC(201)로부터 제공받은 에코 신호가 제거된 마이크 입력 신호에 기반하여 응용프로그램을 구동할 수 있다. 예를 들어, 어플리케이션 프로세서(120)는 제 1 AEC(201)로부터 제공받은 에코 신호가 제거된 마이크 입력 신호에 기반하여 음성 인식 서비스를 제공할 수 있다.
제 2 AEC(203)는 통신 모듈(130)의 음성 통화 서비스를 위해 오디오 합성 모듈(200)로부터 제공받은 에코 기준 데이터(예: 오디오 신호 또는 음성 신호 또는 합성 신호)에 기반하여 제 1 AEC(201)과 독립적으로 음성 통화 서비스에 최적화되도록 마이크 입력 신호에 포함된 에코 신호를 제거할 수 있다. 예를 들어, 제 2 AEC(203)의 에코 신호 제거 레벨(예: 에코 신호 제거 강도)은 제 1 AEC(201)의 에코 신호 제거 레벨보다 높게 설정될 수 있다. 예컨대, 에코 신호 제거 레벨이 높을수록 에코 신호 제거 효율이 높아질 수 있다.
한 실시 예에 따르면, 통신 모듈(130)은 제 2 AEC(203)로부터 제공받은 에코 신호가 제거된 마이크 입력 신호에 기반하여 음성 통화 서비스를 제공할 수 있다. 예를 들어, 통신 모듈(130)은 제 2 AEC(203)로부터 제공받은 에코 신호가 제거된 마이크 입력 신호를 음성 통화 서비스를 제공하는 다른 전자 장치로 전송할 수 있다.
도 2의 경우, 오디오 처리 모듈(170)은 어플리케이션 프로세서(120)를 위한 제 1 AEC(201)와 통신 모듈(130)을 위한 제 2 AEC(203)를 포함할 수 있다.
본 발명의 다양한 실시 예에 따르면, 오디오 처리 모듈(170)은 하나의 AEC를 이용하여 어플리케이션 프로세서(120)를 위한 에코 신호 제거 및 통신 모듈(130)을 위한 에코 신호 제거를 선택적으로 수행할 수 있다. 예를 들어, 오디오 처리 모듈(170)의 AEC는 어플리케이션 프로세서(120)를 이용하여 응용프로그램을 구동하는 경우, 어플리케이션 프로세서(120)에 대응하는 에코 신호 제거 레벨로 에코 신호를 제거할 수 있다. 예를 들어, 오디오 처리 모듈(170)의 AEC는 통신 모듈(130)을 이용하여 음성 통화 서비스를 제공하는 경우, 통신 모듈(130)에 대응하는 에코 신호 제거 레벨로 에코 신호를 제거할 수 있다.
도 3은 본 발명의 다양한 실시 예에 따른 에코 신호를 제거하기 위한 오디오 처리 모듈의 상세 블록도를 도시하고 있다. 이하 설명은 도 2와 같이 에코 신호를 제거하기 위한 오디오 처리 모듈(170)의 상세 구성에 대해 설명한다.
도 3을 참조하면, 오디오 처리 모듈(170)은 오디오 합성 모듈(200), 적어도 하나의 AEC 및 D/A 변환기(300)를 포함할 수 있다.
오디오 합성 모듈(200)은 어플리케이션 프로세서(120)로부터 제공받은 오디오 신호 및 통신 모듈(130)로부터 제공받은 음성 신호를 하나의 신호로 합성할 수 있다. 예를 들어, 오디오 합성 모듈(200)은 에코 신호 제거를 위해 합성 신호를 AEC(201)로 전송할 수 있다.
한 실시 예에 따르면, 오디오 합성 모듈(200)은 어플리케이션 프로세서(120) 및 통신 모듈(130) 중 어느 하나의 구성 요소로부터 오디오 신호 또는 음성 신호를 수신한 경우, 신호 합성 절차를 생략하고 해당 신호를 D/A 변환기(300)로 전송할 수 있다(by pass). 이 경우, 오디오 합성 모듈(200)은 에코 신호 제거를 위해 해당 신호를 AEC(201)로 전송할 수 있다.
D/A 변환기(300)는 디지털 신호를 아날로그 신호로 변환하거나, 아날로그 신호를 디지털 신호로 변환할 수 있다. 예를 들어, D/A 변환기(300)는 오디오 합성 모듈(200)로부터 제공받은 디지털 신호를 스피커(174)를 통해 출력할 수 있는 아날로그 신호로 변환할 수 있다. 예를 들어, D/A 변환기(300)는 마이크(172)를 통해 입력된 아날로그 신호를 오디오 처리 모듈(170)에서 처리할 수 있도록 디지털 신호로 변환할 수 있다.
AEC(201)는 오디오 합성 모듈(200)로부터 제공받은 에코 기준 데이터(예: 스피커(174)를 통해 출력된 신호)를 기반하여 마이크 입력 신호에 포함된 에코 신호를 제거할 수 있다.
도 4는 본 발명의 다양한 실시 예에 따른 전자 장치에서 오디오 처리 모듈 및 통신 모듈을 이용하여 에코 신호를 제거하기 위한 구조를 도시하고 있다. 이하 설명은 도 1의 전자 장치에서 마이크(172)를 통해 유입된 에코 신호를 제거하기 위한 구조에 대해 설명할 수 있다.
도 4를 참조하면, 오디오 처리 모듈(170)의 오디오 합성 모듈(200)은 어플리케이션 프로세서(120)로부터 제공받은 오디오 신호 및 통신 모듈(130)로부터 제공받은 음성 신호 중 적어도 하나의 신호를 스피커(174)를 통해 출력할 수 있다. 예를 들어, 오디오 합성 모듈(200)은 어플리케이션 프로세서(120)로부터 제공받은 오디오 신호 및 통신 모듈(130)로부터 제공받은 음성 신호를 하나의 신호로 합성하여 스피커(174)를 통해 출력할 수 있다.
한 실시 예에 따르면, 오디오 합성 모듈(200)은 스피커(174)로 출력한 신호(예: 오디오 신호 또는 음성 신호 또는 합성 신호)를 에코 신호 제거를 위한 에코 기준 데이터(echo reference)로 사용할 수 있도록 제 1 AEC(201) 및 통신 모듈(130)의 통화 전처리 모듈(400)로 전송할 수 있다.
제 1 AEC(201)는 어플리케이션 프로세서(120)의 응용프로그램 구동을 위해 오디오 합성 모듈(200)로부터 제공받은 에코 기준 데이터(예: 오디오 신호 또는 음성 신호 또는 합성 신호)에 기반하여 마이크 입력 신호에 포함된 에코 신호를 제거할 수 있다.
한 실시 예에 따르면, 어플리케이션 프로세서(120)는 제 1 AEC(201)로부터 제공받은 에코 신호가 제거된 마이크 입력 신호에 기반하여 응용프로그램을 구동할 수 있다.
통신 모듈(130)의 통화 전처리 모듈(400)은 음성 통화 서비스를 위한 볼륨, AEC, DRC(dynamic range controller), NS(noise suppression)과 같은 오디오 프로세싱을 제어할 수 있다. 예를 들어, 통화 전처리 모듈(400)은 통신 모듈(130)의 음성 통화 서비스를 위해 오디오 합성 모듈(200)로부터 제공받은 에코 기준 데이터(예: 오디오 신호 또는 음성 신호 또는 합성 신호)에 기반하여 마이크 입력 신호에 포함된 에코 신호를 제거할 수 있다.
한 실시 예에 따르면, 통신 모듈(130)은 통화 전처리 모듈(400)을 이용하여 에코 신호를 제거한 마이크 입력 신호에 기반하여 음성 통화 서비스를 제공할 수 있다.
도 5는 본 발명의 다양한 실시 예에 따른 전자 장치에서 오디오 처리 모듈 및 AP를 이용하여 에코 신호를 제거하기 위한 구조를 도시하고 있다. 이하 설명은 도 1의 전자 장치에서 마이크(172)를 통해 유입된 에코 신호를 제거하기 위한 구조에 대해 설명할 수 있다.
도 5를 참조하면, 오디오 처리 모듈(170)의 오디오 합성 모듈(200)은 어플리케이션 프로세서(120)로부터 제공받은 오디오 신호 및 통신 모듈(130)로부터 제공받은 음성 신호 중 적어도 하나의 신호를 스피커(174)를 통해 출력할 수 있다. 예를 들어, 오디오 합성 모듈(200)은 어플리케이션 프로세서(120)로부터 제공받은 오디오 신호 및 통신 모듈(130)로부터 제공받은 음성 신호를 하나의 신호로 합성하여 스피커(174)를 통해 출력할 수 있다.
한 실시 예에 따르면, 오디오 합성 모듈(200)은 스피커(174)로 출력한 신호(예: 오디오 신호 또는 음성 신호 또는 합성 신호)를 에코 신호 제거를 위한 에코 기준 데이터로 사용할 수 있도록 제 2 AEC(203) 및 어플리케이션 프로세서(120)의 AP 전처리 모듈(500)로 전송할 수 있다.
제 2 AEC(203)는 통신 모듈(130)의 음성 통화 서비스를 위해 오디오 합성 모듈(200)로부터 제공받은 에코 기준 데이터(예: 오디오 신호 또는 음성 신호 또는 합성 신호)에 기반하여 마이크 입력 신호에 포함된 에코 신호를 제거할 수 있다.
한 실시 예에 따르면, 통신 모듈(130)은 제 2 AEC(203)로부터 제공받은 에코 신호가 제거된 마이크 입력 신호에 기반하여 음성 통화 서비스를 제공할 수 있다. 예를 들어, 통신 모듈(130)은 제 2 AEC(203)로부터 제공받은 에코 신호가 제거된 마이크 입력 신호를 음성 통화 서비스를 제공하는 다른 전자 장치로 전송할 수 있다.
어플리케이션 프로세서(120)의 AP 전처리 모듈(500)은 오디오 합성 모듈(200)로부터 제공받은 에코 기준 데이터(예: 오디오 신호 또는 음성 신호 또는 합성 신호)에 기반하여 마이크 입력 신호에 포함된 에코 신호를 제거할 수 있다. 예를 들어, AP 전처리 모듈(500)은 마이크 입력 신호와 에코 기준 데이터를 시간적으로 동기화할 수 있다. AP 전처리 모듈(500)은 동기화된 마이크 입력 신호와 에코 기준 데이터를 이용하여 마이크 입력 신호에 포함된 음성 신호가 왜곡되지 않는 수준으로 에코 신호를 제거할 수 있다.
한 실시 예에 따르면, 어플리케이션 프로세서(120)는 AP 전처리 모듈(500)을 이용하여 에코 신호를 제거한 마이크 입력 신호에 기반하여 응용프로그램을 구동할 수 있다.
한 실시 예에 따르면, 오디오 처리 모듈(170)은 에코 기준 데이터 및 마이크 입력 신호를 서로 독립된 경로(채널)를 이용하여 어플리케이션 프로세서(120)로 전송할 수 있다. 예를 들어, 오디오 처리 모듈(170)은 어플리케이션 프로세서(120)와의 다수 개의 마이크 입력 경로들을 활성화하여 서로 다른 경로를 통해 에코 기준 데이터 및 마이크 입력 신호를 어플리케이션 프로세서(120)로 전송할 수 있다. 예를 들어, 오디오 처리 모듈(170)은 어플리케이션 프로세서(120)와의 하나의 마이크 입력 경로를 활성화하여 마이크 입력 신호를 어플리케이션 프로세서(120)로 전송할 수 있다. 오디오 처리 모듈(170)은 마이크 입력 경로와 다른 경로를 통해 에코 기준 데이터를 일정 주기로 어플리케이션 프로세서(120)로 전송할 수 있다.
본 발명의 다양한 실시 예에 따르면, 오디오 처리 모듈(170)은 하나의 경로를 이용하여 에코 기준 데이터 및 마이크 입력 신호를 어플리케이션 프로세서(120)로 전송할 수 있다. 예를 들어, 오디오 처리 모듈(170)은 하기 도 6과 같이 에코 기준 데이터 및 마이크 입력 신호를 하나의 경로를 이용하여 어플리케이션 프로세서(120)로 전송할 수 있다.
도 6은 본 발명의 다양한 실시 예에 따른 오디오 처리 모듈에서 AP로 오디오 신호를 전송하기 위한 구조를 도시하고 있다. 이하 설명은 도 7a 및 도 7b의 채널 구조를 이용하여 신호를 전송하기 위한 하기 위한 구조에 대해 설명한다.
도 6을 참조하면, 오디오 처리 모듈(170)은 청크(chunk) 모듈(600)을 이용하여 에코 기준 데이터와 마이크 입력 신호를 하나의 경로를 통해 어플리케이션 프로세서(120)로 전송하기 위한 구조로 변환할 수 있다. 예를 들어, 오디오 처리 모듈(170)과 어플리케이션 프로세서(120)가 스테레오 채널로 연결된 경우, 청크 모듈(600)은 도 7a와 같이 스테레오 채널의 제 1 채널에 마이크 입력 신호(Tx IN PCM)을 포함하고, 제 2 채널에 에코 기준 데이터(Tx Ref PCM)를 포함하도록 청크들을 생성할 수 있다. 예를 들어, 오디오 처리 모듈(170)과 어플리케이션 프로세서(120)가 모노 채널로 연결된 경우, 청크 모듈(600)은 도 7b와 같이 모노 채널에 일정 간격으로 마이크 입력 신호(Tx IN PCM)와 에코 기준 데이터(Tx Ref PCM)를 교번하게 포함하도록 청크들을 생성할 수 있다.
청크 모듈(600)은 에코 기준 데이터와 마이크 입력 신호를 포함하는 청크들을 하나의 경로(채널)를 통해 어플리케이션 프로세서(120)로 전송할 수 있다.
어플리케이션 프로세서(120)는 역-청크(de-chunk) 모듈(610)을 이용하여 오디오 처리 모듈(170)로부터 제공받은 에코 기준 데이터와 마이크 입력 신호를 분리할 수 있다.
한 실시 예에 따르면, 어플리케이션 프로세서(120)의 AP 전처리 모듈(500)은 역-청크 모듈(610)에서 분리된 에코 기준 데이터에 기반하여 마이크 입력 신호에 포함된 에코 신호를 제거할 수 있다.
도 8은 본 발명의 다양한 실시 예에 따른 전자 장치에서 AP 및 통신 모듈을 이용하여 에코 신호를 제거하기 위한 구조를 도시하고 있다. 이하 설명은 도 1의 전자 장치에서 마이크(172)를 통해 유입된 에코 신호를 제거하기 위한 구조에 대해 설명할 수 있다.
도 8을 참조하면, 오디오 처리 모듈(170)의 오디오 합성 모듈(200)은 어플리케이션 프로세서(120)로부터 제공받은 오디오 신호 및 통신 모듈(130)로부터 제공받은 음성 신호 중 적어도 하나의 신호를 스피커(174)를 통해 출력할 수 있다. 예를 들어, 오디오 합성 모듈(200)은 어플리케이션 프로세서(120)로부터 제공받은 오디오 신호 및 통신 모듈(130)로부터 제공받은 음성 신호를 하나의 신호로 합성하여 스피커(174)를 통해 출력할 수 있다.
한 실시 예에 따르면, 오디오 합성 모듈(200)은 스피커(174)로 출력한 신호(예: 오디오 신호 또는 음성 신호 또는 합성 신호)를 에코 신호 제거를 위한 에코 기준 데이터로 사용할 수 있도록 어플리케이션 프로세서(120) 및 통신 모듈(130)로 전송할 수 있다.
어플리케이션 프로세서(120)의 AP 전처리 모듈(500)은 오디오 합성 모듈(200)로부터 제공받은 에코 기준 데이터(예: 오디오 신호 또는 음성 신호 또는 합성 신호)에 기반하여 마이크 입력 신호에 포함된 에코 신호를 제거할 수 있다. 예를 들어, AP 전처리 모듈(500)은 마이크 입력 신호와 에코 기준 데이터를 시간적으로 동기화할 수 있다. AP 전처리 모듈(500)은 동기화된 마이크 입력 신호와 에코 기준 데이터를 이용하여 마이크 입력 신호에 포함된 음성 신호가 왜곡되지 않는 수준으로 에코 신호를 제거할 수 있다.
한 실시 예에 따르면, 어플리케이션 프로세서(120)는 AP 전처리 모듈(500)을 이용하여 에코 신호를 제거한 마이크 입력 신호에 기반하여 응용프로그램을 구동할 수 있다.
통신 모듈(130)의 통화 전처리 모듈(400)은 오디오 합성 모듈(200)로부터 제공받은 에코 기준 데이터(예: 오디오 신호 또는 음성 신호 또는 합성 신호)에 기반하여 마이크 입력 신호에 포함된 에코 신호를 제거할 수 있다. 예를 들어, 통화 전처리 모듈(400)은 마이크 입력 신호와 에코 기준 데이터를 시간적으로 동기화할 수 있다. 통화 전처리 모듈(400)은 동기화된 마이크 입력 신호와 에코 기준 데이터를 이용하여 마이크 입력 신호에 포함된 에코 신호를 제거할 수 있다.
한 실시 예에 따르면, 통신 모듈(130)은 통화 전처리 모듈(400)을 이용하여 에코 신호를 제거한 마이크 입력 신호에 기반하여 음성 통화 서비스를 제공할 수 있다.
도 9는 본 발명의 다양한 실시 예에 따른 전자 장치에서 외부 전처리 모듈을 이용하여 에코 신호를 제거하기 위한 구조를 도시하고 있다. 이하 설명은 도 1의 전자 장치에서 마이크(172)를 통해 유입된 에코 신호를 제거하기 위한 구조에 대해 설명할 수 있다.
도 9를 참조하면, 오디오 처리 모듈(170)의 오디오 합성 모듈(200)은 을 통해 어플리케이션 프로세서(120)로부터 제공받은 오디오 신호 및 통신 모듈(130)로부터 제공받은 음성 신호 중 적어도 하나의 신호를 스피커(174)를 통해 출력할 수 있다. 예를 들어, 오디오 합성 모듈(200)은 어플리케이션 프로세서(120)로부터 제공받은 오디오 신호 및 통신 모듈(130)로부터 제공받은 음성 신호를 하나의 신호로 합성하여 스피커(174)를 통해 출력할 수 있다.
한 실시 예에 따르면, 오디오 합성 모듈(200)은 스피커(174)로 출력한 신호(예: 오디오 신호 또는 음성 신호 또는 합성 신호)를 에코 신호 제거를 위한 에코 기준 데이터로 사용할 수 있도록 외부 전처리 모듈(900)로 전송할 수 있다.
한 실시 예에 따르면, 외부 전처리 모듈(900)은 마이크(172)를 통해 유입된 에코 신호를 제거하기 위한 제 1 AEC(910) 및 제 2 AEC(920)를 포함할 수 있다.
제 1 AEC(910)는 어플리케이션 프로세서(120)의 응용프로그램 구동을 위해 오디오 합성 모듈(200)로부터 제공받은 에코 기준 데이터(예: 오디오 신호 또는 음성 신호 또는 합성 신호)에 기반하여 마이크 입력 신호에 포함된 에코 신호를 제거할 수 있다. 예를 들어, 어플리케이션 프로세서(120)에서 음성 인식 응용프로그램을 구동하는 경우, 제 1 AEC(910)는 어플리케이션 프로세서(120)의 음성 인식률을 높이기 위해 마이크 입력 신호에 포함된 음성 신호가 왜곡되지 않는 수준으로 에코 신호를 제거할 수 있다.
한 실시 예에 따르면, 제 1 AEC(910)는 에코 신호가 제거된 마이크 입력 신호를 오디오 처리 모듈(170)을 통해 어플리케이션 프로세서(120)로 전송할 수 있다.
한 실시 예에 따르면, 어플리케이션 프로세서(120)는 오디오 처리 모듈(170)로부터 제공받은 에코 신호가 제거된 마이크 입력 신호에 기반하여 응용프로그램을 구동할 수 있다.
제 2 AEC(920)는 통신 모듈(130)의 음성 통화 서비스를 위해 오디오 합성 모듈(200)로부터 제공받은 에코 기준 데이터(예: 오디오 신호 또는 음성 신호 또는 합성 신호)에 기반하여 제 1 AEC(910)과 독립적으로 음성 통화 서비스에 최적화되도록 마이크 입력 신호에 포함된 에코 신호를 제거할 수 있다. 예를 들어, 제 2 AEC(920)의 에코 신호 제거 레벨(예: 에코 신호 제거 강도)은 제 1 AEC(910)의 에코 신호 제거 레벨보다 높게 설정될 수 있다.
한 실시 예에 따르면, 제 2 AEC(920)는 에코 신호가 제거된 마이크 입력 신호를 오디오 처리 모듈(170)을 통해 통신 모듈(130)로 전송할 수 있다.
한 실시 예에 따르면, 통신 모듈(130)은 오디오 처리 모듈(170)로부터 제공받은 에코 신호가 제거된 마이크 입력 신호에 기반하여 음성 통화 서비스를 제공할 수 있다.
도 9의 경우, 외부 전처리 모듈(900)은 어플리케이션 프로세서(120)를 위한 제 1 AEC(910)와 통신 모듈(130)을 위한 제 2 AEC(920)를 포함할 수 있다.
본 발명의 다양한 실시 예에 따르면, 외부 전처리 모듈(900)은 하나의 AEC를 이용하여 어플리케이션 프로세서(120)를 위한 에코 신호 제거 및 통신 모듈(130)을 위한 에코 신호 제거를 선택적으로 수행할 수 있다. 예를 들어, 외부 전처리 모듈(900)의 AEC는 어플리케이션 프로세서(120)를 이용하여 응용프로그램을 구동하는 경우, 어플리케이션 프로세서(120)에 대응하는 에코 신호 제거 레벨로 에코 신호를 제거할 수 있다. 예를 들어, 외부 전처리 모듈(900)의 AEC는 통신 모듈(130)을 이용하여 음성 통화 서비스를 제공하는 경우, 통신 모듈(130)에 대응하는 에코 신호 제거 레벨로 에코 신호를 제거할 수 있다.
도 10은 본 발명의 다양한 실시 예에 따른 외부 전처리 모듈의 상세 블록도를 도시하고 있다. 이하 설명은 도 9와 같이 에코 신호를 제거하기 위한 외부 전처리 모듈(900)의 상세 구성에 대해 설명한다.
도 10을 참조하면, 오디오 처리 모듈(170)의 오디오 합성 모듈(200)은 어플리케이션 프로세서(120)로부터 제공받은 오디오 신호 및 통신 모듈(130)로부터 제공받은 음성 신호를 하나의 신호로 합성할 수 있다.
한 실시 예에 따르면, 오디오 합성 모듈(200)은 에코 신호 제거를 위한 에코 기준 데이터로 사용할 수 있도록 합성 신호를 외부 전처리 모듈(900)로 전송할 수 있다.
D/A 변환기(300)는 디지털 신호를 아날로그 신호로 변환하거나, 아날로그 신호를 디지털 신호로 변환할 수 있다. 예를 들어, D/A 변환기(300)는 오디오 합성 모듈(200)로부터 제공받은 디지털 신호를 스피커(174)를 통해 출력할 수 있는 아날로그 신호로 변환할 수 있다. 예를 들어, D/A 변환기(300)는 마이크(172)를 통해 입력된 아날로그 신호를 오디오 처리 모듈(170)에서 처리할 수 있도록 디지털 신호로 변환할 수 있다.
한 실시 예에 따르면, 오디오 처리 모듈(170)은 D/A 변환기(300)에서 변환된 디지털 신호를 외부 전처리 모듈(900)로 전송할 수 있다. 예를 들어, 오디오 처리 모듈(170)은 어플리케이션 프로세서(120) 및 통신 모듈(130) 중 적어도 하나의 제어에 기반하여 에코 신호 제거를 수행하는 경우, D/A 변환기(300)에서 변환된 디지털 신호를 외부 전처리 모듈(900)로 전송할 수 있다.
외부 전처리 모듈(900)의 AEC(910 또는 920)는 오디오 처리 모듈(170)로부터 제공받은 에코 기준 데이터(예: 스피커(174)를 통해 출력된 신호)를 기반하여 마이크 입력 신호에 포함된 에코 신호를 제거할 수 있다.
외부 전처리 모듈(900)는 에코 신호가 제거된 마이크 입력 신호를 오디오 처리 모듈(170)을 통해 어플리케이션 프로세서(120) 또는 통신 모듈(130)로 전송할 수 있다.
도 11은 본 발명의 다양한 실시 예에 따른 전자 장치에서 외부 전처리 모듈 및 오디오 처리 모듈을 이용하여 에코 신호를 제거하기 위한 구조를 도시하고 있다. 이하 설명은 도 1의 전자 장치에서 마이크(172)를 통해 유입된 에코 신호를 제거하기 위한 구조에 대해 설명할 수 있다.
도 11을 참조하면, 오디오 처리 모듈(170)의 오디오 합성 모듈(200)은 어플리케이션 프로세서(120)로부터 제공받은 오디오 신호 및 통신 모듈(130)로부터 제공받은 음성 신호 중 적어도 하나의 신호를 스피커(174)를 통해 출력할 수 있다. 예를 들어, 오디오 합성 모듈(200)은 어플리케이션 프로세서(120)로부터 제공받은 오디오 신호 및 통신 모듈(130)로부터 제공받은 음성 신호를 하나의 신호로 합성하여 스피커(174)를 통해 출력할 수 있다.
한 실시 예에 따르면, 오디오 합성 모듈(200)은 스피커(174)로 출력한 신호(예: 오디오 신호 또는 음성 신호 또는 합성 신호)를 에코 신호 제거를 위한 에코 기준 데이터로 사용할 수 있도록 외부 전처리 모듈(900) 및 제 2 AEC(203)로 전송할 수 있다.
제 2 AEC(203)는 통신 모듈(130)의 음성 통화 서비스를 위해 오디오 합성 모듈(200)로부터 제공받은 에코 기준 데이터(예: 오디오 신호 또는 음성 신호 또는 합성 신호)에 기반하여 마이크 입력 신호에 포함된 에코 신호를 제거할 수 있다.
한 실시 예에 따르면, 통신 모듈(130)은 제 2 AEC(203)로부터 제공받은 에코 신호가 제거된 마이크 입력 신호에 기반하여 음성 통화 서비스를 제공할 수 있다.
외부 전처리 모듈(900)의 제 1 AEC(910)는 어플리케이션 프로세서(120)의 응용프로그램 구동을 위해 오디오 합성 모듈(200)로부터 제공받은 에코 기준 데이터(예: 오디오 신호 또는 음성 신호 또는 합성 신호)에 기반하여 마이크 입력 신호에 포함된 에코 신호를 제거할 수 있다.
한 실시 예에 따르면, 제 1 AEC(910)는 에코 신호가 제거된 마이크 입력 신호를 오디오 처리 모듈(170)을 통해 어플리케이션 프로세서(120)로 전송할 수 있다.
한 실시 예에 따르면, 어플리케이션 프로세서(120)는 오디오 처리 모듈(170)로부터 제공받은 에코 신호가 제거된 마이크 입력 신호에 기반하여 응용프로그램을 구동할 수 있다.
도 12는 본 발명의 다양한 실시 예에 따른 전자 장치에서 외부 전처리 모듈 및 오디오 처리 모듈을 이용하여 에코 신호를 제거하기 위한 구조를 도시하고 있다. 이하 설명은 도 1의 전자 장치에서 마이크(172)를 통해 유입된 에코 신호를 제거하기 위한 구조에 대해 설명할 수 있다.
도 12를 참조하면, 오디오 처리 모듈(170)의 오디오 합성 모듈(200)은 을 통해 어플리케이션 프로세서(120)로부터 제공받은 오디오 신호 및 통신 모듈(130)로부터 제공받은 음성 신호 중 적어도 하나의 신호를 스피커(174)를 통해 출력할 수 있다. 예를 들어, 오디오 합성 모듈(200)은 어플리케이션 프로세서(120)로부터 제공받은 오디오 신호 및 통신 모듈(130)로부터 제공받은 음성 신호를 하나의 신호로 합성하여 스피커(174)를 통해 출력할 수 있다.
한 실시 예에 따르면, 오디오 합성 모듈(200)은 스피커(174)로 출력한 신호(예: 오디오 신호 또는 음성 신호 또는 합성 신호)를 에코 신호 제거를 위한 에코 기준 데이터로 사용할 수 있도록 외부 전처리 모듈(900) 및 제 1 AEC(201)로 전송할 수 있다.
제 1 AEC(201)는 어플리케이션 프로세서(120)의 응용프로그램 구동을 위해 오디오 합성 모듈(200)로부터 제공받은 에코 기준 데이터(예: 오디오 신호 또는 음성 신호 또는 합성 신호)에 기반하여 마이크 입력 신호에 포함된 에코 신호를 제거할 수 있다.
한 실시 예에 따르면, 어플리케이션 프로세서(120)는 제 1 AEC(201)로부터 제공받은 에코 신호가 제거된 마이크 입력 신호에 기반하여 응용프로그램을 구동할 수 있다.
외부 전처리 모듈(900)의 제 2 AEC(920)는 통신 모듈(130)의 음성 통화 서비스를 위해 오디오 합성 모듈(200)로부터 제공받은 에코 기준 데이터(예: 오디오 신호 또는 음성 신호 또는 합성 신호)에 기반하여 마이크 입력 신호에 포함된 에코 신호를 제거할 수 있다.
한 실시 예에 따르면, 제 2 AEC(920)는 에코 신호가 제거된 마이크 입력 신호를 오디오 처리 모듈(170)을 통해 통신 모듈(130)로 전송할 수 있다.
한 실시 예에 따르면, 통신 모듈(130)은 오디오 처리 모듈(170)로부터 제공받은 에코 신호가 제거된 마이크 입력 신호에 기반하여 음성 통화 서비스를 제공할 수 있다.
도 13은 본 발명의 다양한 실시 예에 따른 전자 장치에서 외부 전처리 모듈 및 통신 모듈을 이용하여 에코 신호를 제거하기 위한 구조를 도시하고 있다. 이하 설명은 도 1의 전자 장치에서 마이크(172)를 통해 유입된 에코 신호를 제거하기 위한 구조에 대해 설명할 수 있다.
도 13을 참조하면, 오디오 처리 모듈(170)의 오디오 합성 모듈(200)은 을 통해 어플리케이션 프로세서(120)로부터 제공받은 오디오 신호 및 통신 모듈(130)로부터 제공받은 음성 신호 중 적어도 하나의 신호를 스피커(174)를 통해 출력할 수 있다. 예를 들어, 오디오 합성 모듈(200)은 어플리케이션 프로세서(120)로부터 제공받은 오디오 신호 및 통신 모듈(130)로부터 제공받은 음성 신호를 하나의 신호로 합성하여 스피커(174)를 통해 출력할 수 있다.
한 실시 예에 따르면, 오디오 합성 모듈(200)은 스피커(174)로 출력한 신호(예: 오디오 신호 또는 음성 신호 또는 합성 신호)를 에코 신호 제거를 위한 에코 기준 데이터로 사용할 수 있도록 외부 전처리 모듈(900) 및 통신 모듈(130)로 전송할 수 있다.
통신 모듈(130)의 통화 전처리 모듈(400)은 통신 모듈(130)의 음성 통화 서비스를 위해 오디오 합성 모듈(200)로부터 제공받은 에코 기준 데이터(예: 오디오 신호 또는 음성 신호 또는 합성 신호)에 기반하여 마이크 입력 신호에 포함된 에코 신호를 제거할 수 있다.
한 실시 예에 따르면, 통신 모듈(130)은 통화 전처리 모듈(400)을 이용하여 에코 신호를 제거한 마이크 입력 신호에 기반하여 음성 통화 서비스를 제공할 수 있다.
외부 전처리 모듈(900)의 제 1 AEC(910)는 어플리케이션 프로세서(120)의 응용프로그램 구동을 위해 오디오 합성 모듈(200)로부터 제공받은 에코 기준 데이터(예: 오디오 신호 또는 음성 신호 또는 합성 신호)에 기반하여 마이크 입력 신호에 포함된 에코 신호를 제거할 수 있다.
한 실시 예에 따르면, 제 1 AEC(910)는 에코 신호가 제거된 마이크 입력 신호를 오디오 처리 모듈(170)을 통해 어플리케이션 프로세서(120)로 전송할 수 있다.
한 실시 예에 따르면, 어플리케이션 프로세서(120)는 오디오 처리 모듈(170)로부터 제공받은 에코 신호가 제거된 마이크 입력 신호에 기반하여 응용프로그램을 구동할 수 있다.
도 14는 본 발명의 다양한 실시 예에 따른 전자 장치에서 외부 전처리 모듈 및 AP를 이용하여 에코 신호를 제거하기 위한 구조를 도시하고 있다. 이하 설명은 도 1의 전자 장치에서 마이크(172)를 통해 유입된 에코 신호를 제거하기 위한 구조에 대해 설명할 수 있다.
도 14를 참조하면, 오디오 처리 모듈(170)의 오디오 합성 모듈(200)은 을 통해 어플리케이션 프로세서(120)로부터 제공받은 오디오 신호 및 통신 모듈(130)로부터 제공받은 음성 신호 중 적어도 하나의 신호를 스피커(174)를 통해 출력할 수 있다. 예를 들어, 오디오 합성 모듈(200)은 어플리케이션 프로세서(120)로부터 제공받은 오디오 신호 및 통신 모듈(130)로부터 제공받은 음성 신호를 하나의 신호로 합성하여 스피커(174)를 통해 출력할 수 있다.
한 실시 예에 따르면, 오디오 합성 모듈(200)은 스피커(174)로 출력한 신호(예: 오디오 신호 또는 음성 신호 또는 합성 신호)를 에코 신호 제거를 위한 에코 기준 데이터로 사용할 수 있도록 외부 전처리 모듈(900) 및 어플리케이션 프로세서(120)로 전송할 수 있다.
어플리케이션 프로세서(120)의 AP 전처리 모듈(500)은 오디오 합성 모듈(200)로부터 제공받은 에코 기준 데이터(예: 오디오 신호 또는 음성 신호 또는 합성 신호)에 기반하여 마이크 입력 신호에 포함된 에코 신호를 제거할 수 있다.
한 실시 예에 따르면, 오디오 처리 모듈(170)은 에코 기준 데이터 및 마이크 입력 신호를 적어도 하나의 경로(채널)를 이용하여 어플리케이션 프로세서(120)로 전송할 수 있다. 예를 들어, 오디오 처리 모듈(170)은 에코 기준 데이터 및 마이크 입력 신호를 서로 독립된 경로를 이용하여 어플리케이션 프로세서(120)로 전송할 수 있다. 예를 들어, 오디오 처리 모듈(170)은 에코 기준 데이터 및 마이크 입력 신호를 포함하는 구조의 데이터(예: 청크)를 하나의 경로를 이용하여 어플리케이션 프로세서(120)로 전송할 수 있다.
한 실시 예에 따르면, 어플리케이션 프로세서(120)는 AP 전처리 모듈(500)을 이용하여 에코 신호를 제거한 마이크 입력 신호에 기반하여 응용프로그램을 구동할 수 있다.
외부 전처리 모듈(900)의 제 2 AEC(920)는 통신 모듈(130)의 음성 통화 서비스를 위해 오디오 합성 모듈(200)로부터 제공받은 에코 기준 데이터(예: 합성 신호)에 기반하여 마이크 입력 신호에 포함된 에코 신호를 제거할 수 있다.
한 실시 예에 따르면, 제 2 AEC(920)는 에코 신호가 제거된 마이크 입력 신호를 오디오 처리 모듈(170)을 통해 통신 모듈(130)로 전송할 수 있다.
한 실시 예에 따르면, 통신 모듈(130)은 오디오 처리 모듈(170)로부터 제공받은 에코 신호가 제거된 마이크 입력 신호에 기반하여 음성 통화 서비스를 제공할 수 있다.
본 발명의 다양한 실시 예에 따르면, 전자 장치(100)는 오디오 처리 모듈(170)의 AEC(201 또는 203)와 외부 전처리 모듈(900)의 AEC(910 또는 920)를 함께 사용하여 에코 신호를 제거하도록 구성될 수도 있다.
도 15는 본 발명의 다양한 실시 예에 따른 전자 장치에서 에코 신호를 제거하기 위한 흐름도를 도시하고 있다.
도 15를 참조하면, 동작 1501에서, 전자 장치(예: 도 1의 전자 장치(100))는 AP(예: 어플리케이션 프로세서(120))와 통신 모듈(예: 통신 모듈(130))에서 재생하기 위한 신호들을 하나의 신호로 합성할 수 있다. 예를 들어, 전자 장치(100)는 오디오 처리 모듈(170)의 오디오 합성 모듈(200)을 이용하여 어플리케이션 프로세서(120)로부터 제공받은 오디오 신호(예: TTS, 키톤, 효과음 등) 및 통신 모듈(130)로부터 제공받은 음성 신호(예: 상대 방의 통화 음성 신호)를 하나의 신호로 합성할 수 있다.
동작 1503에서, 전자 장치는 동작 1501에서 합성한 신호를 스피커(예: 스피커(174))를 통해 출력할 수 있다.
동작 1505에서, 전자 장치는 마이크(예: 마이크(172))를 통해 신호가 수집되는지 확인할 수 있다. 예를 들어, 전자 장치(100)는 마이크(172)를 통해 신호가 유입되는지 확인할 수 있다.
동작 1507에서, 전자 장치는 마이크를 통해 신호가 수집되는 경우, 합성 신호(예: 스피커를 통해 출력한 신호)에 기반하여 마이크 입력 신호에 대한 에코 제거를 수행할 수 있다. 예를 들어, 전자 장치(100)의 어플리케이션 프로세서(120)를 위한 AEC(201 또는 500 또는 910)는 에코 기준 데이터(예: 스피커를 통해 출력한 신호)에 기반하여 어플리케이션 프로세서(120)를 위한 에코 신호 제거를 수행할 수 있다. 예컨대, 어플리케이션 프로세서(120)를 위한 AEC(201 또는 500 또는 910)는 어플리케이션 프로세서(120)의 제어에 기반하여 에코 신호 제거를 수행할 수 있다. 예를 들어, 전자 장치(100)의 통신 모듈(130)을 위한 AEC(203 또는 400 또는 920)는 에코 기준 데이터(예: 스피커를 통해 출력한 신호)에 기반하여 통신 모듈(130)을 위한 에코 신호 제거를 수행할 수 있다. 예컨대, 통신 모듈(130)을 위한 AEC(203 또는 400 또는 920)는 통신 모듈(130)의 제어에 기반하여 에코 신호 제거를 수행할 수 있다.
본 발명의 다양한 실시 예에 따르면, 전자 장치(100)는 어플리케이션 프로세서(120) 및 통신 모듈(130) 중 어느 하나의 구성 요소로부터 오디오 신호 또는 음성 신호가 발생한 경우, 오디오 합성 모듈(200)을 이용한 합성 절차를 생략할 수 있다. 이 경우, 전자 장치(100)는 어느 하나의 구성 요소로부터 발생한 오디오 신호 또는 음성 신호를 에코 기준 데이터로 설정할 수 있다.
도 16은 본 발명의 다양한 실시 예에 따른 전자 장치에서 오디오 처리 모듈을 이용하여 에코 신호를 제거하기 위한 신호 흐름도 도시하고 있다. 이하 설명은 에코 신호를 제거하기 위한 전자 장치(100)의 구성 요소들 간 신호 흐름에 대해 설명한다.
도 16을 참조하면, AP(1600)(예: 어플리케이션 프로세서(120))는 응용 프로그램의 구동에 대응하는 오디오 신호(예: TTS(text to speech), 키톤, 효과음 등)를 오디오 처리 모듈(1604)(예: 오디오 처리 모듈(170))로 전송할 수 있다(1611).
통신 모듈(1602)(예: 통신 모듈(130))은 음성 통화 서비스를 위한 음성 신호(예: 상대 방의 통화 음성 신호)를 오디오 처리 모듈(1604)로 전송할 수 있다(1613).
오디오 처리 모듈(1604)은 AP(1600)로부터 제공받은 오디오 신호 및 통신 모듈(1602)로부터 제공받은 음성 신호를 하나의 신호로 합성할 수 있다(1615). 예를 들어, 오디오 처리 모듈(1604)은 오디오 합성 모듈(200)을 이용하여 AP(1600)로부터 제공받은 오디오 신호 및 통신 모듈(1602)로부터 제공받은 음성 신호를 하나의 신호로 합성할 수 있다.
오디오 처리 모듈(1604)은 합성 신호를 스피커(1606)(예: 스피커(174))를 통해 외부로 출력할 수 있다(1617).
오디오 처리 모듈(1604)은 마이크(1608)(예: 마이크(172))를 통해 음향(sound) 신호를 수집할 수 있다(1619). 예를 들어, 마이크(1608)를 통해 수집한 음향 신호는 전자 장치(100)의 서비스 제공을 위한 신호(예: 오디오 신호, 음성 신호) 및 스피커(1606)를 통해 출력한 신호(에코 신호)를 포함할 수 있다.
오디오 처리 모듈(1604)은 합성 신호를 에코 기준 데이터로 사용하여 마이크 입력 신호에 포함된 에코 신호를 제거할 수 있다(1621). 예를 들어, 도 2의 경우, 오디오 처리 모듈(1604)의 제 1 AEC(201)는 응용프로그램 구동을 위해 에코 기준 데이터에 기반하여 마이크 입력 신호에 포함된 음성 신호가 왜곡되지 않는 수준으로 에코 신호를 제거할 수 있다. 예를 들어, 도 2의 경우, 오디오 처리 모듈(1604)의 제 2 AEC(203)는 음성 통화 서비스를 위해 에코 기준 데이터에 기반하여 마이크 입력 신호에 포함된 에코 신호를 제거할 수 있다.
오디오 처리 모듈(1604)은 에코 신호가 제거된 마이크 입력 신호를 AP(1600) 및 통신 모듈(1602)로 전송할 수 있다(1623, 1625). 예를 들어, 오디오 처리 모듈(1604)은 제 1 AEC(201)를 통해 에코 신호가 제거된 마이크 입력 신호를 AP(1600)로 전송할 수 있다(1623). 예를 들어, 오디오 처리 모듈(1604)은 제 2 AEC(203)를 통해 에코 신호가 제거된 마이크 입력 신호를 통신 모듈(1602)로 전송할 수 있다(1625).
도 17은 본 발명의 다양한 실시 예에 따른 전자 장치에서 오디오 처리 모듈 및 통신 모듈을 이용하여 에코 신호를 제거하기 위한 신호 흐름도를 도시하고 있다. 이하 설명은 에코 신호를 제거하기 위한 전자 장치(100)의 구성 요소들 간 신호 흐름에 대해 설명한다.
도 17을 참조하면, AP(1600)(예: 어플리케이션 프로세서(120))는 응용 프로그램의 구동에 대응하는 오디오 신호를 오디오 처리 모듈(1604)(예: 오디오 처리 모듈(170))로 전송할 수 있다(1701).
통신 모듈(1602)(예: 통신 모듈(130))은 음성 통화 서비스를 위한 음성 신호를 오디오 처리 모듈(1604)로 전송할 수 있다(1703).
오디오 처리 모듈(1604)은 AP(1600)로부터 제공받은 오디오 신호 및 통신 모듈(1602)로부터 제공받은 음성 신호를 하나의 신호로 합성할 수 있다(1705).
오디오 처리 모듈(1604)은 오디오 합성 모듈(200)을 이용하여 합성한 신호를 스피커(1606)(예: 스피커(174))를 통해 외부로 출력할 수 있다(1707).
오디오 처리 모듈(1604)은 마이크(1608)(예: 마이크(172))를 통해 음향 신호를 수집할 수 있다(1709).
오디오 처리 모듈(1604)은 에코 기준 데이터로 사용할 합성 신호와 마이크 입력 신호를 통신 모듈(1602)로 전송할 수 있다(1711). 예를 들어, 오디오 처리 모듈(1604)은 적어도 하나의 경로(채널)를 통해 에코 기준 데이터 및 마이크 입력 신호를 통신 모듈(1602)로 전송할 수 있다. 예컨대, 오디오 처리 모듈(1604)은 에코 기준 데이터 및 마이크 입력 신호를 서로 독립된 경로를 이용하여 통신 모듈(1602)로 전송할 수 있다. 예컨대, 오디오 처리 모듈(1604)은 에코 기준 데이터 및 마이크 입력 신호를 포함하는 구조의 데이터(예: 청크)를 생성하여 하나의 경로를 통해 통신 모듈(1602)로 전송할 수 있다.
통신 모듈(1602)은 오디오 처리 모듈(1604)로부터 제공받은 에코 기준 데이터에 기반하여 마이크 입력 신호에 포함된 에코 신호를 제거할 수 있다(1713). 예를 들어, 통신 모듈(1602)의 통화 전처리 모듈(400)은 도 4와 같이 음성 통화 서비스를 위해 오디오 합성 모듈(1604)로부터 제공받은 에코 기준 데이터(예: 합성 신호)에 기반하여 마이크 입력 신호에 포함된 에코 신호를 제거할 수 있다.
오디오 처리 모듈(1604)은 AP(1600)의 응용프로그램 구동을 위해 합성 신호를 에코 기준 데이터로 사용하여 마이크 입력 신호에 포함된 에코 신호를 제거할 수 있다(1715). 예를 들어, 오디오 처리 모듈(1604)의 제 1 AEC(201)는 도 4와 같이 응용프로그램 구동을 위해 에코 기준 데이터에 기반하여 마이크 입력 신호에 포함된 에코 신호를 제거할 수 있다.
오디오 처리 모듈(1604)은 에코 신호가 제거된 마이크 입력 신호를 AP(1600) 로 전송할 수 있다(1717). 예를 들어, 오디오 처리 모듈(1604)은 제 1 AEC(201)를 통해 에코 신호가 제거된 마이크 입력 신호를 AP(1600)로 전송할 수 있다.
도 18은 본 발명의 다양한 실시 예에 따른 전자 장치에서 오디오 처리 모듈 및 AP를 이용하여 에코 신호를 제거하기 위한 신호 흐름도를 도시하고 있다. 이하 설명은 에코 신호를 제거하기 위한 전자 장치(100)의 구성 요소들 간 신호 흐름에 대해 설명한다.
도 18을 참조하면, AP(1600)(예: 어플리케이션 프로세서(120))는 응용 프로그램의 구동에 대응하는 오디오 신호를 오디오 처리 모듈(1604)(예: 오디오 처리 모듈(170))로 전송할 수 있다(1801).
통신 모듈(1602)(예: 통신 모듈(130))은 음성 통화 서비스를 위한 음성 신호를 오디오 처리 모듈(1604)로 전송할 수 있다(1803).
오디오 처리 모듈(1604)은 AP(1600)로부터 제공받은 오디오 신호 및 통신 모듈(1602)로부터 제공받은 음성 신호를 하나의 신호로 합성할 수 있다(1805).
오디오 처리 모듈(1604)은 오디오 합성 모듈(200)을 이용하여 합성한 신호를 스피커(1606)(예: 스피커(174))를 통해 외부로 출력할 수 있다(1807).
오디오 처리 모듈(1604)은 마이크(1608)(예: 마이크(172))를 통해 음향 신호를 수집할 수 있다(1809).
오디오 처리 모듈(1604)은 에코 기준 데이터로 사용할 합성 신호와 마이크 입력 신호를 AP(1600)로 전송할 수 있다(1811). 예를 들어, 오디오 처리 모듈(1604)은 적어도 하나의 경로(채널)를 통해 에코 기준 데이터 및 마이크 입력 신호를 AP(1600)로 전송할 수 있다. 예컨대, 오디오 처리 모듈(1604)은 도 5와 같이 에코 기준 데이터 및 마이크 입력 신호를 서로 독립된 경로를 이용하여 AP(1600)로 전송할 수 있다. 예컨대, 오디오 처리 모듈(1604)은 도 6과 같이 에코 기준 데이터 및 마이크 입력 신호를 포함하는 구조의 데이터(예: 청크)를 생성하여 하나의 경로를 통해 AP(1600)로 전송할 수 있다.
AP(1600)는 오디오 처리 모듈(1604)로부터 제공받은 에코 기준 데이터에 기반하여 마이크 입력 신호에 포함된 에코 신호를 제거할 수 있다(1813). 예를 들어, AP(1600)의 AP 전처리 모듈(500)은 도 5와 같이 AP(120)의 응용프로그램 구동을 위해 오디오 합성 모듈(1604)로부터 제공받은 에코 기준 데이터(예: 합성 신호)에 기반하여 마이크 입력 신호에 포함된 에코 신호를 제거할 수 있다.
오디오 처리 모듈(1604)은 통신 모듈(1602)의 음성 통화 서비스를 위해 합성 신호를 에코 기준 데이터로 사용하여 마이크 입력 신호에 포함된 에코 신호를 제거할 수 있다(1815). 예를 들어, 오디오 처리 모듈(1604)의 제 2 AEC(203)는 도 5와 같이 음성 통화 서비스를 제공하기 위해 에코 기준 데이터에 기반하여 마이크 입력 신호에 포함된 에코 신호를 제거할 수 있다.
오디오 처리 모듈(1604)은 에코 신호가 제거된 마이크 입력 신호를 통신 모듈(1602)로 전송할 수 있다(1817). 예를 들어, 오디오 처리 모듈(1604)은 제 2 AEC(203)를 통해 에코 신호가 제거된 마이크 입력 신호를 통신 모듈(1602)로 전송할 수 있다.
도 19는 본 발명의 다양한 실시 예에 따른 전자 장치에서 AP 및 통신 모듈을 이용하여 에코 신호를 제거하기 위한 신호 흐름도를 도시하고 있다. 이하 설명은 에코 신호를 제거하기 위한 전자 장치(100)의 구성 요소들 간 신호 흐름에 대해 설명한다.
도 19를 참조하면, AP(1600)(예: 어플리케이션 프로세서(120))는 응용 프로그램의 구동에 대응하는 오디오 신호를 오디오 처리 모듈(1604)(예: 오디오 처리 모듈(170))로 전송할 수 있다(1901).
통신 모듈(1602)(예: 통신 모듈(130))은 음성 통화 서비스를 위한 음성 신호를 오디오 처리 모듈(1604)로 전송할 수 있다(1903).
오디오 처리 모듈(1604)은 AP(1600)로부터 제공받은 오디오 신호 및 통신 모듈(1602)로부터 제공받은 음성 신호를 하나의 신호로 합성할 수 있다(1905).
오디오 처리 모듈(1604)은 오디오 합성 모듈(200)을 이용하여 합성한 신호를 스피커(1606)(예: 스피커(174))를 통해 외부로 출력할 수 있다(1907).
오디오 처리 모듈(1604)은 마이크(1608)(예: 마이크(172))를 통해 음향 신호를 수집할 수 있다(1909).
오디오 처리 모듈(1604)은 에코 기준 데이터로 사용할 합성 신호와 마이크 입력 신호를 AP(1600) 및 통신 모듈(1602)로 전송할 수 있다(1911, 1913).
통신 모듈(1602)은 오디오 처리 모듈(1604)로부터 제공받은 에코 기준 데이터에 기반하여 마이크 입력 신호에 포함된 에코 신호를 제거할 수 있다(1915). 예를 들어, 통신 모듈(1602)의 통화 전처리 모듈(400)은 도 8과 같이 음성 통화 서비스를 위해 오디오 합성 모듈(1604)로부터 제공받은 에코 기준 데이터(예: 합성 신호)에 기반하여 마이크 입력 신호에 포함된 에코 신호를 제거할 수 있다.
AP(1600)는 오디오 처리 모듈(1604)로부터 제공받은 에코 기준 데이터에 기반하여 마이크 입력 신호에 포함된 에코 신호를 제거할 수 있다(1917). 예를 들어, AP(1600)의 AP 전처리 모듈(500)은 도 8과 같이 AP(1600)의 응용프로그램 구동을 위해 오디오 합성 모듈(1604)로부터 제공받은 에코 기준 데이터(예: 합성 신호)에 기반하여 마이크 입력 신호에 포함된 에코 신호를 제거할 수 있다.
도 20은 본 발명의 다양한 실시 예에 따른 전자 장치에서 외부 전처리 모듈을 이용하여 에코 신호를 제거하기 위한 신호 흐름도를 도시하고 있다. 이하 설명은 에코 신호를 제거하기 위한 전자 장치(100)의 구성 요소들 간 신호 흐름에 대해 설명한다.
도 20을 참조하면, AP(2000)(예: 어플리케이션 프로세서(120))는 응용 프로그램의 구동에 대응하는 오디오 신호를 오디오 처리 모듈(2004)(예: 오디오 처리 모듈(170))로 전송할 수 있다(2011).
통신 모듈(2002)(예: 통신 모듈(130))은 음성 통화 서비스를 위한 음성 신호를 오디오 처리 모듈(2004)로 전송할 수 있다(2013).
오디오 처리 모듈(2004)은 AP(2000)로부터 제공받은 오디오 신호 및 통신 모듈(2002)로부터 제공받은 음성 신호를 하나의 신호로 합성할 수 있다(2015).
오디오 처리 모듈(2004)은 오디오 합성 모듈(200)을 이용하여 합성한 신호를 스피커(2008)(예: 스피커(174))를 통해 외부로 출력할 수 있다(2017).
오디오 처리 모듈(2004)은 마이크(2010)(예: 마이크(172))를 통해 음향 신호를 수집할 수 있다(2019).
오디오 처리 모듈(2004)은 에코 기준 데이터로 사용할 합성 신호(예: 스피커(2008)를 통해 출력한 신호)와 마이크 입력 신호를 외부 전처리 모듈(2006)로 전송할 수 있다(2021). 예를 들어, 오디오 처리 모듈(2004)은 도 10과 같이 오디오 합성 모듈(200)에서 합성한 합성 신호와 D/A 변환기(300)에서 디지털 신호로 변환된 마이크 입력 신호를 외부 전처리 모듈(2006)로 전송할 수 있다.
외부 전처리 모듈(2006)은 오디오 처리 모듈(2004)로부터 제공받은 합성 신호를 에코 기준 데이터로 사용하여 마이크 입력 신호에 포함된 에코 신호를 제거할 수 있다(2023). 예를 들어, 외부 전처리 모듈(2006)의 제 1 AEC(910)는 도 9와 같이 응용프로그램 구동을 위해 에코 기준 데이터에 기반하여 마이크 입력 신호에 포함된 음성 신호가 왜곡되지 않는 수준으로 에코 신호를 제거할 수 있다. 예를 들어, 외부 전처리 모듈(2006)의 제 2 AEC(920)는 도 9와 같이 음성 통화 서비스를 위해 에코 기준 데이터에 기반하여 마이크 입력 신호에 포함된 에코 신호를 제거할 수 있다.
외부 전처리 모듈(2006)은 에코 신호가 제거된 마이크 입력 신호를 오디오 처리 모듈(2004)로 전송할 수 있다(2025).
오디오 처리 모듈(2004)은 외부 전처리 모듈(2006)로부터 제공받은 에코 신호가 제거된 마이크 입력 신호를 AP(2000) 및 통신 모듈(2002)로 전송할 수 있다(2027, 2029).
도 21은 본 발명의 다양한 실시 예에 따른 전자 장치에서 외부 전처리 모듈 및 오디오 처리 모듈을 이용하여 에코 신호를 제거하기 위한 신호 흐름도를 도시하고 있다. 이하 설명은 에코 신호를 제거하기 위한 전자 장치(100)의 구성 요소들 간 신호 흐름에 대해 설명한다.
도 21을 참조하면, AP(2000)(예: 어플리케이션 프로세서(120))는 응용 프로그램의 구동에 대응하는 오디오 신호를 오디오 처리 모듈(2004)(예: 오디오 처리 모듈(170))로 전송할 수 있다(2101).
통신 모듈(2002)(예: 통신 모듈(130))은 음성 통화 서비스를 위한 음성 신호를 오디오 처리 모듈(2004)로 전송할 수 있다(2103).
오디오 처리 모듈(2004)은 AP(2000)로부터 제공받은 오디오 신호 및 통신 모듈(2002)로부터 제공받은 음성 신호를 하나의 신호로 합성할 수 있다(2105).
오디오 처리 모듈(2004)은 오디오 합성 모듈(200)을 이용하여 합성한 신호를 스피커(2008)(예: 스피커(174))를 통해 외부로 출력할 수 있다(2107).
오디오 처리 모듈(2004)은 마이크(2010)(예: 마이크(172))를 통해 음향 신호를 수집할 수 있다(2109).
오디오 처리 모듈(2004)은 에코 기준 데이터로 사용할 합성 신호(예: 스피커(2008)를 통해 출력한 신호)와 마이크 입력 신호를 외부 전처리 모듈(2006)로 전송할 수 있다(2111).
외부 전처리 모듈(2006)은 음성 통화 서비스를 위해 오디오 처리 모듈(2004)로부터 제공받은 합성 신호를 에코 기준 데이터로 사용하여 마이크 입력 신호에 포함된 에코 신호를 제거할 수 있다(2113). 예를 들어, 외부 전처리 모듈(2006)의 제 2 AEC(920)는 도 12와 같이 음성 통화 서비스를 위해 에코 기준 데이터에 기반하여 마이크 입력 신호에 포함된 에코 신호를 제거할 수 있다.
외부 전처리 모듈(2006)은 에코 신호가 제거된 마이크 입력 신호를 오디오 처리 모듈(2004)로 전송할 수 있다(2119).
오디오 처리 모듈(2004)은 외부 전처리 모듈(2006)로부터 제공받은 에코 신호가 제거된 마이크 입력 신호를 통신 모듈(2002)로 전송할 수 있다(2121).
오디오 처리 모듈(2004)은 AP(2000)의 응용프로그램 구동을 위해 합성 신호를 에코 기준 데이터로 사용하여 마이크 입력 신호에 포함된 에코 신호를 제거할 수 있다(2115). 예를 들어, 오디오 처리 모듈(2004)의 제 1 AEC(201)는 도 12와 같이 응용프로그램 구동을 위해 에코 기준 데이터에 기반하여 마이크 입력 신호에 포함된 에코 신호를 제거할 수 있다.
오디오 처리 모듈(2004)은 에코 신호가 제거된 마이크 입력 신호를 AP(2000) 로 전송할 수 있다(2117).
도 22는 본 발명의 다양한 실시 예에 따른 전자 장치에서 외부 전처리 모듈 및 오디오 처리 모듈을 이용하여 에코 신호를 제거하기 위한 신호 흐름도를 도시하고 있다. 이하 설명은 에코 신호를 제거하기 위한 전자 장치(100)의 구성 요소들 간 신호 흐름에 대해 설명한다.
도 22를 참조하면, AP(2000)(예: 어플리케이션 프로세서(120))는 응용 프로그램의 구동에 대응하는 오디오 신호를 오디오 처리 모듈(2004)(예: 오디오 처리 모듈(170))로 전송할 수 있다(2201).
통신 모듈(2002)(예: 통신 모듈(130))은 음성 통화 서비스를 위한 음성 신호를 오디오 처리 모듈(2004)로 전송할 수 있다(2203).
오디오 처리 모듈(2004)은 AP(2000)로부터 제공받은 오디오 신호 및 통신 모듈(2002)로부터 제공받은 음성 신호를 하나의 신호로 합성할 수 있다(2205).
오디오 처리 모듈(2004)은 오디오 합성 모듈(200)을 이용하여 합성한 신호를 스피커(2008)(예: 스피커(174))를 통해 외부로 출력할 수 있다(2207).
오디오 처리 모듈(2004)은 마이크(2010)(예: 마이크(172))를 통해 음향 신호를 수집할 수 있다(2209).
오디오 처리 모듈(2004)은 에코 기준 데이터로 사용할 합성 신호(예: 스피커(2008)를 통해 출력한 신호)와 마이크 입력 신호를 외부 전처리 모듈(2006)로 전송할 수 있다(2211).
외부 전처리 모듈(2006)은 응용프로그램 구동을 위해 오디오 처리 모듈(2004)로부터 제공받은 합성 신호를 에코 기준 데이터로 사용하여 마이크 입력 신호에 포함된 에코 신호를 제거할 수 있다(2213). 예를 들어, 외부 전처리 모듈(2006)의 제 1 AEC(910)는 도 11과 같이 AP(2000)의 응용프로그램 구동을 위해 에코 기준 데이터에 기반하여 마이크 입력 신호에 포함된 에코 신호를 제거할 수 있다.
외부 전처리 모듈(2006)은 에코 신호가 제거된 마이크 입력 신호를 오디오 처리 모듈(2004)로 전송할 수 있다(2219).
오디오 처리 모듈(2004)은 외부 전처리 모듈(2006)로부터 제공받은 에코 신호가 제거된 마이크 입력 신호를 AP(2000)로 전송할 수 있다(2221).
오디오 처리 모듈(2004)은 통신 모듈(2002)의 음성 통화 서비스를 위해 합성 신호를 에코 기준 데이터로 사용하여 마이크 입력 신호에 포함된 에코 신호를 제거할 수 있다(2215). 예를 들어, 오디오 처리 모듈(2004)의 제 2 AEC(203)는 도 11과 같이 음성 통화 서비스를 위해 에코 기준 데이터에 기반하여 마이크 입력 신호에 포함된 에코 신호를 제거할 수 있다.
오디오 처리 모듈(2004)은 에코 신호가 제거된 마이크 입력 신호를 통신 모듈(2002)로 전송할 수 있다(2217).
도 23은 본 발명의 다양한 실시 예에 따른 전자 장치에서 외부 전처리 모듈 및 통신 모듈을 이용하여 에코 신호를 제거하기 위한 신호 흐름도를 도시하고 있다. 이하 설명은 에코 신호를 제거하기 위한 전자 장치(100)의 구성 요소들 간 신호 흐름에 대해 설명한다.
도 23을 참조하면, AP(2000)(예: 어플리케이션 프로세서(120))는 응용 프로그램의 구동에 대응하는 오디오 신호를 오디오 처리 모듈(2004)(예: 오디오 처리 모듈(170))로 전송할 수 있다(2301).
통신 모듈(2002)(예: 통신 모듈(130))은 음성 통화 서비스를 위한 음성 신호를 오디오 처리 모듈(2004)로 전송할 수 있다(2303).
오디오 처리 모듈(2004)은 AP(2000)로부터 제공받은 오디오 신호 및 통신 모듈(2002)로부터 제공받은 음성 신호를 하나의 신호로 합성할 수 있다(2305).
오디오 처리 모듈(2004)은 오디오 합성 모듈(200)을 이용하여 합성한 신호를 스피커(2008)(예: 스피커(174))를 통해 외부로 출력할 수 있다(2307).
오디오 처리 모듈(2004)은 마이크(2010)(예: 마이크(172))를 통해 음향 신호를 수집할 수 있다(2309).
오디오 처리 모듈(2004)은 에코 기준 데이터로 사용할 합성 신호(예: 스피커(2008)를 통해 출력한 신호)와 마이크 입력 신호를 외부 전처리 모듈(2006)로 전송할 수 있다(2311).
오디오 처리 모듈(2004)은 에코 기준 데이터로 사용할 합성 신호와 마이크 입력 신호를 통신 모듈(2002)로 전송할 수 있다(2313).
외부 전처리 모듈(2006)은 응용프로그램 구동을 위해 오디오 처리 모듈(2004)로부터 제공받은 합성 신호를 에코 기준 데이터로 사용하여 마이크 입력 신호에 포함된 에코 신호를 제거할 수 있다(2315). 예를 들어, 외부 전처리 모듈(2006)의 제 1 AEC(910)는 도 13과 같이 AP(2000)의 응용프로그램 구동을 위해 에코 기준 데이터에 기반하여 마이크 입력 신호에 포함된 에코 신호를 제거할 수 있다.
외부 전처리 모듈(2006)은 에코 신호가 제거된 마이크 입력 신호를 오디오 처리 모듈(2004)로 전송할 수 있다(2319).
오디오 처리 모듈(2004)은 외부 전처리 모듈(2006)로부터 제공받은 에코 신호가 제거된 마이크 입력 신호를 AP(2000)로 전송할 수 있다(2321).
통신 모듈(2002)은 오디오 처리 모듈(2004)로부터 제공받은 에코 기준 데이터에 기반하여 마이크 입력 신호에 포함된 에코 신호를 제거할 수 있다(2317). 예를 들어, 통신 모듈(2002)의 통화 전처리 모듈(400)은 도 13과 같이 음성 통화 서비스를 위해 오디오 합성 모듈(2004)로부터 제공받은 에코 기준 데이터(예: 합성 신호)에 기반하여 마이크 입력 신호에 포함된 에코 신호를 제거할 수 있다.
도 24는 본 발명의 다양한 실시 예에 따른 전자 장치에서 외부 전처리 모듈 및 AP를 이용하여 에코 신호를 제거하기 위한 신호 흐름도를 도시하고 있다. 이하 설명은 에코 신호를 제거하기 위한 전자 장치(100)의 구성 요소들 간 신호 흐름에 대해 설명한다.
도 24를 참조하면, AP(2000)(예: 어플리케이션 프로세서(120))는 응용 프로그램의 구동에 대응하는 오디오 신호를 오디오 처리 모듈(2004)(예: 오디오 처리 모듈(170))로 전송할 수 있다(2401).
통신 모듈(2002)(예: 통신 모듈(130))은 음성 통화 서비스를 위한 음성 신호를 오디오 처리 모듈(2004)로 전송할 수 있다(2403).
오디오 처리 모듈(2004)은 AP(2000)로부터 제공받은 오디오 신호 및 통신 모듈(2002)로부터 제공받은 음성 신호를 하나의 신호로 합성할 수 있다(2405).
오디오 처리 모듈(2004)은 오디오 합성 모듈(200)을 이용하여 합성한 신호를 스피커(2008)(예: 스피커(174))를 통해 외부로 출력할 수 있다(2407).
오디오 처리 모듈(2004)은 마이크(2010)(예: 마이크(172))를 통해 음향 신호를 수집할 수 있다(2409).
오디오 처리 모듈(2004)은 에코 기준 데이터로 사용할 합성 신호(예: 스피커(2008)를 통해 출력한 신호)와 마이크 입력 신호를 외부 전처리 모듈(2006)로 전송할 수 있다(2411).
오디오 처리 모듈(2004)은 에코 기준 데이터로 사용할 합성 신호와 마이크 입력 신호를 AP(2000)로 전송할 수 있다(2413).
외부 전처리 모듈(2006)은 음성 통화 서비스를 위해 오디오 처리 모듈(2004)로부터 제공받은 합성 신호를 에코 기준 데이터로 사용하여 마이크 입력 신호에 포함된 에코 신호를 제거할 수 있다(2415). 예를 들어, 외부 전처리 모듈(2006)의 제 2 AEC(920)는 도 14와 같이 음성 통화 서비스를 위해 에코 기준 데이터에 기반하여 마이크 입력 신호에 포함된 에코 신호를 제거할 수 있다.
외부 전처리 모듈(2006)은 에코 신호가 제거된 마이크 입력 신호를 오디오 처리 모듈(2004)로 전송할 수 있다(2419).
오디오 처리 모듈(2004)은 외부 전처리 모듈(2006)로부터 제공받은 에코 신호가 제거된 마이크 입력 신호를 통신 모듈(2002)로 전송할 수 있다(2421).
AP(2000)는 오디오 처리 모듈(2004)로부터 제공받은 에코 기준 데이터에 기반하여 마이크 입력 신호에 포함된 에코 신호를 제거할 수 있다(2417). 예를 들어, AP(2000)의 AP 전처리 모듈(500)은 도 14와 같이 AP(2000)의 응용프로그램 구동을 위해 오디오 합성 모듈(1604)로부터 제공받은 에코 기준 데이터(예: 합성 신호)에 기반하여 마이크 입력 신호에 포함된 에코 신호를 제거할 수 있다.
본 문서에서 사용된 용어 “모듈”은, 예를 들면, 하드웨어, 소프트웨어 또는 펌웨어 (firmware) 중 하나 또는 둘 이상의 조합을 포함하는 단위 (unit)를 의미할 수 있다. “모듈”은, 예를 들면, 유닛 (unit), 로직 (logic), 논리 블록 (logical block), 부품 (component), 또는 회로 (circuit) 등의 용어와 바꾸어 사용 (interchangeably use)될 수 있다. “모듈”은, 일체로 구성된 부품의 최소 단위 또는 그 일부가 될 수 있다. “모듈”은 하나 또는 그 이상의 기능을 수행하는 최소 단위 또는 그 일부가 될 수도 있다. “모듈”은 기계적으로 또는 전자적으로 구현될 수 있다. 예를 들면,“모듈”은, 알려졌거나 앞으로 개발될, 어떤 동작들을 수행하는 ASIC (application-specific integrated circuit) 칩, FPGAs (field-programmable gate arrays) 또는 프로그램 가능 논리 전자 장치 (programmable-logic device) 중 적어도 하나를 포함할 수 있다.
다양한 실시 예에 따른 전자 장치 (예: 모듈들 또는 그 기능들) 또는 방법 (예: 동작들)의 적어도 일부는, 예컨대, 프로그램 모듈의 형태로 컴퓨터로 읽을 수 있는 저장매체 (computer-readable storage media)에 저장된 명령어로 구현될 수 있다. 명령어는, 프로세서 (예: 프로세서 120)에 의해 실행될 경우, 하나 이상의 프로세서가 명령어에 해당하는 기능을 수행할 수 있다. 컴퓨터로 읽을 수 있는 저장매체는, 예를 들면, 메모리(130) 가 될 수 있다.
컴퓨터로 판독 가능한 기록 매체는, 하드디스크, 플로피디스크, 마그네틱 매체 (magnetic media)(예: 자기테이프), 광기록 매체 (optical media)(예: CD-ROM (compact disc read only memory), DVD (digital versatile disc), 자기-광 매체 (magneto-optical media)(예: 플롭티컬 디스크 (floptical disk)), 하드웨어 전자 장치 (예: ROM (read only memory), RAM (random access memory), 또는 플래시 메모리 등) 등을 포함할 수 있다. 또한, 프로그램 명령에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함할 수 있다. 상술한 하드웨어 전자 장치는 다양한 실시 예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지다.
다양한 실시 예에 따른 모듈 또는 프로그램 모듈은 전술한 구성요소들 중 적어도 하나 이상을 포함하거나, 일부가 생략되거나, 또는 추가적인 다른 구성요소를 더 포함할 수 있다. 다양한 실시 예에 따른 모듈, 프로그램 모듈 또는 다른 구성요소에 의해 수행되는 동작들은 순차적, 병렬적, 반복적 또는 휴리스틱 (heuristic)한 방법으로 실행될 수 있다. 또한, 일부 동작은 다른 순서로 실행되거나, 생략되거나, 또는 다른 동작이 추가될 수 있다.
그리고 본 문서에 개시된 실시 예는 개시된, 기술 내용의 설명 및 이해를 위해 제시된 것이며, 본 발명의 다양한 실시 예의 범위를 한정하는 것은 아니다. 따라서, 본 발명의 다양한 실시 예의 범위는, 본 발명의 다양한 실시 예의 기술적 사상에 근거한 모든 변경 또는 다양한 다른 실시 예를 포함하는 것으로 해석되어야 한다.