KR102061206B1 - 키워드 오인식을 방지하는 음성 제어 장치 및 이의 동작 방법 - Google Patents

키워드 오인식을 방지하는 음성 제어 장치 및 이의 동작 방법 Download PDF

Info

Publication number
KR102061206B1
KR102061206B1 KR1020190064068A KR20190064068A KR102061206B1 KR 102061206 B1 KR102061206 B1 KR 102061206B1 KR 1020190064068 A KR1020190064068 A KR 1020190064068A KR 20190064068 A KR20190064068 A KR 20190064068A KR 102061206 B1 KR102061206 B1 KR 102061206B1
Authority
KR
South Korea
Prior art keywords
keyword
feature vector
audio
speaker feature
audio data
Prior art date
Application number
KR1020190064068A
Other languages
English (en)
Other versions
KR20190062369A (ko
Inventor
김병열
한익상
권오혁
이봉진
오명우
최민석
이찬규
임정희
최지수
강한용
김수환
최정아
Original Assignee
네이버 주식회사
라인 가부시키가이샤
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 네이버 주식회사, 라인 가부시키가이샤 filed Critical 네이버 주식회사
Priority to KR1020190064068A priority Critical patent/KR102061206B1/ko
Publication of KR20190062369A publication Critical patent/KR20190062369A/ko
Application granted granted Critical
Publication of KR102061206B1 publication Critical patent/KR102061206B1/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
    • G10L17/00Speaker identification or verification techniques
    • G10L17/02Preprocessing operations, e.g. segment selection; Pattern representation or modelling, e.g. based on linear discriminant analysis [LDA] or principal components; Feature selection or extraction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3206Monitoring of events, devices or parameters that trigger a change in power modality
    • G06F1/3228Monitoring task completion, e.g. by use of idle timers, stop commands or wait commands
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/28Constructional details of speech recognition systems
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L17/00Speaker identification or verification techniques
    • G10L17/04Training, enrolment or model building
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/02Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using spectral analysis, e.g. transform vocoders or subband vocoders
    • G10L19/032Quantisation or dequantisation of spectral components
    • G10L19/038Vector quantisation, e.g. TwinVQ audio
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • G10L2015/223Execution procedure of a spoken command

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Computational Linguistics (AREA)
  • Spectroscopy & Molecular Physics (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Signal Processing (AREA)
  • Telephonic Communication Services (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

키워드 오인식을 방지할 수 있는 음성 제어 장치 및 이의 동작 방법이 제공된다. 상기 동작 방법은, 주변 소리에 대응하는 오디오 신호를 수신하여, 오디오 스트림 데이터를 생성하는 단계; 상기 오디오 스트림 데이터로부터 미리 정의된 키워드에 대응하는 후보 키워드를 검출하고, 상기 오디오 스트림 데이터에서 상기 후보 키워드가 검출된 제1 오디오 데이터에 해당하는 제1 구간을 결정하는 단계; 상기 제1 오디오 데이터에 대한 제1 화자 특징 벡터를 추출하는 단계; 상기 오디오 스트림 데이터에서 상기 제1 구간에 선행하는 제2 구간에 해당하는 제2 오디오 데이터에 대한 제2 화자 특징 벡터를 추출하는 단계; 및 상기 제1 화자 특징 벡터와 상기 제2 화자 특징 벡터의 유사도를 기초로 상기 제1 오디오 데이터에 상기 키워드가 포함되었는지의 여부를 판단하고, 웨이크업 여부를 결정하는 단계를 포함한다.

Description

키워드 오인식을 방지하는 음성 제어 장치 및 이의 동작 방법{Speech-controlled apparatus for preventing false detections of keyword and method of operating the same}
본 개시는 음성 제어 장치에 관한 것으로서, 보다 상세하게는 키워드를 잘못 인식하는 것을 방지할 수 있는 음성 제어 장치 및 이의 동작 방법에 관한 것이다.
휴대용 통신 장치, 데스크톱, 태블릿, 및 엔터테인먼트 시스템들과 같은 컴퓨팅 장치들의 성능이 고도화면서, 조작성을 향상시키기 위하여 음성 인식 기능이 탑재되어 음성에 의해 제어되는 전자 기기들이 출시되고 있다. 음성 인식 기능은 별도의 버튼 조작 또는 터치 모듈의 접촉에 의하지 않고 사용자의 음성을 인식함으로써 장치를 손쉽게 제어할 수 있는 장점을 가진다.
이러한 음성 인식 기능에 의하면, 예를 들어 스마트 폰과 같은 휴대용 통신 장치에서는 별도의 버튼을 누르는 조작 없이 통화 기능을 수행하거나 문자 메시지를 작성할 수 있으며, 길찾기, 인터넷 검색, 알람 설정 등 다양한 기능을 손쉽게 설정할 수 있다. 그러나, 이러한 음성 제어 장치가 사용자의 음성을 오인식하여 의도하지 않은 동작을 수행하는 문제가 발생할 수 있다.
일 실시예는 키워드를 오인식하는 것을 방지할 수 있는 음성 제어 장치 및 이의 동작 방법을 제공할 수 있다.
상술한 기술적 과제를 달성하기 위한 기술적 수단으로서, 본 개시의 제1 측면은, 주변 소리에 대응하는 오디오 신호를 수신하여, 오디오 스트림 데이터를 생성하는 오디오 처리부; 상기 오디오 스트림 데이터로부터 미리 정의된 키워드에 대응하는 후보 키워드를 검출하고, 상기 오디오 스트림 데이터에서 상기 후보 키워드가 검출된 제1 오디오 데이터에 해당하는 제1 구간을 결정하는 키워드 검출부; 상기 제1 오디오 데이터에 대한 제1 화자 특징 벡터를 추출하고, 상기 오디오 스트림 데이터에서 상기 제1 구간에 선행하는 제2 구간에 해당하는 제2 오디오 데이터에 대한 제2 화자 특징 벡터를 추출하는 화자 특징 벡터 추출부; 및 상기 제1 화자 특징 벡터와 상기 제2 화자 특징 벡터의 유사도를 기초로 상기 제1 오디오 데이터에 상기 키워드가 포함되었는지의 여부를 판단하는 웨이크업 판단부를 포함하는 음성 제어 장치를 제공할 수 있다.
또한, 본 개시의 제2 측면은, 주변 소리에 대응하는 오디오 신호를 수신하여, 오디오 스트림 데이터를 생성하는 단계; 상기 오디오 스트림 데이터로부터 미리 정의된 키워드에 대응하는 후보 키워드를 검출하고, 상기 오디오 스트림 데이터에서 상기 후보 키워드가 검출된 제1 오디오 데이터에 해당하는 제1 구간을 결정하는 단계; 상기 제1 오디오 데이터에 대한 제1 화자 특징 벡터를 추출하는 단계; 상기 오디오 스트림 데이터에서 상기 제1 구간에 선행하는 제2 구간에 해당하는 제2 오디오 데이터에 대한 제2 화자 특징 벡터를 추출하는 단계; 및 상기 제1 화자 특징 벡터와 상기 제2 화자 특징 벡터의 유사도를 기초로 상기 제1 오디오 데이터에 상기 키워드가 포함되었는지의 여부를 판단하고, 웨이크업 여부를 결정하는 단계를 포함하는 음성 제어 장치의 동작 방법을 제공할 수 있다.
또한, 본 개시의 제3 측면은, 음성 제어 장치의 프로세서가 제2 측면에 따른 동작 방법을 실행하도록 하는 명령어들을 포함하는 하나 이상의 프로그램이 기록된 컴퓨터로 읽을 수 있는 기록 매체를 제공할 수 있다.
본 개시의 다양한 실시예들에 따르면, 키워드를 오인식할 가능성이 감소되므로 음성 제어 장치의 오동작이 방지될 수 있다.
도 1은 일 실시예에 따른 네트워크 환경의 예를 도시한 도면이다.
도 2는 일 실시예에 따라서 전자 기기 및 서버의 내부 구성을 설명하기 위한 블럭도이다.
도 3은 일 실시예에 따른 음성 제어 장치의 프로세서가 포함할 수 있는 기능 블럭들의 예를 도시한 도면이다.
도 4는 일 실시예에 따라서 음성 제어 장치가 수행할 수 있는 동작 방법의 예를 도시한 흐름도이다.
도 5는 다른 실시예에 따라서 음성 제어 장치가 수행할 수 있는 동작 방법의 예를 도시한 흐름도이다.
도 6a는 일 실시예에 따른 음성 제어 장치가 도 5의 동작 방법을 실행하는 경우에 단독 명령 키워드가 발화되는 예를 도시한다.
도 6b는 일 실시예에 따른 음성 제어 장치가 도 6의 동작 방법을 실행하는 경우에 일반 대화 음성이 발화되는 예를 도시한다.
도 7는 또 다른 실시예에 따라서 음성 제어 장치가 수행할 수 있는 동작 방법의 예를 도시한 흐름도이다.
도 8a는 일 실시예에 따른 음성 제어 장치가 도 7의 동작 방법을 실행하는 경우에 웨이크업 키워드와 자연어 음성 명령이 발화되는 예를 도시한다.
도 8b는 일 실시예에 따른 음성 제어 장치가 도 7의 동작 방법을 실행하는 경우에 일반 대화 음성이 발화되는 예를 도시한다.
아래에서는 첨부한 도면을 참조하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 본 발명의 실시예를 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우뿐 아니라, 그 중간에 다른 소자를 사이에 두고 "전기적으로 연결"되어 있는 경우도 포함한다. 또한 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.
본 명세서에서 다양한 곳에 등장하는 "일부 실시예에서" 또는 "일 실시예에서" 등의 어구는 반드시 모두 동일한 실시예를 가리키는 것은 아니다.
일부 실시예는 기능적인 블럭 구성들 및 다양한 처리 단계들로 나타내어질 수 있다. 이러한 기능 블럭들의 일부 또는 전부는, 특정 기능들을 실행하는 다양한 개수의 하드웨어 및/또는 소프트웨어 구성들로 구현될 수 있다. 예를 들어, 본 개시의 기능 블럭들은 하나 이상의 마이크로프로세서들에 의해 구현되거나, 소정의 기능을 위한 회로 구성들에 의해 구현될 수 있다. 또한, 예를 들어, 본 개시의 기능 블럭들은 다양한 프로그래밍 또는 스크립팅 언어로 구현될 수 있다. 기능 블럭들은 하나 이상의 프로세서들에서 실행되는 알고리즘으로 구현될 수 있다. 또한, 본 개시는 전자적인 환경 설정, 신호 처리, 및/또는 데이터 처리 등을 위하여 종래 기술을 채용할 수 있다. “모듈” 및 “구성”등과 같은 용어는 넓게 사용될 수 있으며, 기계적이고 물리적인 구성들로서 한정되는 것은 아니다.
또한, 도면에 도시된 구성 요소들 간의 연결 선 또는 연결 부재들은 기능적인 연결 및/또는 물리적 또는 회로적 연결들을 예시적으로 나타낸 것일 뿐이다. 실제 장치에서는 대체 가능하거나 추가된 다양한 기능적인 연결, 물리적인 연결, 또는 회로 연결들에 의해 구성 요소들 간의 연결이 나타내어질 수 있다.
본 개시에서 키워드는 음성 제어 장치의 특정 기능을 웨이크업 할 수 있는 음성 정보를 말한다. 키워드는 사용자의 음성 신호에 기초하며, 단독 명령 키워드일 수도 있고, 웨이크업 키워드일 수 있다. 웨이크업 키워드는 슬립 모드 상태의 음성 제어 장치를 웨이크업 모드로 전환할 수 있는 음성 기반 키워드로서, 예컨대, “클로바”, “하이 컴퓨터” 등과 같은 음성 키워드일 수 있다. 사용자는 웨이크업 키워드를 발화한 후, 음성 제어 장치가 수행하길 원하는 기능이나 동작을 지시하기 위한 명령을 자연어 형태로 발화할 수 있다. 이 경우, 음성 제어 장치는 자연어 형태의 음성 명령을 음성 인식하고, 음성 인식된 결과에 대응하는 기능 또는 동작을 수행할 수 있다. 단독 명령 키워드는 예컨대 음악이 재생 중인 경우 “중지”와 같이 음성 제어 장치의 동작을 직접 제어할 수 있는 음성 키워드일 수 있다. 본 개시에서 언급되는 웨이크업 키워드는 웨이크업 워드, 핫워드, 트리거 워드 등과 같은 용어로 지칭될 수 있다.
본 개시에서 후보 키워드는 키워드와 발음이 유사한 워드들을 포함한다. 예컨대, 키워드가 “클로바”인 경우, 후보 키워드는 “클로버”, “글로벌”, “클럽” 등일 수 있다. 후보 키워드는 음성 제어 장치의 키워드 검출부가 오디오 데이터에서 키워드로서 검출한 것으로 정의될 수 있다. 후보 키워드는 키워드와 동일할 수도 있지만, 키워드와 유사한 발음을 갖는 다른 워드일 수도 있다. 일반적으로 음성 제어 장치는 사용자가 후보 키워드에 해당하는 용어가 포함된 문장을 발화하는 경우에도 해당 키워드로 오인식하여 웨이크업 할 수 있다. 본 개시에 따른 음성 제어 장치는 음성 신호에서 위와 같은 후보 키워드가 검출되는 경우에도 반응하지만, 후보 키워드에 의해 웨이크업 되는 것을 방지할 수 있다.
본 개시에서 음성 인식 기능은 사용자의 음성 신호를 문자열(또는 텍스트)로 변환하는 것을 말한다. 사용자의 음성 신호는 음성 명령을 포함할 수 있다. 음성 명령은 음성 제어 장치의 특정 기능을 실행할 수 있다.
본 개시에서 음성 제어 장치는 음성 제어 기능이 탑재된 전자 기기를 말한다. 음성 제어 기능이 탑재된 전자 기기는 스마트 스피커 또는 인공 지능 스피커와 같은 독립된 전자 기기일 수 있다. 또한, 음성 제어 기능이 탑재된 전자 기기는 음성 제어 기능이 탑재된 컴퓨팅 장치, 예컨대, 데스크톱, 노트북 등일 수 있을 뿐만 아니라, 휴대가 가능한 컴퓨터 장치, 예컨대, 스마트 폰 등일 수 있다. 이 경우, 컴퓨팅 장치에는 음성 제어 기능을 실행하기 위한 프로그램 또는 애플리케이션이 설치될 수 있다. 또한, 음성 제어 기능이 탑재된 전자 기기는 특정 기능을 주로 수행하는 전자 제품, 예컨대, 스마트 텔레비전, 스마트 냉장고, 스마트 에어컨, 스마트 네비게이션 등일 수 있으며, 자동차의 인포테인먼트 시스템일 수도 있다. 뿐만 아니라, 음성에 의해 제어될 수 있는 사물 인터넷 장치도 이에 해당할 수 있다.
본 개시에서 음성 제어 장치의 특정 기능은, 예를 들어, 음성 제어 장치에 설치된 애플리케이션을 실행하는 것을 포함할 수 있으나 이로 제한되지 않는다. 예를 들어, 음성 제어 장치가 스마트 스피커인 경우, 음성 제어 장치의 특정 기능은 음악 재생, 인터넷 쇼핑, 음성 정보 제공, 스마트 스피커에 접속된 전자 또는 기계 장치의 제어 등을 포함할 수 있다. 예를 들어, 음성 제어 장치가 스마트 폰인 경우에, 애플리케이션을 실행하는 것은 전화 걸기, 길 찾기, 인터넷 검색, 또는 알람 설정 등을 포함할 수 있다. 예를 들어, 음성 제어 장치가 스마트 텔레비전인 경우에, 애플리케이션을 실행하는 것은 프로그램 검색, 또는 채널 검색 등을 포함할 수 있다. 음성 제어 장치가 스마트 오븐인 경우에, 애플리케이션을 실행하는 것은 요리 방법 검색 등을 포함할 수 있다. 음성 제어 장치가 스마트 냉장고인 경우에, 애플리케이션을 실행하는 것은 냉장 및 냉동 상태 점검, 또는 온도 설정 등을 포함할 수 있다. 음성 제어 장치가 스마트 자동차인 경우에, 애플리케이션을 실행하는 것은 자동 시동, 자율 주행, 자동 주차 등을 포함할 수 있다. 본 개시에서 애플리케이션을 실행하는 것은 상술한 바로 제한되지 않는다.
본 개시에서 키워드는 워드 형태를 갖거나, 구 형태를 가질 수 있다. 본 개시에서, 웨이크업 키워드 이후에 발화되는 음성 명령은 자연어 형태의 문장 형태, 워드 형태, 또는 구 형태를 가질 수 있다.
이하 첨부된 도면을 참고하여 본 개시를 상세히 설명하기로 한다.
도 1은 일 실시예에 따른 네트워크 환경의 예를 도시한 도면이다.
도 1에 도시된 네트워크 환경은 복수의 전자 기기들(100a-100f), 서버(200) 및 네트워크(300)를 포함하는 것으로 예시적으로 도시된다.
전자 기기들(100a-100f)은 음성으로 제어될 수 있는 예시적인 전자 기기들이다. 전자 기기들(100a-100f) 각각은 음성 인식 기능 외에 특정 기능을 실행할 수 있다. 전자 기기들(100a-100f)의 예를 들면, 스마트 또는 인공지능 스피커, 스마트 폰(smart phone), 휴대폰, 네비게이션, 컴퓨터, 노트북, 디지털방송용 단말, PDA(Personal Digital Assistants), PMP(Portable Multimedia Player), 태블릿 PC, 스마트 전자 제품 등이 있다. 전자 기기들(100a-100f)은 무선 또는 유선 통신 방식을 이용하여 네트워크(300)를 통해 서버(200) 및/또는 다른 전자 기기들(100a-100f)과 통신할 수 있다. 그러나, 이에 한정되지 않으며, 전자 기기들(100a-100f) 각각은 네트워크(300)에 연결되지 않고 독립적으로 동작할 수도 있다. 전자 기기들(100a-100f)은 전자 기기(100)로 통칭될 수 있다.
네트워크(300)의 통신 방식은 제한되지 않으며, 네트워크(300)가 포함할 수 있는 통신망(일례로, 이동통신망, 유선 인터넷, 무선 인터넷, 방송망)을 활용하는 통신 방식뿐만 아니라, 전자 기기들(100a-100f) 간의 근거리 무선 통신이 포함될 수 있다. 예를 들어, 네트워크(300)는, PAN(personal area network), LAN(local area network), CAN(campus area network), MAN(metropolitan area network), WAN(wide area network), BBN(broadband network), 인터넷 등의 네트워크 중 하나 이상의 임의의 네트워크를 포함할 수 있다. 또한, 네트워크(300)는 버스 네트워크, 스타 네트워크, 링 네트워크, 메쉬 네트워크, 스타-버스 네트워크, 트리 또는 계층적(hierarchical) 네트워크 등을 포함하는 네트워크 토폴로지 중 임의의 하나 이상을 포함할 수 있으나, 이에 제한되지 않는다.
서버(200)는 네트워크(300)를 통해 전자 기기들(100a-100f)과 통신하며, 음성 인식 기능을 수행하는 컴퓨터 장치 또는 복수의 컴퓨터 장치들로 구현될 수 있다. 서버(200)는 클라우드 형태로 분산될 수 있으며, 명령, 코드, 파일, 컨텐츠 등을 제공할 수 있다.
예를 들면, 서버(200)는 전자 기기들(100a-100f)로부터 제공되는 오디오 파일을 수신하여 오디오 파일 내의 음성 신호를 문자열(또는 텍스트)로 변환하고, 변환된 문자열(또는 텍스트)를 전자 기기들(100a-100f)로 제공할 수 있다. 또한, 서버(200)는 네트워크(300)를 통해 접속한 전자 기기들(100a-100f)에게 음성 제어 기능을 수행하기 위한 어플리케이션의 설치를 위한 파일을 제공할 수 있다. 예컨대, 제2 전자 기기(100b)는 서버(200)로부터 제공된 파일을 이용하여 어플리케이션을 설치할 수 있다. 제2 전자 기기(100b)는 설치된 운영체제(Operating System, OS) 및/또는 적어도 하나의 프로그램(예컨대, 설치된 음성 제어 어플리케이션)의 제어에 따라 서버(200)에 접속하여 서버(200)가 제공하는 음성 인식 서비스를 제공받을 수 있다.
도 2는 일 실시예에 따라서 전자 기기 및 서버의 내부 구성을 설명하기 위한 블럭도이다.
전자 기기(100)는 도 1의 전자 기기들(100a-100f) 중 하나이며, 전자 기기들(100a-100f)은 적어도 도 2에 도시된 내부 구성을 가질 수 있다. 전자 기기(100)는 네트워크(300)를 통해 음성 인식 기능을 수행하는 서버(200)에 접속되는 것으로 도시되어 있지만, 이는 예시적이며, 전자 기기(100)는 독립적으로 음성 인식 기능을 수행할 수도 있다. 전자 기기(100)는 음성에 의해 제어될 수 있는 전자 기기로서, 음성 제어 장치(100)로 지칭될 수 있다. 음성 제어 장치(100)는 스마트 또는 인공지능 스피커, 컴퓨팅 장치, 휴대용 컴퓨팅 장치, 스마트 가전 제품 등에 포함되거나, 이들에 유선 및/또는 무선으로 연결되도록 구현될 수 있다.
전자 기기(100)와 서버(200)는 메모리(110, 210), 프로세서(120, 220), 통신 모듈(130, 230), 및 입출력 인터페이스(140, 240)를 포함할 수 있다. 메모리(110, 210)는 컴퓨터에서 판독 가능한 기록 매체로서, RAM(random access memory), ROM(read only memory) 및 디스크 드라이브와 같은 비소멸성 대용량 기록장치(permanent mass storage device)를 포함할 수 있다. 또한, 메모리(110, 210)에는 운영체제와 적어도 하나의 프로그램 코드(예컨대, 전자 기기(100)에 설치되어 구동되는 음성 제어 어플리케이션, 음성 인식 어플리케이션 등을 위한 코드)가 저장될 수 있다. 이러한 소프트웨어 구성요소들은 컴퓨터에서 판독 가능한 기록 매체가 아닌 통신 모듈(130, 230)을 통해 메모리(110, 210)에 로딩될 수도 있다. 예를 들어, 적어도 하나의 프로그램은 개발자들 또는 어플리케이션의 설치 파일을 배포하는 파일 배포 시스템이 네트워크(300)를 통해 제공하는 파일들에 의해 설치되는 프로그램에 기반하여 메모리(110, 210)에 로딩될 수 있다.
프로세서(120, 220)는 기본적인 산술, 로직 및 입출력 연산을 수행함으로써, 컴퓨터 프로그램의 명령을 처리하도록 구성될 수 있다. 명령은 메모리(110, 210) 또는 통신 모듈(130, 230)에 의해 프로세서(120, 220)로 제공될 수 있다. 예를 들어 프로세서(120, 220)는 메모리(110, 210)와 같은 기록 장치에 저장된 프로그램 코드에 따라 수신되는 명령을 실행하도록 구성될 수 있다.
통신 모듈(130, 230)은 네트워크(300)를 통해 전자 기기(100)와 서버(200)가 서로 통신하기 위한 기능을 제공할 수 있으며, 다른 전자 기기(100b-100f)와 통신하기 위한 기능을 제공할 수 있다. 일례로, 전자 기기(100)의 프로세서(120)가 메모리(110)와 같은 기록 장치에 저장된 프로그램 코드에 따라 생성한 요청(일례로 음성 인식 서비스 요청)이 통신 모듈(130)의 제어에 따라 네트워크(300)를 통해 서버(200)로 전달될 수 있다. 역으로, 서버(200)의 프로세서(220)의 제어에 따라 제공되는 음성 인식 결과인 문자열(텍스트) 등이 통신 모듈(230)과 네트워크(300)를 거쳐 전자 기기(100)의 통신 모듈(130)을 통해 전자 기기(100)로 수신될 수 있다. 예를 들어 통신 모듈(130)을 통해 수신된 서버(200)의 음성 인식 결과는 프로세서(120)나 메모리(110)로 전달될 수 있다. 서버(200)는 제어 신호나 명령, 컨텐츠, 파일 등을 전자 기기(100)로 송신할 수 있으며, 통신 모듈(130)을 통해 수신된 제어 신호나 명령 등은 프로세서(120)나 메모리(110)로 전달되고, 컨텐츠나 파일 등은 전자 기기(100)가 더 포함할 수 있는 별도의 저장 매체로 저장될 수 있다.
입출력 인터페이스(140, 240)는 입출력 장치들(150)과의 인터페이스를 위한 수단일 수 있다. 예를 들어, 입력 장치는 마이크(151)뿐만 아니라, 키보드 또는 마우스 등의 장치를 포함할 수 있으며, 출력 장치는 스피커(152)뿐만 아니라, 상태를 나타내는 상태 표시 LED(Light Emitting Diode), 어플리케이션의 통신 세션을 표시하기 위한 디스플레이와 같은 장치를 포함할 수 있다. 다른 예로서, 입출력 장치들(150)은 터치스크린과 같이 입력과 출력을 위한 기능이 하나로 통합된 장치를 포함할 수 있다.
마이크(151)는 주변 소리를 전기적인 오디오 신호로 변환할 수 있다. 마이크(151)는 전자 기기(100) 내에 직접 장착되지 않고, 통신 가능하게 연결되는 외부 장치(예컨대, 스마트 시계)에 장착되고, 생성된 외부 신호는 통신으로 전자 기기(100)에 전송될 수 있다. 도 2에는, 마이크(151)가 전자 기기(100)의 내부에 포함되는 것으로 도시되었으나, 다른 일 실시예에 따르면, 마이크(151)는 별도의 장치 내에 포함되고, 전자 기기(100)와는 유선 또는 무선 통신으로 연결되는 형태로 구현될 수 있다.
다른 실시예들에서 전자 기기(100) 및 서버(200)는 도 2의 구성요소들보다 더 많은 구성요소들을 포함할 수도 있다. 예를 들어, 전자 기기(100)는 전술한 입출력 장치들(150) 중 적어도 일부를 포함하도록 구성되거나, 트랜시버(transceiver), GPS(Global Positioning System) 모듈, 카메라, 각종 센서, 데이터베이스 등과 같은 다른 구성요소들을 더 포함할 수도 있다.
도 3은 일 실시예에 따른 음성 제어 장치의 프로세서가 포함할 수 있는 기능 블럭들의 예를 도시한 도면이고, 도 4는 일 실시예에 따라서 음성 제어 장치가 수행할 수 있는 동작 방법의 예를 도시한 흐름도이다.
도 3에 도시된 바와 같이, 음성 제어 장치(100)의 프로세서(120)는 오디오 처리부(121), 키워드 검출부(122), 화자 특징 벡터 추출부(123), 웨이크업 판단부(124), 음성 인식부(125) 및 기능부(126)를 포함할 수 있다. 이러한 프로세서(120) 및 기능 블럭들(121-126) 중 적어도 일부는 도 4에 도시된 동작 방법이 포함하는 단계들(S110 내지 S190)을 수행하도록 음성 제어 장치(100)를 제어할 수 있다. 예를 들면, 프로세서(120) 및 프로세서(120)의 기능 블럭들(121-126) 중 적어도 일부는 음성 제어 장치(100)의 메모리(110)가 포함하는 운영체제의 코드와 적어도 하나의 프로그램 코드에 따른 명령을 실행하도록 구현될 수 있다.
도 3에 도시된 기능 블럭들(121-126)의 일부 또는 전부는, 특정 기능을 실행하는 하드웨어 및/또는 소프트웨어 구성들로 구현될 수 있다. 도 3에 도시된 기능 블럭들(121-126)이 수행하는 기능들은, 하나 이상의 마이크로프로세서에 의해 구현되거나, 해당 기능을 위한 회로 구성들에 의해 구현될 수 있다. 도 3에 도시된 기능 블럭들(121-126)의 일부 또는 전부는 프로세서(120)에서 실행되는 다양한 프로그래밍 언어 또는 스크립트 언어로 구성된 소프트웨어 모듈일 수 있다. 예를 들면, 오디오 처리부(121)와 키워드 검출부(122)는 디지털 신호 처리기(DSP)로 구현되고, 화자 특징 벡터 추출부(123), 웨이크업 판단부(124) 및 음성 인식부(125)는 소프트웨어 모듈로 구현될 수 있다.
오디오 처리부(121)는 주변 소리에 대응하는 오디오 신호를 수신하여, 오디오 스트림 데이터를 생성한다. 오디오 처리부(121)는 마이크(151)와 같은 입력장치로부터 주변 소리에 대응하는 오디오 신호를 수신할 수 있다. 마이크(151)는 음성 제어 장치(100)에 통신으로 연결되는 주변 장치에 포함되고, 오디오 처리부(121)는 마이크(151)에서 생성된 오디오 신호를 통신으로 수신할 수 있다. 주변 소리는 사용자가 발화한 음성뿐만 아니라, 배경음을 포함한다. 따라서, 오디오 신호에는 음성 신호뿐만 아니라 배경음 신호도 포함된다. 배경음 신호는 키워드 검출 및 음성 인식에서 노이즈에 해당할 수 있다.
오디오 처리부(121)는 연속적으로 수신되는 오디오 신호에 대응하는 오디오 스트림 데이터를 생성할 수 있다. 오디오 처리부(121)는 오디오 신호를 필터링하고 디지털화하여 오디오 스트림 데이터를 생성할 수 있다. 오디오 처리부(121)는 오디오 신호를 필터링하여 노이즈 신호를 제거하고 배경음 신호에 비해 음성 신호를 증폭할 수 있다. 또한, 오디오 처리부(121)는 오디오 신호에서 음성 신호의 에코를 제거할 수도 있다.
오디오 처리부(121)는 음성 제어 장치(100)가 슬립 모드로 동작할 때에도 오디오 신호를 수신하기 위해 항상 동작할 수 있다. 오디오 처리부(121)는 음성 제어 장치(100)가 슬립 모드로 동작할 때 낮은 동작 주파수로 동작하고, 음성 제어 장치(100)가 정상 모드로 동작할 때에는 높은 동작 주파수로 동작할 수 있다.
메모리(110)는 오디오 처리부(121)에서 생성된 오디오 스트림 데이터를 일시적으로 저장할 수 있다. 오디오 처리부(121)는 메모리(110)를 이용하여 오디오 스트림 데이터를 버퍼링할 수 있다. 메모리(110)에는 키워드를 포함하는 오디오 데이터뿐만 아니라 키워드가 검출되기 전의 오디오 데이터가 함께 저장된다. 최근의 오디오 데이터를 메모리(110)에 저장하기 위해, 메모리(110)에 가장 오래 전에 저장된 오디오 데이터가 삭제될 수 있다. 메모리(110)에 할당한 크기가 동일하다면, 언제나 동일한 기간의 오디오 데이터가 저장될 수 있다. 메모리(110)에 저장된 오디오 데이터에 해당하는 상기 기간은 키워드를 발성하는 시간보다 긴 것이 바람직하다.
본 발명의 또다른 실시예에 따르면, 메모리(110)는 오디오 처리부(121)에서 생성된 오디오 스트림에 대한 화자 특징 벡터를 추출하여 저장할 수 있다. 이 때 화자 특징 벡터는 특정 길이의 오디오 스트림에 대하여 추출하여 저장될 수 있다. 앞서 설명한 바와 같이, 최근에 생성된 오디오 스트림에 대한 화자 특징 벡터를 저장하기 위하여 가장 오래 저장된 화자 특징 벡터가 삭제될 수 있다.
키워드 검출부(122)는 오디오 처리부(121)에서 생성된 오디오 스트림 데이터로부터 미리 정의된 키워드에 대응하는 후보 키워드를 검출한다. 키워드 검출부(122)는 메모리(110)에 일시적으로 저장된 오디오 스트림 데이터로부터 미리 정의된 키워드에 대응하는 후보 키워드를 검출할 수 있다. 미리 정의된 키워드는 복수일 수 있으며, 복수의 미리 정의된 키워드들은 키워드 저장소(110a)에 저장될 수 있다. 키워드 저장소(110a)는 메모리(110)에 포함될 수 있다.
후보 키워드는 키워드 검출부(122)에서 오디오 스트림 데이터 중에서 키워드로서 검출한 것을 의미한다. 후보 키워드는 키워드와 동일할 수도 있고, 키워드와 유사하게 발음되는 다른 단어일 수 있다. 예컨대, 키워드가 “클로바”인 경우, 후보 키워드는 “글로벌”일 수 있다. 즉, 사용자가 “글로벌”을 포함한 문장을 발성한 경우, 키워드 검출부(122)는 오디오 스트림 데이터에서 “글로벌”을 “클로바”로 오인하여 검출할 수 있다. 이렇게 검출된 “글로벌”은 후보 키워드에 해당한다.
키워드 검출부(122)는 오디오 스트림 데이터를 알려진 키워드 데이터와 비교하여, 오디오 스트림 데이터 내에 키워드에 대응하는 음성이 포함될 가능성을 계산할 수 있다. 키워드 검출부(122)는 오디오 스트림 데이터로부터 필터뱅크 에너지(Filter Bank Energy) 또는 멜 주파수 켑스트럼 계수(Mel-Frequency Cepstral Coefficients)와 같은 오디오 특징들을 추출할 수 있다. 키워드 검출부(122)는 분류 윈도우(classifying window)들을 이용하여, 예를 들어 서포트 벡터 머신(support vector machine) 또는 신경망(neural network)을 이용하여 이러한 오디오 특징들을 처리할 수 있다. 오디오 특징들의 처리에 기초하여, 키워드 검출부(122)는 오디오 스트림 데이터 내에 키워드가 포함될 가능성을 계산할 수 있다. 키워드 검출부(122)는 상기 가능성이 미리 설정한 기준치보다 높은 경우, 오디오 스트림 데이터 내에 키워드가 포함되어 있다고 판단함으로써 후보 키워드를 검출할 수 있다.
키워드 검출부(122)는 키워드 데이터에 대응하는 음성 샘플들을 이용하여 인공 신경망을 생성하고, 생성된 신경망을 이용하여 오디오 스트림 데이터에서 키워드를 검출하도록 트레이닝 될 수 있다. 키워드 검출부(122)는 오디오 스트림 데이터 내의 프레임마다 각 각 키워드를 구성하는 음소의 확률 또는 키워드의 전체적인 확률을 계산할 수 있다. 키워드 검출부(122)는 오디오 스트림 데이터로부터 각 음소들에 해당할 확률 시퀀스 또는 키워드 자체의 확률을 출력할 수 있다. 이 시퀀스 또는 확률을 기초로 키워드 검출부(122)는 오디오 스트림 데이터 내에 키워드가 포함될 가능성을 계산할 수 있으며, 그 가능성이 미리 설정된 기준치 이상인 경우에 후보 키워드가 검출된 것으로 판단할 수 있다. 전술한 방식은 예시적이며, 키워드 검출부(122)의 동작은 다양한 방식을 통해 구현될 수 있다.
또한, 키워드 검출부(122)는 오디오 스트림 데이터 내의 프레임마다 오디오 특징들을 추출함으로써 해당 프레임의 오디오 데이터가 사람의 음성에 해당할 가능성과 배경음에 해당할 가능성을 산출할 수 있다. 키워드 검출부(122)는 사람의 음성에 해당할 가능성과 배경음에 해당할 가능성을 비교하여, 해당 프레임의 오디오 데이터가 사람의 음성에 해당한다고 판단할 수 있다. 예컨대, 키워드 검출부(122)는 해당 프레임의 오디오 데이터가 사람의 음성에 해당할 가능성이 배경음에 해당할 가능성보다 미리 설정한 기준치보다 높은 경우에, 해당 프레임의 오디오 데이터가 사람의 음성에 대응한다고 판단할 수 있다.
키워드 검출부(122)는 오디오 스트림 데이터에서 후보 키워드가 검출된 구간을 특정할 수 있으며, 후보 키워드가 검출된 구간의 시점과 종점을 결정할 수 있다. 오디오 스트림 데이터에서 후보 키워드가 검출된 구간은 키워드 검출 구간, 현재 구간, 또는 제1 구간으로 지칭될 수 있다. 오디오 스트림 데이터에서 제1 구간에 해당하는 오디오 데이터는 제1 오디오 데이터로 지칭한다. 키워드 검출부(122)는 후보 키워드가 검출된 구간의 끝을 종점으로 결정할 수 있다. 다른 예에 따르면, 키워드 검출부(122)는 후보 키워드가 검출된 후 미리 설정한 시간(예컨대, 0.5초) 동안의 묵음이 발생할 때까지 기다린 후, 제1 구간에 묵음 구간이 포함되도록 제1 구간의 종점을 결정하거나 묵음 기간이 포함되지 않도록 제1 구간의 종점을 결정할 수 있다.
화자 특징 벡터 추출부(123)는 메모리(110)에 일시적으로 저장된 오디오 스트림 데이터에서 제2 구간에 해당하는 제2 오디오 데이터를 메모리(110)로부터 독출한다. 제2 구간은 제1 구간의 이전 구간으로서, 제2 구간의 종점은 제1 구간의 시점과 동일할 수 있다. 제2 구간은 이전 구간으로 지칭될 수 있다. 제2 구간의 길이는 검출된 후보 키워드에 대응하는 키워드에 따라 가변적으로 설정될 수 있다. 다른 예에 따르면, 제2 구간의 길이는 고정적으로 설정될 수 있다. 또 다른 예에 따르면, 제2 구간의 길이는 키워드 검출 성능이 최적화되도록 적응적으로 가변될 수 있다. 예를 들면, 마이크(151)가 출력하는 오디오 신호가 “네잎 클로버”이고, 후보 키워드가 “클로버”인 경우, 제2 오디오 데이터는 “네잎”이라는 음성에 대응할 수 있다.
화자 특징 벡터 추출부(123)는 제1 구간에 해당하는 제1 오디오 데이터의 제1 화자 특징 벡터와 제2 구간에 해당하는 제2 오디오 데이터의 제2 화자 특징 벡터를 추출한다. 화자 특징 벡터 추출부(123)는 화자 인식에 강인한 화자 특징 벡터를 오디오 데이터로부터 추출할 수 있다. 화자 특징 벡터 추출부(123)는 시간 도메인(time domain) 기반의 음성 신호를 주파수 도메인(frequency domain) 상의 신호로 변환하고, 변환된 신호의 주파수 에너지를 서로 다르게 변형함으로써 화자 특징 벡터를 추출할 수 있다. 예컨대, 화자 특징 벡터는 멜 주파수 켑스트럼 계수(Mel-Frequency Cepstral Coefficients) 또는 필터뱅크 에너지(Filter Bank Energy)를 기초로 추출될 수 있으나, 이에 한정되는 것은 아니며 다양한 방식으로 오디오 데이터로부터 화자 특징 벡터를 추출할 수 있다.
화자 특징 벡터 추출부(123)는 일반적으로 슬립 모드로 동작할 수 있다. 키워드 검출부(122)는 오디오 스트림 데이터에서 후보 키워드를 검출하면 화자 특징 벡터 추출부(123)를 웨이크업 할 수 있다. 키워드 검출부(122)는 오디오 스트림 데이터에서 후보 키워드를 검출하면 화자 특징 벡터 추출부(123)에 웨이크업 신호를 송신할 수 있다. 화자 특징 벡터 추출부(123)는 키워드 검출부(122)에서 후보 키워드가 검출되었다는 것을 나타내는 웨이크업 신호에 응답하여 웨이크업 될 수 있다.
일 실시예에 따르면, 화자 특징 벡터 추출부(123)는 오디오 데이터의 각 프레임마다 프레임 특징 벡터를 추출하고, 추출된 프레임 특징 벡터들을 정규화 및 평균화하여 오디오 데이터를 대표하는 화자 특징 벡터를 추출할 수 있다. 추출된 프레임 특징 벡터들을 정규화하는데 L2-정규화가 사용될 수 있다. 추출된 프레임 특징 벡터들의 평균화는 오디오 데이터 내의 모든 프레임들 각각에 대해 추출된 프레임 특징 벡터들을 정규화하여 생성되는 정규화된 프레임 특징 벡터들의 평균을 산출함으로써 달성될 수 있다.
예를 들면, 화자 특징 벡터 추출부(123)는 제1 오디오 데이터의 각 프레임마다 제1 프레임 특징 벡터를 추출하고, 추출된 제1 프레임 특징 벡터들을 정규화 및 평균화하여 제1 오디오 데이터를 대표하는 상기 제1 화자 특징 벡터를 추출할 수 있다. 또한, 화자 특징 벡터 추출부(123)는 제2 오디오 데이터의 각 프레임마다 제2 프레임 특징 벡터를 추출하고, 추출된 제2 프레임 특징 벡터들을 정규화 및 평균화하여 제2 오디오 데이터를 대표하는 제2 화자 특징 벡터를 추출할 수 있다.
다른 실시예에 따르면, 화자 특징 벡터 추출부(123)는 오디오 데이터 내의 모든 프레임에 대하여 프레임 특징 벡터를 각각 추출하는 것이 아니라, 오디오 데이터 내의 일부 프레임에 대하여 프레임 특징 벡터를 각각 추출할 수 있다. 상기 일부 프레임은 해당 프레임의 오디오 데이터가 사용자의 음성 데이터일 가능성이 높은 프레임으로 음성 프레임으로서 선택될 수 있다. 이러한 음성 프레임의 선택은 키워드 검출부(122)에 의해 수행될 수 있다. 키워드 검출부(122)는 오디오 스트림 데이터의 각 프레임마다 사람 음성일 제1 확률과 배경음일 제2 확률을 계산할 수 있다. 키워드 검출부(122)는 각 프레임의 오디오 데이터가 사람 음성일 제1 확률이 배경음일 제2 확률보다 미리 설정된 기준치보다 높은 프레임을 음성 프레임으로 결정할 수 있다. 키워드 검출부(122)는 해당 프레임이 음성 프레임인지의 여부를 나타내는 플래그 또는 비트를 오디오 스트림 데이터의 각 프레임 관련지어 메모리(110)에 저장할 수 있다.
화자 특징 벡터 추출부(123)는 제1 및 제2 오디오 데이터를 메모리(110)로부터 독출할 때, 플래그 또는 비트를 함께 독출함으로써, 해당 프레임이 음성 프레임인지의 여부를 알 수 있다.
화자 특징 벡터 추출부(123)는 오디오 데이터 내의 프레임들 중에서 음성 프레임으로 결정된 프레임들 각각에 대하여 프레임 특징 벡터를 추출하고, 추출된 제1 프레임 특징 벡터들을 정규화 및 평균화하여 오디오 데이터를 대표하는 화자 특징 벡터를 추출할 수 있다. 예를 들면, 화자 특징 벡터 추출부(123)는 제1 오디오 데이터 내의 프레임들 중에서 음성 프레임으로 결정된 프레임들 각각에 대하여 제1 프레임 특징 벡터를 추출하고, 추출된 제1 프레임 특징 벡터들을 정규화 및 평균화하여 제1 오디오 데이터를 대표하는 상기 제1 화자 특징 벡터를 추출할 수 있다. 또한, 화자 특징 벡터 추출부(123)는 제2 오디오 데이터 내의 프레임들 중에서 음성 프레임으로 결정된 프레임들 각각에 대하여 제2 프레임 특징 벡터를 추출하고, 추출된 제2 프레임 특징 벡터들을 정규화 및 평균화하여 제2 오디오 데이터를 대표하는 제2 화자 특징 벡터를 추출할 수 있다.
웨이크업 판단부(124)는 화자 특징 벡터 추출부(123)에서 추출된 제1 화자 특징 벡터와 제2 화자 특징 벡터의 유사도를 기초로, 제1 오디오 데이터에 해당 키워드가 포함되었는지의 여부, 즉, 제1 구간의 오디오 신호에 해당 키워드가 포함되었는지의 여부를 판단한다. 웨이크업 판단부(124)는 제1 화자 특징 벡터와 제2 화자 특징 벡터 간의 유사도를 미리 설정한 기준치와 비교하여, 유사도가 기준치 이하인 경우에, 제1 구간의 제1 오디오 데이터에 해당 키워드가 포함되었다고 판단할 수 있다.
음성 제어 장치(100)가 키워드를 오인식하는 대표적인 경우는 사용자의 음성 중에 키워드와 유사한 발음의 단어가 음성 중간에 위치는 경우이다. 예를 들면, 키워드가 “클로바”인 경우, 사용자가 다른 사람에게 “네잎 클로버를 어떻게 찾을 수 있어”라고 말하는 경우에도 음성 제어 장치(100)는 “클로버”에 반응하여 웨이크업 할 수 있으며, 사용자가 의도하지 않은 동작을 수행할 수 있다. 심지어, 텔레비전 뉴스에서 아나운서가 “제이엔 글로벌의 시가총액은 ...”이라고 말하는 경우에도, 음성 제어 장치(100)는 “글로벌”에 반응하여 웨이크업 할 수 있다. 이와 같이 키워드 오인식이 발생하는 것을 방지하기 위하여, 일 실시예에 다르면, 키워드와 유사한 발음의 단어는 음성의 맨 앞에 위치하는 경우에만 음성 제어 장치(100)가 반응할 수 있다. 또한, 주변 배경 소음이 많은 환경이나, 다른 사람들이 대화를 하고 있는 환경에서는 사용자가 키워드에 해당하는 음성을 맨 앞에 발성하더라도 주변 배경 소음이나 다른 사람들의 대화로 인하여 사용자가 키워드에 해당하는 음성을 맨 앞에 발성하였다는 것이 감지되지 않을 수 있다. 일 실시예에 따르면, 음성 제어 장치(100)는 후보 키워드가 검출된 구간의 제1 화자 특징 벡터와 이전 구간의 제2 화자 특징 벡터를 추출하고, 제1 화자 특징 벡터와 제2 화자 특징 벡터가 서로 상이할 경우에는 사용자가 키워드에 해당하는 음성을 맨 앞에 발성하였다고 판단할 수 있다.
이러한 판단을 위하여, 웨이크업 판단부(124)는 제1 화자 특징 벡터와 제2 화자 특징 벡터 간의 유사도가 미리 설정한 기준치 이하인 경우에는, 사용자가 키워드에 해당하는 음성을 맨 앞에 발성하였다고 판단할 수 있다. 즉, 웨이크업 판단부(124)는 제1 구간의 제1 오디오 데이터에 해당 키워드가 포함되었다고 판단할 수 있으며, 음성 제어 장치(100)의 일부 기능을 웨이크업 할 수 있다. 제1 화자 특징 벡터와 제2 화자 특징 벡터 간의 유사도가 높다는 것은 제1 오디오 데이터에 대응하는 음성을 말한 사람과 제2 오디오 데이터에 대응하는 음성을 말한 사람이 동일할 가능성이 높다는 것이다.
제2 오디오 데이터가 묵음에 해당할 경우, 화자 특징 벡터 추출부(123)는 제2 오디오 데이터로부터 묵음에 해당하는 제2 화자 특징 벡터를 추출할 수 있다. 화자 특징 벡터 추출부(123)는 제1 오디오 데이터로부터 사용자의 음성에 해당하는 제1 화자 특징 벡터를 추출할 것이므로, 제1 화자 특징 벡터와 제2 화자 특징 벡터 간의 유사도는 낮을 수 있다.
음성 인식부(125)는 오디오 처리부(121)에서 생성된 오디오 스트림 데이터에서 제3 구간에 해당하는 제3 오디오 데이터를 수신하고, 제3 오디오 데이터를 음성 인식할 수 있다. 다른 예에 따르면, 음성 인식부(125)는 제3 오디오 데이터가 외부(예컨대, 서버(200))에서 음성 인식되도록 제3 오디오 데이터를 외부에 전송하고, 음성 인식 결과를 수신할 수 있다.
기능부(126)는 키워드에 대응하는 기능을 수행할 수 있다. 예컨대, 음성 제어 장치(100)가 스마트 스피커인 경우, 기능부(126)는 음악 재생부, 음성 정보 제공부, 주변 기기 제어부 등을 포함할 수 있으며, 검출된 키워드에 대응하는 기능을 수행할 수 있다. 음성 제어 장치(100)가 스마트 폰인 경우, 기능부(126)는 전화 연결부, 문자 송수신부, 인터넷 검색부 등을 포함할 수 있으며, 검출된 키워드에 대응하는 기능을 수행할 수 있다. 기능부(126)는 음성 제어 장치(100)의 종류에 따라 다양하게 구성될 수 있다. 기능부(126)는 음성 제어 장치(100)가 실행할 수 있는 다양한 기능들을 수행하기 위한 기능 블럭들을 포괄적으로 나타낸 것이다.
도 3에 도시된 음성 제어 장치(100)는 음성 인식부(125)를 포함하는 것으로 도시되어 있지만, 이는 예시적이며, 음성 제어 장치(100)는 음성 인식부(125)를 포함하지 않고, 도 2에 도시된 서버(200)가 음성 인식 기능을 대신 수행할 수 있다. 이 경우, 도 1에 도시된 바와 같이 음성 제어 장치(100)는 네트워크(300)를 통해 음성 인식 기능을 수행하는 서버(200)에 접속될 수 있다. 음성 제어 장치(100)는 음성 인식이 필요한 음성 신호를 포함하는 음성 파일을 서버(200)에 제공할 수 있으며, 서버(200)는 음성 파일 내의 음성 신호에 대하여 음성 인식을 수행하여 음성 신호에 대응하는 문자열을 생성할 수 있다. 서버(200)는 생성된 문자열을 네트워크(300)를 통해 음성 제어 장치(100)에 송신할 수 있다. 그러나, 아래에서는 음성 제어 장치(100)가 음성 인식 기능을 수행하는 음성 인식부(125)를 포함하는 것으로 가정하고 설명한다.
프로세서(120)는 동작 방법을 위한 프로그램 파일에 저장된 프로그램 코드를 메모리(110)에 로딩할 수 있다. 예를 들면, 음성 제어 장치(100)에는 프로그램 파일에 따라 프로그램이 설치(install)될 수 있다. 이때 음성 제어 장치(100)에 설치된 프로그램이 실행되는 경우, 프로세서(120)는 프로그램 코드를 메모리(110)에 로딩할 수 있다. 이때, 프로세서(120)가 포함하는 오디오 처리부(121), 키워드 검출부(122), 화자 특징 벡터 추출부(123), 웨이크업 판단부(124), 음성 인식부(125) 및 기능부(126) 중 적어도 일부의 각각은 메모리(110)에 로딩된 프로그램 코드 중 대응하는 코드에 따른 명령을 실행하여 도 4의 단계들(S110 내지 S190)을 실행하도록 구현될 수 있다.
이후에서 프로세서(120)의 기능 블럭들(121-126)이 음성 제어 장치(100)를 제어하는 것은 프로세서(120)가 음성 제어 장치(100)의 다른 구성요소들을 제어하는 것으로 이해될 수 있다. 예를 들어, 프로세서(120)는 음성 제어 장치(100)가 포함하는 통신 모듈(130)을 제어하여 음성 제어 장치(100)가 예컨대 서버(200)와 통신하도록 음성 제어 장치(100)를 제어할 수 있다.
단계(S110)에서 프로세서(120), 예컨대, 오디오 처리부(121)는 주변 소리에 대응하는 오디오 신호를 수신한다. 오디오 처리부(121)는 지속적으로 주변 소리에 대응하는 오디오 신호를 수신할 수 있다. 오디오 신호는 마이크(151)와 같은 입력 장치가 주변 소리에 대응하여 생성한 전기 신호일 수 있다.
단계(S120)에서 프로세서(120), 예컨대, 오디오 처리부(121)는 마이크(151)로부터의 오디오 신호를 기초로 오디오 스트림 데이터를 생성한다. 오디오 스트림 데이터는 지속적으로 수신되는 오디오 신호에 대응한 것이다. 오디오 스트림 데이터는 오디오 신호를 필터링하고 디지털화함으로써 생성되는 데이터일 수 있다.
단계(S130)에서 프로세서(120), 예컨대, 오디오 처리부(121)는 단계(S120)에서 생성되는 오디오 스트림 데이터를 메모리(110)에 일시적으로 저장한다. 메모리(110)는 한정된 크기를 가지며, 현재로부터 최근 일정 시간 동안의 오디오 신호에 대응하는 오디오 스트림 데이터의 일부가 메모리(110)에 일시적으로 저장될 수 있다. 새로운 오디오 스트림 데이터가 생성되면, 메모리(110)에 저장된 오디오 스트림 데이터 중에서 가장 오래된 데이터가 삭제되고, 메모리(110) 내의 삭제에 의해 비게 된 공간에 새로운 오디오 스트림 데이터가 저장될 수 있다.
단계(S140)에서 프로세서(120), 예컨대, 키워드 검출부(122)는 단계(S120)에서 생성되는 오디오 스트림 데이터로부터 미리 정의된 키워드에 대응하는 후보 키워드를 검출한다. 후보 키워드는 미리 정의된 키워드와 유사한 발음을 갖는 단어로서, 단계(S140)에서 키워드 검출부(122)에서 키워드로서 검출된 워드를 지칭한다.
단계(S150)에서 프로세서(120), 예컨대, 키워드 검출부(122)는 오디오 스트림 데이터에서 후보 키워드가 검출된 키워드 검출 구간을 식별하고, 키워드 검출 구간의 시점과 종점을 결정한다. 키워드 검출 구간은 현재 구간으로 지칭될 수 있다. 오디오 스트림 데이터에서 현재 구간에 대응하는 데이터는 제1 오디오 데이터로 지칭될 수 있다.
단계(S160)에서 프로세서(120), 예컨대, 화자 특징 벡터 추출부(123)는 메모리(110)로부터 이전 구간에 해당하는 제2 오디오 데이터를 독출한다. 이전 구간은 현재 구간의 바로 직전 구간으로서, 이전 구간의 종점은 현재 구간의 시점과 동일할 수 있다. 화자 특징 벡터 추출부(123)는 메모리(110)로부터 제1 오디오 데이터도 함께 독출할 수 있다.
단계(S170)에서 프로세서(120), 예컨대, 화자 특징 벡터 추출부(123)는 제1 오디오 데이터로부터 제1 화자 특징 벡터를 추출하고, 제2 오디오 데이터로부터 제2 화자 특징 벡터를 추출한다. 제1 화자 특징 벡터는 제1 오디오 데이터에 대응하는 음성의 화자를 식별하기 위한 지표이고, 제2 화자 특징 벡터는 제2 오디오 데이터에 대응하는 음성의 화자를 식별하기 위한 지표이다. 프로세서(120), 예컨대, 웨이크업 판단부(124)는 제1 화자 특징 벡터와 제2 화자 특징 벡터 간의 유사도를 기초로 제1 오디오 데이터에 키워드가 포함되었는지의 여부를 판단할 수 있다. 웨이크업 판단부(124)는 제1 오디오 데이터에 키워드가 포함되었다고 판단할 경우, 음성 제어 장치(100)의 일부 구성요소들을 웨이크업 할 수 있다.
단계(S180)에서 프로세서(120), 예컨대, 웨이크업 판단부(124)는 제1 화자 특징 벡터와 제2 화자 특징 벡터 간의 유사도를 미리 설정된 기준치와 비교한다.
웨이크업 판단부(124)는 제1 화자 특징 벡터와 제2 화자 특징 벡터 간의 유사도가 미리 설정된 기준치 이하인 경우, 현재 구간의 제1 오디오 데이터의 화자와 이전 구간의 제2 오디오 데이터의 화자가 서로 상이하다는 것이므로, 제1 오디오 데이터에 키워드가 포함되었다고 판단할 수 있다. 이 경우, 단계(S190)에서와 같이 프로세서(120), 예컨대, 웨이크업 판단부(124)는 음성 제어 장치(100)의 일부 구성요소들을 웨이크업 할 수 있다.
그러나, 웨이크업 판단부(124)는 제1 화자 특징 벡터와 제2 화자 특징 벡터 간의 유사도가 미리 설정된 기준치보다 큰 경우, 현재 구간의 제1 오디오 데이터의 화자와 이전 구간의 제2 오디오 데이터의 화자가 서로 동일하다는 것이므로, 제1 오디오 데이터에 키워드가 포함되지 않았다고 판단하여, 웨이크업을 진행하지 않을 수 있다. 이 경우, 단계(S110)로 진행하여 주변 소리에 대응하는 오디오 신호를 수신한다. 단계(S110)에서 오디오 신호의 수신은 단계들(S120-S190)을 수행할 때에도 계속된다.
도 3의 키워드 저장소(110a)에는 미리 정의된 복수의 키워드들이 저장될 수 있다. 이러한 키워드들은 웨이크업 키워드이거나 단독 명령 키워드일 수 있다. 웨이크업 키워드는 음성 제어 장치(100)의 일부 기능을 웨이크업 하기 위한 것이다. 일반적으로 사용자는 웨이크업 키워드를 발화한 후 원하는 자연어 음성 명령을 발화한다. 음성 제어 장치(100)는 자연어 음성 명령을 음성 인식하고, 자연어 음성 명령에 대응하는 동작 및 기능을 수행할 수 있다.
단독 명령 키워드는 음성 제어 장치(100)가 특정 동작 또는 기능을 직접 수행하기 위한 것으로서, 예컨대, “재생”, “중지” 등과 같이 미리 정의된 간단한 단어일 수 있다. 음성 제어 장치(100)는 단독 명령 키워드가 수신되면, 단독 명령 키워드에 해당하는 기능을 웨이크업하고, 해당 기능을 수행할 수 있다.
아래에서는 오디오 스트림 데이터로부터 단독 명령 키워드에 대응하는 후보 키워드를 검출한 경우와 오디오 스트림 데이터로부터 웨이크업 키워드에 대응하는 후보 키워드를 검출한 경우 각각에 대하여 설명한다.
도 5는 다른 실시예에 따라서 음성 제어 장치가 수행할 수 있는 동작 방법의 예를 도시한 흐름도이다.
도 6a는 일 실시예에 따른 음성 제어 장치가 도 5의 동작 방법을 실행하는 경우에 단독 명령 키워드가 발화되는 예를 도시하고, 도 6b는 일 실시예에 따른 음성 제어 장치가 도 5의 동작 방법을 실행하는 경우에 일반 대화 음성이 발화되는 예를 도시한다.
도 5의 동작 방법은 도 4의 동작 방법과 실질적으로 동일한 단계들을 포함한다. 도 5의 단계들 중에서 도 4의 단계들과 실질적으로 동일한 단계들에 대해서는 자세히 설명하지 않는다. 도 6a와 도 6b에는 오디오 스트림 데이터에 대응하는 오디오 신호들과 오디오 신호들에 대응하는 사용자의 음성이 도시된다. 도 6a에는 음성 “중지”에 대응하는 오디오 신호들이 도시되고, 도 6b에는 음성 “여기서 정지해”에 대응하는 오디오 신호들이 도시된다.
도 6a 및 도 6b와 함께 도 5를 참조하면, 단계(S210)에서 프로세서(120), 예컨대, 오디오 처리부(121)는 주변 소리에 대응하는 오디오 신호를 수신한다.
단계(S220)에서 프로세서(120), 예컨대, 오디오 처리부(121)는 마이크(151)로부터의 오디오 신호를 기초로 오디오 스트림 데이터를 생성한다.
단계(S230)에서 프로세서(120), 예컨대, 오디오 처리부(121)는 단계(S220)에서 생성되는 오디오 스트림 데이터를 메모리(110)에 일시적으로 저장한다.
단계(S240)에서 프로세서(120), 예컨대, 키워드 검출부(122)는 단계(S220)에서 생성되는 오디오 스트림 데이터로부터 미리 정의된 단독 명령 키워드에 대응하는 후보 키워드를 검출한다. 단독 명령 키워드는 음성 제어 장치(100)의 동작을 직접 제어할 수 있는 음성 키워드일 수 있다. 예컨대, 단독 명령 키워드는 도 6a에 도시된 바와 같이 “중지”와 같은 단어일 수 있다. 이 경우, 음성 제어 장치(100)는 예컨대 음악이나 동영상을 재생하고 있을 수 있다.
도 6a의 예에서, 키워드 검출부(122)는 오디오 신호들에서 “중지”라는 후보 키워드를 검출할 수 있다. 도 6b의 예에서, 키워드 검출부(122)는 오디오 신호들에서 “중지”라는 키워드와 유사한 발음을 갖는 단어인 “정지”라는 후보 키워드를 검출할 수 있다.
단계(S250)에서 프로세서(120), 예컨대, 키워드 검출부(122)는 오디오 스트림 데이터에서 후보 키워드가 검출된 키워드 검출 구간을 식별하고, 키워드 검출 구간의 시점과 종점을 결정한다. 키워드 검출 구간은 현재 구간으로 지칭될 수 있다. 오디오 스트림 데이터에서 현재 구간에 대응하는 데이터는 제1 오디오 데이터로 지칭될 수 있다.
도 6a의 예에서, 키워드 검출부(122)는 “중지”라는 후보 키워드를 검출한 구간을 현재 구간으로 식별하고, 현재 구간의 시점과 종점을 결정할 수 있다. 상기 현재 구간에 대응하는 오디오 데이터는 제1 오디오 데이터(AD1)로 지칭될 수 있다.
도 6b의 예에서, 키워드 검출부(122)는 “정지”라는 후보 키워드를 검출한 구간을 현재 구간으로 식별하고, 현재 구간의 시점과 종점을 결정할 수 있다. 상기 현재 구간에 대응하는 오디오 데이터는 제1 오디오 데이터(AD1)로 지칭될 수 있다.
또한, 단계(S250)에서 프로세서(120), 예컨대, 키워드 검출부(122)는 검출된 후보 키워드가 웨이크업 키워드와 단독 명령 키워드 중 어떤 키워드에 대응하는 후보 키워드인지를 판단할 수 있다. 도 6a와 도 6b의 예에서, 키워드 검출부(122)는 검출된 후보 키워드, 즉, “중지” 및 “정지”가 단독 명령 키워드에 대응하는 후보 키워드라는 것을 판단할 수 있다.
단계(S260)에서 프로세서(120), 예컨대, 화자 특징 벡터 추출부(123)는 메모리(110)로부터 이전 구간에 해당하는 제2 오디오 데이터를 독출한다. 이전 구간은 현재 구간의 바로 직전 구간으로서, 이전 구간의 종점은 현재 구간의 시점과 동일할 수 있다. 화자 특징 벡터 추출부(123)는 메모리(110)로부터 제1 오디오 데이터도 함께 독출할 수 있다.
도 6a의 예에서, 화자 특징 벡터 추출부(123)는 현재 구간의 바로 직전 구간인 이전 구간에 대응하는 제2 오디오 데이터(AD2)를 메모리(110)로부터 독출할 수 있다. 도 6b의 예에서, 화자 특징 벡터 추출부(123)는 현재 구간의 바로 직전 구간인 이전 구간에 대응하는 제2 오디오 데이터(AD2)를 메모리(110)로부터 독출할 수 있다. 도 6b의 예에서, 제2 오디오 데이터(AD2)는 “기서”라는 음성에 대응할 수 있다. 이전 구간의 길이는 검출된 후보 키워드에 따라 가변적으로 설정될 수 있다.
단계(S270)에서 프로세서(120), 예컨대, 화자 특징 벡터 추출부(123)는 오디오 처리부(121)로부터 현재 구간 이후의 다음 구간에 해당하는 제3 오디오 데이터를 수신한다. 다음 구간은 현재 구간의 바로 다음 구간으로서, 다음 구간의 시점은 현재 구간의 종점과 동일할 수 있다.
도 6a의 예에서, 화자 특징 벡터 추출부(123)는 현재 구간 직후의 다음 구간에 대응하는 제3 오디오 데이터(AD3)를 오디오 처리부(121)로부터 수신할 수 있다. 도 6b의 예에서, 화자 특징 벡터 추출부(123)는 현재 구간 직후의 다음 구간에 대응하는 제3 오디오 데이터(AD3)를 오디오 처리부(121)로부터 수신할 수 있다. 도 6b의 예에서, 제3 오디오 데이터(AD3)는 “해”라는 음성에 대응할 수 있다. 다음 구간의 길이는 검출된 후보 키워드에 따라 가변적으로 설정될 수 있다.
단계(S280)에서 프로세서(120), 예컨대, 화자 특징 벡터 추출부(123)는 제1 내지 제3 오디오 데이터로부터 제1 내지 제3 화자 특징 벡터들을 각각 추출한다. 제1 내지 제3 화자 특징 벡터들 각각은 제1 내지 제3 오디오 데이터에 대응하는 음성의 화자를 식별하기 위한 지표들이다. 프로세서(120), 예컨대, 웨이크업 판단부(124)는 제1 화자 특징 벡터와 제2 화자 특징 벡터 간의 유사도, 및 제1 화자 특징 벡터와 제3 화자 특징 벡터 간의 유사도를 기초로 제1 오디오 데이터에 단독 명령 키워드가 포함되었는지의 여부를 판단할 수 있다. 웨이크업 판단부(124)는 제1 오디오 데이터에 단독 명령 키워드가 포함되었다고 판단할 경우, 음성 제어 장치(100)의 일부 구성요소들을 웨이크업 할 수 있다.
도 6a의 예에서, 제1 오디오 데이터(AD1)에 대응하는 제1 화자 특징 벡터는 “중지”라는 음성을 발성한 화자를 식별하기 위한 지표이다. 제2 오디오 데이터(AD2)와 제3 오디오 데이터(AD3)는 실질적으로 묵음이므로, 제2 및 제3 화자 특징 벡터는 묵음에 대응하는 벡터를 가질 수 있다. 따라서, 제1 화자 특징 벡터와 제2 및 제3 화자 특징 벡터들 간의 유사도는 낮을 수 있다.
다른 예로서, 이전 구간과 다음 구간에 “중지”라는 음성을 발성한 화자가 아닌 다른 사람이 음성을 발성하는 경우, 제2 및 제3 화자 특징 벡터는 상기 다른 사람에 대응한 벡터를 가질 것이므로, 제1 화자 특징 벡터와 제2 및 제3 화자 특징 벡터들 간의 유사도는 낮을 수 있다.
도 6b의 예에서는 한 사람이 “여기서 정지해”라고 발성하였다. 따라서, “정지”에 대응하는 제1 오디오 데이터(AD1)로부터 추출되는 제1 화자 특징 벡터, “기서”에 대응하는 제2 오디오 데이터(AD2)로부터 추출되는 제2 화자 특징 벡터, 및 “해”에 대응하는 제3 오디오 데이터(AD3)로부터 추출되는 제3 화자 특징 벡터는 모두 실질적으로 동일한 화자를 식별하기 위한 벡터이므로, 제1 내지 제3 화자 특징 벡터들 간의 유사도는 높을 수 있다.
단계(S290)에서 프로세서(120), 예컨대, 웨이크업 판단부(124)는 제1 화자 특징 벡터와 제2 화자 특징 벡터 간의 유사도를 미리 설정된 기준치와 비교하고, 제1 화자 특징 벡터와 제3 화자 특징 벡터 간의 유사도를 미리 설정된 기준치와 비교한다. 웨이크업 판단부(124)는 제1 화자 특징 벡터와 제2 화자 특징 벡터 간의 유사도가 미리 설정된 기준치 이하이고 제1 화자 특징 벡터와 제3 화자 특징 벡터 간의 유사도가 미리 설정된 기준치 이하인 경우, 현재 구간의 제1 오디오 데이터의 화자는 이전 구간의 제2 오디오 데이터의 화자 및 다음 구간의 제3 오디오 데이터의 화자로부터 상이하다는 것이므로, 제1 오디오 데이터에 단독 명령 키워드가 포함되었다고 판단할 수 있다. 이 경우, 단계(S300)에서와 같이 프로세서(120), 예컨대, 웨이크업 판단부(124)는 단독 명령 키워드를 기능부(126)에 제공하고, 기능부(126)는 웨이크업 판단부(124)에 의한 제1 오디오 데이터에 단독 명령 키워드가 포함되었다는 판단에 응답하여 단독 명령 키워드에 대응하는 기능을 수행할 수 있다.
도 6a의 예에서, 제1 화자 특징 벡터는 “중지”라고 발성한 화자에 대응하는 벡터이고, 제2 및 제3 화자 특징 벡터들은 묵음에 대응한 벡터이므로, 제1 화자 특징 벡터와 제2 및 제3 화자 특징 벡터들 간의 유사도들은 미리 설정된 기준치보다 낮을 수 있다. 이 경우, 웨이크업 판단부(124)는 제1 오디오 데이터(AD1)에 “중지”라는 단독 명령 키워드가 포함되었다고 판단할 수 있다. 이 경우, 기능부(126)는 상기 판단에 응답하여 웨이크업 될 수 있으며, “중지”라는 단독 명령 키워드에 대응하는 동작 또는 기능을 수행할 수 있다. 예컨대, 음성 제어 장치(100)가 음악을 재생 중이었다면, 기능부(126)는 “중지”라는 단독 명령 키워드에 대응하여 음악 재생을 중지시킬 수 있다.
그러나, 웨이크업 판단부(124)는 제1 화자 특징 벡터와 제2 화자 특징 벡터 간의 유사도가 미리 설정된 기준치보다 크거나, 제1 화자 특징 벡터와 제3 화자 특징 벡터 간의 유사도가 미리 설정된 기준치보다 큰 경우, 현재 구간의 제1 오디오 데이터의 화자가 이전 구간의 제2 오디오 데이터의 화자 또는 다음 구간의 제3 오디오 데이터의 화자와 동일하다는 것이므로, 제1 오디오 데이터에 키워드가 포함되지 않았다고 판단하여, 웨이크업을 진행하지 않을 수 있다. 이 경우, 단계(S210)로 진행하여 주변 소리에 대응하는 오디오 신호를 수신한다.
도 6b의 예에서, 한 사람이 “여기서 정지해”라고 발성하였으므로, 제1 내지 제3 화자 특징 벡터들 간의 유사도는 높을 것이다. 도 6b의 예에서의 발성인 “여기에 정지해”에는 음성 제어 장치를 제어하거나 웨이크업 하기 위한 키워드가 포함되지 않았으므로, 웨이크업 판단부(124)는 제1 오디오 데이터(AD1)에 단독 명령 키워드가 포함되지 않았다고 판단하고, 기능부(126)가 “정지” 또는 “중지”에 해당하는 기능이나 동작을 수행하지 않도록 할 수 있다.
일반적인 기술에 따르면, 음성 제어 장치는 “여기서 정지해”라는 발성 중 “정지”라는 음성을 검출하여, “정지”에 해당하는 기능이나 동작을 수행할 수 있다. 이러한 기능이나 동작은 사용자가 의도하지 않은 것으로서, 사용자는 음성 제어 장치를 사용할 때 불편함을 느낄 수 있다. 그러나, 일 실시예에 따르면, 음성 제어 장치(100)는 사용자의 음성으로부터 단독 명령 키워드를 정확히 인식할 수 있기 때문에, 일반적인 기술과는 달리 오동작을 수행하지 않을 수 있다.
도 7은 또 다른 실시예에 따라서 음성 제어 장치가 수행할 수 있는 동작 방법의 예를 도시한 흐름도이다.
도 8a는 일 실시예에 따른 음성 제어 장치가 도 7의 동작 방법을 실행하는 경우에 웨이크업 키워드와 자연어 음성 명령이 발화되는 예를 도시하고, 도 8b는 일 실시예에 따른 음성 제어 장치가 도 7의 동작 방법을 실행하는 경우에 일반 대화 음성이 발화되는 예를 도시한다.
도 7의 동작 방법은 도 4의 동작 방법과 실질적으로 동일한 단계들을 포함한다. 도 7의 단계들 중에서 도 4의 단계들과 실질적으로 동일한 단계들에 대해서는 자세히 설명하지 않는다. 도 6a와 도 6b에는 오디오 스트림 데이터에 대응하는 오디오 신호들과 오디오 신호들에 대응하는 사용자의 음성이 도시된다. 도 8a에는 웨이크업 키워드 “클로바”와 자연어 음성 명령 “내일 날씨를 알려줘”에 대응하는 오디오 신호들이 도시되고, 도 6b에는 “네잎 클로바를 어떻게 찾을 수 있어”라는 대화 음성에 대응하는 오디오 신호들이 도시된다.
도 8a 및 도 8b와 함께 도 7를 참조하면, 단계(S410)에서 프로세서(120), 예컨대, 오디오 처리부(121)는 주변 소리에 대응하는 오디오 신호를 수신한다. 단계(S420)에서 프로세서(120), 예컨대, 오디오 처리부(121)는 마이크(151)로부터의 오디오 신호를 기초로 오디오 스트림 데이터를 생성한다. 단계(S430)에서 프로세서(120), 예컨대, 오디오 처리부(121)는 단계(S120)에서 생성되는 오디오 스트림 데이터를 메모리(110)에 일시적으로 저장한다.
단계(S440)에서 프로세서(120), 예컨대, 키워드 검출부(122)는 단계(S420)에서 생성되는 오디오 스트림 데이터로부터 미리 정의된 웨이크업 키워드에 대응하는 후보 키워드를 검출한다. 웨이크업 키워드는 슬립 모드 상태의 음성 제어 장치를 웨이크업 모드로 전환할 수 있는 음성 기반 키워드이다. 예컨대, 웨이크업 키워드는 “클로바”, “하이 컴퓨터” 등과 같은 음성 키워드일 수 있다.
도 8a의 예에서, 키워드 검출부(122)는 오디오 신호들에서 “클로바”라는 후보 키워드를 검출할 수 있다. 도 6b의 예에서, 키워드 검출부(122)는 오디오 신호들에서 “클로바”라는 키워드와 유사한 발음을 갖는 단어인 “클로버”라는 후보 키워드를 검출할 수 있다.
단계(S450)에서 프로세서(120), 예컨대, 키워드 검출부(122)는 오디오 스트림 데이터에서 후보 키워드가 검출된 키워드 검출 구간을 식별하고, 키워드 검출 구간의 시점과 종점을 결정한다. 키워드 검출 구간은 현재 구간으로 지칭될 수 있다. 오디오 스트림 데이터에서 현재 구간에 대응하는 데이터는 제1 오디오 데이터로 지칭될 수 있다.
도 8a의 예에서, 키워드 검출부(122)는 “클로바”라는 후보 키워드를 검출한 구간을 현재 구간으로 식별하고, 현재 구간의 시점과 종점을 결정할 수 있다. 상기 현재 구간에 대응하는 오디오 데이터는 제1 오디오 데이터(AD1)로 지칭될 수 있다. 도 8b의 예에서, 키워드 검출부(122)는 “클로버”라는 후보 키워드를 검출한 구간을 현재 구간으로 식별하고, 현재 구간의 시점과 종점을 결정할 수 있다. 상기 현재 구간에 대응하는 오디오 데이터는 제1 오디오 데이터(AD1)로 지칭될 수 있다.
또한, 단계(S450)에서 프로세서(120), 예컨대, 키워드 검출부(122)는 검출된 후보 키워드가 웨이크업 키워드와 단독 명령 키워드 중 어떤 키워드에 대응하는 후보 키워드인지를 판단할 수 있다. 도 8a와 도 8b의 예에서, 키워드 검출부(122)는 검출된 후보 키워드, 즉, “클로바” 및 “클로버”가 웨이크업 키워드에 대응하는 후보 키워드라는 것을 판단할 수 있다.
단계(S460)에서 프로세서(120), 예컨대, 화자 특징 벡터 추출부(123)는 메모리(110)로부터 이전 구간에 해당하는 제2 오디오 데이터를 독출한다. 이전 구간은 현재 구간의 바로 직전 구간으로서, 이전 구간의 종점은 현재 구간의 시점과 동일할 수 있다. 화자 특징 벡터 추출부(123)는 메모리(110)로부터 제1 오디오 데이터도 함께 독출할 수 있다.
도 8a의 예에서, 화자 특징 벡터 추출부(123)는 현재 구간의 바로 직전 구간인 이전 구간에 대응하는 제2 오디오 데이터(AD2)를 메모리(110)로부터 독출할 수 있다. 도 8b의 예에서, 화자 특징 벡터 추출부(123)는 현재 구간의 바로 직전 구간인 이전 구간에 대응하는 제2 오디오 데이터(AD2)를 메모리(110)로부터 독출할 수 있다. 도 8b의 예에서, 제2 오디오 데이터(AD2)는 “네잎”이라는 음성에 대응할 수 있다. 이전 구간의 길이는 검출된 후보 키워드에 따라 가변적으로 설정될 수 있다.
단계(S470)에서 프로세서(120), 예컨대, 화자 특징 벡터 추출부(123)는 제1 및 제2 오디오 데이터로부터 제1 및 제2 화자 특징 벡터들을 각각 추출한다. 프로세서(120), 예컨대, 웨이크업 판단부(124)는 제1 화자 특징 벡터와 제2 화자 특징 벡터 간의 유사도를 기초로 제1 오디오 데이터에 웨이크업 키워드가 포함되었는지의 여부를 판단할 수 있다. 웨이크업 판단부(124)는 제1 오디오 데이터에 웨이크업 키워드가 포함되었다고 판단할 경우, 음성 제어 장치(100)의 일부 구성요소들을 웨이크업 할 수 있다.
도 8a의 예에서, 제1 오디오 데이터(AD1)에 대응하는 제1 화자 특징 벡터는 “클로바”라는 음성을 발성한 화자를 식별하기 위한 지표이다. 제2 오디오 데이터(AD2)는 실질적으로 묵음이므로, 제2 화자 특징 벡터는 묵음에 대응하는 벡터를 가질 수 있다. 따라서, 제1 화자 특징 벡터와 제2 화자 특징 벡터 간의 유사도는 낮을 수 있다.
다른 예로서, 이전 구간에 “클로바”라는 음성을 발성한 화자가 아닌 다른 사람이 음성을 발성하는 경우, 제2 화자 특징 벡터는 상기 다른 사람에 대응한 벡터를 가질 것이므로, 제1 화자 특징 벡터와 제2 화자 특징 벡터들 간의 유사도는 낮을 수 있다.
도 8b의 예에서는 한 사람이 “네잎 클로버를 어떻게 찾을 수 있어”라고 발성하였다. 따라서, “클로버”에 대응하는 제1 오디오 데이터(AD1)로부터 추출되는 제1 화자 특징 벡터와 “네잎”에 대응하는 제2 오디오 데이터(AD2)로부터 추출되는 제2 화자 특징 벡터는 모두 실질적으로 동일한 화자를 식별하기 위한 벡터이므로, 제1 및 제2 화자 특징 벡터들 간의 유사도는 높을 수 있다.
단계(S480)에서 프로세서(120), 예컨대, 웨이크업 판단부(124)는 제1 및 제2 화자 특징 벡터들 간의 유사도를 미리 설정된 기준치와 비교한다. 웨이크업 판단부(124)는 제1 및 제2 화자 특징 벡터들 간의 유사도가 미리 설정된 기준치보다 큰 경우, 현재 구간의 제1 오디오 데이터의 화자와 이전 구간의 제2 오디오 데이터의 화자가 서로 동일하다는 것이므로, 제1 오디오 데이터에 키워드가 포함되지 않았다고 판단하여, 웨이크업을 진행하지 않을 수 있다. 이 경우, 단계(S410)로 진행하며, 프로세서(120), 예컨대, 오디오 처리부(121)는 주변 소리에 대응하는 오디오 신호를 수신한다.
도 8b의 예에서, 한 사람이 “네잎 클로버...”라고 발성하였으므로, 제1 및 제2 화자 특징 벡터들 간의 유사도는 높을 것이다. 도 8b의 예에서, “네잎 클로버”라고 발성한 사람은 음성 제어 장치(100)를 웨이크업 하려는 의도가 없다고 판단하고, 웨이크업 판단부(124)는 제1 오디오 데이터(AD1)에 웨이크업 키워드가 포함되지 않았다고 판단하고, 음성 제어 장치(100)를 웨이크업 하지 않을 수 있다.
웨이크업 판단부(124)는 제1 및 제2 화자 특징 벡터들 간의 유사도가 미리 설정된 기준치 이하인 경우, 현재 구간의 제1 오디오 데이터의 화자와 이전 구간의 제2 오디오 데이터의 화자가 서로 상이하다는 것이므로, 제1 오디오 데이터에 키워드가 포함되었다고 판단할 수 있다. 이 경우, 웨이크업 판단부(124)는 음성 제어 장치(100)의 일부 구성요소들을 웨이크업 할 수 있다. 예컨대, 웨이크업 판단부(124)는 음성 인식부(125)를 웨이크업 할 수 있다.
도 8a의 예에서, 제1 화자 특징 벡터는 “클로바”라고 발성한 화자에 대응하는 벡터이고, 제2 화자 특징 벡터는 묵음에 대응한 벡터이므로, 제1 및 제2 화자 특징 벡터들 간의 유사도는 미리 설정된 기준치보다 낮을 수 있다. 이 경우, 웨이크업 판단부(124)는 제1 오디오 데이터(AD1)에 “클로바”라는 웨이크업 키워드가 포함되었다고 판단할 수 있다. 이 경우, 음성 인식부(125)는 자연어 음성 명령을 인식하기 위해 웨이크업 할 수 있다.
단계(S490)에서 프로세서(120), 예컨대, 음성 인식부(125)는 오디오 처리부(121)로부터 현재 구간 이후의 다음 구간에 해당하는 제3 오디오 데이터를 수신한다. 다음 구간은 현재 구간의 바로 다음 구간으로서, 다음 구간의 시점은 현재 구간의 종점과 동일할 수 있다.
음성 인식부(125)는 제3 오디오 데이터에서 미리 설정한 길이의 묵음이 검출될 때 다음 구간의 종점을 결정할 수 있다. 음성 인식부(125)는 제3 오디오 데이터를 음성 인식할 수 있다. 음성 인식부(125)는 다양한 방식으로 제3 오디오 데이터를 음성 인식할 수 있다. 다른 예에 따르면, 음성 인식부(125)는 제3 오디오 데이터의 음성 인식 결과를 얻기 위해, 외부 장치, 예컨대, 도 2에 도시되는 음성 인식 기능을 갖는 서버(200)로 제3 오디오 데이터를 전송할 수 있다. 서버(200)는 제3 오디오 데이터를 수신하고, 제3 오디오 데이터를 음성 인식함으로써 제3 오디오 데이터에 대응하는 문자열(텍스트)를 생성하고, 생성된 문자열(텍스트)를 음성 인식 결과로서 음성 인식부(125)로 전송할 수 있다.
도 8a의 예에서, 다음 구간의 제3 오디오 데이터는 “내일 날씨를 알려줘”와 같은 자연어 음성 명령이다. 음성 인식부(125)는 제3 오디오 데이터를 직접 음성 인식하여 음성 인식 결과를 생성하거나, 제3 오디오 데이터가 음성 인식되도록 외부(예컨대, 서버(200))에 전송할 수 있다.
단계(S500)에서 프로세서(120), 예컨대, 기능부(126)는 제3 오디오 데이터의 음성 인식 결과에 대응하는 기능을 수행할 수 있다. 도 8a의 예에서, 기능부(126)는 내일 날씨를 검색하여 결과를 제공하는 음성 정보 제공부일 수 있으며, 기능부(126)는 인터넷을 이용하여 내일 날씨를 검색하고, 그 결과를 사용자에게 제공할 수 있다. 기능부(126)는 내일 날씨의 검색 결과를 스피커(152)를 이용하여 음성으로 제공할 수도 있다. 기능부(126)는 제3 오디오 데이터의 음성 인식 결과에 응답하여 웨이크업 될 수 있다.
이상 설명된 본 발명에 따른 실시예는 컴퓨터 상에서 다양한 구성요소를 통하여 실행될 수 있는 컴퓨터 프로그램의 형태로 구현될 수 있으며, 이와 같은 컴퓨터 프로그램은 컴퓨터로 판독 가능한 매체에 기록될 수 있다. 이때, 매체는 컴퓨터로 실행 가능한 프로그램을 계속 저장하거나, 실행 또는 다운로드를 위해 임시 저장하는 것일 수도 있다. 또한, 매체는 단일 또는 수개 하드웨어가 결합된 형태의 다양한 기록수단 또는 저장수단일 수 있는데, 어떤 컴퓨터 시스템에 직접 접속되는 매체에 한정되지 않고, 네트워크 상에 분산 존재하는 것일 수도 있다. 매체의 예시로는, 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM 및 DVD와 같은 광기록 매체, 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical medium), 및 ROM, RAM, 플래시 메모리 등을 포함하여 프로그램 명령어가 저장되도록 구성된 것이 있을 수 있다. 또한, 다른 매체의 예시로, 애플리케이션을 유통하는 앱 스토어나 기타 다양한 소프트웨어를 공급 내지 유통하는 사이트, 서버 등에서 관리하는 기록매체 내지 저장매체도 들 수 있다.
본 명세서에서, "부", "모듈" 등은 프로세서 또는 회로와 같은 하드웨어 구성(hardware component), 및/또는 프로세서와 같은 하드웨어 구성에 의해 실행되는 소프트웨어 구성(software component)일 수 있다. 예를 들면, "부", "모듈" 등은 소프트웨어 구성 요소들, 객체 지향 소프트웨어 구성 요소들, 클래스 구성 요소들 및 태스크 구성 요소들과 같은 구성 요소들과, 프로세스들, 함수들, 속성들, 프로시저들, 서브루틴들, 프로그램 코드의 세그먼트들, 드라이버들, 펌웨어, 마이크로 코드, 회로, 데이터, 데이터베이스, 데이터 구조들, 테이블들, 어레이들 및 변수들에 의해 구현될 수 있다.
전술한 본 발명의 설명은 예시를 위한 것이며, 본 발명이 속하는 기술분야의 통상의 지식을 가진 자는 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수 있다.
본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.
100: 음성 제어 장치(전자 기기)
110: 메모리
120: 프로세서
121: 오디오 처리부
122: 키워드 검출부
123: 화자 특징 벡터 추출부
124: 웨이크업 판단부
125: 음성 인식부
126: 기능부

Claims (10)

  1. 주변 소리에 대응하는 오디오 신호를 수신하여, 오디오 스트림 데이터를 생성하는 오디오 처리부;
    상기 오디오 스트림 데이터로부터 소정의 키워드에 대응하는 후보 키워드를 검출하고, 상기 오디오 스트림 데이터에서 상기 후보 키워드가 검출된 제1 오디오 데이터에 해당하는 제1 구간을 결정하는 키워드 검출부;
    상기 후보 키워드가 검출되면, 상기 오디오 스트림 데이터에서 상기 제1 구간에 선행하는 제2 구간에 해당하는 제2 오디오 데이터를 결정하고, 상기 제1 오디오 데이터에 대한 제1 화자 특징 벡터, 및 상기 제2 오디오 데이터에 대한 제2 화자 특징 벡터를 추출하는 화자 특징 벡터 추출부; 및
    상기 제1 화자 특징 벡터와 상기 제2 화자 특징 벡터의 유사도를 기초로 상기 제1 오디오 데이터에 상기 키워드가 포함되었는지를 판단하는 웨이크업 판단부를 포함하는 음성 제어 장치.
  2. 제1항에 있어서,
    상기 웨이크업 판단부는 상기 제1 화자 특징 벡터와 상기 제2 화자 특징 벡터 간의 유사도가 미리 설정한 기준치 이하인 경우에 상기 제1 오디오 데이터에 상기 키워드가 포함되었다고 판단하는 것을 특징으로 하는 음성 제어 장치.
  3. 제1항에 있어서,
    상기 키워드 검출부에 의해 상기 오디오 스트림 데이터에서 단독 명령 키워드에 대응하는 상기 후보 키워드가 검출된 경우,
    상기 화자 특징 벡터 추출부는 상기 오디오 스트림 데이터에서 상기 제1 구간에 후행하는 제3 구간에 해당하는 제3 오디오 데이터를 수신하고, 상기 제3 오디오 데이터의 제3 화자 특징 벡터를 추출하고,
    상기 웨이크업 판단부는 상기 제1 화자 특징 벡터와 상기 제2 화자 특징 벡터 간의 유사도 및 상기 제1 화자 특징 벡터와 상기 제3 화자 특징 벡터 간의 유사도를 기초로, 상기 제1 오디오 데이터에 상기 단독 명령 키워드가 포함되었는지를 판단하는 것을 특징으로 하는 음성 제어 장치.
  4. 제3항에 있어서,
    상기 웨이크업 판단부는 상기 제1 화자 특징 벡터와 상기 제2 화자 특징 벡터 간의 유사도가 미리 설정한 기준치 이하이고 상기 제1 화자 특징 벡터와 상기 제3 화자 특징 벡터 간의 유사도가 미리 설정한 기준치 이하인 경우에 상기 제1 오디오 데이터에 상기 단독 명령 키워드가 포함되었다고 판단하는 것을 특징으로 음성 제어 장치.
  5. 제1항에 있어서,
    상기 키워드 검출부에 의해 상기 오디오 스트림 데이터에서 웨이크업 키워드에 대응하는 상기 후보 키워드가 검출된 경우,
    상기 웨이크업 판단부에 의한 상기 제1 오디오 데이터에 상기 웨이크업 키워드가 포함되었다는 판단에 응답하여, 웨이크업 되고, 상기 오디오 스트림 데이터에서 상기 제1 구간에 후행하는 제3 구간에 해당하는 제3 오디오 데이터를 수신하고, 상기 제3 오디오 데이터를 음성 인식하거나 상기 제3 오디오 데이터가 음성 인식되도록 외부에 전송하는 음성 인식부를 더 포함하는 것을 특징으로 하는 음성 제어 장치.
  6. 주변 소리에 대응하는 오디오 신호를 수신하여, 오디오 스트림 데이터를 생성하는 단계;
    상기 오디오 스트림 데이터로부터 소정의 키워드에 대응하는 후보 키워드를 검출하고, 상기 오디오 스트림 데이터에서 상기 후보 키워드가 검출된 제1 오디오 데이터에 해당하는 제1 구간을 결정하는 단계;
    상기 후보 키워드가 검출되면, 상기 오디오 스트림 데이터에서 상기 제1 구간에 선행하는 제2 구간에 해당하는 제2 오디오 데이터를 결정하고, 상기 제1 오디오 데이터에 대한 제1 화자 특징 벡터 및 상기 제2 오디오 데이터에 대한 제2 화자 특징 벡터를 추출하는 단계; 및
    상기 제1 화자 특징 벡터와 상기 제2 화자 특징 벡터의 유사도를 기초로 상기 제1 오디오 데이터에 상기 키워드가 포함되었는지를 판단하고, 웨이크업 여부를 결정하는 단계를 포함하는 음성 제어 장치의 동작 방법.
  7. 제6항에 있어서,
    상기 웨이크업 여부를 결정하는 단계는,
    상기 제1 화자 특징 벡터와 상기 제2 화자 특징 벡터 간의 유사도가 미리 설정한 기준치와 비교하는 단계;
    상기 유사도가 상기 미리 설정한 기준치 이하인 경우에 상기 제1 오디오 데이터에 상기 키워드가 포함되었다고 판단하고 웨이크업 하는 단계; 및
    상기 유사도가 상기 미리 설정한 기준치를 초과하는 경우에 상기 제1 오디오 데이터에 상기 키워드가 포함되지 않았다고 판단하고 웨이크업을 하지 않는 단계를 포함하는 음성 제어 장치의 동작 방법.
  8. 제6항에 있어서,
    상기 검출된 후보 키워드가 단독 명령 키워드에 대응하는 상기 후보 키워드인 경우,
    상기 오디오 스트림 데이터에서 상기 제1 구간에 후행하는 제3 구간에 해당하는 제3 오디오 데이터를 수신하는 단계;
    상기 제3 오디오 데이터의 제3 화자 특징 벡터를 추출하는 단계;
    상기 제1 화자 특징 벡터와 상기 제2 화자 특징 벡터 간의 유사도가 미리 설정한 기준치 이하이고 상기 제1 화자 특징 벡터와 상기 제3 화자 특징 벡터 간의 유사도가 미리 설정한 기준치 이하인 경우에, 상기 제1 오디오 데이터에 상기 단독 명령 키워드가 포함되었다고 판단하는 단계를 더 포함하는 음성 제어 장치의 동작 방법.
  9. 제6항에 있어서,
    상기 검출된 키워드가 웨이크업 키워드에 대응하는 상기 후보 키워드인 경우,
    상기 제1 오디오 데이터에 상기 웨이크업 키워드가 포함되었다는 판단에 응답하여, 상기 오디오 스트림 데이터에서 상기 제1 구간에 후행하는 제3 구간에 해당하는 제3 오디오 데이터를 수신하는 단계; 및
    상기 제3 오디오 데이터를 음성 인식하거나 상기 제3 오디오 데이터가 음성 인식되도록 외부에 전송하는 단계를 더 포함하는 음성 제어 장치의 동작 방법.
  10. 음성 제어 장치의 프로세서가 제6항 내지 제9항 중 어느 한 항의 동작 방법을 실행하도록 하기 위한 매체에 저장된 컴퓨터 프로그램.
KR1020190064068A 2019-05-30 2019-05-30 키워드 오인식을 방지하는 음성 제어 장치 및 이의 동작 방법 KR102061206B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020190064068A KR102061206B1 (ko) 2019-05-30 2019-05-30 키워드 오인식을 방지하는 음성 제어 장치 및 이의 동작 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190064068A KR102061206B1 (ko) 2019-05-30 2019-05-30 키워드 오인식을 방지하는 음성 제어 장치 및 이의 동작 방법

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020170062391A Division KR101986354B1 (ko) 2017-05-19 2017-05-19 키워드 오인식을 방지하는 음성 제어 장치 및 이의 동작 방법

Publications (2)

Publication Number Publication Date
KR20190062369A KR20190062369A (ko) 2019-06-05
KR102061206B1 true KR102061206B1 (ko) 2019-12-31

Family

ID=66845246

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190064068A KR102061206B1 (ko) 2019-05-30 2019-05-30 키워드 오인식을 방지하는 음성 제어 장치 및 이의 동작 방법

Country Status (1)

Country Link
KR (1) KR102061206B1 (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220099003A (ko) * 2021-01-05 2022-07-12 삼성전자주식회사 전자 장치 및 이의 제어 방법
KR20230146865A (ko) 2022-04-13 2023-10-20 부산대학교 산학협력단 소음환경을 고려한 임베디드 음성 키워드 검출 시스템 및 방법

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012073361A (ja) * 2010-09-28 2012-04-12 Fujitsu Ltd 音声認識装置及び音声認識方法

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012073361A (ja) * 2010-09-28 2012-04-12 Fujitsu Ltd 音声認識装置及び音声認識方法

Also Published As

Publication number Publication date
KR20190062369A (ko) 2019-06-05

Similar Documents

Publication Publication Date Title
KR101986354B1 (ko) 키워드 오인식을 방지하는 음성 제어 장치 및 이의 동작 방법
US10504511B2 (en) Customizable wake-up voice commands
US11600291B1 (en) Device selection from audio data
JP7078689B2 (ja) 文脈ホットワード
US11875820B1 (en) Context driven device arbitration
US20210174802A1 (en) Processing spoken commands to control distributed audio outputs
US20220215837A1 (en) Context-based device arbitration
US20230367546A1 (en) Audio output control
KR102596430B1 (ko) 화자 인식에 기초한 음성 인식 방법 및 장치
US11138977B1 (en) Determining device groups
US10332513B1 (en) Voice enablement and disablement of speech processing functionality
US11669300B1 (en) Wake word detection configuration
KR20210120960A (ko) 사용자의 입력 입력에 기초하여 타겟 디바이스를 결정하고, 타겟 디바이스를 제어하는 서버 및 그 동작 방법
JP7328265B2 (ja) 音声インタラクション制御方法、装置、電子機器、記憶媒体及びシステム
US10685664B1 (en) Analyzing noise levels to determine usability of microphones
KR20190096308A (ko) 전자기기
KR20200007530A (ko) 사용자 음성 입력 처리 방법 및 이를 지원하는 전자 장치
KR102061206B1 (ko) 키워드 오인식을 방지하는 음성 제어 장치 및 이의 동작 방법
US11348579B1 (en) Volume initiated communications
US11693622B1 (en) Context configurable keywords
US11133004B1 (en) Accessory for an audio output device
US11699444B1 (en) Speech recognition using multiple voice-enabled devices
CN116524916A (zh) 一种语音处理方法、装置及车辆

Legal Events

Date Code Title Description
A107 Divisional application of patent
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant