KR20180108155A - 바람 소리가 조정된 신호를 출력하는 방법 및 전자 장치 - Google Patents

바람 소리가 조정된 신호를 출력하는 방법 및 전자 장치 Download PDF

Info

Publication number
KR20180108155A
KR20180108155A KR1020170037545A KR20170037545A KR20180108155A KR 20180108155 A KR20180108155 A KR 20180108155A KR 1020170037545 A KR1020170037545 A KR 1020170037545A KR 20170037545 A KR20170037545 A KR 20170037545A KR 20180108155 A KR20180108155 A KR 20180108155A
Authority
KR
South Korea
Prior art keywords
signal
processor
value
sound
electronic device
Prior art date
Application number
KR1020170037545A
Other languages
English (en)
Inventor
바딤 쿠드랴브체브
이건우
김병준
김재현
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to KR1020170037545A priority Critical patent/KR20180108155A/ko
Priority to US15/928,134 priority patent/US20180277138A1/en
Publication of KR20180108155A publication Critical patent/KR20180108155A/ko

Links

Images

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L21/00Speech or voice signal processing techniques to produce another audible or non-audible signal, e.g. visual or tactile, in order to modify its quality or its intelligibility
    • G10L21/02Speech enhancement, e.g. noise reduction or echo cancellation
    • G10L21/0208Noise filtering
    • G10L21/0216Noise filtering characterised by the method used for estimating noise
    • G10L21/0232Processing in the frequency domain
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04RLOUDSPEAKERS, MICROPHONES, GRAMOPHONE PICK-UPS OR LIKE ACOUSTIC ELECTROMECHANICAL TRANSDUCERS; DEAF-AID SETS; PUBLIC ADDRESS SYSTEMS
    • H04R3/00Circuits for transducers, loudspeakers or microphones
    • H04R3/002Damping circuit arrangements for transducers, e.g. motional feedback circuits
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L21/00Speech or voice signal processing techniques to produce another audible or non-audible signal, e.g. visual or tactile, in order to modify its quality or its intelligibility
    • G10L21/02Speech enhancement, e.g. noise reduction or echo cancellation
    • G10L21/0208Noise filtering
    • G10L21/0216Noise filtering characterised by the method used for estimating noise
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L25/00Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
    • G10L25/48Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 specially adapted for particular use
    • G10L25/51Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 specially adapted for particular use for comparison or discrimination
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04RLOUDSPEAKERS, MICROPHONES, GRAMOPHONE PICK-UPS OR LIKE ACOUSTIC ELECTROMECHANICAL TRANSDUCERS; DEAF-AID SETS; PUBLIC ADDRESS SYSTEMS
    • H04R29/00Monitoring arrangements; Testing arrangements
    • H04R29/004Monitoring arrangements; Testing arrangements for microphones
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04RLOUDSPEAKERS, MICROPHONES, GRAMOPHONE PICK-UPS OR LIKE ACOUSTIC ELECTROMECHANICAL TRANSDUCERS; DEAF-AID SETS; PUBLIC ADDRESS SYSTEMS
    • H04R3/00Circuits for transducers, loudspeakers or microphones
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/049Temporal neural networks, e.g. delay elements, oscillating neurons or pulsed inputs
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L25/00Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
    • G10L25/27Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 characterised by the analysis technique
    • G10L25/30Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 characterised by the analysis technique using neural networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04RLOUDSPEAKERS, MICROPHONES, GRAMOPHONE PICK-UPS OR LIKE ACOUSTIC ELECTROMECHANICAL TRANSDUCERS; DEAF-AID SETS; PUBLIC ADDRESS SYSTEMS
    • H04R1/00Details of transducers, loudspeakers or microphones
    • H04R1/10Earpieces; Attachments therefor ; Earphones; Monophonic headphones
    • H04R1/1083Reduction of ambient noise
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04RLOUDSPEAKERS, MICROPHONES, GRAMOPHONE PICK-UPS OR LIKE ACOUSTIC ELECTROMECHANICAL TRANSDUCERS; DEAF-AID SETS; PUBLIC ADDRESS SYSTEMS
    • H04R2410/00Microphones
    • H04R2410/07Mechanical or electrical reduction of wind noise generated by wind passing a microphone
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04RLOUDSPEAKERS, MICROPHONES, GRAMOPHONE PICK-UPS OR LIKE ACOUSTIC ELECTROMECHANICAL TRANSDUCERS; DEAF-AID SETS; PUBLIC ADDRESS SYSTEMS
    • H04R2499/00Aspects covered by H04R or H04S not otherwise provided for in their subgroups
    • H04R2499/10General applications
    • H04R2499/11Transducers incorporated or for use in hand-held devices, e.g. mobile phones, PDA's, camera's
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04RLOUDSPEAKERS, MICROPHONES, GRAMOPHONE PICK-UPS OR LIKE ACOUSTIC ELECTROMECHANICAL TRANSDUCERS; DEAF-AID SETS; PUBLIC ADDRESS SYSTEMS
    • H04R3/00Circuits for transducers, loudspeakers or microphones
    • H04R3/005Circuits for transducers, loudspeakers or microphones for combining the signals of two or more microphones

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Acoustics & Sound (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • Human Computer Interaction (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • Multimedia (AREA)
  • Quality & Reliability (AREA)
  • General Health & Medical Sciences (AREA)
  • Otolaryngology (AREA)
  • Telephone Function (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)

Abstract

본 발명의 다양한 실시예에 따른 전자 장치는, 입력 장치; 출력 장치; 및 프로세서를 포함하고, 상기 프로세서는, 상기 입력 장치를 이용하여 상기 전자 장치의 외부의 사운드에 대응하는 제1신호를 획득하고, 상기 제1신호에 대해 지정된 시간이 지연된 제2신호를 생성하고, 상기 제1신호와 상기 제2신호에 기반하여, 미리 정해진 검출 방법을 통해, 상기 제1신호 중 바람 소리에 대응하는 제3신호를 검출하고, 및 상기 제1신호 중 상기 제3신호가 조정된 제4신호를 상기 출력 장치를 이용하여 출력하도록 설정될 수 있다.
그 외에 다양한 실시예들이 가능하다.

Description

바람 소리가 조정된 신호를 출력하는 방법 및 전자 장치{METHOD AND ELECTRONIC DEVICE FOR OUTPUTTING SIGNAL WITH ADJUSTED WIND SOUND}
본 발명의 다양한 실시예들은 전자 장치에 관한 것이며, 예를 들어, 사운드 신호를 입력 받고 입력 받은 사운드 신호에서 바람 잡음을 검출할 수 있는 전자 장치 및 전자 장치의 바람 잡음 검출 방법에 관한 것이다.
이동통신 및 하드웨어/소프트웨어 기술의 발달에 따라, 스마트폰으로 대표되는 휴대용 전자 장치는 진화를 거듭하여 다양한 기능들을 탑재할 수 있게 되었다. 최근의 휴대용 전자 장치는 마이크를 이용하여 사용자의 음성을 포함한 사운드 신호를 수집할 수 있다.
전자 장치의 마이크를 이용하여 사용자의 음성을 수집하는 경우, 전자 장치의 주변 노이즈가 함께 수집 될 수 있다. 특히, 바람 잡음(wind noise)의 경우, 어디서나 존재할 수 있으며 바람 잡음은 음질에 열화를 일으킬 수 있다.
전자 장치가 바람 잡음을 제거하기 위한 방법으로써, 사운드가 입력되는 마이크에 바람 막이를 사용하거나, 마이크의 구조적 형태를 통해서 바람 잡음을 막는 방법이 존재한다. 하지만, 이러한 하드웨어 적 방법의 경우 부피가 크고 구조적인 형태에 제약이 생기는 등 소형의 전자 장치에 적합하지 않다.
또한, 종래의 소프트웨어 방법을 통해 바람 잡음을 검출하는 기술들은 음질을 왜곡 시키거나, 다수의 마이크가 필요하거나, 많은 연산량을 필요로 하는 등의 한계가 있었다.
본 발명의 다양한 실시예들은, 하나의 마이크에서 획득된 사운드 신호를 시간 도메인에서의 처리를 통해 낮은 연산량으로 바람 잡음을 검출할 수 있는 전자 장치와 전자 장치의 바람 잡음 검출 방법을 제공하는 데 그 목적이 있다.
본 발명의 다양한 실시예에 따른 전자 장치는, 입력 장치; 출력 장치; 및 프로세서를 포함하고, 상기 프로세서는, 상기 입력 장치를 이용하여 상기 전자 장치의 외부의 사운드에 대응하는 제1신호를 획득하고, 상기 제1신호에 대해 지정된 시간이 지연된 제2신호를 생성하고, 상기 제1신호와 상기 제2신호에 기반하여, 미리 정해진 검출 방법을 통해, 상기 제1신호 중 바람 소리에 대응하는 제3신호를 검출하고, 및 상기 제1신호 중 상기 제3신호가 조정된 제4신호를 상기 출력 장치를 이용하여 출력하도록 설정될 수 있다.
본 발명의 다양한 실시예에 따른 전자 장치의 바람 소리가 조정된 신호를 출력하는 방법은, 상기 전자 장치의 외부의 사운드에 대응하는 제1신호를 획득하는 동작; 상기 제1신호에 대해 지정된 시간이 지연된 제2신호를 생성하는 동작; 상기 제1신호와 상기 제2신호에 기반하여, 미리 정해진 검출 방법을 통해, 상기 제1신호 중 상기 바람 소리에 대응하는 제3신호를 검출하는 동작; 및 상기 제1신호 중 상기 제3신호가 조정된 제4신호를 출력 장치를 이용하여 출력하는 동작을 포함할 수 있다.
본 발명의 다양한 실시예에 따르면, 적어도 하나의 사운드 입력 장치를 사용하는 전자 장치나, 적어도 하나의 사운드 입력 장치를 사용할 수 있는 환경에서, 별도의 하드웨어 장치 없이 바람 잡음의 여부를 판단할 수 있으며, 이와 같은 판단 과정을 작은 연산량을 통해 수행할 수 있다.
도 1은 다양한 실시예에서의 네트워크 환경 내의 전자 장치를 도시한 것이다.
도 2는 다양한 실시예에 따른 전자 장치의 블록도이다.
도 3 은 다양한 실시예에 따른 프로그램 모듈의 블록도이다.
도 4는 다양한 실시예에 따른 전자 장치의 블록도이다.
도 5는 다양한 실시예에 따른 사운드 신호의 그래프이다.
도 6은 다양한 실시예에 따른 프로세서의 세부 블록도이다.
도 7은 다양한 실시예에 따라 사운드 신호로부터 바람 잡음을 검출하기 위한 일련의 과정을 예시한 것이다.
도 8은 다양한 실시예에 따른 사운드 신호 및 바람 잡음 검출 여부를 나타낸 그래프이다.
도 9는 다양한 실시예에 따른 1채널 바람 잡음 검출 방법의 블록도이다.
도 10은 다양한 실시예에 따른 복수 채널 바람 잡음 검출 방법의 블록도이다.
도 11은 다양한 실시예에 따른 바람 잡음 검출 방법의 흐름도이다.
도 12는 다양한 실시예에 따른 바람 잡음 제거 방법의 흐름도이다.
도 13은 다양한 실시예에 따른 바람 소리가 조정된 신호를 출력하는 방법의 흐름도이다.
이하, 본 문서의 다양한 실시예들이 첨부된 도면을 참조하여 기재된다. 실시예 및 이에 사용된 용어들은 본 문서에 기재된 기술을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 해당 실시예의 다양한 변경, 균등물, 및/또는 대체물을 포함하는 것으로 이해되어야 한다. 도면의 설명과 관련하여, 유사한 구성요소에 대해서는 유사한 참조 부호가 사용될 수 있다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함할 수 있다. 본 문서에서, "A 또는 B" 또는 "A 및/또는 B 중 적어도 하나" 등의 표현은 함께 나열된 항목들의 모든 가능한 조합을 포함할 수 있다. "제 1," "제 2," "첫째," 또는 "둘째,"등의 표현들은 해당 구성요소들을, 순서 또는 중요도에 상관없이 수식할 수 있고, 한 구성요소를 다른 구성요소와 구분하기 위해 사용될 뿐 해당 구성요소들을 한정하지 않는다. 어떤(예: 제 1) 구성요소가 다른(예: 제 2) 구성요소에 "(기능적으로 또는 통신적으로) 연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 상기 어떤 구성요소가 상기 다른 구성요소에 직접적으로 연결되거나, 다른 구성요소(예: 제 3 구성요소)를 통하여 연결될 수 있다.
본 문서에서, "~하도록 구성된(또는 설정된)(configured to)"은 상황에 따라, 예를 들면, 하드웨어적 또는 소프트웨어적으로 "~에 적합한," "~하는 능력을 가지는," "~하도록 변경된," "~하도록 만들어진," "~를 할 수 있는," 또는 또는 "~하도록 설계된"과 상호 호환적으로(interchangeably) 사용될 수 있다. 어떤 상황에서는, "~하도록 구성된 장치"라는 표현은, 그 장치가 다른 장치 또는 부품들과 함께 "~할 수 있는" 것을 의미할 수 있다. 예를 들면, 문구 "A, B, 및 C를 수행하도록 구성된(또는 설정된) 프로세서"는 해당 동작을 수행하기 위한 전용 프로세서(예: 임베디드 프로세서), 또는 메모리 장치에 저장된 하나 이상의 소프트웨어 프로그램들을 실행함으로써, 해당 동작들을 수행할 수 있는 범용 프로세서(예: CPU 또는 application processor)를 의미할 수 있다.
본 문서의 다양한 실시예들에 따른 전자 장치는, 예를 들면, 스마트폰, 태블릿 PC, 이동 전화기, 영상 전화기, 전자책 리더기, 데스크탑 PC, 랩탑 PC, 넷북 컴퓨터, 워크스테이션, 서버, PDA, PMP(portable multimedia player), MP3 플레이어, 의료기기, 카메라, 또는 웨어러블 장치 중 적어도 하나를 포함할 수 있다. 웨어러블 장치는 액세서리형(예: 시계, 반지, 팔찌, 발찌, 목걸이, 안경, 콘택트 렌즈, 또는 머리 착용형 장치(head-mounted-device(HMD)), 직물 또는 의류 일체형(예: 전자 의복), 신체 부착형(예: 스킨 패드 또는 문신), 또는 생체 이식형 회로 중 적어도 하나를 포함할 수 있다. 어떤 실시예들에서, 전자 장치는, 예를 들면, 텔레비전, DVD(digital video disk) 플레이어, 오디오, 냉장고, 에어컨, 청소기, 오븐, 전자레인지, 세탁기, 공기 청정기, 셋톱 박스, 홈 오토매이션 컨트롤 패널, 보안 컨트롤 패널, 미디어 박스(예: 삼성 HomeSyncTM, 애플TVTM, 또는 구글 TVTM), 게임 콘솔(예: XboxTM, PlayStationTM), 전자 사전, 전자 키, 캠코더, 또는 전자 액자 중 적어도 하나를 포함할 수 있다.
다른 실시예에서, 전자 장치는, 각종 의료기기(예: 각종 휴대용 의료측정기기(혈당 측정기, 심박 측정기, 혈압 측정기, 또는 체온 측정기 등), MRA(magnetic resonance angiography), MRI(magnetic resonance imaging), CT(computed tomography), 촬영기, 또는 초음파기 등), 네비게이션 장치, 위성 항법 시스템(GNSS(global navigation satellite system)), EDR(event data recorder), FDR(flight data recorder), 자동차 인포테인먼트 장치, 선박용 전자 장비(예: 선박용 항법 장치, 자이로 콤파스 등), 항공 전자기기(avionics), 보안 기기, 차량용 헤드 유닛(head unit), 산업용 또는 가정용 로봇, 드론(drone), 금융 기관의 ATM, 상점의 POS(point of sales), 또는 사물 인터넷 장치 (예: 전구, 각종 센서, 스프링클러 장치, 화재 경보기, 온도조절기, 가로등, 토스터, 운동기구, 온수탱크, 히터, 보일러 등) 중 적어도 하나를 포함할 수 있다. 어떤 실시예에 따르면, 전자 장치는 가구, 건물/구조물 또는 자동차의 일부, 전자 보드(electronic board), 전자 사인 수신 장치(electronic signature receiving device), 프로젝터, 또는 각종 계측 기기(예: 수도, 전기, 가스, 또는 전파 계측 기기 등) 중 적어도 하나를 포함할 수 있다. 다양한 실시예에서, 전자 장치는 플렉서블하거나, 또는 전술한 다양한 장치들 중 둘 이상의 조합일 수 있다. 본 문서의 실시예에 따른 전자 장치는 전술한 기기들에 한정되지 않는다. 본 문서에서, 사용자라는 용어는 전자 장치를 사용하는 사람 또는 전자 장치를 사용하는 장치(예: 인공지능 전자 장치)를 지칭할 수 있다.
도 1을 참조하여, 다양한 실시예에서의, 네트워크 환경(100) 내의 전자 장치(101)가 기재된다. 전자 장치(101)는 버스(110), 프로세서(120), 메모리(130), 입출력 인터페이스(150), 디스플레이(160), 및 통신 인터페이스(170)를 포함할 수 있다. 어떤 실시예에서는, 전자 장치(101)는, 구성요소들 중 적어도 하나를 생략하거나 다른 구성요소를 추가적으로 구비할 수 있다. 버스(110)는 구성요소들(110-170)을 서로 연결하고, 구성요소들 간의 통신(예: 제어 메시지 또는 데이터)을 전달하는 회로를 포함할 수 있다. 프로세서(120)는, 중앙처리장치, 어플리케이션 프로세서, 또는 커뮤니케이션 프로세서(communication processor(CP)) 중 하나 또는 그 이상을 포함할 수 있다. 프로세서(120)는, 예를 들면, 전자 장치(101)의 적어도 하나의 다른 구성요소들의 제어 및/또는 통신에 관한 연산이나 데이터 처리를 실행할 수 있다.
메모리(130)는, 휘발성 및/또는 비휘발성 메모리를 포함할 수 있다. 메모리(130)는, 예를 들면, 전자 장치(101)의 적어도 하나의 다른 구성요소에 관계된 명령 또는 데이터를 저장할 수 있다. 한 실시예에 따르면, 메모리(130)는 소프트웨어 및/또는 프로그램(140)을 저장할 수 있다. 프로그램(140)은, 예를 들면, 커널(141), 미들웨어(143), 어플리케이션 프로그래밍 인터페이스(API)(145), 및/또는 어플리케이션 프로그램(또는 "어플리케이션")(147) 등을 포함할 수 있다. 커널(141), 미들웨어(143), 또는 API(145)의 적어도 일부는, 운영 시스템으로 지칭될 수 있다. 커널(141)은, 예를 들면, 다른 프로그램들(예: 미들웨어(143), API(145), 또는 어플리케이션 프로그램(147))에 구현된 동작 또는 기능을 실행하는 데 사용되는 시스템 리소스들(예: 버스(110), 프로세서(120), 또는 메모리(130) 등)을 제어 또는 관리할 수 있다. 또한, 커널(141)은 미들웨어(143), API(145), 또는 어플리케이션 프로그램(147)에서 전자 장치(101)의 개별 구성요소에 접근함으로써, 시스템 리소스들을 제어 또는 관리할 수 있는 인터페이스를 제공할 수 있다.
미들웨어(143)는, 예를 들면, API(145) 또는 어플리케이션 프로그램(147)이 커널(141)과 통신하여 데이터를 주고받을 수 있도록 중개 역할을 수행할 수 있다. 또한, 미들웨어(143)는 어플리케이션 프로그램(147)으로부터 수신된 하나 이상의 작업 요청들을 우선 순위에 따라 처리할 수 있다. 예를 들면, 미들웨어(143)는 어플리케이션 프로그램(147) 중 적어도 하나에 전자 장치(101)의 시스템 리소스(예: 버스(110), 프로세서(120), 또는 메모리(130) 등)를 사용할 수 있는 우선 순위를 부여하고, 상기 하나 이상의 작업 요청들을 처리할 수 있다. API(145)는 어플리케이션(147)이 커널(141) 또는 미들웨어(143)에서 제공되는 기능을 제어하기 위한 인터페이스로, 예를 들면, 파일 제어, 창 제어, 영상 처리, 또는 문자 제어 등을 위한 적어도 하나의 인터페이스 또는 함수(예: 명령어)를 포함할 수 있다. 입출력 인터페이스(150)는, 예를 들면, 사용자 또는 다른 외부 기기로부터 입력된 명령 또는 데이터를 전자 장치(101)의 다른 구성요소(들)에 전달하거나, 또는 전자 장치(101)의 다른 구성요소(들)로부터 수신된 명령 또는 데이터를 사용자 또는 다른 외부 기기로 출력할 수 있다.
디스플레이(160)는, 예를 들면, 액정 디스플레이(LCD), 발광 다이오드(LED) 디스플레이, 유기 발광 다이오드(OLED) 디스플레이, 또는 마이크로 전자기계 시스템 (MEMS) 디스플레이, 또는 전자종이(electronic paper) 디스플레이를 포함할 수 있다. 디스플레이(160)는, 예를 들면, 사용자에게 각종 콘텐츠(예: 텍스트, 이미지, 비디오, 아이콘, 및/또는 심볼 등)을 표시할 수 있다. 디스플레이(160)는, 터치 스크린을 포함할 수 있으며, 예를 들면, 전자 펜 또는 사용자의 신체의 일부를 이용한 터치, 제스쳐, 근접, 또는 호버링 입력을 수신할 수 있다. 통신 인터페이스(170)는, 예를 들면, 전자 장치(101)와 외부 장치(예: 제 1 외부 전자 장치(102), 제 2 외부 전자 장치(104), 또는 서버(106)) 간의 통신을 설정할 수 있다. 예를 들면, 통신 인터페이스(170)는 무선 통신 또는 유선 통신을 통해서 네트워크(162)에 연결되어 외부 장치(예: 제 2 외부 전자 장치(104) 또는 서버(106))와 통신할 수 있다.
무선 통신은, 예를 들면, LTE, LTE-A(LTE Advance), CDMA(code division multiple access), WCDMA(wideband CDMA), UMTS(universal mobile telecommunications system), WiBro(Wireless Broadband), 또는 GSM(Global System for Mobile Communications) 등 중 적어도 하나를 사용하는 셀룰러 통신을 포함할 수 있다. 한 실시예에 따르면, 무선 통신은, 예를 들면, 도 1의 164로 예시된 바와 같이, WiFi(wireless fidelity), LiFi(light fidelity), 블루투스, 블루투스 저전력(BLE), 지그비(Zigbee), NFC(near field communication), 자력 시큐어 트랜스미션(Magnetic Secure Transmission), 라디오 프리퀀시(RF), 또는 보디 에어리어 네트워크(BAN) 중 적어도 하나를 포함할 수 있다. 한실시예에 따르면, 무선 통신은 GNSS를 포함할 수 있다. GNSS는, 예를 들면, GPS(Global Positioning System), Glonass(Global Navigation Satellite System), Beidou Navigation Satellite System(이하 “Beidou”) 또는 Galileo, the European global satellite-based navigation system일 수 있다. 이하, 본 문서에서는, “GPS”는 “GNSS”와 상호 호환적으로 사용될 수 있다. 유선 통신은, 예를 들면, USB(universal serial bus), HDMI(high definition multimedia interface), RS-232(recommended standard232), 전력선 통신, 또는 POTS(plain old telephone service) 등 중 적어도 하나를 포함할 수 있다. 네트워크(162)는 텔레커뮤니케이션 네트워크, 예를 들면, 컴퓨터 네트워크(예: LAN 또는 WAN), 인터넷, 또는 텔레폰 네트워크 중 적어도 하나를 포함할 수 있다.
제 1 및 제 2 외부 전자 장치(102, 104) 각각은 전자 장치(101)와 동일한 또는 다른 종류의 장치일 수 있다. 다양한 실시예에 따르면, 전자 장치(101)에서 실행되는 동작들의 전부 또는 일부는 다른 하나 또는 복수의 전자 장치(예: 전자 장치(102,104), 또는 서버(106)에서 실행될 수 있다. 한 실시예에 따르면, 전자 장치(101)가 어떤 기능이나 서비스를 자동으로 또는 요청에 의하여 수행해야 할 경우에, 전자 장치(101)는 기능 또는 서비스를 자체적으로 실행시키는 대신에 또는 추가적으로, 그와 연관된 적어도 일부 기능을 다른 장치(예: 전자 장치(102, 104), 또는 서버(106))에게 요청할 수 있다. 다른 전자 장치(예: 전자 장치(102, 104), 또는 서버(106))는 요청된 기능 또는 추가 기능을 실행하고, 그 결과를 전자 장치(101)로 전달할 수 있다. 전자 장치(101)는 수신된 결과를 그대로 또는 추가적으로 처리하여 요청된 기능이나 서비스를 제공할 수 있다. 이를 위하여, 예를 들면, 클라우드 컴퓨팅, 분산 컴퓨팅, 또는 클라이언트-서버 컴퓨팅 기술이 이용될 수 있다.
도 2는 다양한 실시예에 따른 전자 장치(201)의 블록도이다. 전자 장치(201)는, 예를 들면, 도 1에 도시된 전자 장치(101)의 전체 또는 일부를 포함할 수 있다. 전자 장치(201)는 하나 이상의 프로세서(예: AP)(210), 통신 모듈(220), (가입자 식별 모듈(224), 메모리(230), 센서 모듈(240), 입력 장치(250), 디스플레이(260), 인터페이스(270), 오디오 모듈(280), 카메라 모듈(291), 전력 관리 모듈(295), 배터리(296), 인디케이터(297), 및 모터(298) 를 포함할 수 있다. 프로세서(210)는, 예를 들면, 운영 체제 또는 응용 프로그램을 구동하여 프로세서(210)에 연결된 다수의 하드웨어 또는 소프트웨어 구성요소들을 제어할 수 있고, 각종 데이터 처리 및 연산을 수행할 수 있다. 프로세서(210)는, 예를 들면, SoC(system on chip) 로 구현될 수 있다. 한 실시예에 따르면, 프로세서(210)는 GPU(graphic processing unit) 및/또는 이미지 신호 프로세서를 더 포함할 수 있다. 프로세서(210)는 도 2에 도시된 구성요소들 중 적어도 일부(예: 셀룰러 모듈(221))를 포함할 수도 있다. 프로세서(210) 는 다른 구성요소들(예: 비휘발성 메모리) 중 적어도 하나로부터 수신된 명령 또는 데이터를 휘발성 메모리에 로드)하여 처리하고, 결과 데이터를 비휘발성 메모리에 저장할 수 있다.
통신 모듈(220)(예: 통신 인터페이스(170))와 동일 또는 유사한 구성을 가질 수 있다. 통신 모듈(220)은, 예를 들면, 셀룰러 모듈(221), WiFi 모듈(223), 블루투스 모듈(225), GNSS 모듈(227), NFC 모듈(228) 및 RF 모듈(229)를 포함할 수 있다. 셀룰러 모듈(221)은, 예를 들면, 통신망을 통해서 음성 통화, 영상 통화, 문자 서비스, 또는 인터넷 서비스 등을 제공할 수 있다. 한 실시예에 따르면, 셀룰러 모듈(221)은 가입자 식별 모듈(예: SIM 카드)(224)을 이용하여 통신 네트워크 내에서 전자 장치(201)의 구별 및 인증을 수행할 수 있다. 한 실시예에 따르면, 셀룰러 모듈(221)은 프로세서(210)가 제공할 수 있는 기능 중 적어도 일부 기능을 수행할 수 있다. 한 실시예에 따르면, 셀룰러 모듈(221)은 커뮤니케이션 프로세서(CP)를 포함할 수 있다. 어떤 실시예에 따르면, 셀룰러 모듈(221), WiFi 모듈(223), 블루투스 모듈(225), GNSS 모듈(227) 또는 NFC 모듈(228) 중 적어도 일부(예: 두 개 이상)는 하나의 integrated chip(IC) 또는 IC 패키지 내에 포함될 수 있다. RF 모듈(229)은, 예를 들면, 통신 신호(예: RF 신호)를 송수신할 수 있다. RF 모듈(229)은, 예를 들면, 트랜시버, PAM(power amp module), 주파수 필터, LNA(low noise amplifier), 또는 안테나 등을 포함할 수 있다. 다른 실시예에 따르면, 셀룰러 모듈(221), WiFi 모듈(223), 블루투스 모듈(225), GNSS 모듈(227) 또는 NFC 모듈(228) 중 적어도 하나는 별개의 RF 모듈을 통하여 RF 신호를 송수신할 수 있다. 가입자 식별 모듈(224)은, 예를 들면, 가입자 식별 모듈을 포함하는 카드 또는 임베디드 SIM을 포함할 수 있으며, 고유한 식별 정보(예: ICCID(integrated circuit card identifier)) 또는 가입자 정보(예: IMSI(international mobile subscriber identity))를 포함할 수 있다.
메모리(230)(예: 메모리(130))는, 예를 들면, 내장 메모리(232) 또는 외장 메모리(234)를 포함할 수 있다. 내장 메모리(232)는, 예를 들면, 휘발성 메모리(예: DRAM, SRAM, 또는 SDRAM 등), 비휘발성 메모리(예: OTPROM(one time programmable ROM), PROM, EPROM, EEPROM, mask ROM, flash ROM, 플래시 메모리, 하드 드라이브, 또는 솔리드 스테이트 드라이브 (SSD) 중 적어도 하나를 포함할 수 있다. 외장 메모리(234)는 플래시 드라이브(flash drive), 예를 들면, CF(compact flash), SD(secure digital), Micro-SD, Mini-SD, xD(extreme digital), MMC(multi-media card) 또는 메모리 스틱 등을 포함할 수 있다. 외장 메모리(234)는 다양한 인터페이스를 통하여 전자 장치(201)와 기능적으로 또는 물리적으로 연결될 수 있다.
센서 모듈(240)은, 예를 들면, 물리량을 계측하거나 전자 장치(201)의 작동 상태를 감지하여, 계측 또는 감지된 정보를 전기 신호로 변환할 수 있다. 센서 모듈(240)은, 예를 들면, 제스처 센서(240A), 자이로 센서(240B), 기압 센서(240C), 마그네틱 센서(240D), 가속도 센서(240E), 그립 센서(240F), 근접 센서(240G), 컬러(color) 센서(240H)(예: RGB(red, green, blue) 센서), 생체 센서(240I), 온/습도 센서(240J), 조도 센서(240K), 또는 UV(ultra violet) 센서(240M) 중의 적어도 하나를 포함할 수 있다. 추가적으로 또는 대체적으로, 센서 모듈(240)은, 예를 들면, 후각(e-nose) 센서, 일렉트로마이오그라피(EMG) 센서, 일렉트로엔씨팔로그램(EEG) 센서, 일렉트로카디오그램(ECG) 센서, IR(infrared) 센서, 홍채 센서 및/또는 지문 센서를 포함할 수 있다. 센서 모듈(240)은 그 안에 속한 적어도 하나 이상의 센서들을 제어하기 위한 제어 회로를 더 포함할 수 있다. 어떤 실시예에서는, 전자 장치(201)는 프로세서(210)의 일부로서 또는 별도로, 센서 모듈(240)을 제어하도록 구성된 프로세서를 더 포함하여, 프로세서(210)가 슬립(sleep) 상태에 있는 동안, 센서 모듈(240)을 제어할 수 있다.
입력 장치(250)는, 예를 들면, 터치 패널(252), (디지털) 펜 센서(254), 키(256), 또는 초음파 입력 장치(258)를 포함할 수 있다. 터치 패널(252)은, 예를 들면, 정전식, 감압식, 적외선 방식, 또는 초음파 방식 중 적어도 하나의 방식을 사용할 수 있다. 또한, 터치 패널(252)은 제어 회로를 더 포함할 수도 있다. 터치 패널(252)은 택타일 레이어(tactile layer)를 더 포함하여, 사용자에게 촉각 반응을 제공할 수 있다. (디지털) 펜 센서(254)는, 예를 들면, 터치 패널의 일부이거나, 별도의 인식용 쉬트를 포함할 수 있다. 키(256)는, 예를 들면, 물리적인 버튼, 광학식 키, 또는 키패드를 포함할 수 있다. 초음파 입력 장치(258)는 마이크(예: 마이크(288))를 통해, 입력 도구에서 발생된 초음파를 감지하여, 상기 감지된 초음파에 대응하는 데이터를 확인할 수 있다.
디스플레이(260)(예: 디스플레이(160))는 패널(262), 홀로그램 장치(264), 프로젝터(266), 및/또는 이들을 제어하기 위한 제어 회로를 포함할 수 있다. 패널(262)은, 예를 들면, 유연하게, 투명하게, 또는 착용할 수 있게 구현될 수 있다. 패널(262)은 터치 패널(252)과 하나 이상의 모듈로 구성될 수 있다. 한 실시예에 따르면, 패널(262)은 사용자의 터치에 대한 압력의 세기를 측정할 수 있는 압력 센서(또는 포스 센서)를 포함할 수 있다. 상기 압력 센서는 터치 패널(252)과 일체형으로 구현되거나, 또는 터치 패널(252)과는 별도의 하나 이상의 센서로 구현될 수 있다. 홀로그램 장치(264)는 빛의 간섭을 이용하여 입체 영상을 허공에 보여줄 수 있다. 프로젝터(266)는 스크린에 빛을 투사하여 영상을 표시할 수 있다. 스크린은, 예를 들면, 전자 장치(201)의 내부 또는 외부에 위치할 수 있다. 인터페이스(270)는, 예를 들면, HDMI(272), USB(274), 광 인터페이스(optical interface)(276), 또는 D-sub(D-subminiature)(278)를 포함할 수 있다. 인터페이스(270)는, 예를 들면, 도 1에 도시된 통신 인터페이스(170)에 포함될 수 있다. 추가적으로 또는 대체적으로, 인터페이스(270)는, 예를 들면, MHL(mobile high-definition link) 인터페이스, SD카드/MMC(multi-media card) 인터페이스, 또는 IrDA(infrared data association) 규격 인터페이스를 포함할 수 있다.
오디오 모듈(280)은, 예를 들면, 소리와 전기 신호를 쌍방향으로 변환시킬 수 있다. 오디오 모듈(280)의 적어도 일부 구성요소는, 예를 들면, 도 1 에 도시된 입출력 인터페이스(145)에 포함될 수 있다. 오디오 모듈(280)은, 예를 들면, 스피커(282), 리시버(284), 이어폰(286), 또는 마이크(288) 등을 통해 입력 또는 출력되는 소리 정보를 처리할 수 있다. 카메라 모듈(291)은, 예를 들면, 정지 영상 및 동영상을 촬영할 수 있는 장치로서, 한 실시예에 따르면, 하나 이상의 이미지 센서(예: 전면 센서 또는 후면 센서), 렌즈, 이미지 시그널 프로세서(ISP), 또는 플래시(예: LED 또는 xenon lamp 등)를 포함할 수 있다. 전력 관리 모듈(295)은, 예를 들면, 전자 장치(201)의 전력을 관리할 수 있다. 한 실시예에 따르면, 전력 관리 모듈(295)은 PMIC(power management integrated circuit), 충전 IC, 또는 배터리 또는 연료 게이지를 포함할 수 있다. PMIC는, 유선 및/또는 무선 충전 방식을 가질 수 있다. 무선 충전 방식은, 예를 들면, 자기공명 방식, 자기유도 방식 또는 전자기파 방식 등을 포함하며, 무선 충전을 위한 부가적인 회로, 예를 들면, 코일 루프, 공진 회로, 또는 정류기 등을 더 포함할 수 있다. 배터리 게이지는, 예를 들면, 배터리(296)의 잔량, 충전 중 전압, 전류, 또는 온도를 측정할 수 있다. 배터리(296)는, 예를 들면, 충전식 전지 및/또는 태양 전지를 포함할 수 있다.
인디케이터(297)는 전자 장치(201) 또는 그 일부(예: 프로세서(210))의 특정 상태, 예를 들면, 부팅 상태, 메시지 상태 또는 충전 상태 등을 표시할 수 있다. 모터(298)는 전기적 신호를 기계적 진동으로 변환할 수 있고, 진동, 또는 햅틱 효과 등을 발생시킬 수 있다. 전자 장치(201)는, 예를 들면, DMB(digital multimedia broadcasting), DVB(digital video broadcasting), 또는 미디어플로(mediaFloTM) 등의 규격에 따른 미디어 데이터를 처리할 수 있는 모바일 TV 지원 장치(예: GPU)를 포함할 수 있다. 본 문서에서 기술된 구성요소들 각각은 하나 또는 그 이상의 부품(component)으로 구성될 수 있으며, 해당 구성요소의 명칭은 전자 장치의 종류에 따라서 달라질 수 있다. 다양한 실시예에서, 전자 장치(예: 전자 장치(201))는 일부 구성요소가 생략되거나, 추가적인 구성요소를 더 포함하거나, 또는, 구성요소들 중 일부가 결합되어 하나의 개체로 구성되되, 결합 이전의 해당 구성요소들의 기능을 동일하게 수행할 수 있다.
도 3은 다양한 실시예에 따른 프로그램 모듈의 블록도이다. 한 실시예에 따르면, 프로그램 모듈(310)(예: 프로그램(140))은 전자 장치(예: 전자 장치(101))에 관련된 자원을 제어하는 운영 체제 및/또는 운영 체제 상에서 구동되는 다양한 어플리케이션(예: 어플리케이션 프로그램(147))을 포함할 수 있다. 운영 체제는, 예를 들면, AndroidTM, iOSTM, WindowsTM, SymbianTM, TizenTM, 또는 BadaTM를 포함할 수 있다. 도 3을 참조하면, 프로그램 모듈(310)은 커널(320)(예: 커널(141)), 미들웨어(330)(예: 미들웨어(143)), (API(360)(예: API(145)), 및/또는 어플리케이션(370)(예: 어플리케이션 프로그램(147))을 포함할 수 있다. 프로그램 모듈(310)의 적어도 일부는 전자 장치 상에 프리로드 되거나, 외부 전자 장치(예: 전자 장치(102, 104), 서버(106) 등)로부터 다운로드 가능하다.
커널(320)은, 예를 들면, 시스템 리소스 매니저(321) 및/또는 디바이스 드라이버(323)를 포함할 수 있다. 시스템 리소스 매니저(321)는 시스템 리소스의 제어, 할당, 또는 회수를 수행할 수 있다. 한 실시예에 따르면, 시스템 리소스 매니저(321)는 프로세스 관리부, 메모리 관리부, 또는 파일 시스템 관리부를 포함할 수 있다. 디바이스 드라이버(323)는, 예를 들면, 디스플레이 드라이버, 카메라 드라이버, 블루투스 드라이버, 공유 메모리 드라이버, USB 드라이버, 키패드 드라이버, WiFi 드라이버, 오디오 드라이버, 또는 IPC(inter-process communication) 드라이버를 포함할 수 있다. 미들웨어(330)는, 예를 들면, 어플리케이션(370)이 공통적으로 필요로 하는 기능을 제공하거나, 어플리케이션(370)이 전자 장치 내부의 제한된 시스템 자원을 사용할 수 있도록 API(360)를 통해 다양한 기능들을 어플리케이션(370)으로 제공할 수 있다. 한 실시예에 따르면, 미들웨어(330) 는 런타임 라이브러리(335), 어플리케이션 매니저(341), 윈도우 매니저(342), 멀티미디어 매니저(343), 리소스 매니저(344), 파워 매니저(345), 데이터베이스 매니저(346), 패키지 매니저(347), 커넥티비티 매니저(348), 노티피케이션 매니저(349), 로케이션 매니저(350), 그래픽 매니저(351), 또는 시큐리티 매니저(352) 중 적어도 하나를 포함할 수 있다.
런타임 라이브러리(335)는, 예를 들면, 어플리케이션(370)이 실행되는 동안에 프로그래밍 언어를 통해 새로운 기능을 추가하기 위해 컴파일러가 사용하는 라이브러리 모듈을 포함할 수 있다. 런타임 라이브러리(335)는 입출력 관리, 메모리 관리, 또는 산술 함수 처리를 수행할 수 있다. 어플리케이션 매니저(341)는, 예를 들면, 어플리케이션(370)의 생명 주기를 관리할 수 있다. 윈도우 매니저(342)는 화면에서 사용되는 GUI 자원을 관리할 수 있다. 멀티미디어 매니저(343)는 미디어 파일들의 재생에 필요한 포맷을 파악하고, 해당 포맷에 맞는 코덱을 이용하여 미디어 파일의 인코딩 또는 디코딩을 수행할 수 있다. 리소스 매니저(344)는 어플리케이션(370)의 소스 코드 또는 메모리의 공간을 관리할 수 있다. 파워 매니저(345)는, 예를 들면, 배터리의 용량, 온도, 또는 전원을 관리하고, 이 중 해당 정보를 이용하여 전자 장치의 동작에 필요한 전력 정보를 결정 또는 제공할 수 있다. 한 실시예에 따르면, 파워 매니저(345)는 바이오스(BIOS: basic input/output system)와 연동할 수 있다. 데이터베이스 매니저(346)는, 예를 들면, 어플리케이션(370)에서 사용될 데이터베이스를 생성, 검색, 또는 변경할 수 있다. 패키지 매니저(347)는 패키지 파일의 형태로 배포되는 어플리케이션의 설치 또는 갱신을 관리할 수 있다.
커넥티비티 매니저(348)는, 예를 들면, 무선 연결을 관리할 수 있다. 노티피케이션 매니저(349)는, 예를 들면, 도착 메시지, 약속, 근접성 알림 등의 이벤트를 사용자에게 제공할 수 있다. 로케이션 매니저(350)는, 예를 들면, 전자 장치의 위치 정보를 관리할 수 있다. 그래픽 매니저(351)는, 예를 들면, 사용자에게 제공될 그래픽 효과 또는 이와 관련된 사용자 인터페이스를 관리할 수 있다. 보안 매니저(352)는, 예를 들면, 시스템 보안 또는 사용자 인증을 제공할 수 있다. 한 실시예에 따르면, 미들웨어(330)는 전자 장치의 음성 또는 영상 통화 기능을 관리하기 위한 통화(telephony) 매니저 또는 전술된 구성요소들의 기능들의 조합을 형성할 수 있는 하는 미들웨어 모듈을 포함할 수 있다. 한 실시예에 따르면, 미들웨어(330)는 운영 체제의 종류 별로 특화된 모듈을 제공할 수 있다. 미들웨어(330)는 동적으로 기존의 구성요소를 일부 삭제하거나 새로운 구성요소들을 추가할 수 있다. API(360)는, 예를 들면, API 프로그래밍 함수들의 집합으로, 운영 체제에 따라 다른 구성으로 제공될 수 있다. 예를 들면, 안드로이드 또는 iOS의 경우, 플랫폼 별로 하나의 API 셋을 제공할 수 있으며, 타이젠의 경우, 플랫폼 별로 두 개 이상의 API 셋을 제공할 수 있다.
어플리케이션(370)은, 예를 들면, 홈(371), 다이얼러(372), SMS/MMS(373), IM(instant message)(374), 브라우저(375), 카메라(376), 알람(377), 컨택트(378), 음성 다이얼(379), 이메일(380), 달력(381), 미디어 플레이어(382), 앨범(383), 와치(384), 헬스 케어(예: 운동량 또는 혈당 등을 측정), 또는 환경 정보(예: 기압, 습도, 또는 온도 정보) 제공 어플리케이션을 포함할 수 있다. 한 실시예에 따르면, 어플리케이션(370)은 전자 장치와 외부 전자 장치 사이의 정보 교환을 지원할 수 있는 정보 교환 어플리케이션을 포함할 수 있다. 정보 교환 어플리케이션은, 예를 들면, 외부 전자 장치에 특정 정보를 전달하기 위한 노티피케이션 릴레이 어플리케이션, 또는 외부 전자 장치를 관리하기 위한 장치 관리 어플리케이션을 포함할 수 있다. 예를 들면, 알림 전달 어플리케이션은 전자 장치의 다른 어플리케이션에서 발생된 알림 정보를 외부 전자 장치로 전달하거나, 또는 외부 전자 장치로부터 알림 정보를 수신하여 사용자에게 제공할 수 있다. 장치 관리 어플리케이션은, 예를 들면, 전자 장치와 통신하는 외부 전자 장치의 기능(예: 외부 전자 장치 자체(또는, 일부 구성 부품)의 턴-온/턴-오프 또는 디스플레이의 밝기(또는, 해상도) 조절), 또는 외부 전자 장치에서 동작하는 어플리케이션을 설치, 삭제, 또는 갱신할 수 있다. 한 실시예에 따르면, 어플리케이션(370)은 외부 전자 장치의 속성에 따라 지정된 어플리케이션(예: 모바일 의료 기기의 건강 관리 어플리케이션)을 포함할 수 있다. 한 실시예에 따르면, 어플리케이션(370)은 외부 전자 장치로부터 수신된 어플리케이션을 포함할 수 있다. 프로그램 모듈(310)의 적어도 일부는 소프트웨어, 펌웨어, 하드웨어(예: 프로세서(210)), 또는 이들 중 적어도 둘 이상의 조합으로 구현(예: 실행)될 수 있으며, 하나 이상의 기능을 수행하기 위한 모듈, 프로그램, 루틴, 명령어 세트 또는 프로세스를 포함할 수 있다.
본 문서에서 사용된 용어 "모듈"은 하드웨어, 소프트웨어 또는 펌웨어로 구성된 유닛을 포함하며, 예를 들면, 로직, 논리 블록, 부품, 또는 회로 등의 용어와 상호 호환적으로 사용될 수 있다. "모듈"은, 일체로 구성된 부품 또는 하나 또는 그 이상의 기능을 수행하는 최소 단위 또는 그 일부가 될 수 있다. "모듈"은 기계적으로 또는 전자적으로 구현될 수 있으며, 예를 들면, 어떤 동작들을 수행하는, 알려졌거나 앞으로 개발될, ASIC(application-specific integrated circuit) 칩, FPGAs(field-programmable gate arrays), 또는 프로그램 가능 논리 장치를 포함할 수 있다. 다양한 실시예에 따른 장치(예: 모듈들 또는 그 기능들) 또는 방법(예: 동작들)의 적어도 일부는 프로그램 모듈의 형태로 컴퓨터로 판독 가능한 저장 매체(예:메모리(130))에 저장된 명령어로 구현될 수 있다. 상기 명령어가 프로세서(예: 프로세서(120))에 의해 실행될 경우, 프로세서가 상기 명령어에 해당하는 기능을 수행할 수 있다. 컴퓨터로 판독 가능한 기록 매체는, 하드디스크, 플로피디스크, 마그네틱 매체(예: 자기테이프), 광기록 매체(예: CD-ROM, DVD, 자기-광 매체 (예: 플롭티컬 디스크), 내장 메모리 등을 포함할 수 있다. 명령어는 컴파일러에 의해 만들어지는 코드 또는 인터프리터에 의해 실행될 수 있는 코드를 포함할 수 있다. 다양한 실시예에 따른 모듈 또는 프로그램 모듈은 전술한 구성요소들 중 적어도 하나 이상을 포함하거나, 일부가 생략되거나, 또는 다른 구성요소를 더 포함할 수 있다. 다양한 실시예에 따른, 모듈, 프로그램 모듈 또는 다른 구성요소에 의해 수행되는 동작들은 순차적, 병렬적, 반복적 또는 휴리스틱하게 실행되거나, 적어도 일부 동작이 다른 순서로 실행되거나, 생략되거나, 또는 다른 동작이 추가될 수 있다.
도 4는 다양한 실시예에 따른 전자 장치의 블록도이다.
도시된 바와 같이, 전자 장치(400)(예: 전자 장치(101 또는 201))는 사운드 입력 장치(410)(예: 마이크(288)), 사운드 출력 장치(420)(예: 스피커(282), 리시버(284), 또는 이어폰(268)), 프로세서(430)(예: 프로세서(120 또는 210)) 및 메모리(440)(예: 메모리(130 또는 230))를 포함하며, 도시된 구성 중 일부가 생략 또는 치환되더라도 본 발명의 다양한 실시예들을 구현함에는 지장이 없을 것이다. 전자 장치(400)는 도 1의 전자 장치(101) 및/또는 도 2의 전자 장치(201)의 구성 및/또는 기능 중 적어도 일부를 포함할 수 있다.
사운드 입력 장치(410)는 전자 장치(400) 외부의 사운드를 감지할 수 있다. 다양한 실시예에 따르면, 사운드 입력 장치(410)는 아날로그 사운드를 집음하여 디지털 신호인 사운드 신호(또는 제1신호)로 변환할 수 있다. 이를 위해 사운드 입력 장치(410)는 A/D 컨버터(미도시, analog to digital converter)를 포함하며, A/D 컨버터는 하드웨어적으로 및/또는 소프트웨어 적으로 구현될 수 있다. 사운드 입력 장치(410)는 공지의 마이크로폰(microphone) 장치로 구현될 수 있으며, 도 2의 마이크(288)의 구성 및/또는 기능 중 적어도 일부를 포함할 수 있다.
다양한 실시예에 따르면, 전자 장치(400)는 하나 또는 복수의 사운드 입력 장치(410)를 포함할 수 있다. 전자 장치(400)가 복수의 사운드 입력 장치(410)를 포함하는 경우, 각각의 사운드 입력 장치(410)에서 획득되는 사운드 신호는 각각의 채널을 통해 또는 하나의 채널을 통해 다중화 되어 프로세서(430)로 제공될 수 있다.
사운드 출력 장치(420)는 프로세서(430)로부터 전송 받은 사운드 데이터를 출력할 수 있다. 사운드 출력 장치(420)는 디지털 신호인 사운드 신호를 아날로그 신호로 변경하는 D/A 컨버터(digital to analog converter)를 포함할 수 있다. 사운드 출력 장치(420)는 사운드를 출력하는 스피커(speaker), 리시버(receiver), 이어폰(ear phone) 등 공지의 장치로 구현될 수 있다. 사운드 출력 장치(420)에서 출력되는 사운드 신호는 후술하는 바와 같이, 프로세서(430)에 의해 바람 잡음이 제거된 사운드 신호일 수 있다.
메모리(440)는 공지의 휘발성 메모리(volatile memory) 및 비휘발성 메모리(non-volatile memory)를 포함할 수 있으며, 구체적인 구현 예에 있어서는 한정되지 않는다. 메모리(440)는 도 1의 메모리(130) 및/또는 도 2의 메모리(230)의 구성 및/또는 기능 중 적어도 일부를 포함할 수 있다. 또한, 메모리(440)는 도 3의 프로그램 모듈(310) 중 적어도 일부를 저장할 수 있다.
메모리(440)는 전기적으로 프로세서(430)와 연결되고, 프로세서(430)에서 수행될 수 있는 다양한 인스트럭션(instruction)들을 저장할 수 있다. 이와 같은 인스트럭션들은 프로세서(430)에 의해 인식될 수 있는 산술 및 논리 연산, 데이터 이동, 입출력 등의 제어 명령을 포함할 수 있다. 후술할 프로세서(430)의 동작들은 메모리(440)에 저장된 인스트럭션들을 로딩함으로써 수행될 수 있다.
다양한 실시예에 따르면, 프로세서(430)는 전자 장치(400)의 각 구성요소들의 제어 및/또는 통신에 관한 연산이나 데이터 처리를 수행할 수 있는 구성으로써, 도 1의 프로세서(120) 및/또는 도 2의 어플리케이션 프로세서(210)의 구성 중 적어도 일부를 포함할 수 있다. 프로세서(430)는 사운드 입력 장치(410), 사운드 출력 장치(420), 메모리(440) 등 전자 장치(400)의 내부 구성요소와 전기적으로 연결될 수 있다.
프로세서(430)가 전자 장치(400) 내에서 구현할 수 있는 연산 및 데이터 처리 기능에는 한정됨이 없을 것이나, 이하에서는, 사운드 입력 장치(410)에서 집음 된 사운드 신호로부터 바람 잡음을 검출하기 위한 다양한 실시예들에 대해 설명하기로 한다. 후술할 프로세서(430)의 동작들은 앞서 설명한 메모리(440)에 저장된 인스트럭션들을 로딩(loading)함으로써 수행될 수 있다.
프로세서(430)가 사운드 입력 장치(410)로부터 수신되는 사운드 신호로부터 바람 잡음을 검출하는 방법은 다양할 수 있다.
일 비교예에 따르면, 프로세서(430)는 입력되는 사운드 신호에 고정 필터를 적용하여 바람 잡음을 제거할 수 있다. 바람 잡음은 저주파의 성질을 가지므로, 프로세서(430)는 고역 통과 필터(high pass filter)를 이용하여, 사운드 신호의 저주파 성분을 제거할 수 있다. 본 비교예의 경우, 별도의 바람 잡음을 검출하기 위한 과정은 포함하지 않으며, 입력되는 사운드 신호를 그대로 필터링 하므로, 바람 잡음이 없는 상황에서도 필터가 작동하여 사운드 신호의 음질을 열화 시키는 단점이 있다.
다른 일 비교예에 따르면, 전자 장치(400)는 복수의 사운드 입력 장치(410)를 포함하며, 프로세서(430)는 각 사운드 입력 장치(410)로부터 수신되는 사운드 신호의 분석을 통하여 바람 잡음을 검출할 수 있다. 본 비교예의 경우, 전자 장치(400)가 반드시 2개 이상의 마이크를 구비하는 것을 강제 하므로 소형화가 필요한 전자 장치(400)에는 적합하지 않으며, 하나 이상의 마이크가 블록(block) 되어 사운드 신호가 입력되지 않는 경우에는 바람 잡음 검출을 수행할 수 있는 단점이 있다.
또 다른 일 비교예에 따르면, 프로세서(430)는 입력되는 사운드 신호에 대해 cepstrum 분석이나, mel-cepstrum 분석 등의 다 대역(multi band) 분석을 이용하여 바람 잡음을 검출할 수 있다. 본 비교예의 경우, 사운드 신호를 주파수 영역으로 변환하여 주파수 영역에서 분석하는 과정이 필요하므로, 많은 연산량이 필요하며, 이는 실시간으로 사운드 신호를 처리하는 데 제약이 있다.
본 발명의 다양한 실시예에 따른 전자 장치(400)는, 하나의 사운드 입력 장치(410)로부터 수신되는 사운드 신호의 시간 영역 분석을 통해 앞서 설명한 3가지 비교예의 사용 시 발생하는 문제점들을 극복할 수 있다.
다양한 실시예에 따르면, 프로세서(430)는 사운드 입력 장치(410)로부터 수신된 사운드 신호로부터 적어도 하나의 부가 신호를 생성할 수 있다. 다양한 실시예에 따르면, 상기 적어도 하나의 부가 신호는, 사운드 신호로부터 지정된 시간 간격 만큼 타임 시프트(time-shift)된 것, 즉 상기 사운드 신호가 지정된 시간 간격만큼 딜레이된 신호(delay signal)일 수 있다. 다양한 실시예에 따르면, 사운드 입력 장치(410)를 통해 입력되는 사운드 신호는, 소정 시간 단위의 프레임(frame)으로 나뉠수 있으며, 상기 적어도 하나의 부가 신호는 상기 프레임 단위로 나뉜 사운드 신호가 지정된 프레임만큼 딜레이 된 사운드 신호일 수 있다. 이에 대해서는 도 5를 통해 보다 상세히 설명하기로 한다.
다양한 실시예에 따르면, 프로세서(430)는 제1신호와 제2신호에 기반하여, 미리 정해진 검출 방법을 통해, 연속적으로 입력되는 제1신호 중 바람 소리에 대응하는 제3신호를 검출할 수 있다. 달리 말하면, 프로세서(430)는 연속적으로 입력되는 사운드 신호인 제1프레임 내지 제n프레임 중 바람 소리가 포함된 적어도 하나의 프레임을 검출할 수 있다. 상기 미리 정해진 검출 방법은, 후술하는 바와 같이, 사운드 신호와 적어도 하나의 부가 신호 간의 유사도와 관련된 값을 산출하고, 상기 유사도와 관련된 값들을 신경 망에 입력하여 사운드 신호의 안정도 값을 검출하는 과정을 포함할 수 있다.
다양한 실시예에 따르면, 프로세서(430)는 입력된 사운드 신호(또는 제1신호)와 상기 입력된 사운드 신호에 기반하여 생성된 적어도 하나의 부가 신호(또는 제2신호)에 기초하여, 적어도 하나의 파라미터를 생성할 수 있다. 다양한 실시예에 따르면, 상기 적어도 하나의 파라미터는 사운드 신호와 상기 각각의 적어도 하나의 부가 신호 간의 유사도(similarity)와 관련된 값을 포함할 수 있으며, 상기 유사도와 관련된 값은 사운드 신호와 각각의 적어도 하나의 부가 신호의 카이 스퀘어 값(chi-square value), 상호 상관값(cross correlation) 또는 절대 차의 합(sum of absolute difference) 중 적어도 하나를 포함할 수 있다.
다양한 실시예에 따르면, 프로세서(430)는 생성된 적어도 하나의 파라미터로부터 사운드 신호의 안정도(stationarity)를 결정할 수 있다. 다양한 실시예에 따르면, 프로세서(430)는 상기 파라미터를 미리 결정된 계수를 갖는 신경망(neural network)에 입력하고, 상기 신경망으로부터 안정도를 결정할 수 있다.
여기서, 신경망에 사용되는 계수들은 사전 실험에 의해 결정된 값일 수 있다. 예를 들어, 다양한 특성을 갖는 프레임 단위의 사운드 신호와 바람 잡음의 존재 여부를 신경망에 입력하고, 머신 러닝(machine-learning)을 통해 바람 잡음을 갖는 사운드 신호의 안정도 특성을 분석할 수 있다.
다양한 실시예에 따르면, 신경망은 복수의 레이어(layer)를 포함하며, 사운드 신호와 부가 신호로부터 생성된 파라미터가 제1레이어에 입력되고, 제1레이어에서 출력된 값이 다음 레이어(예: 제2레이어)에 입력될 수 있다. 이와 같이, 복수의 레이어 구조를 포함함으로써, 보다 정확한 안정도 값을 계산할 수 있다.
다양한 실시예에 따르면, 프로세서(430)는 결정된 안정도가 미리 정해진 임계값 보다 낮은 경우, 사운드 신호에 바람 잡음이 포함되어 있는 것으로 결정할 수 있다. 바람 잡음은 예측 불가능 하며, 시간에 따라서 불규칙하게 변하기 때문에 안정도 값이 낮으면 바람 잡음이 존재하고 있고, 안정도 값이 높으면 바람 잡음이 없는 것으로 판단할 수 있다.
다양한 실시예에 따르면, 프로세서(430)는 보다 정확한 안정도 값의 확인을 위해 신경망의 출력 값을 IIR 필터(infinite impulse response filter)를 통해 평활화(smoothing)하고, 필터링 된 값을 임계값과 비교하여 바람 잡음 여부를 결정할 수 있다.
다양한 실시예에 따르면, 프로세서(430)는 상기와 같은 과정을 통해 바람 잡음이 존재하는 것으로 확인되는 경우, 주파수 영역의 분석 방법을 추가로 수행하여 바람 잡음의 존재 여부를 보다 정확하게 판단할 수 있다. 예를 들어, 사운드 신호를 주파수 영역으로 변환하고, 바람 잡음이 일반적으로 존재하는 저주파 대역의 신호 레벨을 확인함으로써 주파수 영역에서 바람 잡음의 검출 여부를 재확인할 수 있다.
다양한 실시예에 따르면, 프로세서(430)는 사운드 신호(또는 프레임)에 바람 잡음이 존재하는 것으로 확인되는 경우, 상기 사운드 신호의 바람 잡음을 제거할 수 있다. 예를 들어, 저주파인 바람 잡음을 제거하기 위한 고역 통과 필터(high pass filter)를 사용할 수 있다. 다양한 실시예에 따르면, 프로세서(430)는 연속적으로 입력되는 프레임 간격의 복수의 제1신호 중 바람 소리 성분을 갖는 제3신호를 검출하고, 검출된 제3신호는 고역 통과 필터 등을 이용하여 바람 소리를 제거하여 출력하고, 제1신호 중 제3신호를 제외한 바람 소리 성분을 갖지 않는 제1신호는 필터링 하지 않고 바이패스(by-pass) 하여 출력할 수 있다. 즉, 본 발명의 다양한 실시예들은 시간 영역의 분석을 통해 바람 잡음이 존재하는 사운드 신호에 대해서만 바람 잡음의 제거를 위한 필터링을 수행하므로, 사운드 신호 전체에 대한 열화를 방지할 수 있다.
도 4에서는 도시하지 않았으나, 전자 장치(400)는 디스플레이(예: 도 2의 디스플레이(260)), 통신 모듈(예: 도 2의 통신 모듈 (220)), 각종 센서(예: 도 2의 센서 모듈(240)) 등 다양한 구성을 더 포함할 수 있으며, 이하에서는 그 설명을 생략하기로 한다.
도 5는 다양한 실시예에 따른 사운드 신호의 그래프이다.
도 5에 도시된 사운드 신호의 그래프는 시간 흐름에 따라 입력되는 사운드 신호의 신호 레벨을 나타낸 것으로써, y축을 기준으로 t0는 현재 시간을 의미하고, x 값이 증가할수록 t0보다 이전 시간을 의미한다.
다양한 실시예에 따르면, 사운드 입력 장치(예: 도 4의 사운드 입력 장치(410))는 아날로그 사운드를 집음하여 디지털 신호인 사운드 신호로 변환하고, 프로세서(예: 도 4의 프로세서(430))로 전달할 수 있다.
프로세서는 수신되는 사운드 신호를 소정 시간 단위의 프레임(frame)으로 분할할 수 있다. 예를 들어, 프로세서는 48khz로 샘플링 된 사운드 신호의 256 samples 또는 512 samples, 시간 단위로 약 10msec의 사운드 신호를 하나의 프레임으로 결정할 수 있다. 여기서, 프레임의 크기는 일 실시예에 불과하며, 프레임 단위를 결정하는 방식에는 한정됨이 없다.
프로세서는 프레임 단위의 사운드 신호로부터 적어도 하나의 부가 신호를 생성할 수 있다. 여기서, 부가 신호는 상기 프레임으로부터 타임 시프트 된, 상기 프레임의 이전 시간의 프레임일 수 있다.
예를 들어, 시간 흐름에 따라 실시간으로 입력되는 사운드 신호에서 시간 t0 (또는 제1시점)의 프레임 f(t0)로부터 생성되는 부가 신호는 이전 시간(또는 제2시점)의 프레임인 f(t1)와 f(t1)의 이전 시간(또는 제3시점)의 프레임인 f(t2) 및 f(t2)의 이전 시간(또는 제4시점)의 프레임인 f(t3)를 포함할 수 있다. 이와 마찬가지로, 사운드 신호 f(t1)의 바람 잡음 검출을 위해 생성되는 부가 신호는 f(t2), f(t3), f(t4)를 포함할 수 있다. 프로세서는 사운드 입력 장치로부터 연속적으로 사운드 신호를 수신하므로, 특정 시점(또는 시간 구간)의 사운드 신호는 다음 시점의 사운드 신호에 대한 부가 신호가 될 수 있다.
다양한 실시예에 따르면, 프로세서는 하나의 프레임으로부터 3개의 프레임을 부가 신호로 생성할 수 있으나, 그 수에는 한정됨이 없다. 프로세서는 분할된 각 프레임 내의 바람 잡음의 존재 여부를 검출하고, 여러 프레임 중 바람 잡음이 존재하는 프레임에 대해서만 바람 잡음의 제거를 위한 필터링을 수행할 수 있다.
도 6은 다양한 실시예에 따른 프로세서의 세부 블록도이다.
프로세서(600)(예: 도 4의 프로세서(430))는 입력되는 사운드 신호의 바람 잡음을 검출하기 위한 바람 잡음 검출 루틴(620)을 수행하며, 상기 바람 잡음 검출 루틴(620)은 부가 신호 생성 루틴(621), 파라미터 추출 루틴(622), 안정도 결정 루틴(623), 바람 잡음 결정 루틴(624)을 포함할 수 있다. 상기 각각의 루틴(routine)은 특정 작업을 실행하기 위한 일련의 프로그램 단위로 정의될 수 있으며, 일 실시예에 따르면 적어도 하나의 루틴은 프로세서(600) 내의 별도의 하드웨어에 의해 실행될 수도 있다.
프로세서(600)는 사운드 입력 장치(예: 도 4의 사운드 입력 장치(410))로부터 입력되는 사운드 신호(610)를 바람 잡음 검출 루틴(620)에 입력할 수 있다. 프로세서(600)는 이와 적어도 일부 동시에 사운드 신호를 바람 잡음 제거 필터(630)를 거치는 경로(635)와 사운드 신호를 바이패스(bypass) 하는 경로(640)로 함께 전송할 수 있다. 각 경로를 통해 출력되는 신호(625, 635, 640)는 다중화 기(multiplexer, MUX)(650)로 입력되며, 다중화 기(650)는 각 경로(625, 635, 640)를 통해 입력되는 신호를 동기화 하기 위한 버퍼(buffer, 미도시)를 포함할 수 있다.
다양한 실시예에 따르면, 프로세서(600)는 부가 신호 생성 루틴(621)의 수행 결과, 입력되는 사운드 신호(610)로부터 적어도 하나의 부가 신호를 생성할 수 있다. 여기서, 사운드 신호는 시간 영역에서의 프레임(frame) 단위일 수 있으며, 부가 신호는 앞서 도 5를 통해 설명한 바와 같이, 해당 프레임의 이전 시간의 적어도 하나의 프레임일 수 있다. 다른 일 실시예에 따르면, 부가 신호의 크기(예: 시간 단위)는 프레임의 크기와 동일하지 않을 수도 있다.
프로세서(600)는 파라미터 추출 루틴(622)를 수행하여, 사운드 신호 및 적어도 하나의 부가 신호에 기초하여 적어도 하나의 파라미터를 생성할 수 있다. 여기서, 파라미터는 신호 간 유사도를 나타내는 값들을 포함할 수 있으며, 프로세서(600)는 복수의 부가 신호를 사용하는 경우, 사운드 신호와 각각의 부가 신호 간의 유사도 값을 계산할 수 있다.
일 실시예에 따르면, 파라미터는 다음 공식 1에 의해 계산되는 카이 스퀘어 값(chi-square value)일 수 있다.
[공식 1]
Figure pat00001
여기서, o12 및 o22는 사운드 신호(예: f(t0))와 부가 신호(예: f(t1)) negative 샘플의 수이고, N은 프레임의 길이일 수 있다. 프로세서(600)는 사운드 신호와 모든 부가 신호 각각을 입력하여 카이 스퀘어 값을 계산할 수 있다.
다른 일 실시예에 따르면, 파라미터는 다음 공식 2에 의해 계산되는 상호 상관값(cross correlation)일 수 있다.
[공식 2]
Figure pat00002
여기서, s0(n) 및 s1(n)은 사운드 신호(예: f(t0))와 부가 신호(예: f(t1))의 샘플일 수 있으며, σ0 및 σ1은 f(t0)와 f(t1)의 RMS(root mean square) 값일 수 있다. 또한, K는 cross correlation function wing의 길이 일 수 있으며, 일반적으로 8k 샘플링에서 8 까지의 값으로 선택될 수 있다.
다른 일 실시예에 따르면, 파라미터는 다음 공식 3에 의해 계산되는 절대 차의 합(sum of absolute difference)일 수 있다.
[공식 3]
Figure pat00003
여기서, s0(n) 및 s1(n)은 사운드 신호(예: f(t0))와 부가 신호(예: f(t1))의 샘플일 수 있으며, σ0 및 σ1은 f(t0)와 f(t1)의 RMS(root mean square) 값일 수 있다. 또한, K는 SAD function wing의 길이 일 수 있으며, 일반적으로 8k 샘플링에서 8 까지의 값으로 선택될 수 있다.
파라미터 추출 루틴(622)에서 생성된 적어도 하나의 파라미터 값은 안정도 결정 루틴(623)으로 입력될 수 있다.
프로세서(600)는 안정도 결정 루틴(623)에서, 상기 생성된 적어도 하나의 파라미터로부터 사운드 신호의 안정도(stationarity)를 결정할 수 있다. 다양한 실시예에 따르면, 프로세서(600)는 상기 파라미터를 미리 결정된 계수를 갖는 신경망(neural network)에 입력하고, 상기 신경망으로부터 안정도를 결정할 수 있다.
일 실시예에 따르면, 프로세서(600)는 distributed delay neural network 방법을 사용하여 바람 잡음 검출을 위한 안정도 값을 산출할 수 있다. distributed delay neural network에는 입력 값으로 사운드 신호(예: f(t0))와 제1부가 신호(예: f(t1))로부터 추출된 파라미터(p1), 사운드 신호(예: f(t0))와 제2부가 신호(예: f(t2))로부터 추출된 파라미터(p2), 사운드 신호(예: f(t0))와 제3부가 신호(예: f(t3))로부터 추출된 파라미터(p3)가 입력될 수 있다. distributed delay neural network는 비선형(non-linear) 분석을 통하여 사운드 신호의 안정도 값을 추출할 수 있다.
신경망에 사용되는 계수들은 사전 실험에 의해 결정된 값일 수 있다. 예를 들어, 다양한 특성을 갖는 프레임 단위의 사운드 신호와 바람 잡음의 존재 여부를 신경망에 입력하고, 머신 러닝(machine-learning)을 통해 바람 잡음을 갖는 사운드 신호의 안정도 특성을 분석할 수 있다.
일 실시예에 따르면, 신경망은 복수의 레이어를 포함할 수 있다. 이 경우, 파라미터 p1, p2, p3가 제1레이어로 입력되고, 제1레이어의 출력값이 다음의 제2레이어로 입력될 수 있다. 신경망의 상세한 레이어 구조에 대해서는 도 7을 통해 보다 상세히 설명하기로 한다.
프로세서(600)는 안정도 결정 루틴(623)에서 출력되는 안정도 값을 IIR 필터(infinite impulse response filter)를 통해 평활화(smoothing) 할 수 있다. 일 실시예에 따르면, 프로세서(600)는 IIR 필터를 포함하지 않을 수도 있으며, 이 경우 안정도 결정 루틴(623)에서 출력되는 안정도 값이 그대로 바람 잡음 결정 루틴(624)으로 입력될 수 있다.
프로세서(600)는 바람 잡음 결정 루틴(624)에서 평활화 된 안정도 값(또는 안정도 결정 루틴(623)에서 출력되는 안정도 값)을 임계값과 비교하여, 해당 사운드 신호(또는 프레임)에 바람 잡음이 존재 하는 지 결정할 수 있다. 바람 잡음은 예측 불가능 하며, 시간에 따라서 불규칙하게 변하기 때문에 안정도 값이 낮으면 바람 잡음이 존재하고 있고, 안정도 값이 높으면 바람 잡음이 없는 것으로 판단할 수 있다.
일 실시예에 따르면, 바람 잡음 결정 루틴(624)에서 임계값과 비교 시 히스테리시스(hysteresis)가 고려될 수 있다. 예를 들어, 안정도 값의 계산 시 이전 시간의 정보인 부가 신호를 고려하는 바, 안정도 값의 곡선이 실제 사운드 신호의 안정도 값과 일부 차이가 있을 수 있으며, 프로세서(600)는 히스테리시스 처리를 통해 전 프레임의 결과를 반영하여 보다 정확한 프레임 구간에서의 바람 잡음을 검출 할 수 있다.
바람 잡음 검출 루틴(620)의 출력 신호(625)는 다중화 기(650)에 입력되고, 다중화 기(650)는 바람 잡음 제거 필터(630)를 통해 필터링 된 사운드 신호(635)와, 바이패스 된 사운드 신호(640)가 입력될 수 있다. 다중화 기(650)는 바람 잡음 검출 루틴(620)의 실행 결과, 바람 잡음이 존재하는 것으로 판단되는 경우, 바람 잡음 제거 필터(630)를 통해 바람 잡음이 제거 된 사운드 신호(635)를 출력하고, 바람 잡음이 존재하지 않는 것으로 판단되는 경우, 바이패스 된 사운드 신호(640)를 출력할 수 있다.
도 7은 다양한 실시예에 따라 사운드 신호로부터 바람 잡음을 검출하기 위한 일련의 과정을 예시한 것이다.
도시된 바와 같이, 프로세서(예: 도 4의 프로세서(410))는 입력되는 사운드 신호로(710)부터 타임 시프트(time-shifted) 된 부가 신호(721, 722, 723)를 생성할 수 있다. 도 7에서는 사운드 신호 프레임(710)의 이전 3개 프레임(721, 722, 723)을 부가 신호로 생성한 것으로 예시하고 있으나, 이에 한정되지는 않는다.
사운드 신호(710) 및 부가 신호(721, 722, 723)는 실시간으로 생성될 수 있다. 예를 들어, 시간 t0에서 사운드 신호 f(t0)의 부가 신호로 f(t1), f(t2), f(t3)가 생성되고, 다음 시간 구간인 t1에서 사운드 신호 f(t1)의 부가 신호로 f(t2), f(t3), f(t4)가 생성될 수 있다. 즉, 시간 t1에서의 사운드 신호 f(t1)은 다음 시간 구간인 t0에서는 부가 신호로 사용될 수 있다.
프로세서는 사운드 신호(710)와 각 부가 신호(721, 722, 723)의 유사도 값(예: 카이 스퀘어 값, 상호 상관값, 절대 차의 합)을 계산할 수 있다. 이에 따라, 계산된 각각의 유사도 값(731, 732, 733)은 신경망(740)에 입력될 수 있다.
도 7은 2개의 레이어 구조(741, 745)를 갖는 신경망(740)을 도시하고 있다. 즉, 유사도 값(731, 732, 733)은 제1레이어(741)에 입력되어 합산되고, 제1레이어(741)에서 순차적으로 출력되는 값은 제2레이어(745)에 입력될 수 있다. 일 실시예에 따르면, 제1레이어(741)는 20 프레임의 딜레이 체인(delay chain)(742a, 742b, 742c 등)으로 구성되고, 제2레이어(745)는 4 프레임(746a, 746b, 746c 등)의 딜레이 체인으로 구성될 수 있다. 이에 따라, 총 24 프레임이 signal history monitoring을 위하여 사용될 수 있다.
도 7에 도시된 바와 같이, 시간 t0에서 사운드 신호(710)와 각 부가 신호(721, 722, 723)의 유사도 값(731, 732, 733)은 신경망(740)의 제1딜레이(742a)에 입력되어 합산될 수 있으며, 이 때 각 유사도 값(731, 732, 733)에 대해 미리 정해진 계수 값들이 곱해질 수 있다. 다음으로, t1에서의 유사도 값이 제2딜레이(742b)에, t2에서의 유사도 값이 제3딜레이(742c)에 입력될 수 있다.
총 20개의 딜레이(742a, 742b, 742c 등)의 값은 제1뉴런(743a)에 입력될 수 있으며, 제1레이어에서 이와 같은 방식으로 총 15개의 뉴런의 값이 생성될 수 있다.
제1레이어(741)의 15개의 뉴런에서 출력되는 값은 제2레이어(745)의 제1딜레이(746a)에 입력될 수 있다. 제2레이어(745)는 4 프레임의 딜레이 체인(746a, 746b, 746c 등)으로 구성되며, 4개의 딜레이의 값을 더하여 하나의 뉴런(747)을 생성할 수 있다. 제2레이어(745)의 뉴런(747)의 값은 안정도 값으로 결정되어 IIR 필터(750)로 출력될 수 있다.
도시된 딜레이와 뉴런의 수 및 레이어의 수는 일 예에 불과하며, 도시된 바에 한정되지 않는다.
신경망(740)에서는 입력되는 파라미터들의 합산 시 각각의 계수들이 사용될 수 있으며, 상기 계수들은 사전 실험에 의해 결정된 값일 수 있다. 신경망(740)은 미리 녹음된 다양한 바람 잡음을 이용하여 트레이닝(training) 된 계수들을 사용할 수 있으며, 실제 동작 중 상기 계수들을 업데이트 하여 정확도를 높일 수 있다. 이를 통하여, branch cracking, bursts, fire noise와 같이 바람 소리와 유사한 다른 잡음으로부터 바람 잡음을 구분해 낼 수 있다.
상기 계수들의 결정을 위한 사전 실험은 전자 장치 상에서 수행될 필요는 없으며, 전자 장치는 상기 계수 값들을 메모리(예: 도 4의 메모리(440))에 미리 저장하고, 통신 모듈(예: 도 2의 통신 모듈(220))을 통해 상기 계수값을 수신하여 업데이트 할 수 있다.
프로세서는 신경망(740)에서 출력되는 안정도 값을 IIR 필터(infinite impulse response filter)(750)를 통해 평활화(smoothing) 할 수 있다.
프로세서는 평활화 된 안정도 값을 임계값과 비교하여, 해당 사운드 신호(또는 프레임)에 바람 잡음이 존재 하는 지 결정할 수 있다(760).
도 8은 다양한 실시예에 따른 사운드 신호 및 바람 잡음 검출 여부를 나타낸 그래프이다.
도 8에서 810은 신경망에서 출력된 값을 나타낸 것이고, 820은 바람 잡음의 존재 여부를 나타낸 값으로써, 1의 값을 갖는 시간 구간은 바람 잡음이 존재하는 구간이고, 0의 값을 갖는 시간 구간은 바람 잡음이 존재하지 않는 구간이다.
도 9는 다양한 실시예에 따른 1채널 바람 잡음 검출 방법의 블록도이다.
일 실시예에 따르면, 전자 장치(예: 도 4의 전자 장치(400))는 하나의 사운드 입력 장치(예: 도 4의 사운드 입력 장치(410))를 포함하며, 사운드 입력 장치에서 획득된 사운드 데이터는 하나의 채널을 통해 프로세서(예: 도 4의 프로세서(430))로 입력될 수 있다. 도 9는 이와 같이 하나의 사운드 입력 장치에서 하나의 채널을 통해 사운드 신호가 입력되는 경우, 입력되는 사운드 신호의 바람 잡음을 검출하기 위한 프로세서(900)의 동작을 도시하고 있다.
프로세서(900)는 입력 되는 사운드 신호(910)를 제1바람 잡음 검출 루틴(920)을 수행하는 경로, 제2바람 잡음 검출 루틴(960)을 수행하는 경로, 바람 잡음 제거 필터(930)로 입력되는 경로 및 바이패스 하는 경로(940)로 입력할 수 있다. 제1바람 잡음 검출 루틴(920)은 시간 영역의 처리를 통해 바람 잡음 여부를 검출하기 위한 과정으로써, 도 6의 바람 잡음 검출 루틴(620)과 동일할 수 있다.
제2바람 잡음 검출 루틴(960)은 주파수 영역의 분석 과정으로써, 시간 영역의 사운드 신호(910)를 주파수 대역의 신호로 변환하고 사운드 신호의 주파수 성분들을 분석하는 주파수 영역 분석 루틴(961) 및 바람 잡음이 일반적으로 존재하는 저주파 대역의 신호 레벨을 확인함으로써 주파수 영역에서 바람 잡음의 검출 여부를 확인하는 바람 잡음 검출 루틴(962)을 포함할 수 있다. 제2바람 잡음 검출 루틴(960)의 주파수 영역 검출 방법은 공지된 다양한 방법이 사용될 수 있으며, 이하에서는 그 설명을 생략하기로 한다.
일 실시예에 따르면, 제1바람 잡음 검출 루틴(920)의 수행 결과, 바람 잡음의 존재 여부에 대한 결과 값은 다중화 기(970)에 입력될 수 있다. 또한, 제2바람 잡음 검출 루틴(960)의 수행 결과, 바람 잡음의 존재 여부에 대한 결과 값은 다중화 기(970)에 입력될 수 있다. 다중화 기(970)는 제1바람 잡음 검출 루틴(920) 및 제2바람 잡음 검출 루틴(960)의 수행 결과에 따라, 바람 잡음이 존재하는 경우 바람 잡음 제거 필터(930)를 통해 바람 잡음이 제거 된 사운드 신호를 출력하고, 바람 잡음이 존재하지 않는 경우 바이패스 된 사운드 신호(940)를 출력할 수 있다.
다른 일 실시예에 따르면, 제1바람 잡음 검출 루틴(920)과 제2바람 잡음 검출 루틴(960)은 하나의 경로 상에서 수행될 수 있다. 예를 들어, 제1바람 잡음 검출 루틴(920)의 수행 결과 입력되는 사운드 신호(910)에 바람 잡음이 존재하는 것으로 판단되는 경우, 제2바람 잡음 검출 루틴(960)으로 입력되고, 제2바람 잡음 검출 루틴(960)의 수행 결과 바람 잡음의 존재 여부에 대한 결과 값이 다중화 기(970)로 입력될 수 있다. 이와 달리, 바람 잡음이 존재하지 않는 것으로 판단되는 경우 해당 결과 값이 바로 다중화 기(970)로 입력되고, 제2바람 잡음 검출 루틴(960)은 수행되지 않을 수 있다.
도 10은 다양한 실시예에 따른 복수 채널 바람 잡음 검출 방법의 블록도이다.
일 실시예에 따르면, 전자 장치(예: 도 4의 전자 장치(400))는 복수의 사운드 입력 장치(예: 도 4의 사운드 입력 장치(410))를 포함하며, 각각의 사운드 입력 장치에서 획득된 사운드 데이터(1010)는 각각 별도의 채널을 통해 프로세서(예: 도 4의 프로세서(430))로 입력될 수 있다. 도 10은 이와 같이 복수의 사운드 입력 장치에서 복수의 채널을 통해 사운드 신호(1010)가 입력되는 경우, 입력되는 사운드 신호(1010)의 바람 잡음을 검출하기 위한 프로세서의 동작을 도시하고 있다.
프로세서는 전자 장치에 포함된 각각의 사운드 입력 장치의 블록(block) 여부를 검출할 수 있다(1020). 일 실시예에 따르면, 프로세서는 각 채널에서 입력되는 사운드 신호(1010)의 크기 및 특성에 기초하여 각 사운드 입력 장치가 외부의 물체에 의해 블록된 상태인 지 확인할 수 있다.
동작 1030의 확인 결과, 2 이상의 사운드 입력 장치가 블록되지 않고, 2채널 이상의 사운드 신호가 정상적으로 입력되는 경우, 프로세서는 복수 채널의 사운드 신호를 이용하여 바람 잡음을 검출하고(1040), 바람 잡음을 제거할 수 있다(1045).
상기 동작 1030의 확인 결과, 복수의 사운드 입력 장치 중 하나를 제외한 나머지 사운드 입력 장치가 블록된 것으로 확인되는 경우, 프로세서는 1채널 바람 잡음 검출을 수행할 수 있다(1050). 여기서, 1채널 바람 잡음 검출(1050)은 도 6의 바람 잡음 검출 루틴(620)(또는 도 9의 제1바람 잡음 검출 루틴(920))을 포함할 수 있다. 프로세서는 바람 잡음이 검출되면, 사운드 신호의 바람 잡음을 제거할 수 있다(1055).
본 발명의 다양한 실시예에 따른 전자 장치는, 입력 장치; 출력 장치; 및 프로세서를 포함하고, 상기 프로세서는, 상기 입력 장치를 이용하여 상기 전자 장치의 외부의 사운드에 대응하는 제1신호를 획득하고, 상기 제1신호에 대해 지정된 시간이 지연된 제2신호를 생성하고, 상기 제1신호와 상기 제2신호에 기반하여, 미리 정해진 검출 방법을 통해, 상기 제1신호 중 바람 소리에 대응하는 제3신호를 검출하고, 및 상기 제1신호 중 상기 제3신호가 조정된 제4신호를 상기 출력 장치를 이용하여 출력하도록 설정될 수 있다.
다양한 실시예에 따르면, 상기 제1신호는 제1시점에 대응하는 제1프레임 을 포함하고, 상기 프로세서는, 상기 제2신호를 생성하는 동작의 적어도 일부로, 상기 제1시점 보다 이전의 시점인 제2시점에 대응하는 제2프레임을 포함하는 상기 제2신호를 생성하도록 설정될 수 있다.
다양한 실시예에 따르면, 상기 프로세서는, 상기 검출 방법의 적어도 일부로, 상기 제1신호 및 상기 제2신호의 유사도 값을 결정하고, 상기 유사도 값에 적어도 일부 기반하여, 상기 제1신호의 안정도 값을 결정하고, 및 상기 안정도 값이 지정된 조건을 만족하면, 상기 제1신호에 상기 제3신호가 포함되었다고 결정하도록 설정될 수 있다.
다양한 실시예에 따르면, 상기 프로세서는, 상기 유사도 값을 결정하는 동작의 적어도 일부로, 상기 제1신호와 상기 제2신호의 카이 스퀘어 값(chi-square value), 상호 상관값(cross correlation) 또는 절대 차의 합(sum of absolute difference) 중 적어도 하나를 이용하도록 설정될 수 있다.
다양한 실시예에 따르면, 상기 프로세서는, 상기 검출 방법의 적어도 일부로, 상기 제1신호 및 상기 제2신호의 유사도 값을 결정하고, 상기 유사도 값을 지정된 계수를 갖는 신경망(neural network)모델에 입력하고, 및 상기 신경망 모델의 출력에 적어도 기반하여 상기 제1신호의 안정도 값를 결정하고, 상기 안정도 값에 적어도 일부 기반하여, 상기 제3신호를 검출하도록 설정될 수 있다.
다양한 실시예에 따르면, 상기 신경망은, 복수의 레이어를 포함하고, 상기 프로세서는, 상기 유사도 값을 상기 복수의 레이어 중 제1레이어에 입력하고, 및 상기 제1레이어에서 출력된 값이 상기 제1레이어와 다른 제2레이어에 입력되도록 설정될 수 있다.
다양한 실시예에 따르면, 상기 프로세서는, 상기 안정도 값이 지정된 임계값보다 낮은 경우, 상기 지정된 조건을 만족하는 것으로 판단하도록 설정될 수 있다.
다양한 실시예에 따르면, 상기 입력 장치는 제1입력 장치 및 제2입력 장치를 포함하고, 상기 프로세서는, 상기 제1입력 장치 또는 상기 제2입력 장치 중 블록(block)되지 않은 하나의 입력 장치를 이용하여 상기 제1신호를 수신하도록 설정될 수 있다.
다양한 실시예에 따르면, 상기 프로세서는, 상기 제3신호가 검출되는 경우, 상기 제1신호 중 상기 제3신호가 조정된 상기 제4신호를 생성하도록 설정될 수 있다.
다양한 실시예에 따르면, 상기 프로세서는, 상기 미리 정해진 검출 방법의 적어도 일부로, 상기 제1신호 및 제2신호를 시간 영역에서 분석하여 상기 제3신호를 검출하도록 설정될 수 있다.
도 11은 다양한 실시예에 따른 바람 잡음 검출 방법의 흐름도이다.
도시된 방법은 앞서 도 1 내지 도 10을 통해 설명한 전자 장치(예: 도 4의 전자 장치(400))에 의해 수행될 수 있으며, 이하에서는 앞서 설명한 바 있는 기술적 특징에 대해서는 그 설명을 생략하기로 한다.
동작 1110에서, 전자 장치는 사운드 입력 장치(예: 도 4의 사운드 입력 장치(410))를 통해 사운드 신호를 획득할 수 있다. 사운드 입력 장치는 아날로그 사운드를 집음하여 디지털 신호인 사운드 신호로 변환하고, 프로세서(예: 도 4의 프로세서(430))로 전달할 수 있다.
동작 1120에서, 프로세서는 사운드 신호로부터 적어도 하나의 부가 신호를 생성할 수 있다. 여기서, 사운드 신호는 프레임 단위일 수 있으며, 부가 신호는 앞서 도 5를 통해 설명한 바와 같이, 해당 프레임의 이전 시간의 적어도 하나의 프레임일 수 있다.
동작 1130에서, 프로세서는 사운드 신호와 적어도 하나의 부가 신호에 기초하여 적어도 하나의 파라미터를 생성할 수 있다. 여기서, 파라미터는 신호 간 유사도를 나타내는 값들을 포함할 수 있으며, 프로세서는 복수의 부가 신호를 사용하는 경우, 사운드 신호와 각각의 부가 신호와의 유사도 값을 계산할 수 있다. 다양한 실시예에 따르면, 상기 유사도 값은 상기 사운드 신호와 상기 각각의 적어도 하나의 부가 신호의 카이 스퀘어 값(chi-square value), 상호 상관값(cross correlation) 또는 절대 차의 합(sum of absolute difference) 중 적어도 하나를 포함할 수 있다.
동작 1140에서, 프로세서는 생성된 적어도 하나의 파라미터로부터 사운드 신호의 안정도(stationarity)를 결정할 수 있다. 다양한 실시예에 따르면, 프로세서는 상기 파라미터를 미리 결정된 계수를 갖는 신경망(neural network)(예: 도 7의 신경망(740))에 입력하고, 상기 신경망으로부터 안정도를 결정할 수 있다.
프로세서는 distributed delay neural network 방법을 사용하여 바람 잡음 검출을 위한 안정도 값을 산출할 수 있으며, 이에 대해서는 앞서 도 6 및 도 7을 통해 상세히 설명한 바 있다.
동작 1150에서, 프로세서는 결정된 사운드 신호의 안정도와 관련된 값을 임계값과 비교할 수 있다. 프로세서는, 비교 결과 안정도가 임계값보다 낮은 경우, 동작 1160에서 바람 잡음이 존재하는 것으로 결정하고, 안정도가 임계값보다 같거나 높은 경우, 동작 1170에서 바람 잡음이 존재하지 않는 것으로 결정할 수 있다.
도 12는 다양한 실시예에 따른 바람 잡음 제거 방법의 흐름도이다.
도시된 방법은 앞서 도 1 내지 도 11을 통해 설명한 전자 장치에 의해 수행될 수 있으며, 이하에서는 앞서 설명한 바 있는 기술적 특징에 대해서는 그 설명을 생략하기로 한다.
동작 1210에서, 프로세서(예: 도 4의 프로세서(430))는 시간 영역 분석을 통해 입력되는 사운드 신호에 바람 잡음이 존재하는 지 확인할 수 있다.
동작 1220에서, 바람 잡음이 존재하는 것으로 판단되는 경우, 프로세서는 동작 1230에서, 주파수 영역 분석을 통해 사운드 신호에 바람 잡음이 존재하는 지 확인할 수 있다.
이와 달리, 동작 1220에서, 바람 잡음이 존재하지 않는 것으로 판단되는 경우, 동작 1260에서, 사운드 신호를 바이패스 해서 출력하고, 동작 1230 및 1240의 주파수 영역 분석은 수행되지 않을 수 있다.
동작 1240에서, 바람 잡음이 존재하는 것으로 판단되는 경우, 프로세서는 동작 1250에서, 사운드 신호의 바람 잡음을 제거할 수 있다.
동작 1270에서, 프로세서는 바람 잡음이 제거된 사운드 신호 또는 바이패스 된 사운드 신호를 출력할 수 있다.
도 13은 다양한 실시예에 따른 바람 소리가 조정된 신호를 출력하는 방법의 흐름도이다.
도시된 방법은 앞서 도 1 내지 도 11을 통해 설명한 전자 장치에 의해 수행될 수 있으며, 이하에서는 앞서 설명한 바 있는 기술적 특징에 대해서는 그 설명을 생략하기로 한다.
동작 1310에서, 프로세서(예: 도 4의 프로세서(430))는 입력 장치(예: 도 4의 사운드 입력 장치(410))를 이용하여 전자 장치의 외부의 사운드에 대응하는 제1신호(또는 사운드 신호)를 획득할 수 있다.
동작 1320에서, 프로세서는 제1신호에 대해 지정된 시간이 지연된 제2신호(또는 부가 신호)를 생성할 수 있다. 다양한 실시예에 따르면, 제1신호는 제1시점에서의 소정 시간 단위의 프레임이고, 부가 신호는 제1시점보다 이전의 적어도 하나의 시점에서의 적어도 하나의 프레임일 수 있다.
동작 1330에서, 프로세서는 제1신호와 제2신호에 기반하여, 미리 정해진 검출 방법을 통해, 제1신호 중 바람 소리에 대응하는 제3신호를 검출할 수 있다. 다양한 실시예에 따르면, 프로세서는 제1신호 및 제2신호의 유사도 값(예: 카이 스퀘어 값, 상호 상관 값 또는 절대 차의 합)을 결정하고, 유사도 값을 지정된 계수를 갖는 신경망 모델에 입력하여 신경망 모델의 출력에 기반하여 제1신호의 안정도 값을 결정하고, 안정도 값에 기반하여 바람 잡음이 포함된 제3신호를 검출할 수 있다.
동작 1340에서, 프로세서는 제1신호 중 제3신호가 조정된 제4신호를 출력 장치(예: 도 4의 사운드 출력 장치(420))를 이용하여 출력할 수 있다.
본 발명의 다양한 실시예에 따른, 전자 장치의 바람 소리가 조정된 신호를 출력하는 방법은, 상기 전자 장치의 외부의 사운드에 대응하는 제1신호를 획득하는 동작; 상기 제1신호에 대해 지정된 시간이 지연된 제2신호를 생성하는 동작; 상기 제1신호와 상기 제2신호에 기반하여, 미리 정해진 검출 방법을 통해, 상기 제1신호 중 상기 바람 소리에 대응하는 제3신호를 검출하는 동작; 및 상기 제1신호 중 상기 제3신호가 조정된 제4신호를 출력 장치를 이용하여 출력하는 동작을 포함할 수 있다.
다양한 실시예에 따르면, 상기 제1신호는 제1시점에 대응하는 제1프레임 을 포함하고, 상기 제2신호를 생성하는 동작은, 상기 제1시점 보다 이전의 시점인 제2시점에 대응하는 제2프레임을 포함하는 상기 제2신호를 생성하는 동작을 포함할 수 있다.
다양한 실시예에 따르면, 상기 제3신호를 검출하는 동작은, 상기 제1신호 및 상기 제2신호의 유사도 값을 결정하는 동작; 상기 유사도 값에 적어도 일부 기반하여, 상기 제1신호의 안정도 값을 결정하는 동작; 및 상기 안정도 값이 지정된 조건을 만족하면, 상기 제1신호에 상기 제3신호가 포함되었다고 결정하는 동작을 포함할 수 있다.
다양한 실시예에 따르면, 상기 유사도 값을 결정하는 동작은, 상기 제1신호와 상기 제2신호의 카이 스퀘어 값(chi-square value), 상호 상관값(cross correlation) 또는 절대 차의 합(sum of absolute difference) 중 적어도 하나를 이용하여 상기 유사도를 결정하는 동작을 포함할 수 있다.
다양한 실시예에 따르면, 상기 제3신호를 검출하는 동작은, 상기 제1신호 및 상기 제2신호의 유사도 값을 결정하는 동작; 상기 유사도 값을 지정된 계수를 갖는 신경망(neural network)모델에 입력하는 동작; 상기 신경망 모델의 출력에 적어도 기반하여 상기 제1신호의 안정도 값을 결정하는 동작; 및 상기 안정도 값에 적어도 일부 기반하여, 상기 제3신호를 검출하는 동작을 포함할 수 있다.
다양한 실시예에 따르면, 상기 신경망은, 복수의 레이어를 포함하고, 상기 제1신호의 안정도 값을 결정하는 동작은, 상기 유사도 값을 상기 복수의 레이어 중 제1레이어에 입력하는 동작; 및 상기 제1레이어에서 출력된 값을 상기 제1레이어와 다른 제2레이어에 입력하는 동작을 포함할 수 있다.
다양한 실시예에 따르면, 상기 제1신호에 상기 제3신호가 포함되었다고 결정하는 동작은, 상기 안정도 값이 지정된 임계값보다 낮은 경우, 상기 지정된 조건을 만족하는 것으로 결정하는 동작을 포함할 수 있다.
다양한 실시예에 따르면, 상기 전자 장치는 제1입력 장치 및 제2입력 장치를 포함하고, 상기 제1신호를 획득하는 동작은, 상기 제1입력 장치 또는 상기 제2입력 장치 중 블록(block)되지 않은 하나의 입력 장치를 이용하여 상기 제1신호를 획득하는 동작을 포함할 수 있다.
다양한 실시예에 따르면, 상기 제4신호를 출력하는 동작은, 상기 제3신호가 검출되는 경우, 상기 제1신호 중 상기 제3신호가 조정된 상기 제4신호를 생성하는 동작을 포함할 수 있다.
본 발명의 다양한 실시예에 따르면, 컴퓨터로 판독 가능한 기록 매체는 전자 장치의 외부의 사운드에 대응하는 제1신호를 획득하는 동작, 상기 제1신호에 대해 지정된 시간이 지연된 제2신호를 생성하는 동작, 상기 제1신호와 상기 제2신호에 기반하여, 미리 정해진 검출 방법을 통해, 상기 제1신호 중 상기 바람 소리에 대응하는 제3신호를 검출하는 동작, 및 상기 제1신호 중 상기 제3신호가 조정된 제4신호를 출력 장치를 이용하여 출력하는 동작을 실행하기 위한 프로그램을 포함할 수 있다. 여기서, 컴퓨터로 읽을 수 있는 기록 매체는 마그네틱 저장 매체(예: ROM(read-only memory), RAM(random-access memory), 플로피 디스크, 하드 디스크 등) 및 광학적 판독 매체(예: 시디롬(CD-ROM), 디브이디(DVD: Digital Versatile Disc)) 등이 있다. 컴퓨터가 읽을 수 있는 기록 매체는 네트워크로 연결된 컴퓨터 시스템들에 분산되어, 분산 방식으로 컴퓨터가 판독 가능한 코드가 저장되고 실행될 수 있다. 상기 기록 매체는 컴퓨터에 의해 판독가능하며, 메모리에 저장되고, 프로세서에서 실행될 수 있다.

Claims (20)

  1. 전자 장치에 있어서,
    입력 장치;
    출력 장치; 및
    프로세서를 포함하고, 상기 프로세서는,
    상기 입력 장치를 이용하여 상기 전자 장치의 외부의 사운드에 대응하는 제1신호를 획득하고,
    상기 제1신호에 대해 지정된 시간이 지연된 제2신호를 생성하고,
    상기 제1신호와 상기 제2신호에 기반하여, 미리 정해진 검출 방법을 통해, 상기 제1신호 중 바람 소리에 대응하는 제3신호를 검출하고, 및
    상기 제1신호 중 상기 제3신호가 조정된 제4신호를 상기 출력 장치를 이용하여 출력하도록 설정된 전자 장치.
  2. 제 1항에 있어서,
    상기 제1신호는 제1시점에 대응하는 제1프레임을 포함하고,
    상기 프로세서는, 상기 제2신호를 생성하는 동작의 적어도 일부로, 상기 제1시점 보다 이전의 시점인 제2시점에 대응하는 제2프레임을 포함하는 상기 제2신호를 생성하도록 설정된 전자 장치.
  3. 제 1항에 있어서, 상기 프로세서는,
    상기 검출 방법의 적어도 일부로, 상기 제1신호 및 상기 제2신호의 유사도 값을 결정하고,
    상기 유사도 값에 적어도 일부 기반하여, 상기 제1신호의 안정도 값을 결정하고, 및
    상기 안정도 값이 지정된 조건을 만족하면, 상기 제1신호에 상기 제3신호가 포함되었다고 결정하도록 설정된 전자 장치.
  4. 제 3항에 있어서, 상기 프로세서는
    상기 유사도 값을 결정하는 동작의 적어도 일부로,
    상기 제1신호와 상기 제2신호의 카이 스퀘어 값(chi-square value), 상호 상관값(cross correlation) 또는 절대 차의 합(sum of absolute difference) 중 적어도 하나를 이용하도록 설정된 전자 장치.
  5. 제 1항에 있어서,
    상기 프로세서는,
    상기 검출 방법의 적어도 일부로, 상기 제1신호 및 상기 제2신호의 유사도 값을 결정하고,
    상기 유사도 값을 지정된 계수를 갖는 신경망(neural network)모델에 입력하고, 및
    상기 신경망 모델의 출력에 적어도 기반하여 상기 제1신호의 안정도 값를 결정하고,
    상기 안정도 값에 적어도 일부 기반하여, 상기 제3신호를 검출하도록 설정된 전자 장치.
  6. 제 5항에 있어서,
    상기 신경망은, 복수의 레이어를 포함하고, 상기 프로세서는,
    상기 유사도 값을 상기 복수의 레이어 중 제1레이어에 입력하고, 및
    상기 제1레이어에서 출력된 값이 상기 제1레이어와 다른 제2레이어에 입력되도록 설정된 전자 장치.
  7. 제 3항에 있어서,
    상기 프로세서는,
    상기 안정도 값이 지정된 임계값보다 낮은 경우, 상기 지정된 조건을 만족하는 것으로 판단하도록 설정된 전자 장치.
  8. 제 1항에 있어서,
    상기 입력 장치는 제1입력 장치 및 제2입력 장치를 포함하고,
    상기 프로세서는,
    상기 제1입력 장치 또는 상기 제2입력 장치 중 블록(block)되지 않은 하나의 입력 장치를 이용하여 상기 제1신호를 수신하도록 설정된 전자 장치.
  9. 제 1항에 있어서,
    상기 프로세서는,
    상기 제3신호가 검출되는 경우, 상기 제1신호 중 상기 제3신호가 조정된 상기 제4신호를 생성하도록 설정된 전자 장치.
  10. 제 1항에 있어서,
    상기 프로세서는,
    상기 미리 정해진 검출 방법의 적어도 일부로, 상기 제1신호 및 제2신호를 시간 영역에서 분석하여 상기 제3신호를 검출하도록 설정된 전자 장치.
  11. 전자 장치의 바람 소리가 조정된 신호를 출력하는 방법에 있어서,
    상기 전자 장치의 외부의 사운드에 대응하는 제1신호를 획득하는 동작;
    상기 제1신호에 대해 지정된 시간이 지연된 제2신호를 생성하는 동작;
    상기 제1신호와 상기 제2신호에 기반하여, 미리 정해진 검출 방법을 통해, 상기 제1신호 중 상기 바람 소리에 대응하는 제3신호를 검출하는 동작; 및
    상기 제1신호 중 상기 제3신호가 조정된 제4신호를 출력 장치를 이용하여 출력하는 동작을 포함하는 방법.
  12. 제 11항에 있어서,
    상기 제1신호는 제1시점에 대응하는 제1프레임 을 포함하고,
    상기 제2신호를 생성하는 동작은,
    상기 제1시점 보다 이전의 시점인 제2시점에 대응하는 제2프레임을 포함하는 상기 제2신호를 생성하는 동작을 포함하는 방법.
  13. 제 11항에 있어서,
    상기 제3신호를 검출하는 동작은,
    상기 제1신호 및 상기 제2신호의 유사도 값을 결정하는 동작;
    상기 유사도 값에 적어도 일부 기반하여, 상기 제1신호의 안정도 값을 결정하는 동작; 및
    상기 안정도 값이 지정된 조건을 만족하면, 상기 제1신호에 상기 제3신호가 포함되었다고 결정하는 동작을 포함하는 방법.
  14. 제 13항에 있어서,
    상기 유사도 값을 결정하는 동작은,,
    상기 제1신호와 상기 제2신호의 카이 스퀘어 값(chi-square value), 상호 상관값(cross correlation) 또는 절대 차의 합(sum of absolute difference) 중 적어도 하나를 이용하여 상기 유사도를 결정하는 동작을 포함하는 방법.
  15. 제 11항에 있어서,
    상기 제3신호를 검출하는 동작은,
    상기 제1신호 및 상기 제2신호의 유사도 값을 결정하는 동작;
    상기 유사도 값을 지정된 계수를 갖는 신경망(neural network)모델에 입력하는 동작;
    상기 신경망 모델의 출력에 적어도 기반하여 상기 제1신호의 안정도 값을 결정하는 동작; 및
    상기 안정도 값에 적어도 일부 기반하여, 상기 제3신호를 검출하는 동작을 포함하는 방법.
  16. 제 15항에 있어서,
    상기 신경망은, 복수의 레이어를 포함하고,
    상기 제1신호의 안정도 값을 결정하는 동작은,
    상기 유사도 값을 상기 복수의 레이어 중 제1레이어에 입력하는 동작; 및
    상기 제1레이어에서 출력된 값을 상기 제1레이어와 다른 제2레이어에 입력하는 동작을 포함하는 방법.
  17. 제 13항에 있어서,
    상기 제1신호에 상기 제3신호가 포함되었다고 결정하는 동작은,
    상기 안정도 값이 지정된 임계값보다 낮은 경우, 상기 지정된 조건을 만족하는 것으로 결정하는 동작을 포함하는 방법.
  18. 제 11항에 있어서,
    상기 전자 장치는 제1입력 장치 및 제2입력 장치를 포함하고,
    상기 제1신호를 획득하는 동작은,
    상기 제1입력 장치 또는 상기 제2입력 장치 중 블록(block)되지 않은 하나의 입력 장치를 이용하여 상기 제1신호를 획득하는 동작을 포함하는 방법.
  19. 제 11항에 있어서,
    상기 제4신호를 출력하는 동작은,
    상기 제3신호가 검출되는 경우, 상기 제1신호 중 상기 제3신호가 조정된 상기 제4신호를 생성하는 동작을 포함하는 방법.
  20. 전자 장치의 외부의 사운드에 대응하는 제1신호를 획득하는 동작, 상기 제1신호에 대해 지정된 시간이 지연된 제2신호를 생성하는 동작, 상기 제1신호와 상기 제2신호에 기반하여, 미리 정해진 검출 방법을 통해, 상기 제1신호 중 상기 바람 소리에 대응하는 제3신호를 검출하는 동작, 및 상기 제1신호 중 상기 제3신호가 조정된 제4신호를 출력 장치를 이용하여 출력하는 동작을 실행하기 위한 프로그램을 포함하는 컴퓨터로 판독 가능한 기록 매체.
KR1020170037545A 2017-03-24 2017-03-24 바람 소리가 조정된 신호를 출력하는 방법 및 전자 장치 KR20180108155A (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020170037545A KR20180108155A (ko) 2017-03-24 2017-03-24 바람 소리가 조정된 신호를 출력하는 방법 및 전자 장치
US15/928,134 US20180277138A1 (en) 2017-03-24 2018-03-22 Method and electronic device for outputting signal with adjusted wind sound

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170037545A KR20180108155A (ko) 2017-03-24 2017-03-24 바람 소리가 조정된 신호를 출력하는 방법 및 전자 장치

Publications (1)

Publication Number Publication Date
KR20180108155A true KR20180108155A (ko) 2018-10-04

Family

ID=63582887

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170037545A KR20180108155A (ko) 2017-03-24 2017-03-24 바람 소리가 조정된 신호를 출력하는 방법 및 전자 장치

Country Status (2)

Country Link
US (1) US20180277138A1 (ko)
KR (1) KR20180108155A (ko)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11069365B2 (en) * 2018-03-30 2021-07-20 Intel Corporation Detection and reduction of wind noise in computing environments
US10721562B1 (en) * 2019-04-30 2020-07-21 Synaptics Incorporated Wind noise detection systems and methods
US11217269B2 (en) * 2020-01-24 2022-01-04 Continental Automotive Systems, Inc. Method and apparatus for wind noise attenuation
US11217264B1 (en) * 2020-03-11 2022-01-04 Meta Platforms, Inc. Detection and removal of wind noise
CN114697812B (zh) * 2020-12-29 2023-06-20 华为技术有限公司 声音采集方法、电子设备及系统
US11682411B2 (en) 2021-08-31 2023-06-20 Spotify Ab Wind noise suppresor
US12041439B2 (en) * 2022-04-13 2024-07-16 Google Llc Preventing eavesdropping resources from acquiring unauthorized data via mechanically excitable sensors

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9020157B2 (en) * 2012-03-16 2015-04-28 Cirrus Logic International (Uk) Limited Active noise cancellation system
CN106664486B (zh) * 2014-07-21 2019-06-28 思睿逻辑国际半导体有限公司 用于风噪声检测的方法和装置

Also Published As

Publication number Publication date
US20180277138A1 (en) 2018-09-27

Similar Documents

Publication Publication Date Title
CN110199350B (zh) 用于感测语音结束的方法和实现该方法的电子设备
US10593347B2 (en) Method and device for removing noise using neural network model
US10354643B2 (en) Method for recognizing voice signal and electronic device supporting the same
US10511932B2 (en) Method and apparatus for operating electronic device based on environmental information
KR20180108155A (ko) 바람 소리가 조정된 신호를 출력하는 방법 및 전자 장치
KR20180022021A (ko) 음성 인식 방법 및 이를 수행하는 전자 장치
KR20180083587A (ko) 전자 장치 및 그의 동작 방법
KR20170097888A (ko) 복수의 디바이스들로부터 수집된 데이터 통합 및 제공 방법 및 이를 구현한 전자 장치
KR20170055893A (ko) 외부 객체의 근접에 따른 동작을 수행하는 전자 장치 및 그 방법
KR20170086814A (ko) 음성 인식 기능을 제공하는 전자 장치 및 그 동작 방법
EP3142352B1 (en) Method for processing sound by electronic device and electronic device thereof
EP3396562A1 (en) Content recognition apparatus and method for operating same
KR20170098392A (ko) 전자 장치 및 전자 장치의 음성 및 잡음 분류 방법
KR102519902B1 (ko) 오디오 데이터를 처리하는 방법 및 이를 제공하는 전자 장치
KR20180081922A (ko) 전자 장치의 입력 음성에 대한 응답 방법 및 그 전자 장치
KR102588524B1 (ko) 전자 장치 및 그의 동작 방법
KR20180116843A (ko) 모션 감지 방법 및 이를 지원하는 전자 장치
KR20170062331A (ko) 전자 장치 및 음성 신호 제어 방법
KR20170112066A (ko) 이미지를 처리하기 위한 전자 장치 및 방법
KR20170093491A (ko) 음성 인식 방법 및 이를 사용하는 전자 장치
KR20180067139A (ko) 위치 데이터를 제공하는 전자 장치 및 그 방법
KR20170105262A (ko) 전자장치 및 그의 생체 정보 획득 방법
KR20170019136A (ko) 전자 장치 및 전자 장치의 이미지 인코딩 방법
KR20180014446A (ko) 전자 장치 및 전자 장치의 터치 스크린 디스플레이 제어 방법
KR20180131863A (ko) 스마트 워치에 대한 정보를 제공하는 전자 장치와 이의 동작 방법