KR20210136463A - 전자 장치 및 그 제어 방법 - Google Patents
전자 장치 및 그 제어 방법 Download PDFInfo
- Publication number
- KR20210136463A KR20210136463A KR1020200054741A KR20200054741A KR20210136463A KR 20210136463 A KR20210136463 A KR 20210136463A KR 1020200054741 A KR1020200054741 A KR 1020200054741A KR 20200054741 A KR20200054741 A KR 20200054741A KR 20210136463 A KR20210136463 A KR 20210136463A
- Authority
- KR
- South Korea
- Prior art keywords
- voice
- recognition
- user
- information
- trigger
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims description 82
- 238000004891 communication Methods 0.000 claims abstract description 43
- 238000004422 calculation algorithm Methods 0.000 claims description 12
- 238000010586 diagram Methods 0.000 description 24
- 230000008569 process Effects 0.000 description 17
- 238000013473 artificial intelligence Methods 0.000 description 13
- 230000006870 function Effects 0.000 description 13
- 238000012545 processing Methods 0.000 description 8
- 230000014509 gene expression Effects 0.000 description 5
- 238000010606 normalization Methods 0.000 description 5
- 238000004364 calculation method Methods 0.000 description 4
- 238000004590 computer program Methods 0.000 description 4
- 238000010801 machine learning Methods 0.000 description 4
- 230000004044 response Effects 0.000 description 4
- 238000004458 analytical method Methods 0.000 description 3
- 238000013135 deep learning Methods 0.000 description 3
- 238000013528 artificial neural network Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- APTZNLHMIGJTEW-UHFFFAOYSA-N pyraflufen-ethyl Chemical compound C1=C(Cl)C(OCC(=O)OCC)=CC(C=2C(=C(OC(F)F)N(C)N=2)Cl)=C1F APTZNLHMIGJTEW-UHFFFAOYSA-N 0.000 description 2
- 230000005236 sound signal Effects 0.000 description 2
- 230000003321 amplification Effects 0.000 description 1
- 230000004397 blinking Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 238000002513 implantation Methods 0.000 description 1
- 238000012905 input function Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 229910044991 metal oxide Inorganic materials 0.000 description 1
- 150000004706 metal oxides Chemical class 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000003199 nucleic acid amplification method Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 229910021420 polycrystalline silicon Inorganic materials 0.000 description 1
- 229920005591 polysilicon Polymers 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000000060 site-specific infrared dichroism spectroscopy Methods 0.000 description 1
- 230000002194 synthesizing effect Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
- 238000005406 washing Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/28—Constructional details of speech recognition systems
- G10L15/32—Multiple recognisers used in sequence or in parallel; Score combination systems therefor, e.g. voting systems
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L17/00—Speaker identification or verification techniques
- G10L17/22—Interactive procedures; Man-machine interfaces
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/16—Sound input; Sound output
- G06F3/167—Audio in a user interface, e.g. using voice commands for navigating, audio feedback
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/22—Procedures used during a speech recognition process, e.g. man-machine dialogue
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L25/00—Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
- G10L25/03—Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 characterised by the type of extracted parameters
- G10L25/15—Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 characterised by the type of extracted parameters the extracted parameters being formant information
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/22—Procedures used during a speech recognition process, e.g. man-machine dialogue
- G10L2015/223—Execution procedure of a spoken command
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Health & Medical Sciences (AREA)
- Human Computer Interaction (AREA)
- Multimedia (AREA)
- Acoustics & Sound (AREA)
- Computational Linguistics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Health & Medical Sciences (AREA)
- Signal Processing (AREA)
- Telephonic Communication Services (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
전자 장치가 개시된다. 본 전자 장치는 메모리, 통신 인터페이스 및 통신 인터페이스를 통해 외부 장치로부터 사용자 음성에 대응되는 정보를 수신하고, 전자 장치에서 획득된 사용자 음성 및 메모리에 저장된 트리거 정보에 기초하여 수행된 트리거 인식이 실패하면, 외부 장치로부터 수신된 정보에 기초하여 획득된 사용자 음성에 대한 음성 인식을 수행하는 프로세서를 포함하고, 외부 장치로부터 수신된 정보는 외부 장치에서 획득된 사용자 음성 및 트리거 정보 간 유사도 정보를 포함한다.
Description
본 개시는 전자 장치 및 그 제어방법에 관한 것으로, 더욱 상세하게는 사용자 음성을 수신하여 음성 인식을 수행하는 전자 장치 및 그 제어방법에 대한 것이다.
음성 인식을 수행하는 전자 장치는 사용자의 음성을 수신한 이후 트리거 인식 동작을 수행하고, 트리거가 인식되면 음성 인식 동작을 수행한다.
만약, 복수의 전자 장치가 하나의 네트워크에 포함된 경우, 복수의 전자 장치 중 동일한 트리거를 가질 수 있다. 따라서, 사용자가 음성을 한번 발화한 경우, 적어도 하나 이상의 전자 장치가 트리거 인식 동작을 수행할 수 있다.
여기서, 복수의 전자 장치들은 오인식을 제거하기 위해 복수 회의 트리거 인식을 수행할 수 있다. 다만, 복수의 전자 장치들이 모두 복수 회의 트리거 인식을 수행하면 동시에 웨이크업되는 상황이 발생할 수 있는 문제점이 있다.
따라서, 복수의 전자 장치 각각에서 1회의 트리거 인식이 수행된 이후, 복수의 전자 장치 중 하나의 전자 장치에서 2회의 트리거 인식이 수행되도록 결정할 수 있다.
하지만, 결정된 하나의 전자 장치에서 2회의 트리거 인식이 실패하면 복수의 전자 장치 중 어떤 전자 장치도 반응하지 않는 무응답 상태가 되는 문제점이 발생할 수 있다.
본 개시는 상술한 문제를 개선하기 위해 고안된 것으로, 본 개시의 목적은 트리거 인식에 실패한 경우 외부 장치에서 수신된 트리거 인식 정보를 고려하여 음성 인식을 수행하는 전자 장치 및 그의 제어 방법을 제공함에 있다.
상술한 목적을 달성하기 위한 본 실시 예에 따른 전자 장치에 있어서, 메모리, 통신 인터페이스 및 상기 통신 인터페이스를 통해 외부 장치로부터 사용자 음성에 대응되는 정보를 수신하고, 상기 전자 장치에서 획득된 사용자 음성 및 상기 메모리에 저장된 트리거 정보에 기초하여 수행된 트리거 인식이 실패하면, 상기 외부 장치로부터 수신된 상기 정보에 기초하여 상기 획득된 사용자 음성에 대한 음성 인식을 수행하는 프로세서를 포함하고, 상기 외부 장치로부터 수신된 상기 정보는 상기 외부 장치에서 획득된 사용자 음성 및 상기 트리거 정보 간 유사도 정보를 포함한다.
여기서, 상기 프로세서는 상기 전자 장치에서 획득된 사용자 음성의 제1 특성 정보 및 상기 외부 장치에서 획득된 사용자 음성의 제2 특성 정보에 기초하여 상기 트리거 인식을 수행하고, 상기 트리거 인식이 실패하면, 상기 외부 장치로부터 수신된 상기 정보에 기초하여 상기 전자 장치에서 획득된 사용자 음성에 대한 음성 인식을 수행할 수 있다.
여기서, 상기 프로세서는 제1 언어 인식 모델을 이용하여 상기 전자 장치에서 획득된 사용자 음성 및 상기 트리거 정보 간 제1 유사도 정보를 1차 트리거 인식 결과로서 획득하고, 상기 제1 특성 정보 및 상기 제2 특성 정보 간 비교 결과 및 상기 제1 유사도 정보에 기초하여, 2차 트리거 인식을 수행할지 여부를 결정하고, 상기 2차 트리거 인식을 수행하는 경우, 제2 언어 인식 모델을 이용하여 상기 전자 장치에서 획득된 사용자 음성 및 상기 트리거 정보 간 제2 유사도 정보를 2차 트리거 인식 결과로서 획득하고, 상기 획득된 제2 유사도 정보가 임계값 미만이면, 상기 2차 트리거 인식이 실패한 것으로 식별하고, 상기 2차 트리거 인식이 실패하면, 상기 외부 장치로부터 수신된 제3 유사도 정보에 기초하여 상기 사용자 음성에 대한 음성 인식을 수행할 수 있다.
여기서, 상기 제1 언어 인식 모델과 상기 제2 언어 인식 모델은 상이하며, 상기 프로세서는 상기 제1 유사도 정보가 임계값 이상이면, 상기 제1 특성 정보 및 상기 제2 특성 정보 간 비교 결과에 기초하여 상기 제2 언어 인식 모델을 이용하여 상기 제2 유사도 정보를 획득할 수 있다.
한편, 상기 제1 언어 인식 모델 및 상기 제2 언어 인식 모델은 상기 사용자 음성 및 상기 트리거 정보 간 유사도 정보를 획득하기 위해 이용되는 판단 알고리즘 또는 데이터 베이스 중 적어도 하나가 상이한 모델일 수 있다.
한편, 상기 제3 유사도 정보는 상기 외부 장치에서 획득된 사용자 음성 및 상기 트리거 정보 간 유사도 값을 포함하며, 상기 프로세서는 상기 2차 트리거 인식이 실패하면, 상기 제3 유사도 정보에 포함된 유사도 값이 임계값 이상인지 여부에 기초하여 상기 사용자 음성에 대한 음성 인식을 수행할 수 있다.
한편, 상기 제1 유사도 정보는 제1 유사도 값을 포함하며, 상기 제2 유사도 정보는 제2 유사도 값을 포함하며, 상기 제3 유사도 정보는 제3 유사도 값을 포함하며, 상기 프로세서는 상기 제1 유사도 값 및 상기 외부 장치로부터 수신된 제3 유사도 값을 각각 정규화(normalize)하고, 상기 제2 유사도 값이 임계값 미만이면 상기 2차 트리거 인식이 실패한 것으로 식별하고, 상기 2차 트리거 인식이 실패하면, 정규화된 제1 유사도 값 또는 정규화된 제3 유사도 값 중 적어도 하나가 임계값 이상인 경우에 상기 사용자 음성에 대한 음성 인식을 수행할 수 있다.
여기서, 상기 프로세서는 상기 제2 유사도 값이 임계값 미만이고, 상기 외부 장치로부터 수신된 제3 유사도 값이 상기 전자 장치에서 획득된 상기 제1 유사도 값보다 임계값 이상 크면, 상기 외부 장치에서 상기 사용자 음성에 대한 음성 인식을 수행하도록 하는 제어 신호를 생성하고, 상기 생성된 제어 신호를 상기 외부 장치로 전송할 수 있다.
여기서, 전자 장치는 디스플레이를 더 포함할 수 있고, 상기 프로세서는 상기 제어 신호가 생성되면, 상기 외부 장치에서 음성 인식이 수행됨을 알리는 정보를 포함하는 UI(User Interface)를 디스플레이하도록 상기 디스플레이를 제어할 수 있다.
한편, 상기 제1 특성 정보는 상기 전자 장치에서 획득된 상기 사용자 음성의 크기 값, 상기 전자 장치에 대한 상기 사용자 음성의 지향 각도 값 또는 상기 사용자 음성과 상기 전자 장치 간 거리 값 중 적어도 하나이고, 상기 제2 특성 정보는 상기 외부 장치에서 획득된 상기 사용자 음성의 크기 값, 상기 외부 장치에 대한 상기 사용자 음성의 지향 각도 값 또는 상기 사용자 음성이 발화된 지점과 상기 외부 장치 간 거리 값 중 적어도 하나일 수 있다.
한편, 본 개시의 일 실시 예에 따른 전자 장치의 제어 방법에 있어서, 외부 장치로부터 사용자 음성에 대응되는 정보를 수신하는 단계 및 상기 전자 장치에서 획득된 사용자 음성 및 저장된 트리거 정보에 기초하여 수행된 트리거 인식이 실패하면, 상기 외부 장치로부터 수신된 상기 정보에 기초하여 상기 획득된 사용자 음성에 대한 음성 인식을 수행하는 단계를 포함하고, 상기 외부 장치로부터 수신된 상기 정보는 상기 외부 장치에서 획득된 사용자 음성 및 상기 트리거 정보 간 유사도 정보를 포함한다.
여기서, 상기 제어 방법은 상기 전자 장치에서 획득된 사용자 음성의 제1 특성 정보 및 상기 외부 장치에서 획득된 사용자 음성의 제2 특성 정보에 기초하여 상기 트리거 인식을 수행하는 단계를 더 포함할 수 있으며, 상기 음성 인식을 수행하는 단계는 상기 트리거 인식이 실패하면, 상기 외부 장치로부터 수신된 상기 정보에 기초하여 상기 전자 장치에서 획득된 사용자 음성에 대한 음성 인식을 수행할 수 있다.
여기서, 상기 제어 방법은 제1 언어 인식 모델을 이용하여 상기 전자 장치에서 획득된 사용자 음성 및 상기 트리거 정보 간 제1 유사도 정보를 1차 트리거 인식 결과로서 획득하는 단계, 상기 제1 특성 정보 및 상기 제2 특성 정보 간 비교 결과 및 상기 제1 유사도 정보에 기초하여, 2차 트리거 인식을 수행할지 여부를 결정하는 단계, 상기 2차 트리거 인식을 수행하는 경우, 제2 언어 인식 모델을 이용하여 상기 전자 장치에서 획득된 사용자 음성 및 상기 트리거 정보 간 제2 유사도 정보를 2차 트리거 인식 결과로서 획득하는 단계, 상기 획득된 제2 유사도 정보가 임계값 미만이면, 상기 2차 트리거 인식이 실패한 것으로 식별하는 단계를 더 포함할 수 있으며, 상기 음성 인식을 수행하는 단계는 상기 2차 트리거 인식이 실패하면, 상기 외부 장치로부터 수신된 제3 유사도 정보에 기초하여 상기 사용자 음성에 대한 음성 인식을 수행할 수 있다.
여기서, 상기 제1 언어 인식 모델과 상기 제2 언어 인식 모델은 상이하며, 상기 제어 방법은 상기 제1 유사도 정보가 임계값 이상이면, 상기 제1 특성 정보 및 상기 제2 특성 정보 간 비교 결과에 기초하여 상기 제2 언어 인식 모델을 이용하여 상기 제2 유사도 정보를 획득하는 단계를 더 포함할 수 있다.
여기서, 상기 제1 언어 인식 모델 및 상기 제2 언어 인식 모델은 상기 사용자 음성 및 상기 트리거 정보 간 유사도 정보를 획득하기 위해 이용되는 판단 알고리즘 또는 데이터 베이스 중 적어도 하나가 상이한 모델일 수 있다.
여기서, 상기 제3 유사도 정보는 상기 외부 장치에서 획득된 사용자 음성 및 상기 트리거 정보 간 유사도 값을 포함하며, 상기 음성 인식을 수행하는 단계는 상기 2차 트리거 인식이 실패하면, 상기 제3 유사도 정보에 포함된 유사도 값이 임계값 이상인지 여부에 기초하여 상기 사용자 음성에 대한 음성 인식을 수행할 수 있다.
한편, 상기 제1 유사도 정보는 제1 유사도 값을 포함하며, 상기 제2 유사도 정보는 제2 유사도 값을 포함하며, 상기 제3 유사도 정보는 제3 유사도 값을 포함하며, 상기 제어 방법은 상기 제1 유사도 값 및 상기 외부 장치로부터 수신된 제3 유사도 값을 각각 정규화(normalize)하는 단계, 상기 제2 유사도 값이 임계값 미만이면 상기 2차 트리거 인식이 실패한 것으로 식별하는 단계를 더 포함할 수 있으며 상기 음성 인식을 수행하는 단계는 상기 2차 트리거 인식이 실패하면, 정규화된 제1 유사도 값 또는 정규화된 제3 유사도 값 중 적어도 하나가 임계값 이상인 경우에 상기 사용자 음성에 대한 음성 인식을 수행할 수 있다.
여기서, 상기 제어 방법은 상기 제2 유사도 값이 임계값 미만이고, 상기 외부 장치로부터 수신된 제3 유사도 값이 상기 전자 장치에서 획득된 상기 제1 유사도 값보다 임계값 이상 크면, 상기 외부 장치에서 상기 사용자 음성에 대한 음성 인식을 수행하도록 하는 제어 신호를 생성하는 단계와 상기 생성된 제어 신호를 상기 외부 장치로 전송하는 단계를 더 포함할 수 있다.
여기서, 상기 제어 신호를 생성하는 단계는 상기 제어 신호가 생성되면, 상기 외부 장치에서 음성 인식이 수행됨을 알리는 정보를 포함하는 UI(User Interface)를 디스플레이하도록 제어할 수 있다.
한편, 상기 제1 특성 정보는 상기 전자 장치에서 획득된 상기 사용자 음성의 크기 값, 상기 전자 장치에 대한 상기 사용자 음성의 지향 각도 값 또는 상기 사용자 음성과 상기 전자 장치 간 거리 값 중 적어도 하나이고, 상기 제2 특성 정보는 상기 외부 장치에서 획득된 상기 사용자 음성의 크기 값, 상기 외부 장치에 대한 상기 사용자 음성의 지향 각도 값 또는 상기 사용자 음성이 발화된 지점과 상기 외부 장치 간 거리 값 중 적어도 하나일 수 있다.
도 1은 복수 개의 장치 중 음성 인식을 수행하는 장치를 선택하는 상황을 설명하기 위한 도면이다.
도 2는 본 개시의 일 실시 예에 따른 전자 장치를 도시한 블록도이다.
도 3은 도 1의 전자 장치의 구체적인 구성을 설명하기 위한 블록도이다.
도 4는 전자 장치 및 외부 장치가 정보를 공유하는 실시 예를 설명하기 위한 도면이다.
도 5는 트리거 인식 후 음성 인식을 수행하는 동작을 설명하기 위한 도면이다.
도 6은 1차 트리거 인식 동작을 설명하기 위한 도면이다.
도 7은 복수의 장치 중 2차 트리거 인식 동작을 수행할 장치를 선택하는 일 실시 예를 설명하기 위한 도면이다.
도 8은 복수의 장치 중 2차 트리거 인식 동작을 수행할 장치를 선택하는 다른 실시 예를 설명하기 위한 도면이다.
도 9는 복수의 장치 중 2차 트리거 인식 동작을 수행할 장치를 선택하는 또 다른 실시 예를 설명하기 위한 도면이다.
도 10은 센서에 의하여 발화자의 위치를 파악하는 실시 예를 설명하기 위한 도면이다.
도 11은 2차 트리거 인식 동작을 설명하기 위한 도면이다.
도 12는 1차 트리거 인식 및 2차 트리거 인식 결과를 설명하기 위한 도면이다.
도 13은 외부 장치가 사용자 음성 및 트리거 정보가 유사하다고 판단하였는지 여부에 기초하여 음성 인식을 수행하는 일 실시 예를 설명하기 위한 도면이다.
도 14는 외부 장치가 사용자 음성 및 트리거 정보가 유사하다고 판단하였는지 여부에 기초하여 음성 인식을 수행하는 다른 실시 예를 설명하기 위한 도면이다.
도 15는 유사도값에 기초하여 음성 인식을 수행하는 일 실시 예를 설명하기 위한 도면이다.
도 16은 유사도값에 기초하여 음성 인식을 수행하는 다른 실시 예를 설명하기 위한 도면이다.
도 17은 유사도값에 기초하여 음성 인식을 수행하는 또 다른 실시 예를 설명하기 위한 도면이다.
도 18은 유사도값에 기초하여 음성 인식을 수행하는 또 다른 실시 예를 설명하기 위한 도면이다.
도 19는 트리거 인식에 실패하였을 때 디스플레이되는 UI를 설명하기 위한 도면이다.
도 20은 트리거 인식에 실패하였을 때 디스플레이되는 UI를 설명하기 위한 도면이다.
도 21은 제어 명령 수행이 복수의 장치에서 수행 가능한 경우를 설명하는 도면이다.
도 22는 제어 명령 수행이 하나의 장치에서 수행 가능한 경우를 설명하는 도면이다.
도 23은 본 개시의 일 실시 예에 따른 전자 장치의 제어 방법을 설명하기 위한 도면이다.
도 2는 본 개시의 일 실시 예에 따른 전자 장치를 도시한 블록도이다.
도 3은 도 1의 전자 장치의 구체적인 구성을 설명하기 위한 블록도이다.
도 4는 전자 장치 및 외부 장치가 정보를 공유하는 실시 예를 설명하기 위한 도면이다.
도 5는 트리거 인식 후 음성 인식을 수행하는 동작을 설명하기 위한 도면이다.
도 6은 1차 트리거 인식 동작을 설명하기 위한 도면이다.
도 7은 복수의 장치 중 2차 트리거 인식 동작을 수행할 장치를 선택하는 일 실시 예를 설명하기 위한 도면이다.
도 8은 복수의 장치 중 2차 트리거 인식 동작을 수행할 장치를 선택하는 다른 실시 예를 설명하기 위한 도면이다.
도 9는 복수의 장치 중 2차 트리거 인식 동작을 수행할 장치를 선택하는 또 다른 실시 예를 설명하기 위한 도면이다.
도 10은 센서에 의하여 발화자의 위치를 파악하는 실시 예를 설명하기 위한 도면이다.
도 11은 2차 트리거 인식 동작을 설명하기 위한 도면이다.
도 12는 1차 트리거 인식 및 2차 트리거 인식 결과를 설명하기 위한 도면이다.
도 13은 외부 장치가 사용자 음성 및 트리거 정보가 유사하다고 판단하였는지 여부에 기초하여 음성 인식을 수행하는 일 실시 예를 설명하기 위한 도면이다.
도 14는 외부 장치가 사용자 음성 및 트리거 정보가 유사하다고 판단하였는지 여부에 기초하여 음성 인식을 수행하는 다른 실시 예를 설명하기 위한 도면이다.
도 15는 유사도값에 기초하여 음성 인식을 수행하는 일 실시 예를 설명하기 위한 도면이다.
도 16은 유사도값에 기초하여 음성 인식을 수행하는 다른 실시 예를 설명하기 위한 도면이다.
도 17은 유사도값에 기초하여 음성 인식을 수행하는 또 다른 실시 예를 설명하기 위한 도면이다.
도 18은 유사도값에 기초하여 음성 인식을 수행하는 또 다른 실시 예를 설명하기 위한 도면이다.
도 19는 트리거 인식에 실패하였을 때 디스플레이되는 UI를 설명하기 위한 도면이다.
도 20은 트리거 인식에 실패하였을 때 디스플레이되는 UI를 설명하기 위한 도면이다.
도 21은 제어 명령 수행이 복수의 장치에서 수행 가능한 경우를 설명하는 도면이다.
도 22는 제어 명령 수행이 하나의 장치에서 수행 가능한 경우를 설명하는 도면이다.
도 23은 본 개시의 일 실시 예에 따른 전자 장치의 제어 방법을 설명하기 위한 도면이다.
이하에서는 첨부 도면을 참조하여 본 개시를 상세히 설명한다.
본 개시의 실시 예에서 사용되는 용어는 본 개시에서의 기능을 고려하면서 가능한 현재 널리 사용되는 일반적인 용어들을 선택하였으나, 이는 당 분야에 종사하는 기술자의 의도 또는 판례, 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한, 특정한 경우는 출원인이 임의로 선정한 용어도 있으며, 이 경우 해당되는 개시의 설명 부분에서 상세히 그 의미를 기재할 것이다. 따라서 본 개시에서 사용되는 용어는 단순한 용어의 명칭이 아닌, 그 용어가 가지는 의미와 본 개시의 전반에 걸친 내용을 토대로 정의되어야 한다.
본 명세서에서, "가진다," "가질 수 있다," "포함한다," 또는 "포함할 수 있다" 등의 표현은 해당 특징(예: 수치, 기능, 동작, 또는 부품 등의 구성요소)의 존재를 가리키며, 추가적인 특징의 존재를 배제하지 않는다.
A 또는/및 B 중 적어도 하나라는 표현은 "A" 또는 "B" 또는 "A 및 B" 중 어느 하나를 나타내는 것으로 이해되어야 한다.
본 명세서에서 사용된 "제1," "제2," "첫째," 또는 "둘째,"등의 표현들은 다양한 구성요소들을, 순서 및/또는 중요도에 상관없이 수식할 수 있고, 한 구성요소를 다른 구성요소와 구분하기 위해 사용될 뿐 해당 구성요소들을 한정하지 않는다.
어떤 구성요소(예: 제1 구성요소)가 다른 구성요소(예: 제2 구성요소)에 "(기능적으로 또는 통신적으로) 연결되어((operatively or communicatively) coupled with/to)" 있다거나 "접속되어(connected to)" 있다고 언급된 때에는, 어떤 구성요소가 다른 구성요소에 직접적으로 연결되거나, 다른 구성요소(예: 제3 구성요소)를 통하여 연결될 수 있다고 이해되어야 할 것이다.
단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "구성되다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
본 개시에서 "모듈" 혹은 "부"는 적어도 하나의 기능이나 동작을 수행하며, 하드웨어 또는 소프트웨어로 구현되거나 하드웨어와 소프트웨어의 결합으로 구현될 수 있다. 또한, 복수의 "모듈" 혹은 복수의 "부"는 특정한 하드웨어로 구현될 필요가 있는 "모듈" 혹은 "부"를 제외하고는 적어도 하나의 모듈로 일체화되어 적어도 하나의 프로세서(미도시)로 구현될 수 있다.
본 명세서에서, 사용자라는 용어는 전자 장치를 사용하는 사람 또는 전자 장치를 사용하는 장치(예: 인공지능 전자 장치)를 지칭할 수 있다.
이하 첨부된 도면들을 참조하여 본 개시의 일 실시 예를 보다 상세하게 설명한다.
본 개시의 계산은 머신 러닝 기반의 인식 시스템에 의해 수행될 수 있으며, 본 개시에서는 뉴럴 네트워크(Neural Networks)에 기반한 일련의 기계학습 알고리즘에 의한 분류 시스템으로서, 딥 러닝 기반의 인식 시스템을 예로서 설명한다.
딥 러닝 기반의 인식 시스템은 적어도 하나의 분류기를 포함할 수 있으며, 분류기는 하나 또는 복수 개의 프로세서에 해당할 수 있다.
전자 장치는 뉴럴 네트워크(Neural Networks)에 기반한 일련의 기계학습 알고리즘에 의한 분류 시스템으로서, 딥 러닝 기반의 인식 시스템을 이용할 수 있다.
도 1은 복수 개의 장치 중 음성 인식을 수행하는 장치를 선택하는 상황을 설명하기 위한 도면이다.
도 1을 참조하면, 마이크를 이용하여 사용자 음성을 수신할 수 있는 복수의 전자 장치가 존재할 수 있다. 복수의 장치들은 전자 장치(100), 제1 외부 장치(200) 및 제2 외부 장치(300)일 수 있다. 전자 장치(100), 제1 외부 장치(200), 제2 외부 장치(300), 제3 외부 장치(400) 및 제4 외부 장치(500)는 사용자의 발화 음성을 수신할 수 있다. 그리고, 수신된 사용자의 발화 음성에 기초하여 트리거 인식을 수행할 수 있다. 여기서, 트리거는 각 장치에 대응되는 웨이크업 워드일 수 있다. 복수의 장치는 TV, 냉장고, 에어컨, 스마트폰, AI(ARTIFICIAL INTELLIGENCE) 스피커 등 다양한 기기일 수 있다. 여기서, AI스피커는 가전 제품과 사물 인터넷(IoT) 기기를 음성으로 제어할 수 있는 스피커를 의미할 수 있다. 한편, 복수의 장치는 상술한 기기 들에 반드시 한정 되는 것은 아니며, 구현 예에 따라 다양한 기기가 적용될 수 있다.
한편, 복수의 장치(100 내지 500)는 다양한 통신 방법을 통해 상호 연결될 수 있다.
일 실시 예에 따라, 복수의 장치(100 내지 500) 각각 1:1 로 연결되어 통신할 수 있다. 전자 장치(100)는 제1 외부 장치(200)와 1:1로 연결될 수 있다. 여기서, 1:1로 연결되는 통신 방법은 Wi-Fi direct, BT(BLUETOOTH) 또는 적외선 중 하나일 수 있다. 여기서, 복수의 장치(100 내지 500) 각각이 외부 서버에 개별적으로 연결될 수 있다.
다른 실시 예에 따라, 복수의 장치(100 내지 500)는 마스터 기기 및 슬레이브 기기를 구분하는 방식으로 통신할 수 있다. 여기서, 마스터 기기는 별도의 허브 기기(또는 연결 허브)를 의미할 수 있다. 사용자의 설정 또는 기 설정된 조건에 따라 복수의 장치(100 내지 500) 중 하나의 장치가 마스터 기기로 식별되거나 별도의 연결 허브를 이용하여 통신할 수 있다. 예를 들어, 복수의 장치(100 내지 500)는 상호 통신을 1:1로 수행할 수 없으며 하나의 마스터 기기 또는 별도의 연결 허브를 통해 통신을 수행할 수 있다. 여기서, 마스터 기기(또는 별도의 연결 허브)만 외부 서버에 연결되는 형태로 구현될 수 있으며, 복수의 장치(100 내지 500) 각각이 외부 서버와 연결되는 형태로 구현될 수도 있다.
한편, 또 다른 실시 예에 따라, 복수의 장치(100 내지 500) 각각이 외부 서버에 바로 연결되는 형식으로 통신을 수행할 수 있다. 각각의 기기들은 외부 서버에 연결되며 외부 서버를 통해 기기간 통신을 수행할 수 있다.
한편, 복수의 장치(100 내지 500) 각각은 복수의 장치(100 내지 500)에 포함된 마이크를 통해 사용자 음성을 수신할 수 있다. 일 예로, 복수의 장치(100 내지 500) 각각은 수신된 사용자 음성을 다른 모든 기기에 전송할 수 있다. 다른 예로, 복수의 장치(100 내지 500) 각각은 수신된 사용자 음성을 마스터 기기(또는 별도의 연결 허브)에만 전송할 수 있다. 또 다른 예로, 복수의 장치(100 내지 500) 각각은 수신된 사용자 음성을 외부 서버에 전송할 수 있다.
한편, 사용자가 발화한 음성에 제어 명령이 포함되어 있는지 여부에 따라 복수의 장치(100 내지 500)에서 수행되는 동작을 설명한다.
제1 실시 예(10)에 따라, 트리거가 “hi bixby”이고, 사용자가 “hi bixby, please turn off”라고 발화하였다고 가정한다. 여기서, 복수의 장치들(100, 200, 300, 400, 500)은 사용자 음성을 수신하여 트리거 인식을 수행할 수 있다. 사용자 음성은 트리거와 제어 명령을 포함할 수 있다. 사용자 음성 중 “hi bixby”는 트리거이고, “please turn off”는 제어 명령일 수 있다. 복수의 장치들(100, 200, 300, 400, 500)은 각각 수신한 사용자 음성에 포함된 트리거와 각 장치에 저장된 트리거 정보를 비교할 수 있다.
한편, 제2 실시 예(20)에 따라, 트리거가 “hi bixby”이고, 사용자가 “hi bixby”라고 발화하였다고 가정한다. 제1 실시 예(10)와 다르게, 사용자는 트리거만을 발화할 수 있으며, 복수의 장치들(100, 200, 300, 400, 500)은 사용자 음성을 수신하여 트리거 인식을 수행할 수 있다. 구체적으로, 복수의 장치들(100, 200, 300, 400, 500)은 각각 수신한 사용자 음성에 포함된 트리거와 각 장치에 저장된 트리거 정보를 비교할 수 있다. 제2 실시 예(20)에서 대상 기기가 정해지면, 대상 기기는 자신이 음성 인식을 수행하는 장치로 정해졌다는 내용을 알리기 위하여 사운드 또는 UI(User Interface)를 사용자에게 제공할 수 있다. 또한, 대상 기기가 정해지면, 대상 기기는 사용자가 제어 명령을 발화하도록 가이드하는 사운드 또는 UI를 사용자에게 제공할 수 있다.
본 개시의 제1 실시 예(10)에 따라 음성 인식을 수행하는 복수의 장치들의 동작이 사용자 음성에 트리거 및 제어 명령이 모두 포함되어 있는 것으로 가정하고 기술되었다. 하지만, 제2 실시 예(20)에 따라 복수의 장치들의 동작이 사용자 음성이 트리거만을 발화하는 제1 사용자 음성과 제어 명령을 발화하는 제2 사용자 음성으로 구분되는 실시 예에도 적용될 수 있다. 여기서, 제1 사용자 음성에 따라 대상 기기가 식별되면, 대상 기기는 제2 사용자 음성을 발화하도록 가이드하는 정보를 사용자에게 제공할 수 있다.
한편, 제1 실시 예(10) 및 제2 실시 예(20)에서 제어 명령으로 기술하였지만, 제어 명령은 트리거 워드 이외에 사용자의 발화(후속 발화)를 의미할 수 있다. 따라서, 제어 명령은 타겟을 제어하기 위한 명령뿐만 아니라 단순 단어, 문장, 검색 키워드 등으로 구현될 수 있다.
여기서, 트리거 정보를 비교하는 동작은 트리거 인식 동작일 수 있다. 즉, 트리거 인식은 트리거 비교로 기술될 수 있으며, 트리거 인식 동작은 트리거 비교 동작으로 기술될 수 있다. 트리거 인식 동작은 단순히 비교 동작을 의미할 수 있으므로, 복수의 장치들은 트리거 인식 동작의 결과 정보를 획득할 수 있다.
트리거 인식 동작의 결과 정보는 비교된 사용자 음성이 트리거인 것으로 식별하였는지 여부에 대한 정보를 포함할 수 있다. 또한, 트리거 인식 동작의 결과 정보는 사용자 음성의 트리거 인식 성공/실패 에 대한 정보를 포함할 수 있다. 또한, 트리거 인식 동작의 결과 정보는 사용자 음성이 트리거 인식을 통과하였는지 여부를 포함할 수 있다.
트리거 인식 동작은 2번 수행될 수 있다. 트리거 인식 동작이 2번 수행되는 이유는 오인식률을 낮추기 위함이다. 트리거 인식이 한번 일어나는 경우, 오인식이 많아지기 때문에 트리거 인식을 2단계로 나눌 수 있다. 2단계의 트리거 인식을 구분하기 위하여 1차 트리거 인식(1차 트리거 비교) 및 2차 트리거 인식(2차 트리거 비교)으로 설명한다. 1차 트리거 인식은 복수의 장치들 각각에서 수행되는 트리거 인식을 의미할 수 있다. 그리고, 2차 트리거 인식은 1차 트리거 인식이 성공한 이후 수행되는 트리거 인식 동작일 수 있다. 만약, 특정 장치에서 1차 트리거 인식이 실패하면 특정 장치에서는 2차 트리거 인식이 수행되지 않을 수 있다.
1차 트리거 인식과 2차 트리거 인식을 구분하는 이유는 리소스를 줄이기 위한 것일 수 있다. 1차 트리거 인식은 리소스가 상대적으로 작을 수 있으며, 2차 트리거 인식은 리소스가 상대적으로 클 수 있다. 1차 트리거 인식은 복수의 장치(100 내지 500)에서 이루어 지지만, 2차 트리거 인식은 하나의 장치에서 이루어질 수 있다. 따라서, 하나의 장치에서 2차 트리거 인식이 수행되는 실시 예는 복수의 장치(100 내지 500) 전체에서 2차 트리거 인식이 일어나는 실시 예보다 전체 리소스가 작을 수 있다.
1차 트리거 인식과 2차 트리거 인식을 구분하는 또 다른 이유는 서버 연동에 따른 지연을 방지하기 위한 것일 수 있다. 2차 트리거 인식은 복수의 장치(100 내지 500) 각각에 대응되는 서버에서 수행될 수 있다. 여기서, 복수의 장치(100 내지 500) 각각 2차 트리거 인식이 수행되는 경우 각 서버에 데이터를 전송하여 트리거 인식 판단 결과를 서버로부터 수신할 수 있다. 여기서, 각 서버에서 트리거 인식 판단 결과를 수신하고 비교하는데 시간 차이가 발생하여 처리 속도가 느려질 수 있다. 따라서, 1차 트리거 인식과 2차 트리거 인식을 구분하여 2차 트리거 인식은 하나의 장치에서 수행되는 실시 예를 구현할 수 있다.
한편, 1차 트리거 인식이 수행되는 장치에 대하여 설명한다.
일 실시 예에 따라, 1차 트리거 인식은 복수의 장치(100 내지 500) 각각에서 수행될 수 있다. 여기서, 복수의 장치(100 내지 500) 각각은 외부 서버를 이용하지 않고 수신된 사용자 음성에 대하여 직접 1차 트리거 인식을 수행할 수 있다. 그리고, 복수의 장치(100 내지 500) 각각은 1차 트리거 인식에 대한 결과 정보(이하, 1차 트리거 인식 결과 정보)를 다른 장치(100 내지 500)에 전송할 수 있다. 일 예로, 복수의 장치(100 내지 500)는 1차 트리거 인식 결과 정보를 직접 다른 장치(100 내지 500)에 전송할 수 있다. 다른 예로, 복수의 장치(100 내지 500)는 1차 트리거 인식 결과 정보를 마스터 기기(또는 별도의 연결 허브)를 통해 다른 장치(100 내지 500)에 전송할 수 있다. 또 다른 예로, 복수의 장치(100 내지 500)는 1차 트리거 인식 결과 정보를 외부 서버에 전송할 수 있다.
다른 실시 예에 따라, 1차 트리거 인식은 마스터 기기에서 수행될 수 있다. 복수의 장치(100 내지 500)는 수신된 사용자 음성을 마스터 기기에 전송할 수 있다. 그리고, 복수의 장치(100 내지 500) 각각으로부터 수신한 사용자 음성들에 대하여 마스터 기기가 직접 1차 트리거 인식을 수행할 수 있다. 마스터 기기에서 1차 트리거 인식이 수행된 후 결과 정보를 처리하는 다양한 방법이 존재할 수 있다. 일 예로, 마스터 기기는 1차 트리거 인식 결과 정보를 복수의 장치(100 내지 500) 모두에게 전송할 수 있다. 다른 예로, 마스터 기기는 1차 트리거 인식 결과 정보를 마스터 기기 자체에 저장할 수 있다. 또 다른 예로, 마스터 기기는 1차 트리거 인식 결과 정보를 외부 서버에 전송할 수 있다. 외부 서버는 마스터 기기로부터 수신한 1차 트리거 인식 결과 정보를 저장할 수 있다.
또 다른 실시 예에 따라, 1차 트리거 인식이 외부 서버에서 수행될 수 있다.
일 예로, 복수의 장치(100 내지 500)는 수신된 사용자 음성을 직접 외부 서버에 전송할 수 있다. 여기서, 외부 서버는 복수의 장치(100 내지 500)로부터 수신한 사용자 음성들에 대하여 1차 트리거 인식을 수행할 수 있다. 여기서, 외부 서버는 1차 트리거 인식 결과 정보를 복수의 장치(100 내지 500) 각각에 전송할 수 있다. 외부 서버는 복수의 장치(100 내지 500) 각각에서 수신한 사용자 음성들에 대하여 1차 트리거 인식을 수행하므로, 1차 트리거 인식 결과 정보의 수는 복수 개이고, 복수의 장치(100 내지 500)에 전송되는 1차 트리거 인식 결과 정보가 상이할 수 있다. 여기서, 외부 서버는 복수의 장치(100 내지 500)에 직접 1차 트리거 인식 결과 정보를 전송하거나 마스터 기기를 통해 1차 트리거 인식 결과 정보를 전송할 수 있다. 한편, 외부 서버가 직접 복수의 장치(100 내지 500)에 1차 트리거 인식 결과 정보를 전송하는 것으로 설명하였지만, 구현 예에 따라 마스터 기기에 1차 트리거 인식 결과 정보를 전송하여 마스터 기기 자체에 저장하도록 하거나 외부 서버 자체적으로 1차 트리거 인식 결과 정보를 저장하는 형태로 구현될 수 있다.
다른 예로, 복수의 장치(100 내지 500)는 마스터 기기에 수신된 사용자 음성을 전송하고 마스터 기기는 수신된 사용자 음성을 다시 외부 서버로 전송할 수 있다. 그리고, 외부 서버는 마스터 기기로부터 수신한 사용자 음성들에 대하여 1차 트리거 인식을 수행할 수 있다. 여기서, 외부 서버는 1차 트리거 인식 결과 정보를 복수의 장치(100 내지 500) 각각에 전송할 수 있다. 여기서, 외부 서버는 복수의 장치(100 내지 500)에 직접 1차 트리거 인식 결과 정보를 전송하거나 마스터 기기를 통해 1차 트리거 인식 결과 정보를 전송할 수 있다. 한편, 외부 서버가 직접 복수의 장치(100 내지 500)에 1차 트리거 인식 결과 정보를 전송하는 것으로 설명하였지만, 구현 예에 따라 마스터 기기에 1차 트리거 인식 결과 정보를 전송하여 마스터 기기 자체에 저장하도록 하거나 외부 서버 자체적으로 1차 트리거 인식 결과 정보를 저장하는 형태로 구현될 수 있다.
한편, 복수의 장치(100 내지 500) 각각에서 수신한 사용자 음성과 관련된 데이터 베이스 정보들이 다양한 방법으로 저장될 수 있다. 여기서, 사용자 음성과 관련된 데이터 베이스 정보는 사용자 음성에 대응되는 특성 정보를 의미할 수 있다. 특성 정보는 복수의 장치 각각에서 획득한 사용자 음성의 분석 정보를 의미할 수 있다. 구체적으로, 특성 정보는 각 장치에서 획득된 사용자 음성의 크기 값, 각 장치와 사용자 음성의 지향 각도 값 또는 각 장치와 사용자 음성이 발화된 지점 간 거리 값 중 적어도 하나를 포함할 수 있으며, 그 이외에 사용자 음성 관련된 다양한 데이터를 포함할 있다. 일 예로, 복수의 장치(100 내지 500) 각각은 사용자 음성과 관련된 데이터 베이스 정보를 다른 장치(100 내지 500)에 전송할 수 있다. 다른 예로, 복수의 장치(100 내지 500)는 사용자 음성과 관련된 데이터 베이스 정보를 마스터 기기에 전송할 수 있다. 마스터 기기는 수신된 사용자 음성과 관련된 데이터 베이스 정보를 마스터 기기 자체에 저장하거나 외부 서버에 저장하기 위하여 외부 서버에 전송할 수 있다. 또 다른 예로, 복수의 장치(100 내지 500)는 사용자 음성과 관련된 데이터 베이스 정보를 서버에 전송할 수 있다. 서버는 복수의 장치(100 내지 500)로부터 수신한 사용자 음성과 관련된 데이터 베이스 정보를 저장할 수 있다.
한편, 1차 트리거 인식 결과 정보에 기초하여 2차 트리거 인식을 수행하는 경우, 2차 트리거 인식이 다양한 방법으로 수행될 수 있다.
일 실시 예에 따라, 2차 트리거 인식이 복수의 장치(100 내지 500) 중 어느 하나의 장치에서 수행될 수 있다. 1차 트리거 인식과 달리 2차 트리거 인식은 하나의 장치에서 수행되므로, 복수의 장치(100 내지 500)는 1차 트리거 인식 결과 정보에 기초하여 2차 트리거 인식을 수행할 장치를 결정할 수 있고, 결정된 장치에서 2차 트리거 인식이 수행될 수 있다. 여기서, 2차 트리거 인식을 수행하는 장치를 특정 장치로 가정한다. 일 예로, 특정 장치는 2차 트리거 인식 결과 정보를 복수의 장치(100 내지 500)에 모두 전송할 수 있다. 다른 예로, 특정 장치는 2차 트리거 인식 결과 정보를 마스터 기기에 전송할 수 있다. 또 다른 예로, 특정 장치는 2차 트리거 인식 결과 정보를 외부 서버에 전송할 수 있다.
다른 실시 예에 따라, 2차 트리거 인식은 마스터 기기에서 수행될 수 있다. 여기서, 마스터 기기는 외부 서버를 이용하지 않고 직접 2차 트리거 인식을 수행할 수 있다. 여기서, 마스터 기기는 수신된 복수의 사용자 음성 중 하나의 사용자 음성에 대하여 2차 트리거 인식을 수행할 수 있다. 여기서, 마스터 기기는 2차 트리거 인식 결과 정보를 획득할 수 있다. 일 예로, 마스터 기기는 획득한 2차 트리거 인식 결과 정보를 복수의 장치(100 내지 500)에 전송할 수 있다. 다른 예로, 마스터 기기는 획득한 2차 트리거 인식 결과 정보를 마스터 기기에 자체 저장할 수 있다. 또 다른 예로, 마스터 기기는 획득한 2차 트리거 인식 결과 정보를 외부 서버에 전송할 수 있다.
또 다른 실시 예에 따라, 2차 트리거 인식은 외부 서버에서 수행될 수 있다. 여기서, 외부 서버는 수신된 복수의 사용자 음성 중 하나의 사용자 음성에 대하여 2차 트리거 인식을 수행할 수 있다.
일 예로, 복수의 장치(100 내지 500)는 수신된 사용자 음성을 직접 외부 서버에 전송할 수 있다. 여기서, 외부 서버는 사용자 음성에 대하여 2차 트리거 인식을 수행할 수 있다. 여기서, 외부 서버는 2차 트리거 인식 결과 정보를 복수의 장치(100 내지 500) 각각에 전송할 수 있다. 여기서, 외부 서버는 복수의 장치(100 내지 500)에 직접 2차 트리거 인식 결과 정보를 전송하거나 마스터 기기를 통해 2차 트리거 인식 결과 정보를 전송할 수 있다. 한편, 외부 서버가 직접 복수의 장치(100 내지 500)에 2차 트리거 인식 결과 정보를 전송하는 것으로 설명하였지만, 구현 예에 따라 마스터 기기에 2차 트리거 인식 결과 정보를 전송하여 마스터 기기 자체에 저장하도록 하거나 외부 서버 자체적으로 2차 트리거 인식 결과 정보를 저장하는 형태로 구현될 수 있다.
다른 예로, 복수의 장치(100 내지 500)는 마스터 기기에 수신된 사용자 음성을 전송하고 마스터 기기는 수신된 사용자 음성을 다시 외부 서버로 전송할 수 있다. 그리고, 외부 서버는 마스터 기기로부터 수신한 사용자 음성들에 대하여 2차 트리거 인식을 수행할 수 있다. 여기서, 외부 서버는 2차 트리거 인식 결과 정보를 복수의 장치(100 내지 500) 각각에 전송할 수 있다. 여기서, 외부 서버는 복수의 장치(100 내지 500)에 직접 2차 트리거 인식 결과 정보를 전송하거나 마스터 기기를 통해 2차 트리거 인식 결과 정보를 전송할 수 있다. 한편, 외부 서버가 직접 복수의 장치(100 내지 500)에 2차 트리거 인식 결과 정보를 전송하는 것으로 설명하였지만, 구현 예에 따라 마스터 기기에 2차 트리거 인식 결과 정보를 전송하여 마스터 기기 자체에 저장하도록 하거나 외부 서버 자체적으로 2차 트리거 인식 결과 정보를 저장하는 형태로 구현될 수 있다.
한편, 2차 트리거 인식이 복수의 장치(100 내지 500) 중 어느 하나의 장치에서 수행되는 실시 예에서 어느 하나의 장치를 결정하는 다양한 방법이 존재할 수 있다. 여기서, 어느 하나의 장치는 2차 트리거 인식을 수행하는 장치일 수 있다. 편의상 2차 트리거 인식을 수행하는 장치는 우선 기기 또는 타겟 기기로 기재될 수 있다.
복수의 장치(100 내지 500)에서 1차 트리거 인식이 수행되는 실시 예와 관련된 동작을 설명한다.
일 예로, 복수의 장치(100 내지 500)에서 1차 트리거 인식이 수행되고, 1차 트리거 인식 결과 정보는 복수의 장치(100 내지 500) 각각에 저장될 수 있다.
일 구현 예에 따라, 복수의 장치(100 내지 500) 각각에 저장된 1차 트리거 인식 결과 및 특성 정보가 상호 공유될 수 있으며, 복수의 장치(100 내지 500) 각각에서 동일한 알고리즘을 이용하여 타겟 기기를 결정할 수 있다. 여기서, 복수의 장치(100 내지 500)는 1차 트리거 인식 결과 정보 또는 특성 정보 중 적어도 하나에 기초하여 타겟 기기를 결정할 수 있다. 만약, 타겟 기기에서 2차 트리거 인식이 실패한 경우 타겟 기기에 저장된 1차 트리거 인식 결과 정보에 기초하여 음성 인식 수행 여부를 결정할 수 있다.
다른 구현 예에 따라, 타겟 기기를 결정하는 동작은 마스터 기기에서 수행될 수 있다. 마스터 기기는 복수의 장치(100 내지 500)로부터 수신한 1차 트리거 인식 결과 정보 또는 복수의 장치(100 내지 500)로부터 수신한 특성 정보 중 적어도 하나에 기초하여 타겟 기기를 결정할 수 있다. 만약, 타겟 기기에서 2차 트리거 인식이 실패한 경우 마스터 기기(또는 타겟 기기)는 마스터 기기에 저장된 1차 트리거 인식 결과 정보에 기초하여 음성 인식 수행 여부를 판단할 수 있다.
또 다른 구현 예에 따라, 타겟 기기를 결정하는 동작은 외부 서버에서 수행될 수 있다. 외부 서버는 1차 트리거 인식 결과 정보 또는 복수의 장치(100 내지 500)로부터 수신한 특성 정보 중 적어도 하나에 기초하여 타겟 기기를 결정할 수 있다. 만약, 타겟 기기에서 2차 트리거 인식이 실패한 경우 외부 서버(또는 타겟 기기)는 외부 서버에 저장된 1차 트리거 인식 결과 정보에 기초하여 음성 인식 수행 여부를 판단할 수 있다.
다른 예로, 복수의 장치(100 내지 500)에서 1차 트리거 인식이 수행되고, 1차 트리거 인식 결과 정보는 마스터 기기에 저장될 수 있다.
일 구현 예에 따라, 타겟 기기를 결정하는 동작은 마스터 기기에서 수행될 수 있다. 마스터 기기는 복수의 장치(100 내지 500)로부터 수신한 1차 트리거 인식 결과 정보 또는 복수의 장치(100 내지 500)로부터 수신한 특성 정보 중 적어도 하나에 기초하여 타겟 기기를 결정할 수 있다. 만약, 타겟 기기에서 2차 트리거 인식이 실패한 경우 마스터 기기(또는 타겟 기기)는 마스터 기기에 저장된 1차 트리거 인식 결과 정보에 기초하여 음성 인식 수행 여부를 판단할 수 있다.
다른 구현 예에 따라, 타겟 기기를 결정하는 동작은 외부 서버에서 수행될 수 있다. 외부 서버는 1차 트리거 인식 결과 정보 또는 특성 정보 중 적어도 하나에 기초하여 타겟 기기를 결정할 수 있다. 만약, 타겟 기기에서 2차 트리거 인식이 실패한 경우 마스터 기기(또는 타겟 기기)는 마스터 기기에 저장된 1차 트리거 인식 결과 정보에 기초하여 음성 인식 수행 여부를 판단할 수 있다. 또한, 타겟 기기에서 2차 트리거 인식이 실패한 경우 외부 서버(또는 타겟 기기)는 외부 서버에 저장된 1차 트리거 인식 결과 정보에 기초하여 음성 인식 수행 여부를 판단할 수 있다.
또 다른 예로, 복수의 장치(100 내지 500)에서 1차 트리거 인식이 수행되고, 복수의 장치(100 내지 500)는 1차 트리거 인식 결과 정보를 외부 서버에 직접 전송하고, 외부 서버가 1차 트리거 인식 결과 정보를 저장할 수 있다. 여기서, 외부 서버는 1차 트리거 인식 결과 정보 또는 특성 정보 중 적어도 하나에 기초하여 타겟 기기를 결정할 수 있다. 만약, 타겟 기기에서 2차 트리거 인식이 실패한 경우 외부 서버(또는 타겟 기기)는 외부 서버에 저장된 1차 트리거 인식 결과 정보에 기초하여 음성 인식 수행 여부를 판단할 수 있다.
또 다른 예로, 마스터 기기에서 1차 트리거 인식이 수행되고, 마스터 기기에 1차 트리거 인식 결과 정보가 저장될 수 있다. 여기서, 타겟 기기를 결정하는 동작은 마스터 기기에서 수행될 수 있다. 마스터 기기는 마스터 기기에 저장된 1차 트리거 인식 결과 정보 또는 특성 정보 중 적어도 하나에 기초하여 타겟 기기를 결정할 수 있다. 만약, 타겟 기기에서 2차 트리거 인식이 실패한 경우 마스터 기기(또는 타겟 기기)는 마스터 기기에 저장된 1차 트리거 인식 결과 정보에 기초하여 음성 인식 수행 여부를 판단할 수 있다.
또 다른 예로, 마스터 기기에서 1차 트리거 인식이 수행되고, 외부 서버 1차 트리거 인식 결과 정보가 저장될 수 있다. 타겟 기기를 결정하는 동작은 외부 서버에서 수행될 수 있다. 마스터 기기는 1차 트리거 인식 결과 정보 또는 특성 정보 중 적어도 하나를 외부 서버에 전송할 수 있다. 외부 서버는 마스터 기기로부터 수신한 1차 트리거 인식 결과 정보 또는 마스터 기기로부터 수신한 특성 정보 중 적어도 하나에 기초하여 타겟 기기를 결정할 수 있다. 만약, 타겟 기기에서 2차 트리거 인식이 실패한 경우 마스터 기기(또는 타겟 기기)는 마스터 기기에 저장된 1차 트리거 인식 결과 정보에 기초하여 음성 인식 수행 여부를 판단할 수 있다. 또한, 타겟 기기에서 2차 트리거 인식이 실패한 경우 외부 서버(또는 타겟 기기)는 외부 서버에 저장된 1차 트리거 인식 결과 정보에 기초하여 음성 인식 수행 여부를 판단할 수 있다.
또 다른 예로, 외부 서버에서 1차 트리거 인식이 수행되고, 1차 트리거 인식 결과 정보가 외부 서버에 저장될 수 있다. 외부 서버는 복수의 장치(100 내지 500)로부터 수신한 1차 트리거 인식 결과 정보 또는 복수의 장치(100 내지 500)로부터 수신한 특성 정보 중 적어도 하나에 기초하여 타겟 기기를 결정할 수 있다. 만약, 타겟 기기에서 2차 트리거 인식이 실패한 경우 외부 서버(또는 타겟 기기)는 외부 서버에 저장된 1차 트리거 인식 결과 정보에 기초하여 음성 인식 수행 여부를 판단할 수 있다.
한편, 다른 장치의 2차 트리거 인식 결과 정보를 이용하여 음성 인식을 수행하는 실시 예에서 상술한 1차 인식 결과는 2차 인식 결과로 치환될 수 있다.
한편, 타겟 기기에서 2차 트리거 인식이 실패한 경우 다양한 동작이 수행될 수 있다.
일 실시 예에 따라, 2차 트리거 인식 실패 이후에 복수의 장치(100 내지 500)는 다른 장치(100 내지 500)로부터 수신된 정보를 이용하여 음성 인식을 수행할지 여부를 판단할 수 있다. 여기서, 다른 장치(100내지 500)로부터 수신된 정보란 복수의 장치(100 내지 500)에서 수신된 사용자 음성에 대응되는 1차 트리거 인식 결과 정보를 의미할 수 있다. 여기서, 1차 트리거 인식 결과 정보는 복수의 장치(100 내지 500)로부터 직접 수신되거나 마스터 기기로부터 수신될 수 있다.
다른 실시 예에 따라, 2차 트리거 인식 실패 이후에 마스터 기기(또는 외부 서버)는 기 저장된 1차 트리거 인식 결과 정보 또는 기 저장된 2차 트리거 인식 결과 정보 중 적어도 하나를 이용하여 음성 인식을 수행할지 여부를 판단할 수 있다. 마스터 기기 또는 외부 서버에 1차 트리거 인식 결과 정보 또는 2차 트리거 인식 결과 정보가 저장되어 있는 경우 복수의 장치(100 내지 500)로부터 별도의 정보를 수신하지 않고 기 저장된 정보를 이용하여 음성 인식을 수행할 지 여부를 판단할 수 있다.
또 다른 실시 예에 따라, 2차 트리거 인식 실패 이전에 타겟 기기(또는 마스터 기기 또는 외부 서버)는 음성 인식 수행 여부를 판단할 수 있다. 구체적으로, 타겟 기기에서 2차 트리거 인식을 수행하기 이전에 타겟 기기(또는 마스터 기기 또는 외부 서버)는 사전에 저장된(또는 수신된) 1차 트리거 인식 결과 정보 또는 2차 트리거 인식 결과 정보 중 적어도 하나를 이용하여 음성 인식을 수행할지 여부를 판단할 수 있다. 만약, 사전 단계에서 음성 인식을 수행하기로 결정되면 타겟 기기에서 별도의 2차 트리거 인식을 수행하지 않을 수 있다. 2차 트리거 인식 결과 정보와 상관 없이 음성 인식을 수행하는 경우 별도의 2차 트리거 인식이 필요하지 않기 때문이다.
한편, 1차 트리거 인식 결과 정보에 기초하여 2차 트리거 인식을 수행할 장치가 결정될 수 있다. 여기서, 특정 장치에서 2차 트리거 인식이 수행되는 것으로 결정된 경우 특정 장치에서 모두 1차 트리거 인식 및 2차 트리거 인식이 수행되는 형태로 구현될 수 있다. 하지만, 구현 예에 따라, 1차 트리거 인식 및 2차 트리거 인식이 별도의 장치에서 수행되는 형태로 구현될 수 있다.
일 실시 예에 따라, 1차 트리거 인식 및 2차 트리거 인식이 동일한 장치에서 수행될 수 있다. 여기서, 1차 트리거 인식은 리소스가 작은 동작이므로, 저성능 모드(또는 저전력 모드)에서 수행될 수 있으며, 2차 트리거 인식은 고성능 모드(또는 고전력 모드)에서 수행될 수 있다. 한편 구현 예에 따라, 2차 트리거 인식은 고성능 모드가 아닌 일반 동작 모드에서 수행될 수 있다.
다른 실시 예에 따라, 1차 트리거 인식이 제1 장치에서 수행되고 2차 트리거 인식이 제2 장치에서 수행될 수 있으며, 제1 장치 및 제2장치는 사용자가 발화한 위치 근처에 존재할 수 있다. 일 예로, 1차 트리거 인식은 원격 제어 장치에서 수행될 수 있으며, 2차 트리거 인식은 원격 제어 장치로 제어되는 전자 장치(예를 들어, TV)에서 수행될 수 있다. 여기서, 1차 트리거 인식을 수행하는 장치(예를 들어, 원격 제어 장치)와 2차 트리거 인식을 수행하는 장치(예를 들어, TV )는 사용자가 발화하는 위치 근처에 존재할 수 있다. 제1 장치가 저전력 모드에 있다고 가정한다. 사용자가 제1 장치 근처에서 발화하는 경우 제1 장치는 저전력 모드에서 일반 모드로 전환 될 수 있다. 구체적으로, 제1 장치는 사용자 음성의 음압을 획득하고, 획득된 음압에 기초하여 저전력 모드에서 일반 모드로 전환될 수 있다. 그리고, 일반 모드로 전환된 제1 장치는 제1 장치의 마이크를 통해 수신된 사용자 음성이 트리거 정보(예를 들어, hi bixby)와 유사한지 여부를 판단할 수 있다. 제1 장치에서 사용자 음성 및 트리거 정보 간 유사 여부를 판단하는 동작은 1차 트리거 인식일 수 있다. 제1 장치에서 수행된 1차 트리거 인식 결과로서 사용자 음성 및 트리거 정보가 유사하다고 식별되면, 제1 장치는 1차 트리거 인식이 성공했다고 식별할 수 있다. 1차 트리거 인식이 성공하면, 제1 장치는 사용자 음성에 대응되는 정보를 제2 장치로 전송할 수 있다. 그리고, 여기서, 사용자 음성에 대응되는 정보는 사용자 음성의 오디오 데이터, 사용자 음성의 특성 정보, 1차 트리거 인식 결과 정보(1차 트리거 인식 성공 또는 실패) 중 적어도 하나를 포함할 수 있다. 제2 장치는 제1 장치로부터 수신된 사용자 음성에 대응되는 정보에 기초하여 2차 트리거 인식을 수행할 수 있다.
또 다른 실시 예에 따라, 1차 트리거 인식이 제1 장치에서 수행되고 2차 트리거 인식이 제2 장치에서 수행될 수 있으며, 제1 장치는 사용자가 발화한 위치 근처에 존재하고, 제2 장치는 사용자가 발화한 위치 근처에 존재하지 않을 수 있다. 일 예로, 1차 트리거 인식은 IoT 기기(예를 들어, AI 스피커)에서 수행될 수 있으며 2차 트리거 인식은 외부 서버에서 수행될 수 있다.
상술한 실시 예들에서 1차 트리거 인식은 사용자 음성에 포함된 트리거 단어를 획득하는 동작일 수 있으며, 2차 트리거 인식은 획득된 트리거 단어의 오인식 문제를 개선하는 동작일 수 있다.
한편, 1차 트리거 인식이 성공하면, 1차 트리거 인식을 수행한 장치는 1차 트리거 인식이 성공했다는 것을 알리는 정보를 제공할 수 있다.
일 예로, 1차 트리거 인식이 성공하면, 1차 트리거 인식을 수행한 장치는 디스플레이를 통해 UI를 제공할 수 있다. 여기서, UI는 1차 트리거 인식을 성공했다는 것을 알리는 아이콘일 수 있다.
다른 예로, 1차 트리거 인식이 성공하면, 1차 트리거 인식을 수행한 장치는 LED가 발광하도록 LED를 제어할 수 있다. 구체적으로, 1차 트리거 인식을 수행한 장치는 LED의 색상, 점멸 횟수, 점멸 주기 등을 통해 1차 트리거 인식이 성공했음을 알리는 정보를 제공할 수 있다.
또 다른 예로, 1차 트리거 인식이 성공하면, 1차 트리거 인식을 수행한 장치는 스피커를 통해 오디오 데이터를 출력할 수 있다. 여기서, 오디오 데이터는 비프음 또는 기 설정된 오디오 데이터일 수 있다.
한편, 2차 트리거 인식이 성공하면, 2차 트리거 인식을 수행한 장치는 디스플레이 또는 스피커를 통해 2차 트리거 인식이 성공했음을 알리는 정보를 제공하거나 사용자에게 후속 발화(예를 들어, 제어 명령)를 가이드하는 정보를 추가적으로 제공할 수 있다. 여기서, 이미 사용자 음성에 후속 발화가 포함된 것으로 식별되면, 전자 장치(100)는 사용자 음성에 대응되는 이미지 데이터 또는 사용자 음성에 대응되는 오디오 데이터 중 적어도 하나를 제공할 수 있다.
한편, 1차 트리거 인식과 2차 트리거 인식은 비교 동작에서 이용되는 언어 모델, 비교 기준 등이 상이할 수 있다. 일반적으로, 1차 트리거 인식보다 2차 트리거 인식이 비교 기준이 엄격할 수 있다. 비교 기준이 엄격하다는 것은 사용자 음성에 포함된 단어가 트리거로 인식되기 더 어렵다는 것을 의미할 수 있다.
전자 장치(100), 제1 외부 장치(200) 및 제2 외부 장치(300)가 모두 트리거(웨이크업 워드)가 동일하다고 가정한다. 사용자가 트리거를 포함한 음성을 발화하는 경우, 전자 장치(100), 제1 외부 장치(200) 및 제2 외부 장치(300) 모두 사용자 음성에 반응할 수 있다(복수의 장치 모두 1차 트리거 인식에 성공할 수 있다). 일반적으로, 사용자가 제어하고자 하는 장치는 하나이기 때문에, 복수의 장치들이 반응하는 상황은 사용자의 편의성을 떨어뜨리게 될 수 있다. 따라서, 동일한 트리거 정보를 포함하는 상황에서, 복수의 장치들 중 어느 하나의 장치만 음성 인식을 수행할 수 있다.
복수의 장치들 중 어느 하나의 장치를 특정하기 위해서, 사용자 음성에 대한 특성 정보를 공유할 수 있다. 여기서, 특성 정보는 복수의 장치들은 사용자 음성의 크기 값, 사용자 음성의 지향 각도 값 또는 사용자 음성과 장치 간 거리 값 중 적어도 하나일 수 있다. 그리고, 복수의 장치들은 공유된 사용자 음성에 대한 특성 정보에 기초하여 하나의 장치를 특정(또는 결정)할 수 있다. 구체적인 설명은 도 7 내지 도 10에서 후술한다.
하나의 장치가 결정된 경우, 결정된 장치는 2차 트리거 인식 동작을 수행할 수 있다. 2차 트리거 이식 동작이 수행된 후 결정된 장치는 2차 트리거 인식 동작에 대응되는 결과 정보를 획득할 수 있다. 2차 트리거 인식에 성공하면, 결정된 장치는 사용자 음성에 대하여 음성 인식을 수행할 수 있다. 다만, 2차 트리거 인식에 실패하면, 결정된 장치는 사용자 음성에 대하여 음성 인식을 수행하지 않을 수 있다. 결정된 장치에서 2차 트리거 인식에 실패하여 음성 인식을 수행하지 않는 경우, 복수의 장치 중 어느 장치에서도 음성 인식이 수행되지 않을 수 있다.
결정된 장치의 2차 트리거 인식 결과 정보에 기초하여 사용자의 음성이 발화되었음에도 무응답 상태가 발생할 수 있다. 사용자는 무응답 상태인 경우 장치의 오작동이라고 오해할 수 있으므로, 단순히 결정된 장치의 2차 트리거 인식 결과 이외에 보조적인 분석을 통해 음성 인식을 수행하는 동작이 필요할 수 있다. 이에 대한 구체적인 동작은 도 2에서 후술한다.
한편, 도 1에서 제1 외부 장치(200)는 제2 외부 장치(300)와 구분하기 위하여 제1 외부 장치로 기재하였다. 이후 제1 외부 장치(200)는 외부 장치(200)로 기재될 수 있다.
도 2는 본 개시의 일 실시 예에 따른 전자 장치를 도시한 블록도이다.
도 2를 참조하면, 전자 장치(100)는 메모리(110), 통신 인터페이스(120) 초해상(super resolution) 및 프로세서(130)로 구성될 수 있다.
본 명세서의 다양한 실시 예들에 따른 전자 장치는, 예를 들면, 스마트폰, 태블릿 PC, 이동 전화기, 영상 전화기, 전자책 리더기, 데스크탑 PC, 랩탑 PC, 넷북 컴퓨터, 워크스테이션, 서버, PDA, PMP(portable multimedia player), MP3 플레이어, 의료기기, 카메라, 또는 웨어러블 장치 중 적어도 하나를 포함할 수 있다. 어떤 실시예들에서, 전자 장치는, 예를 들면, 텔레비전, DVD(digital video disk) 플레이어, 오디오, 냉장고, 에어컨, 청소기, 오븐, 전자레인지, 세탁기, 공기 청정기, 셋톱 박스, 홈 오토매이션 컨트롤 패널, 보안 컨트롤 패널, 미디어 박스 중 적어도 하나를 포함할 수 있다.
전자 장치(100)는 디스플레이를 포함하지 않는 장치로 구현되어, 별도의 디스플레이 장치로 영상 신호를 전송할 수 있다. 다만, 이는 일 실시 예에 불과하고, 다른 실시 예에 따라, 전자 장치(100)는 디스플레이를 포함할 수 있다.
메모리(110)는 프로세서(130)에 포함된 롬(ROM)(예를 들어, EEPROM(electrically erasable programmable read-only memory)), 램(RAM) 등의 내부 메모리로 구현되거나, 프로세서(130)와 별도의 메모리로 구현될 수도 있다.
통신 인터페이스(120)는 다양한 유형의 통신 방식에 따라 다양한 유형의 외부 장치와 통신을 수행하는 구성이다. 통신 인터페이스(120)는 와이파이 모듈, 블루투스 모듈, 적외선 통신 모듈 및 무선 통신 모듈 등을 포함한다. 여기서, 각 통신 모듈은 적어도 하나의 하드웨어 칩 형태로 구현될 수 있다.
프로세서(130)는 통신 인터페이스(120)를 이용하여 각종 외부 장치와 통신을 수행할 수 있다. 여기서, 외부 장치는 TV와 같은 디스플레이 장치, set-top box와 같은 영상 처리 장치, 외부 서버, 리모컨과 같은 제어 장치, 블루투스 스피커와 같은 음향 출력 장치, 조명 장치, 스마트 전구, 스마트 플러그, 스마트 청소기, 스마트 냉장고와 같은 가전 기기, IOT 홈 매니저 등과 같은 서버, 스마트폰, AI(ARTIFICIAL INTELLIGENCE) 스피커 등을 포함할 수 있다.
와이파이 모듈, 블루투스 모듈은 각각 WiFi 방식, 블루투스 방식으로 통신을 수행한다. 와이파이 모듈이나 블루투스 모듈을 이용하는 경우에는SSID 및 세션 키 등과 같은 각종 연결 정보를 먼저 송수신하여, 이를 이용하여 통신 연결한 후 각종 정보들을 송수신할 수 있다.
적외선 통신 모듈은 가시 광선과 밀리미터파 사이에 있는 적외선을 이용하여 근거리에 무선으로 데이터를 전송하는 적외선 통신(IrDA, infrared Data Association)기술에 따라 통신을 수행한다.
무선 통신 모듈은 상술한 통신 방식 이외에 지그비(zigbee), 3G(3rd Generation), 3GPP(3rd Generation Partnership Project), LTE(Long Term Evolution), LTE-A(LTE Advanced), 4G(4th Generation), 5G(5th Generation)등과 같은 다양한 무선 통신 규격에 따라 통신을 수행하는 적어도 하나의 통신 칩을 포함할 수 있다.
그 밖에 통신 인터페이스(120)는LAN(Local Area Network) 모듈, 이더넷 모듈, 페어 케이블, 동축 케이블, 광섬유 케이블 또는 UWB(Ultra Wide-Band) 모듈 등을 이용하여 통신을 수행하는 유선 통신 모듈 중 적어도 하나를 포함할 수 있다.
일 예에 따라 통신 인터페이스(120)는 리모컨과 같은 외부 장치 및 외부 서버와 통신하기 위해 동일한 통신 모듈(예를 들어, Wi-Fi 모듈)을 이용할 수 있다.
다른 예에 따라 통신 인터페이스(120)는 리모컨과 같은 외부 장치 및 외부 서버와 통신하기 위해 상이한 통신 모듈(예를 들어, Wi-Fi 모듈)을 이용할 수 있다. 예를 들어, 통신 인터페이스(120)는 외부 서버와 통신하기 위해 이더넷 모듈 또는 WiFi 모듈 중 적어도 하나를 이용할 수 있고, 리모컨과 같은 외부 장치와 통신하기 위해 BT 모듈을 이용할 수도 있다. 다만 이는 일 실시 예에 불과하며 통신 인터페이스(120)는 복수의 외부 장치 또는 외부 서버와 통신하는 경우 다양한 통신 모듈 중 적어도 하나의 통신 모듈을 이용할 수 있다.
프로세서(130)는 전자 장치(100)의 전반적인 제어 동작을 수행할 수 있다. 구체적으로, 프로세서(130)는 전자 장치(100)의 전반적인 동작을 제어하는 기능을 한다.
프로세서(130)는 디지털 신호를 처리하는 디지털 시그널 프로세서(digital signal processor(DSP), 마이크로 프로세서(microprocessor), TCON(Time controller)으로 구현될 수 있다.
프로세서(130)는 트리거 정보를 메모리(110)에 저장하도록 제어할 수 있다. 여기서, 트리거는 웨이크업 워드를 의미할 수 있다.
한편, 프로세서(130)는 사용자 음성과 트리거 정보를 비교하여(또는 사용자 음성에 대하여 트리거 인식을 수행하여) 유사도 정보를 획득할 수 있다. 유사도 정보는 사용자 음성과 트리거 정보가 얼마나 유사한지 나타내는 정보를 의미할 수 있다. 그리고, 유사도 정보는 유사도 값 또는 유사 여부 결과 정보(예를 들어, 유사 또는 비유사)를 포함할 수 있다.
본 개시의 일 실시 예에 따라, 유사도 정보는 판단 주체 및 단계에 따라 상이한 정보일 수 있다. 구분의 편의를 위해 유사도 정보는 아래와 같이 기재될 수 있다. 프로세서(130)는 1차 트리거 인식 및 2차 트리거 인식을 수행할 수 있으므로, 2개의 유사도 정보를 획득할 수 있다. 구분의 편의를 위해 전자 장치(100)에서 수행되는 1차 트리거 인식에 기초하여 획득된 유사도 정보는 제1 유사도 정보로 기재할 수 있고, 2차 트리거 인식에 기초하여 획득된 유사도 정보는 제2 유사도 정보로 기재할 수 있다. 한편, 전자 장치(100)이외에 외부 장치(200)에서도 1차 트리거 인식 및 2차 트리거 인식이 수행될 수 있다. 구분의 편의를 위해 외부 장치(200)에서 수행되는 1차 트리거 인식에 기초하여 획득된 유사도 정보는 제3 유사도 정보로 기재할 수 있고, 2차 트리거 인식에 기초하여 획득된 유사도 정보는 제4 유사도 정보로 기재할 수 있다.
한편, 프로세서(130)는 통신 인터페이스(120)를 통해 외부 장치(200)로부터 사용자 음성에 대응되는 정보를 수신하고, 전자 장치(100)에서 획득된 사용자 음성 및 메모리(110)에 저장된 트리거 정보에 기초하여 수행된 트리거 인식이 실패하면, 외부 장치(200)로부터 수신된 정보에 기초하여 획득된 사용자 음성에 대한 음성 인식을 수행하는 프로세서(130)를 포함하고, 외부 장치(200)로부터 수신된 정보는 외부 장치(200)에서 획득된 사용자 음성 및 트리거 정보 간 유사도 정보(제3 유사도 정보)를 포함할 수 있다.
여기서, 사용자 음성은 전자 장치(100) 및 외부 장치(200) 각각 획득할 수 있다. 예를 들어, 사용자가 사용자 음성을 발화한 경우 전자 장치(100) 및 외부 장치(200)는 각 장치에 포함된 마이크를 통해 사용자 음성을 획득할 수 있다. 한편, 또 다른 예에 따라, 전자 장치(100)는 원격 제어 장치를 통해 사용자 음성을 획득할 수 있다. 원격 제어 장치는 원격 제어 장치의 마이크를 통해 사용자 음성을 수신하고 수신된 사용자 음성을 전자 장치(100)에 전송할 수 있다. 그리고, 전자 장치(100)는 원격 제어 장치로부터 사용자 음성을 수신할 수 있다.
프로세서(130)는 수신된 사용자 음성에 기초하여 트리거 인식(1차 트리거 인식)을 수행하거나 1차 트리거 인식에 대한 수행 결과 정보를 외부 장치(전자 장치(100)와 페어링된 원격 제어 장치)로부터 수신할 수 있다. 여기서, 1차 트리거 인식은 2차 트리거 인식을 수행하기 전에 이루어지는 사전 트리거 인식일 수 있으며 구체적인 설명은 도 1에서 전술하였다. 트리거 인식에 대한 결과로서, 프로세서(130)는 유사도 정보를 획득할 수 있다. 유사도 정보는 사용자 음성과 트리거 정보가 어느 정도 유사한지 나타내는 정보일 수 있다.
예를 들어, 사용자 음성이 “hi bixbee”이고 트리거 정보가 “hi bixby”인 경우 유사도 정보는 90%일 수 있다. 여기서, 전자 장치(100)에서 1차 트리거 인식이 성공되었다고 판단하는 기준은 유사도 정보에 포함된 유사도 값이 임계값(예를 들어, 80%)일 수 있다. 1차 트리거 인식에 의하여 획득된 제1 유사도 정보(예를 들어, 90%)가 임계값(예를 들어, 80%) 이상이면, 프로세서(130)는 사용자 음성이 1차 트리거 인식을 성공(또는 통과)하였다고 판단할 수 있다.
여기서, 프로세서(130)는 1차 트리거 인식이 성공하였다고 판단되면, 프로세서(130)는 전자 장치(100)가 포함된 네트워크에 전자 장치(100)이외의 타 장치(외부 장치(200))에서도 1차 트리거 인식이 성공하였는지 판단할 수 있다. 도 1에서 설명한 바와 같이 하나의 네트워크에 복수의 장치들이 포함될 수 있으며, 트리거 정보가 동일할 수 있다. 따라서, 프로세서(130)는 전자 장치(100)에서만 음성 인식이 수행될 것인지 아니면 복수의 장치에서 음성 인식이 수행될 가능성이 있는 것인지 판단할 수 있다. 복수의 장치들에서 음성 인식이 수행될 가능성이 있는 것인지 판단하기 위하여 복수의 장치들은 1차 트리거 인식에 대한 결과 정보를 상호 공유할 수 있다. 즉, 전자 장치(100)는 전자 장치(100)에서 수행된 1차 트리거 인식에 대한 결과 정보를 외부 장치(200)에 전송할 수 있으며, 외부 장치(200)에서 수행된 1차 트리거 인식에 대한 결과 정보를 외부 장치(200)로부터 수신할 수 있다.
전자 장치(100)가 포함된 네트워크에 전자 장치(100)이외의 타 장치에서는 1차 트리거 인식이 성공하지 못하였다고 판단되거나 전자 장치(100)이외의 타 장치가 식별되지 않는 경우, 프로세서(130)는 2차 트리거 인식을 수행할 수 있다. 그리고, 2차 트리거 인식이 통과되면, 프로세서(130)는 사용자 음성에 대한 음성 인식을 수행할 수 있다.
다만, 전자 장치(100)가 포함된 네트워크에 전자 장치(100)이외의 타 장치에서는 1차 트리거 인식이 성공한 것으로 식별되면, 프로세서(130)는 특성 정보에 기초하여 전자 장치(100) 및 타 장치 중 어느 장치에서 2차 트리거 인식을 수행할 지 판단할 수 있다.
여기서, 프로세서(130)는 전자 장치(100)에서 획득된 사용자 음성의 제1 특성 정보 및 외부 장치(200)에서 획득된 사용자 음성의 제2 특성 정보에 기초하여 트리거 인식을 수행하고, 수행된 트리거 인식이 실패하면, 외부 장치(200)로부터 수신된 사용자 음성에 대응되는 정보에 기초하여 전자 장치(100)에서 획득된 사용자 음성에 대한 음성 인식을 수행할 수 있다.
여기서, 특성 정보는 사용자 음성에 대한 물리적 특성과 관련된 정보를 포함할 수 있다. 예를 들어, 특성 정보는 사용자 음성의 소리 크기 값, 파장, 진폭 또는 진동수 중 적어도 하나를 포함할 수 있다. 구현 예에 따라, 특성 정보는 사용자 음성의 평균 소리 크기 값, 평균 파장, 평균 진폭 또는 평균 진동수 중 적어도 하나를 포함할 수 있다.
또한, 특성 정보는 사용자 음성 및 사용자 음성이 수신되는 장치 사이의 물리적 특성과 관련된 정보를 포함할 수 있다. 예를 들어, 특성 정보는 사용자 음성이 수신되는 장치에 대한 사용자 음성의 지향 각도 값 또는 사용자 음성이 수신되는 장치와 사용자 음성 사이의 거리 값 중 적어도 하나를 포함할 수 있다.
한편, 프로세서(130)가 수신하는 제1 특성 정보는 전자 장치(100)에서 직접 획득하는 형태로 구현되거나 전자 장치(100)와 페어링된 원격 제어 장치로부터 획득하는 형태로 구현될 수 있다.
제1 특성 정보는 전자 장치(100)에서 획득되는 특성 정보를 의미할 수 있으며, 제2 특성 정보는 외부 장치(200)에서 획득되는 특성 정보를 의미할 수 있다. 그리고, 프로세서(130)는 획득된 제1 특성 정보를 타 장치와 공유할 수 있다. 여기서, 타 장치는 전자 장치(100)가 포함된 네트워크에 포함된 장치를 의미할 수 있다. 네트워크에 전자 장치(100) 및 외부 장치(200)가 포함되어 있는 경우, 전자 장치(100)는 제1 특성 정보를 외부 장치(200)에 전송할 수 있다.
또한, 외부 장치(200)는 외부 장치에 포함된 마이크를 통해 사용자 음성을 수신할 수 있고, 외부 장치(200)는 수신된 사용자 음성에 기초하여 제2 특성 정보를 획득할 수 있다. 그리고, 외부 장치(200)는 획득된 제2 특성 정보를 전자 장치(100)에 전송할 수 있다.
프로세서(130)는 제1 특성 정보 및 제2 특성 정보를 비교할 수 있다. 구체적인 비교 동작은 도 7 내지 도 9에서 후술한다. 프로세서(130)는 제1 특성 정보와 제2 특성 정보 간 비교 결과에 기초하여 2차 트리거 인식을 수행할지 여부를 결정할 수 있다.
전자 장치(100) 및 타 장치(외부 장치(200)) 중에서 전자 장치(100)에서 2차 트리거 인식을 수행하기로 결정되었다고 가정한다.
여기서, 프로세서(130)는 제1 언어 인식 모델을 이용하여 전자 장치(100)에서 획득된 사용자 음성 및 트리거 정보 간 제1 유사도 정보를 1차 트리거 인식 결과로서 획득하고, 제1 특성 정보 및 제2 특성 정보 간 비교 결과 및 제1 유사도 정보에 기초하여, 2차 트리거 인식을 수행할지 여부를 결정하고, 2차 트리거 인식을 수행하는 경우, 제2 언어 인식 모델을 이용하여 전자 장치(100)에서 획득된 사용자 음성 및 트리거 정보 간 제2 유사도 정보를 2차 트리거 인식 결과로서 획득하고, 획득된 제2 유사도 정보가 임계값 미만이면, 2차 트리거 인식이 실패한 것으로 식별하고, 2차 트리거 인식이 실패하면, 외부 장치(200)로부터 수신된 제3 유사도 정보에 기초하여 사용자 음성에 대한 음성 인식을 수행할 수 있다.
프로세서(130)는 사용자 음성에 대하여 2차 트리거 인식을 수행할 수 있으며, 프로세서(130)는 2차 트리거 인식에 대한 결과 정보로서 제2 유사도 정보를 획득할 수 있다. 제2 유사도 정보는 유사도 값을 포함할 수 있다.
제2 유사도 정보에 포함된 유사도 값이 임계값 이상이면, 프로세서(130)는 2차 트리거 인식이 성공한 것으로 판단할 수 있다. 그리고, 프로세서(130)는 사용자 음성에 대한 음성 인식을 수행할 수 있다.
한편, 제2 유사도 정보에 포함된 유사도 값이 임계값 미만이면, 프로세서(130)는 2차 트리거 인식에 실패한 것으로 판단할 수 있다. 그리고, 2차 트리거 인식에 실패하면, 프로세서(130)는 외부 장치(200)로부터 수신된 제3 유사도 정보에 기초하여 사용자 음성에 대한 음성 인식을 수행할지 여부를 결정할 수 있다. 구체적인 동작은 도 13 내지 도 18에서 후술한다.
한편, 프로세서(130)는 제1 언어 인식 모델을 이용하여 사용자 음성 및 트리거 정보 간 제1 유사도 정보를 획득할 수 있고, 제1 특성 정보 및 제2 특성 정보 간 비교 결과 및 제1 유사도 정보에 기초하여, 제2 언어 인식 모델을 이용하여 사용자 음성 및 트리거 정보 간 제2유사도 정보를 획득할지 여부를 결정할 수 있고, 제2 언어 인식 모델을 이용하여 마이크(140)를 통해 수신된 사용자 음성 및 트리거 정보 간 제2 유사도 정보를 획득할 수 있고, 획득된 제2 유사도 정보가 임계값 미만이면, 외부 장치(200)로부터 수신된 제3 유사도 정보에 기초하여 사용자 음성에 대한 음성 인식을 수행할 수 있다.
프로세서(130)는 사용자 음성에 대하여 1차 트리거 인식을 수행할 수 있으며, 전자 장치(100)에서 수행되는 1차 트리거 인식은 제1 언어 인식 모델을 이용하여 수행될 수 있다. 여기서, 제1 언어 인식 모델이란, 오디오 데이터를 텍스트 데이터로 변환하는 모델을 의미할 수 있다. 구체적으로, 제1 언어 인식 모델은 오디오 데이터의 파형, 파장, 진동수, 진폭 중 적어도 하나에 기초하여 오디오 데이터를 텍스트 데이터로 변환하는 모델일 수 있다. 한편, 전자 장치(100)가 아닌 외부 장치(200)에서 수행되는 1차 트리거 인식은 제1 언어 인식 모델과 동일한 언어 인식 모델을 이용하여 수행될 수 있다. 다만, 구현 예에 따라, 외부 장치(200)에서 수행되는 1차 트리거 인식은 제1 언어 인식 모델과 상이한 언어 인식 모델을 이용하여 수행될 수 있다. 여기서, 제1 언어 인식 모델과 상이하다는 것은 사용자 음성 및 트리거 정보 간 유사도 정보를 획득하기 위해 이용되는 판단 알고리즘 또는 데이터 베이스 중 적어도 하나가 상이하다는 것을 의미할 수 있다.
한편, 프로세서(130)는 1차 트리거 인식에 대한 결과 정보인 제1 유사도 정보에 기초하여 전자 장치(100)에서 제2 유사도 정보를 획득할지 여부를 결정할 수 있다. 여기서, 제2 유사도 정보를 획득한다는 것은 2차 트리거 인식을 수행하는 것을 의미할 수 있다. 구체적으로, 프로세서(130)는 제1 유사도 정보에 기초하여 전자 장치(100)에서 2차 트리거 인식을 수행할 지 여부를 결정할 수 있다.
구체적으로, 제1 유사도 정보에 포함된 유사도 값이 임계값 이상이면, 프로세서(130)는 사용자 음성이 1차 트리거 인식에 성공하였다고 판단할 수 있고, 2차 트리거 인식을 수행할 수 있다고 판단할 수 있다. 하지만, 제1 유사도 정보에 포함된 유사도 값이 임계값 미만이면, 프로세서(130)는 사용자 음성이 1차 트리거 인식에 실패하였다고 판단할 수 있고, 2차 트리거 인식을 수행할 수 없다고 판단할 수 있다.
또한, 프로세서(130)는 1차 트리거 인식에 성공하였다고 하더라도 특성 정보에 기초하여 2차 트리거 인식을 수행할지 여부를 결정할 수 있다. 구체적으로, 프로세서(130)는 전자 장치(100)에서 직접 수신되는 사용자 음성에 대응되는 제1 특성 정보 및 외부 장치(200)에서 수신되는 사용자 음성에 대한 제2 특성 정보를 비교할 수 있다. 한편, 제1 특성 정보는 전자 장치에서 획득된 사용자 음성의 크기 값, 전자 장치에 대한 사용자 음성의 지향 각도 값 또는 사용자 음성과 전자 장치 간 거리 값 중 적어도 하나일 수 있고, 제2 특성 정보는 외부 장치(200)에서 획득된 사용자 음성의 크기 값, 외부 장치(200)에 대한 사용자 음성의 지향 각도 값 또는 사용자 음성이 발화된 지점과 외부 장치(200) 간 거리 값 중 적어도 하나일 수 있다.
또한, 프로세서(130)는 제1 특성 정보와 제2 특성 정보 간 비교 결과로서 전자 장치(100) 및 외부 장치(200) 중 어느 장치에서 2차 트리거 인식을 수행할 것인지 판단할 수 있다. 어느 장치에서 2차 트리거 인식을 수행할 것인지에 대한 구체적인 기준은 도 7 내지 도 10에서 후술한다.
전자 장치(100)에서 2차 트리거 인식을 수행하는 것으로 결정되면(전자 장치(100)에서 제2 유사도 정보를 획득하는 것으로 결정되면), 프로세서(130)는 제2 언어 인식 모델을 이용하여 사용자 음성에 대한 2차 트리거 인식을 수행할 수 있다. 그리고, 프로세서(130)는 2차 트리거 인식에 대한 결과로서, 제2 유사도 정보를 획득할 수 있다.
한편, 제1 언어 인식 모델과 제2 언어 인식 모델은 상이할 수 있고, 프로세서(130)는 제1 유사도 정보가 임계값 이상이면, 제1 특성 정보와 제2 특성 정보 간 비교 결과에 기초하여 제2 언어 인식 모델을 이용하여 제2 유사도 정보를 획득할 수 있다.
여기서, 제1 유사도 정보가 임계값 이상이라는 것은 1차 트리거 인식을 성공한 것을 의미할 수 있다. 1차 트리거 인식에 실패한 경우, 프로세서(130)는 추가 동작을 수행하지 않을 수 있다. 1차 트리거 인식에 성공한 경우, 프로세서(130)는 2차 트리거 인식을 수행할 수 있다.
여기서, 제1 언어 인식 모델 및 제2 언어 인식 모델은 사용자 음성 및 트리거 정보 간 유사도 정보를 획득하기 위해 이용되는 판단 알고리즘 또는 데이터 베이스 중 적어도 하나가 상이한 모델일 수 있다.
그리고, 획득된 제2 유사도 정보에 포함된 유사도 값이 임계값 미만이면, 프로세서(130)는 외부 장치(200)로부터 수신되는 제3 유사도 정보에 기초하여 사용자 음성에 대하여 음성 인식을 수행할지 여부를 결정할 수 있다. 여기서, 제3 유사도 정보는 외부 장치(200)에서 수행된 1차 트리거 인식에 대한 결과 정보를 의미할 수 있다.
한편, 제3 유사도 정보는 외부 장치(200)에서 획득된 사용자 음성 및 트리거 정보 간 유사도 값을 포함하며, 프로세서(130)는 2차 트리거 인식이 실패하면, 제3 유사도 정보에 포함된 유사도 값이 임계값 이상인지 여부에 기초하여 사용자 음성에 대한 음성 인식을 수행할 수 있다.
한편, 각 유사도 정보(제1 유사도 정보, 제2 유사도 정보, 제3 유사도 정보)는 각 유사도 정보에 포함된 유사도 값이 트리거 인식에 대응되는 임계값 이상인지 여부에 대한 결과 정보를 포함할 수 있다. 여기서, 임계값은 1차 트리거 인식 또는 2차 트리거 인식인지에 따라 상이할 수 있다. 또한, 임계값은 전자 장치(100) 또는 외부 장치(200)인지에 따라 상이할 수 있다. 즉, 트리거 인식이 수행되는 언어 인식 모델 또는 판단 장치에 따라 임계값은 상이할 수 있다.
프로세서(130)는 제2 유사도 정보에 포함된 유사도 값이 임계값 미만이면, 외부 장치로부터 수신된 결과 정보에 기초하여 사용자 음성에 대한 음성 인식을 수행할 수 있다.
제2 유사도 정보에 포함된 유사도 값이 임계값 미만이라는 것은, 전자 장치(100)에서 사용자 음성이 2차 트리거 인식에 실패하였음을 의미할 수 있다. 전자 장치(100)에서 사용자 음성이 2차 트리거 인식에 실패한 경우, 프로세서(130)는 외부 장치(200)에서 수신된 결과 정보(제3 유사도 정보)에 기초하여 사용자 음성에 대한 음성 인식을 수행할지 여부를 결정할 수 있다.
일 실시 예에 따른, 유사도 정보는 사용자 음성 및 트리거 정보 간 유사도 값을 포함할 수 있고, 프로세서(130)는 제2 유사도 정보에 포함된 유사도 값이 임계값 미만이면, 외부 장치(200)로부터 수신된 유사도 값(제3 유사도 정보에 포함된 유사도 값)에 기초하여 사용자 음성에 대한 음성 인식을 수행할 수 있다.
구체적으로, 프로세서(130)는 사용자 음성이 전자 장치(100)의 2차 트리거 인식에 실패하였더라도, 외부 장치(200)의 1차 트리거 인식에 대응되는 결과 정보(또는 제3 유사도 정보)에 기초하여 사용자 음성에 대한 음성 인식을 수행할지 여부를 결정할 수 있다. 여기서, 외부 장치(200)의 1차 트리거 인식에 대응되는 결과 정보(또는 제3 유사도 정보)는 외부 장치(200)에서 수행된 1차 트리거 인식에 대한 유사도 값 또는 외부 장치(200)에서 수행된 1차 트리거 인식의 성공 여부 정보 중 적어도 하나를 포함할 수 있다.
유사도 값과 관련하여, 제3 유사도 정보에 포함된 유사도 값이 임계값 이상이면, 프로세서(130)는 전자 장치(100)에서 사용자 음성에 대한 음성 인식을 수행할 수 있다. 비록 전자 장치(100)에서 사용자 음성이 2차 트리거 인식에 실패하였지만, 외부 장치(200)에서 획득된 제3 유사도 정보에 포함된 유사도 값이 높으므로 사용자 음성이 음성 인식을 수행할 가치가 높다고 판단할 수 있다. 여기서, 임계값은 전자 장치(100)에서 기 저장된 임계값일 수 있고, 구현 예에 따라서, 임계값은 전자 장치(100)가 아니라 외부 장치(200)에서 기 저장된 값일 수 있다.
한편, 제1 유사도 정보는 제1 유사도 값을 포함하며, 제2 유사도 정보는 제2 유사도 값을 포함하며, 제3 유사도 정보는 제3 유사도 값을 포함하며, 프로세서(130)는 제1 유사도 값 및 외부 장치(200)로부터 수신된 제3 유사도 값을 각각 정규화(normalize)하고, 제2 유사도 값이 임계값 미만이면 2차 트리거 인식이 실패한 것으로 식별하고, 2차 트리거 인식이 실패하면, 정규화된 제1 유사도 값 또는 정규화된 제3 유사도 값 중 적어도 하나가 임계값 이상인 경우에 사용자 음성에 대한 음성 인식을 수행할 수 있다.
프로세서(130)는 전자 장치(100)에서 수행된 1차 트리거 인식 결과뿐만 아니라 외부 장치(200)에서 수행된 1차 트리거 인식 결과를 모두 고려하여 정규화 동작을 수행할 수 있다. 구현 예에 따라, 외부 장치가 하나 이상인 경우, 프로세서(130)는 전자 장치(100)) 및 복수의 외부 장치에서 수행된 각각의 1차 트리거 인식 결과를 모두 고려하여 유사도 값을 정규화할 수 있다.
전자 장치(100) 및 외부 장치(200)는 언어 인식 모델이 상이하므로 1차 트리거 인식 결과인 유사도 값의 범위가 상이할 수 있다. 따라서, 1차 트리거 인식에 대한 결과들을 모두 종합하여, 정규화 동작을 수행할 수 있다. 예를 들어, 정규화 동작이 수행되면, 모든 유사도 값은 0과 1사이의 값으로 정규화될 수 있다. 정규화 동작이 수행되면, 프로세서(130)는 복수의 유사도 값을 같은 기준에서 비교할 수 있다.
여기서, 정규화된 유사도 값은 “제3 유사도 정보에 포함된 유사도 값이 정규화된 값”을 의미할 수 있다.
한편, 구현 예에 따라, 정규화된 유사도 값은 “제1 유사도 정보에 포함된 유사도 값이 정규화된 값”을 의미할 수 있다. 이 경우, 프로세서(130)는 외부 장치(200)에서 수신된 유사도 값을 정규화 동작에서만 이용할 수 있다. 그리고, 전자 장치(100)에서 획득된 유사도 값(제1 유사도 정보에 포함된 유사도 값)이 임계값 이상이면, 사용자 음성에 대한 음성 인식을 수행할 수 있다.
한편, 프로세서(130)는 제2 유사도 값이 임계값 미만이고, 외부 장치(200)로부터 수신된 제3 유사도 값(제3 유사도 정보에 포함된 유사도 값)이 전자 장치에서 획득된 제1 유사도 값(제1 유사도 정보에 포함된 유사도 값)보다 임계값 이상 크면, 외부 장치(200)에서 사용자 음성에 대한 음성 인식을 수행하도록 하는 제어 신호를 생성할 수 있고, 생성된 제어 신호를 외부 장치(200)로 전송할 수 있다.
프로세서(130)는 전자 장치(100) 및 외부 장치(200)에서 각각 획득된 유사도 값을 비교할 수 있다. 전자 장치(100)에서 획득한 제1 유사도 값이 외부 장치(200)에서 획득한 제3 유사도 값보다 더 크면, 프로세서(130)는 전자 장치(100)에서 사용자 음성에 대한 음성 인식을 수행하기로 결정할 수 있다. 하지만, 외부 장치(200)에서 획득한 제3 유사도 값이 전자 장치(100)에서 획득한 제1 유사도 값보다 크면, 프로세서(130)는 외부 장치(200)에서 사용자 음성에 대한 음성 인식을 수행하는 것으로 결정할 수 있다. 다만, 판단의 안정성을 위하여 프로세서(130)는 외부 장치(200)에서 획득한 제3 유사도 값이 전자 장치(100)에서 획득한 제1 유사도 값보다 임계값 이상인 경우, 프로세서(130)는 외부 장치(200)에서 사용자 음성에 대한 음성 인식을 수행하도록 결정할 수 있다.
한편, 전자 장치는 디스플레이를 더 포함할 수 있고, 프로세서(130)는 상기 제어 신호가 생성되면, 외부 장치(200)에서 음성 인식이 수행됨을 알리는 정보를 포함하는 UI(User Interface)를 디스플레이하도록 디스플레이를 제어할 수 있다. 이와 관련한 구체적인 설명은 도 19에서 후술한다.
한편, 상술한 설명에서 1차 트리거 인식 후 복수의 장치들 중 어느 장치에서 2차 트리거 인식을 수행할 지 여부를 판단하기 위하여 전자 장치(100)에서 획득한 특성 정보와 외부 장치(200)에서 획득한 특성 정보를 비교하는 것으로 설명하였다. 하지만, 다른 실시 예에 따라, 프로세서(130)는 트리거 인식과 관련한 사용자 히스토리 정보를 이용하여 2차 트리거 인식을 수행할 장치를 결정할 수 있다. 여기서, 사용자 히스토리 정보는 사용자의 발화 패턴 정보 또는 사용자의 과거 이력 정보 중 적어도 하나를 포함할 수 있다. 예를 들어, 사용자 히스토리 정보는 사용자 음성이 수신되었을 때, 복수의 장치들 중에서 어느 장치가 제어 대상 장치로 결정된 것인지 나타내는 정보를 포함할 수 있다. 예를 들어, 사용자 히스토리 정보는 사용자 음성에 대한 데이터 및 복수의 장치들에서 획득한 특성 정보(예를 들어, 표(710), 표(810), 표(910))를 모두 포함할 수 있다.
한번의 사용자 음성이 수신된 상황을 하나의 데이터로 저장한다고 가정하면, 사용자 히스토리 정보는 복수의 데이터를 포함할 수 있다. 따라서, 프로세서(130)는 히스토리 정보에 포함된 복수의 데이터에 기초하여 복수의 장치들 중 어느 장치에서 2차 트리거 인식을 수행할 것인지 결정할 수 있다.
또한, 사용자 히스토리 정보는 복수의 사용자마다 다른 데이터 정보를 포함할 수 있으며, 프로세서(130)는 사용자를 식별하여, 식별된 사용자에 대응되는 데이터에만 기초하여 복수의 장치들 중 어느 장치에서 2차 트리거 인식을 수행할 것인지 결정할 수 있다.
여기서, 사용자 히스토리 정보를 이용하여 2차 트리거 인식을 수행할 장치를 결정하는 과정에서, 프로세서(130)는 인공 지능 모델을 이용할 수 있다. 인공 지능 모델은 사용자 음성 또는 사용자 음성에 대응되는 특성 정보(복수의 장치에서 획득되는 특성 정보)을 입력 데이터로서 수신할 수 있으며, 출력 데이터로서 복수의 장치 중 2차 트리거 인식을 수행할 장치를 출력할 수 있다.
한편, 프로세서(130)는 통신 인터페이스(120)를 이용하여 각종 외부 장치와 통신을 수행할 수 있다. 여기서, 외부 장치는 TV와 같은 디스플레이 장치, set-top box와 같은 영상 처리 장치, 외부 서버, 리모컨과 같은 제어 장치, 블루투스 스피커와 같은 음향 출력 장치, 조명 장치, 스마트 전구, 스마트 플러그, 스마트 청소기, 스마트 냉장고와 같은 가전 기기, IOT 홈 매니저, 스마트폰, AI(ARTIFICIAL INTELLIGENCE) 스피커 등과 같은 서버 등을 포함할 수 있다.
한편, 본 개시의 일 실시 예에 따른 전자 장치(100)는 디지털 음성 신호에 직접 STT(Speech To Text) 기능을 적용하여 텍스트 정보로 변환하고 변환된 텍스트 정보를 외부 서버에 전송할 수도 있다.
본 개시의 다른 실시 예에 따른 전자 장치(100)는 수신된 디지털 음성 신호를 음성 인식 서버에 전송할 수 있다. 이 경우, 음성 인식 서버는 STT(Speech To Text)를 이용하여 디지털 음성 신호를 텍스트 정보로 변환할 수 있다. 이 경우, 음성 인식 서버는 텍스트 정보에 대응되는 검색을 수행하기 위하여 다른 서버 또는 전자 장치(100)로 텍스트 정보를 전송할 수 있으며, 경우에 따라서는 직접 검색을 수행하는 것도 가능하다.
본 전자 장치(100)의 동작과 관련하여 사용자 음성에 대한 텍스트 변환 동작이 필요한 것은 1차 트리거 인식, 2차 트리거 인식, 제어 명령에 대한 음성 인식일 수 있다. 1차 트리거 인식, 2차 트리거 인식, 제어 명령에 대한 음성 인식 중 적어도 하나는 전자 장치(100)에서 직접 수행될 수 있으며, 구현 예에 따라 외부 서버에서 수행될 수 있다.
예를 들어, 2차 트리거 인식은 전자 장치(100)가 아닌 외부 서버에서 수행될 수 있다. 프로세서(130)는 2차 트리거 인식을 위해 사용자 음성을 외부 서버로 전송할 수 있으며, 외부 서버는 전자 장치(100)로부터 수신된 사용자 음성에 대하여 2차 트리거 인식을 수행할 수 있다. 그리고, 외부 서버는 2차 트리거 인식에 대한 결과 정보로서 유사도 정보를 획득할 수 있으며, 획득된 유사도 정보를 전자 장치(100)에 전송할 수 있다.
한편, 상술한 설명은 전자 장치(100)가 마이크(140)를 포함하여 사용자 음성을 직접 수신하는 실시 예로 기재하였다. 하지만, 다른 구현 예에 따라, 복수의 장치들은 외부 제어 장치로부터 사용자 음성을 수신할 수 있다. 여기서, 외부 제어 장치는 마이크를 포함할 수 있다. 외부 제어 장치는 사용자 음성을 수신하여 디지털 데이터로 변환하고, 변환된 디지털 데이터를 복수의 장치들에 전송할 수 있다. 그리고, 복수의 장치들은 수신된 디지털 데이터(사용자 음성에 대응되는 디지털 데이터)에 기초하여 트리거 인식 동작을 수행할 수 있다. 다만, 해당 실시 예에서는 사용자가 복수의 장치들 중 어느 장치를 타겟으로 한 것인지 식별하기 어렵다는 문제가 있을 수 있다. 이를 해결하기 위하여 외부 제어 장치의 위치를 식별하는 동작이 수행될 수 있다. 복수의 장치들은 외부 제어 장치의 위치를 식별할 수 있고, 식별된 위치 정보를 상호 공유할 수 있다. 그리고, 외부 제어 장치와 가장 가까운 장치에서 2차 트리거 인식을 수행하기로 결정할 수 있다.
한편, 다른 실시 예에 따라, 전자 장치(100)는 마이크를 구비하는 외부 제어 장치(미도시)로부터 사용자 음성을 수신할 수 있다. 예를 들어, 외부 제어 장치는 마이크를 포함하는 원격 제어 장치(리모컨)로 구현될 수 있으나 이에 한정되는 것은 아니다. 여기서, 원격 제어 장치(리모컨)가 사용자의 아날로그 음성 신호를 마이크를 통해 수신하면, 원격 제어 장치(리모컨)는 아날로그 음성 신호를 디지털 음성 신호로 변환할 수 있다. 그리고 원격 제어 장치(리모컨)는 적외선, 와이파이 또는 블루투스 통신 방식 중 적어도 하나를 이용하여 변환된 디지털 음성 신호를 전자 장치(100)로 전송할 수 있다. 전자 장치(100)는 디지털 음성 신호가 외부 제어 장치로부터 수신되면, 수신된 디지털 음성 신호에 기초하여 음성 인식을 수행하고, 음성 인식 결과 정보에 기초하여 제어 동작을 수행할 수 있다. 다만 다른 실시 예에 따르면, 원격 제어 장치(리모컨)가 디지털 음성 신호에 대한 음성 인식 동작을 수행하고, 음성 인식 결과 정보에 대응되는 정보를 전자 장치(100)에 전송하는 형태로 구현될 수 있다. 여기서, 음성 인식 결과 정보에 대응되는 정보는, 음성 인식 결과 그 자체 또는 음성 인식 결과 정보에 대응되는 제어 명령 중 적어도 하나일 수 있다.
한편, 또 다른 실시 예에 따라, 외부 제어 장치는 마이크를 포함하는 스마트폰으로 구현될 수 있다. 이 경우, 스마트폰은 기 설치된 원격 제어 기능을 수행하는 원격 제어 어플리케이션을 이용하여 전자 장치(100)를 원격으로 제어할 수 있다.
스마트폰은 사용자의 아날로그 음성 신호가 마이크를 통해 수신되면, 아날로그 음성 신호를 디지털 음성 신호로 변환할 수 있다. 이 경우, 스마트폰은 음성 인식 어플리케이션을 이용하여 디지털 음성 신호에 대한 음성 인식을 수행할 수 있다. 여기서, 음성 인식 어플리케이션은 상술한 원격 제어 어플리케이션과 동일하거나, 상이한 어플리케이션일 수 있다. 스마트폰은 디지털 음성 신호에 대한 음성 인식 인식이 수행되면, 음성 인식 결과 정보에 기초하여 원격 제어 어플리케이션을 이용하여 스마트폰을 원격으로 제어할 수 있다. 다만, 다른 실시 예에 따르면, 스마트 폰은 적외선, 와이파이 또는 블루투스 통신 방식 중 적어도 하나를 이용하여 변환된 디지털 음성 신호를 스마트폰으로 전송할 수 있다. 이 경우, 스마트폰은 디지털 음성 신호가 외부 제어 장치로부터 수신되면, 수신된 디지털 음성 신호에 기초하여 음성 인식을 수행하고, 음성 인식 결과 정보에 기초하여 제어 동작을 수행할 수 있다.
본 개시의 트리거 인식 또는 음성 인식 중 적어도 하나의 동작에 인공 지능 모델이 이용될 수 있다. 전자 장치(100)는 기계 학습 알고리즘을 활용하는 인공지능(AI(ARTIFICIAL INTELLIGENCE)) 시스템에 기초하여 트리거 인식 또는 음성 인식 중 적어도 하나의 동작을 수행할 수 있다.
한편, 본 개시의 전자 장치(100)는 2차 트리거 인식이 실패하여도 음성 인식을 수행하도록 제어하는 다양한 동작을 수행할 수 있다. 따라서, 전자 장치(100)는 무응답 상태를 방지하여 음성 인식 성공률을 높일 수 있으며, 사용자 편의성을 향상시킬 수 있다.
한편, 이상에서는 전자 장치(100)를 구성하는 간단한 구성에 대해서만 도시하고 설명하였지만, 구현 시에는 다양한 구성이 추가로 구비될 수 있다. 이에 대해서는 도 3을 참조하여 이하에서 설명한다.
도 3은 도 1의 전자 장치의 구체적인 구성을 설명하기 위한 블록도이다.
도 3을 참조하면, 전자 장치(100)는 메모리(110), 통신 인터페이스(120), 프로세서(130), 마이크(140), 사용자 인터페이스(150), 입출력 인터페이스(160), 디스플레이(170) 및 센서(180)로 구성될 수 있다.
한편, 메모리(110), 통신 인터페이스(120) 및 프로세서(130)의 동작 중에서 앞서 설명한 것과 동일한 동작에 대해서는 중복 설명은 생략한다.
프로세서(130)는 메모리(110)에 저장된 각종 프로그램을 이용하여 전자 장치(100)의 동작을 전반적으로 제어한다. 구체적으로, 프로세서(130)는 RAM, ROM, 메인 CPU, 제1 내지 n 인터페이스, 버스(135)를 포함한다. RAM, ROM, 메인 CPU, 제1 내지 n 인터페이스 등은 버스(135)를 통해 서로 연결될 수 있다.
한편, 프로세서(130)는 그래픽 처리 기능(비디오 처리 기능)을 수행할 수 있다. 예를 들어, 프로세서(130)는 연산부(미도시) 및 렌더링부(미도시)를 이용하여 아이콘, 이미지, 텍스트 등과 같은 다양한 객체를 포함하는 화면을 생성할 수 있다.
한편, 프로세서(130)는 오디오 데이터에 대한 처리를 수행할 수 있다. 구체적으로, 프로세서(130)는 오디오 데이터에 대한 디코딩이나 증폭, 노이즈 필터링 등과 같은 다양한 처리가 수행될 수 있다.
전자 장치(100)는 마이크(140)를 더 포함할 수 있다. 마이크는 사용자 음성이나 기타 소리를 입력 받아 오디오 데이터로 변환하기 위한 구성이다.
사용자 인터페이스(150)는 버튼, 터치 패드, 마우스 및 키보드와 같은 장치로 구현되거나, 상술한 디스플레이 기능 및 조작 입력 기능도 함께 수행 가능한 터치 스크린으로도 구현될 수 있다.
입출력 인터페이스(160)는 HDMI(High Definition Multimedia Interface), MHL (Mobile High-Definition Link), USB (Universal Serial Bus), DP(Display Port), 썬더볼트(Thunderbolt), VGA(Video Graphics Array)포트, RGB 포트, D-SUB(D-subminiature), DVI(Digital Visual Interface) 중 어느 하나의 인터페이스일 수 있다.
입출력 인터페이스(160)는 오디오 및 비디오 신호 중 적어도 하나를 입출력 할 수 있다.
구현 예에 따라, 입출력 인터페이스(160)는 오디오 신호만을 입출력하는 포트와 비디오 신호만을 입출력하는 포트를 별개의 포트로 포함하거나, 오디오 신호 및 비디오 신호를 모두 입출력하는 하나의 포트로 구현될 수 있다.
디스플레이(170)는 LCD(Liquid Crystal Display), OLED(Organic Light Emitting Diodes) 디스플레이, PDP(Plasma Display Panel) 등과 같은 다양한 형태의 디스플레이로 구현될 수 있다. 디스플레이(170)내에는 a-si TFT, LTPS(low temperature poly silicon) TFT, OTFT(organic TFT) 등과 같은 형태로 구현될 수 있는 구동 회로, 백라이트 유닛 등도 함께 포함될 수 있다. 한편, 디스플레이(170)는 터치 센서와 결합된 터치 스크린, 플렉시블 디스플레이(flexible display), 3차원 디스플레이(3D display) 등으로 구현될 수 있다.
또한, 본 개시의 일 실시 예에 따른, 디스플레이(170)는 영상을 출력하는 디스플레이 패널뿐만 아니라, 디스플레이 패널을 하우징하는 베젤을 포함할 수 있다. 특히, 본 개시의 일 실시 예에 따른, 베젤은 사용자 인터렉션을 감지하기 위한 터치 센서(미도시)를 포함할 수 있다.
센서(180)는 사용자의 움직임 또는 위치를 감지할 수 있는 장치를 의미할 수 있다.
일 실시 예에 따른 센서(180)는 카메라를 이용하여 이미지를 획득하고 획득된 이미지에 기초하여 사용자의 위치를 파악할 수 있다.
카메라는 피사체를 촬상하여 촬상 영상을 생성하기 위한 구성이며, 여기서 촬상 영상은 동영상과 정지 영상 모두를 포함하는 개념이다. 카메라는 적어도 하나의 외부 기기에 대한 이미지를 획득할 수 있으며, 카메라, 렌즈, 적외선 센서 등으로 구현될 수 있다.
카메라는 렌즈와 이미지 센서를 포함할 수 있다. 렌즈의 종류에는 일반적인 범용 렌즈, 광각 렌즈, 줌 렌즈 등이 있으며, 전자 장치(100)의 종류, 특성, 사용 환경 등에 따라 결정될 수 있다. 이미지 센서로는 상보성 금속 산화물 반도체(Complementary Metal Oxide Semiconductor: CMOS)와 전하결합소자(Charge Coupled Device: CCD) 등이 사용될 수 있다.
카메라는 입사된 빛을 영상 신호로 출력한다. 구체적으로, 카메라는 렌즈, 화소 및 AD 컨버터를 구비할 수 있다. 렌즈는 피사체의 빛을 모아서 촬상 영역에 광학상이 맺히게 하며, 화소는 렌즈를 통해 입상되는 빚을 아날로그 형태의 영상 신호로 출력할 수 있다. 그리고 AD 컨버터는 아날로그 형태의 영상 신호를 디지털 형태의 영상 신호로 변환하여 출력할 수 있다. 특히, 카메라는 전자 장치(100)의 전면 방향을 촬상하도록 배치되어, 전자 장치(100)의 전면에 존재하는 사용자를 촬상하여 촬상 영상을 생성할 수 있다.
한편, 본 개시의 일 실시 예에 따른 전자 장치(100)는 카메라가 한 개인 것으로 설명하고 있지만, 실제 구현 시에는 복수개의 카메라가 배치될 수 있다. 전자 장치(100)는 복수개의 카메라를 구비할 수 있고, 복수개의 카메라를 통해 수신되는 영상을 결합하여 사용자의 머리 자세를 식별할 수 있다. 한 개의 카메라를 이용하는 것보다 복수개의 카메라를 이용하면 3차원적인 움직임을 더욱 정밀하게 분석할 수 있어 사용자의 머리 자세를 식별하는데 효과적일 수 있다.
한편, 다른 실시 예에 따른 센서(180)는 전자기파를 이용한 센서일 수 있다.
구체적으로, 센서(180)는 전자기파를 출력할 수 있다. 그리고, 출력된 전자기파 또는 초음파는 오브젝트에 의해 반사될 수 있다. 여기서, 오브젝트는 센서(180) 근처의 사람 또는 사물 등 전자기파 또는 초음파를 반사시키는 물체를 의미할 수 있다. 센서(180)는 오브젝트에 의해 반사된 데이터를 획득하고, 획득된 데이터에 기초하여 사용자의 위치를 파악할 수 있다. 예를 들어, 센서(180)는 적외선 등을 이용하여 사용자의 위치를 감지할 수 있다.
한편, 또 다른 실시 예에 따른 센서(180)는 초음파를 이용한 센서일 수 있다. 예를 들어, 센서(180)는 초음파를 출력하고, 오브젝트에 의해 반사된 초음파를 수신하여 사용자의 위치를 감지할 수 있다. 여기서, 센서(180)는 초음파를 출력하는 스피커 및 반사된 초음파를 수신하는 마이크를 포함할 수 있다.
한편, 상술한 실시 예들에서 센서(180)가 사용자의 위치를 감지하는 것으로 기재하였지만, 구현 예에 따라 센서(180)는 사용자가 근접했는지 여부 만을 식별할 수 있다. 예를 들어, 사용자가 전자 장치(100)의 임계값 거리 이내에 위치한 경우, 센서(180)는 사용자가 근접하였다고 식별할 수 있다.
도 4는 전자 장치 및 외부 장치가 정보를 공유하는 실시 예를 설명하기 위한 도면이다.
도 4를 참조하면, 전자 장치(100) 및 외부 장치(200)는 사용자 음성에 대한 정보를 공유할 수 있다 (S400).
구체적으로, 전자 장치(100)는 전자 장치(100)에 포함된 마이크를 통해 사용자 음성을 수신할 수 있다 (S405-1). 그리고, 전자 장치(100)는 사용자 음성에 대응되는 특성 정보를 획득할 수 있다 (S410-1). 여기서, 특성 정보는 사용자 음성에 기초하여 획득될 수 있는 다양한 정보를 의미할 수 있다. 예를 들어, 특성 정보는 전자 장치(100)에서 획득된 사용자 음성에 대응되는 크기 값, 전자 장치(100)에 대한 사용자 음성의 지향 각도 값(또는 지향 계수) 또는 사용자 음성이 발화된 지점과 전자 장치(100) 간 거리 값 중 적어도 하나를 포함할 수 있다. 그리고, 전자 장치(100)는 1차 트리거 인식을 위한 사용자 음성 및 트리거 정보간 1차 유사도 정보를 획득할 수 있다 (S415-1). 트리거는 웨이크업 워드를 의미할 수 있다. 전자 장치(100)는 사용자 음성이 기 저장된 트리거 정보(또는 웨이크업 워드 정보)와 유사한지 판단할 수 있으며, 판단 결과로서 1차 유사도 정보를 획득할 수 있다. 또한, 1차 유사도 정보는 신뢰도 정보를 의미할 수 있다.
한편, 전자 장치(100)가 수행했던 S405-1 내지 S415-1 단계를 외부 장치(200)도 수행할 수 있다. 구체적으로, 외부 장치(200)는 외부 장치(200)에 포함된 마이크를 통해 사용자 음성을 수신할 수 있다 (S405-2). 그리고, 외부 장치(200)는 사용자 음성에 대응되는 특성 정보를 획득할 수 있다 (S410-2). 그리고, 외부 장치(200)는 1차 트리거 인식을 위한 사용자 음성 및 트리거 정보간 1차 유사도 정보를 획득할 수 있다 (S415-2). 1차 유사도 정보는 유사도 값 또는 1차 트리거 인식의 통과 여부에 대한 결과 정보 중 적어도 하나를 포함할 수 있다.
여기서, 1차 트리거 인식은 S415-1 단계에서 획득한 1차 유사도 정보에 기초하여 판단될 수 있다. 1차 유사도 정보는 유사의 정도에 따른 유사도 값을 포함할 수 있으며, 전자 장치(100)는 유사도 값이 임계값 이상이면, 사용자 음성이 1차 트리거 인식을 통과하였다고 판단할 수 있다. 그리고, 전자 장치(100)는 1차 트리거 인식의 통과 여부에 대한 결과 정보를 메모리(110)에 저장할 수 있다.
전자 장치(100) 및 외부 장치(200) 모두 사용자 음성에 대응되는 특성 정보 및 1차 트리거 인식을 위한 사용자 음성 및 트리거 정보 간 1차 유사도 정보를 획득할 수 있다. 그리고, 전자 장치(100) 및 외부 장치(200)는 획득한 정보(특성 정보 및 1차 유사도 정보)를 공유할 수 있다 (S420). 구체적으로, 전자 장치(100)는 획득한 특성 정보 및 1차 유사도 정보를 외부 장치(200)에 전송할 수 있다. 그리고, 외부 장치(200) 역시 획득한 특성 정보 및 1차 유사도 정보를 전자 장치(100)에 전송할 수 있다.
도 4에서는 정보를 공유하는 장치가 2개 인 것으로 기술하였지만, 3개 이상의 장치가 정보를 공유할 수 있으며 전자 장치(100)는 정보를 공유하는 장치 모두에 정보를 전송할 수 있다.
도 5는 트리거 인식 후 음성 인식을 수행하는 동작을 설명하기 위한 도면이다.
도 5를 참조하면, 도 4의 정보 공유 동작(S400) 수행된 이후, 전자 장치(100)는 사용자 음성 및 트리거 정보간 1차 유사도 정보에 기초하여 1차 트리거 인식을 통과하였는지 여부를 판단할 수 있다 (S505). 만약, 1차 트리거 인식을 통과하지 못하였다고 판단되면, 전자 장치(100)는 트리거 인식 및 음성 인식에 관련된 동작을 종료할 수 있다.
한편, 1차 트리거 인식을 통과하였다고 판단되면, 전자 장치(100)는 특성 정보에 기초하여 2차 트리거 인식을 시도할지 여부를 판단할 수 있다 (S510). 전자 장치(100)는 전자 장치(100)에서 획득한 사용자 음성으로 1차 트리거 인식을 통과한 경우, 전자 장치(100)는 전자 장치(100)에서 획득한 특성 정보에 기초하여 2차 트리거 인식을 시도할지 여부를 판단할 수 있다. 여기서, 전자 장치(100)는 전자 장치(100)에서 획득한 특성 정보뿐만 아니라 외부 장치(200)에서 획득한 특성 정보를 함께 고려하여 2차 트리거 인식을 시도할지 여부를 결정할 수 있다. 전자 장치(100)는 복수의 장치 중 하나의 장치만 2차 트리거 인식을 수행하는 것으로 결정할 수 있다. 복수의 장치 중 어느 장치에서 2차 트리거 인식을 수행하는지 결정하는 구체적인 방법은 도 7 내지 도 9에서 구체적으로 후술한다.
전자 장치(100)에서 2차 트리거 인식을 시도하지 않기로 결정된 경우, 전자 장치(100)는 더 이상 동작을 진행하지 않을 수 있고 트리거 인식 과정을 종료할 수 있다.
한편, 전자 장치(100)에서 2차 트리거 인식을 시도하기로 결정(또는 선택)된 경우, 전자 장치(100)는 2차 트리거 인식을 위한 사용자 음성 및 트리거 정보 간 2차 유사도 정보를 획득할 수 있다 (S515). 2차 트리거 인식은 1차 트리거 인식과 상이한 언어 인식 모델이 이용될 수 있다. 따라서, 1차 유사도 정보와 2차 유사도 정보가 상이할 수 있으며, 1차 트리거 인식의 통과 여부에 대한 결과와 2차 트리거 인식의 통과 여부에 대한 결과가 상이할 수 있다.
그리고, 전자 장치(100)는 사용자 음성이 2차 트리거 인식을 통과하였는지 여부를 판단할 수 있다 (S520). 사용자 음성이 2차 트리거 인식을 통과한 경우, 전자 장치(100)는 사용자 음성에 대하여 음성 인식을 수행할 수 있다 (S535).
다만, 사용자 음성이 2차 트리거 인식을 통과하지 못한 경우, 전자 장치(100)는 전자 장치(100)의 1차 유사도 정보, 외부 장치(200)의 1차 유사도 정보 중 적어도 하나에 기초하여 음성 인식을 수행할지 여부를 판단할 수 있다 (S525). 2차 트리거 인식을 통과하지 못하였어도 추가 기회를 부여하여 음성 인식률을 높이는 효과를 얻을 수 있다. S525 단계에 대한 구체적인 동작은 도 13 내지 도 18에서 구체적으로 후술한다.
또한, 전자 장치(100)는 판단 결과에 기초하여 음성 인식을 수행할 지 여부를 결정할 수 있다 (S530). 판단 결과에 기초하여 음성 인식을 수행하기로 결정되면, 전자 장치(100)는 사용자 음성에 대한 음성 인식을 수행할 수 있다 (S535).
도 6은 1차 트리거 인식 동작을 설명하기 위한 도면이다.
도 6을 참조하면, 하나의 네트워크에 복수의 장치들이 포함될 수 있다. 예를 들어, 특정 와이파이 네트워크에 복수의 장치들이 연결될 수 있으며, 사용자는 특정 와이파이 네트워크에 기초하여 복수의 장치들을 제어할 수 있다.
표(605)는 1차 트리거 인식, 2차 트리거 인식 및 음성 인식에 대한 과정을 포함할 수 있다. 그리고, 도 6에서는 1차 트리거 인식 과정(606)을 설명한다. 1차 트리거 인식 과정(606)은 하나의 네트워크에 포함된 복수의 장치 중 사용자 음성을 수신한 적어도 하나의 장치에서 수행될 수 있다.
구체적으로, 복수의 장치들은 마이크를 포함할 수 있으며, 사용자 음성을 상기 마이크를 통해 수신할 수 있다. 복수의 장치들은 사용자 음성을 트리거 정보(또는 웨이크업 워드 정보)와 제어 명령으로 구분할 수 있다. 트리거 정보란 장치가 제어 동작을 수행할 수 있도록 준비시키기 위한 단어를 의미할 수 있으며, 제어 명령은 장치를 제어하기 위한 명령을 의미할 수 있다. 예를 들어, 사용자 음성이 “hi bixby, please turn off”라고 가정하면, “hi bixby” 는 트리거 정보에 일 수 있고, “please turn off”는 제어 명령일 수 있다.
여기서, 트리거 정보는 “hi, bixby”(610)일 수 있다. 그리고, 사용자 음성을 수신한 복수의 장치들은 1차 트리거 인식기(615)를 이용하여 사용자 음성을 분석할 수 있다. 1차 트리거 인식기(615)란 수신된 사용자 음성과 기 저장된 트리거 정보와 유사도를 판단하는 언어 인식 모델을 포함할 수 있다. 트리거 정보는 웨이크업 워드를 의미할 수 있다. 또한, 언어 인식 모델은 오디오 데이터를 텍스트 데이터로 변환하는 모델을 의미할 수 있다. 그리고, 1차 트리거 인식기(615)는 사용자 음성을 입력 받아서 유사도 정보를 출력할 수 있다. 유사도 정보는 유사도 값(620)을 포함할 수 있으며, 유사도 값(620)은 퍼센티지 형태로 출력될 수 있다. 예를 들어, 유사도 값은 x%로 출력될 수 있다.
즉, 1차 트리거 인식기(615)는 사용자 음성을 텍스트로 변환하여 기 저장된 웨이크업 워드와 얼마나 동일한지 여부를 나타내는 유사도 정보를 출력하는 소프트웨어 모듈을 의미할 수 있다.
한편, 일 실시 예에 따라, 복수의 장치들은 동일한 1차 트리거 인식기를 이용할 수 있다. 하지만, 다른 실시 예에 따라, 복수의 장치들은 서로 상이한 1차 트리거 인식기를 이용할 수도 있다.
한편, 표(625)는 복수의 장치에서 1차 트리거 인식이 수행된 결과 정보를 포함할 수 있다. 제1 장치의 유사도 값이 80%, 제2 장치의 유사도 값은 70%, 제3 장치의 유사도 값은 60%일 수 있다. 그리고, 각 장치는 획득된 유사도 값 및 기 저장된 임계값에 기초하여 1차 트리거 인식을 통과하였는지 여부를 판단할 수 있다. 제1 장치의 임계값은 70%, 제2 장치의 임계값은 70%, 제3 장치의 임계값은 60%일 수 있다.
각 장치는 획득된 유사도 값이 기 저장된 임계값 이상이면, 사용자 음성이 1차 트리거 인식을 통과한 것으로 식별할 수 있다. 예를 들어, 표(625)를 참고하면, 제1 장치, 제2 장치, 제3 장치는 모두 사용자 음성이 1차 트리거 인식을 통과한 것으로 식별할 수 있다. 다만, n 장치의 유사도 값(예를 들어, 30%)이 기 저장된 임계값(예를 들어, 50%) 미만이므로, n 장치는 사용자 음성이 1차 트리거 인식을 통과하지 못한 것으로 식별할 수 있다.
그리고, 복수의 장치들은 획득된 1차 트리거 인식에 대한 결과 정보를 상호 공유할 수 있다.
도 7은 복수의 장치 중 2차 트리거 인식 동작을 수행할 장치를 선택하는 일 실시 예를 설명하기 위한 도면이다.
2차 트리거 인식이 복수의 장치 모두에서 수행된다면, 비효율적일 수 있다. 사용자는 음성 인식을 통해 하나의 장치를 제어하는 것을 목적으로 할 수 있기 때문이다. 따라서, 본 개시의 일 실시 예에 따른 복수의 장치들은 1차 트리거 인식은 모두 수행되나 2차 트리거 인식은 특정 장치 하나에서만 수행될 수 있다.
도 7을 참조하면, 복수의 장치 각각은 특성 정보 기초하여 2차 트리거 인식을 어느 장치에서 수행할지 여부를 결정할 수 있다.
표(705)는 1차 트리거 인식, 2차 트리거 인식 및 음성 인식에 대한 과정을 포함할 수 있다. 그리고, 도 7에서는 복수의 장치 중 어느 장치에서 2차 트리거 인식을 수행할지 결정하는 과정(706)을 설명한다. 2차 트리거 인식을 수행할지 결정하는 과정(706)은 복수의 장치 각각에서 수행될 수 있다.
도 7에서는 표시되지 않았으나, 2차 트리거 인식을 수행할지 결정하는 과정(706)을 위해, 복수의 장치들은 상호 특성 정보를 공유할 수 있다. 여기서, 특성 정보는 복수의 장치 각각에서 획득한 사용자 음성의 분석 정보를 의미할 수 있다. 구체적으로, 특성 정보는 각 장치에서 획득된 사용자 음성의 크기 값, 각 장치와 사용자 음성의 지향 각도 값 또는 각 장치와 사용자 음성이 발화된 지점 간 거리 값 중 적어도 하나를 포함할 수 있다.
특성 정보가 공유된 이후, 복수의 장치들은 공유된 특성 정보에 기초하여 2차 트리거 인식을 어느 장치에서 수행할지 여부를 식별할 수 있다.
도 7을 참조하면, 복수의 장치들은 사용자 음성의 크기 값에 기초하여 2차 트리거 인식을 어느 장치에서 수행할지 여부를 식별할 수 있다. 여기서, 사용자 음성의 크기 값은 사용자 음성에 포함된 오디오 데이터의 진폭 값 또는 소리 크기 값을 의미할 수 있다. 복수의 장치들은 사용자 음성의 크기 값이 가장 큰 장치만 2차 트리거 인식을 수행하는 것으로 판단할 수 있다.
따라서, 복수의 장치들 각각은 자신의 사용자 음성의 크기 값과 공유된 사용자 음성의 크기 값을 비교하여, 자신의 사용자 음성의 크기 값이 가장 큰 값을 가지는지 판단할 수 있다. 자신의 사용자 음성의 크기 값이 가장 크면, 해당 장치는 2차 트리거 인식을 수행할 수 있다. 자신의 사용자 음성의 크기 값이 가장 크지 않으면, 2차 트리거 인식을 수행하지 않을 수 있다.
표(710)는 복수의 장치들이 공유한 특성 정보 및 2차 트리거 인식을 어느 장치에서 수행할지 여부를 식별한 비교 결과 정보(또는 선택 결과 정보)일 수 있다. 제1 장치는 사용자 음성의 크기 값을 62dB로 획득할 수 있고, 제2 장치는 사용자 음성의 크기 값을 60dB로 획득할 수 있고, 제3 장치는 사용자 음성의 크기 값을 58dB로 획득할 수 있다. 복수의 장치들은 공유된 특성 정보(사용자 음성의 크기 값)에서 가장 큰 값을 갖는 제1 장치가 2차 트리거 인식을 수행하는 것으로 결정할 수 있다. 따라서, 2차 트리거 인식은 제1 장치에서만 수행될 수 있다.
한편, 사용자 음성의 크기 값이 가장 크더라도 1차 트리거 인식을 통과하지 못한 경우, 해당 장치는 2차 트리거 인식을 수행하지 못할 수 있다. 트리거 정보가 전혀 상이해서 1차 트리거 인식을 통과하지 못하였다면, 2차 트리거 인식을 수행할 필요성이 없기 때문이다.
도 8은 복수의 장치 중 2차 트리거 인식 동작을 수행할 장치를 선택하는 다른 실시 예를 설명하기 위한 도면이다.
도 8을 참조하면, 표(805) 및 과정(806)은 도 7의 표(705) 및 과정(706)에 대응될 수 있는 바, 중복 설명을 생략한다.
복수의 장치들은 장치에 대한 상기 사용자 음성의 지향 각도 값에 기초하여 2차 트리거 인식을 어느 장치에서 수행할지 여부를 식별할 수 있다. 구체적으로, 복수의 장치들은 각각 사용자 음성을 수신하여 사용자 음성에 대응되는 지향 각도 값을 획득할 수 있다. 지향 각도 값에 기초하여 복수의 장치들은 사용자가 발화한 음성이 사용자의 정면에서 발화되었는지 측면에서 발화되었는지 판단할 수 있다. 정면에서 사용자 음성이 발화된 경우, 복수의 장치들은 지향 각도 값을 90도로 판단할 수 있다. 따라서, 복수의 장치들은 지향 각도 값이 90도에 가까울수록 사용자가 지향하여 발화하였다고 판단할 수 있다.
표(810)는 복수의 장치들이 공유한 특성 정보 및 2차 트리거 인식을 어느 장치에서 수행할지 여부를 식별한 비교 결과 정보(또는 선택 결과 정보)일 수 있다. 제1 장치는 지향 각도 값을 90도로 획득할 수 있고, 제2 장치는 지향 각도 값을 80도로 획득할 수 있고, 제3 장치는 지향 각도 값을 70도로 획득할 수 있다. 복수의 장치들은 공유된 특성 정보(장치에 대한 상기 사용자 음성의 지향 각도 값) 중 임계값(예를 들어, 90도)에 가장 가까운 값을 갖는 제1 장치가 2차 트리거 인식을 수행하는 것으로 결정할 수 있다. 따라서, 2차 트리거 인식은 제1 장치에서만 수행될 수 있다.
한편, 지향 각도 값이 임계값에 가장 가깝더라도 1차 트리거 인식을 통과하지 못한 경우, 해당 장치는 2차 트리거 인식을 수행하지 못할 수 있다. 트리거 정보가 전혀 상이해서 1차 트리거 인식을 통과하지 못하였다면, 2차 트리거 인식을 수행할 필요성이 없기 때문이다.
도 9는 복수의 장치 중 2차 트리거 인식 동작을 수행할 장치를 선택하는 또 다른 실시 예를 설명하기 위한 도면이다.
도 9를 참조하면, 표(905) 및 과정(906)은 도 7의 표(705) 및 과정(706)에 대응될 수 있는 바, 중복 설명을 생략한다.
복수의 장치들은 장치와 사용자 음성이 발화된 지점 간 거리 값에 기초하여 2차 트리거 인식을 어느 장치에서 수행할지 여부를 식별할 수 있다. 구체적으로, 복수의 장치들은 각각 사용자 음성을 수신하여 사용자 음성에 대응되는 거리 값을 획득할 수 있다. 구체적으로, 복수의 장치들은 사용자 음성이 어느 정도 떨어진 거리에서 발화되었는지 판단할 수 있으며, 판단 결과로서 사용자 음성이 발화된 지점과 판단 주체가 되는 장치 간 거리 값을 획득할 수 있다. 거리 값이 작을수록 가까운 거리에서 사용자가 음성을 발화하였음을 판단할 수 있고, 복수의 장치들은 사용자 음성이 발화된 지점에서 가장 가까운 거리에 존재하는 장치가 2차 트리거 인식을 수행하는 것으로 결정할 수 있다.
표(910)는 복수의 장치들이 공유한 특성 정보 및 2차 트리거 인식을 어느 장치에서 수행할지 여부를 식별한 비교 결과 정보(또는 선택 결과 정보)일 수 있다. 제1 장치는 거리 값을 2m 로 획득할 수 있고, 제2 장치는 거리 값을 4m로 획득할 수 있고, 제3 장치는 거리 값을 5m로 획득할 수 있다. 복수의 장치들은 공유된 특성 정보(장치와 사용자 음성이 발화된 지점 간 거리 값) 중 가장 작은 값을 갖는 제1 장치가 2차 트리거 인식을 수행하는 것으로 결정할 수 있다. 따라서, 2차 트리거 인식은 제1 장치에서만 수행될 수 있다.
한편, 거리 값이 가장 작더라도 1차 트리거 인식을 통과하지 못한 경우, 해당 장치는 2차 트리거 인식을 수행하지 못할 수 있다. 트리거 정보가 전혀 상이해서 1차 트리거 인식을 통과하지 못하였다면, 2차 트리거 인식을 수행할 필요성이 없기 때문이다.
도 10은 센서에 의하여 발화자의 위치를 파악하는 실시 예를 설명하기 위한 도면이다.
도 10을 참조하면, 복수의 장치(100 내지 500) 중 일부 장치(100 내지 400)들은 이미지 센서(180, 280, 380, 480)를 포함할 수 있다. 이미지 센서는 사용자의 위치를 파악하는 동작하는데 이용되는 이미지 데이터를 획득할 수 있다. 복수의 장치 중 일부 장치(100내지 400)들은 이미지 센서는 카메라 렌즈를 이용하여 이미지 데이터를 획득하고 획득된 이미지 데이터에 기초하여 사용자의 위치를 파악할 수 있다.
그리고, 센서(180, 280, 380, 480)를 포함하는 장치(100 내지 400)들은 사용자의 위치에 기초하여 사용자의 위치와 장치의 위치 간 거리 값을 획득할 수 있다. 그리고, 획득된 거리 값은 도 9에서 언급한 특성 정보에 포함될 수 있다. 따라서, 장치(100 내지 400)들에 포함된 각 센서(180, 280, 380, 480)들은 동일한 센서일 수 있으며, 구현 예에 따라 서로 다른 센서일 수 있다.
한편, 일부 장치(500)는 이미지 센서를 포함하지 않을 수 있다. 여기서, 일부 장치(500)는 오디오 센서(미도시)를 포함할 수 있다. 일부 장치(500)는 오디오 센서(미도시)를 이용하여 반사된 오디오 데이터(전자기파 또는 초음파 등)를 획득하고, 획득된 오디오 데이터에 기초하여 사용자의 위치를 파악할 수 있다.
도 11은 2차 트리거 인식 동작을 설명하기 위한 도면이다.
도 11을 참조하면, 복수의 장치들 중 2차 트리거 인식을 수행하기로 결정된(또는 선택된) 장치는 2차 트리거 인식을 수행할 수 있다. 제1 장치가 2차 트리거 인식을 수행하기로 결정되었다고 가정한다.
표(1105)는 1차 트리거 인식, 2차 트리거 인식 및 음성 인식에 대한 과정을 포함할 수 있다. 그리고, 도 11에서는 2차 트리거 인식이 실패하는 상황(1206)을 설명한다.
제1 장치는 수신된 사용자 음성(1110)인 “hi, bixby”를 2차 트리거 인식기(1115)에 입력할 수 있고, 2차 트리거 인식기(1115)는 입력된 사용자 음성(1110)에 기초하여 유사도 정보를 출력할 수 있다. 유사도 정보는 유사도 값(1120)을 포함할 수 있다. 사용자 음성(1110)은 도 6의 사용자 음성(610)과 동일한 데이터일 수 있다. 또한, 2차 트리거 인식기(1115)는 1차 트리거 인식기(615)에 대응될 수 있다. 2차 트리거 인식기(1115)는 1차 트리거 인식기(615)와 마찬가지로 사용자 음성과 기 저장된 트리거 정보 간 유사도 정보를 획득할 수 있다. 다만, 2차 트리거 인식기(1115)는 1차 트리거 인식기(615)와 판단 알고리즘 및 데이터베이스가 상이할 수 있다.
표(1125)는 2차 트리거 인식에 대한 결과 정보를 의미할 수 있다. 제1 장치는 사용자 음성에 대하여 2차 트리거 인식을 수행한 결과 정보를 획득할 수 있다. 구체적으로, 제1 장치는 2차 트리거 인식 동작을 수행한 이후 결과 정보로서 유사도 값을 60%로 획득할 수 있다. 그리고, 여기서, 2차 트리거 인식을 통과하기 위해 기 정의된 임계값이 65%라고 가정한다. 2차 트리거 인식에 따른 결과 값인 유사도 값(60%)이 기 정의된 임계값(65%) 미만이므로, 제1 장치는 2차 트리거 인식을 통과하지 않은 것으로 식별할 수 있다.
도 11의 상황에서는, 복수의 장치들 중 어느 장치도 제어 명령에 대한 음성 인식 동작을 수행하지 않을 수 있다. 복수의 장치들은 1차 트리거 인식만을 수행하고 그중 특정 장치는 1차 트리거 인식 및 2차 트리거 인식을 수행하였을 뿐이며, 제어 명령(예를 들어, “please turn off”)과 관련된 음성 인식 동작을 수행하지 않을 수 있다.
도 12는 1차 트리거 인식 및 2차 트리거 인식 결과를 설명하기 위한 도면이다.
도 12를 참조하면, 표(1205)는 1차 트리거 인식 및 2차 트리거 인식에 대한 결과를 포함할 수 있다. 복수의 장치들(제1 장치, 제2 장치, 제3 장치, … , 제n장치) 모두 1차 트리거 인식에 대한 결과 정보(유사도 정보, 1차 트리거 인식에 대응되는 임계값, 1차 트리거 인식을 통과했는지 여부)를 획득할 수 있다. 여기서, 1차 트리거 인식을 통과 했는지 여부에 대한 정보는 1차 트리거 인식의 인식 결과로 기술될 수 있다. 그리고, 1차 트리거 인식에 대한 결과 정보는 복수의 장치들 상호간에 공유될 수 있다.
한편, 복수의 장치들은 특성 정보에 기초하여 복수의 장치들 중 2차 트리거 인식을 수행할 장치를 결정할 수 있다. 특성 정보는 도 7 내지 도 10에서 설명한 바와 같이 다양한 정보가 포함될 수 있으나, 도 12에서는 설명의 편의를 위해 사용자 음성의 크기 값으로 한정하여 설명한다.
복수의 장치들 각각은 특성 정보에 기초하여 하나의 장치를 선택할 수 있고, 선택된 하나의 장치에서 2차 트리거 인식을 수행할 수 있다. 선택된 하나의 장치가 제1 장치라고 가정한다. 제1 장치는 2차 트리거 인식을 수행할 수 있으며, 2차 트리거 인식에 대한 결과 정보(유사도 정보, 2차 트리거 인식에 대응되는 임계값, 2차 트리거 인식을 통과했는지 여부)를 저장할 수 있다.
도 13내지 도 17은 선택된 하나의 장치(전자 장치(100))에서 2차 트리거 인식을 실패한 상황에서 수행되는 동작을 설명한다.
도 13은 외부 장치가 사용자 음성 및 트리거 정보가 유사하다고 판단하였는지 여부에 기초하여 음성 인식을 수행하는 일 실시 예를 설명하기 위한 흐름도이다.
한편, 도 13 에서는 복수의 전자 장치가 전자 장치(100) 및 외부 장치(200)인 것으로 가정하고, 선택된 하나의 장치가 전자 장치(100)인 것으로 가정한다.
도 13을 참조하면, 전자 장치(100)에서 사용자 음성이 2차 트리거 인식을 통과하지 못하면(또는, 2차 트리거 인식에 실패하면), 전자 장치(100)는 외부 장치(200)에 포함된 언어 인식 모델을 이용하여 사용자 음성 및 트리거 정보의 유사 여부에 대한 결과 정보를 수신할 수 있다 (S1305). 여기서, 외부 장치(200)에 포함된 언어 인식 모델은 1차 트리거 인식을 수행하는데 이용되는 모델일 수 있다. 또한, 유사 여부에 대한 결과 정보는 1차 트리거 인식에 대한 통과 여부를 의미할 수 있다. 여기서, 1차 트리거 인식에 대한 통과 여부는 유사도 값이 임계값 이상인지 여부로 결정될 수 있다.
여기서, 전자 장치(100)는 외부 장치가 사용자 음성 및 트리거 정보가 유사하다고 판단하였는지 여부를 식별할 수 있다 (S1310). 여기서, “외부 장치가 사용자 음성 및 트리거 정보가 유사하다고 판단”하는 동작은 외부 장치(200)가 1차 트리거 인식을 성공하였는지 여부를 판단하는 것에 대응될 수 있다. 따라서, 외부 장치(200)가 1차 트리거 인식을 성공하면, 전자 장치(100)는 사용자 음성에 대하여 음성 인식을 수행할 수 있다 (S1315). 만약, 외부 장치(200)가 1차 트리거 인식에 실패하면, 전자 장치(100)는 사용자 음성에 대응되는 음성 인식을 수행하지 않을 수 있다 (S1320).
전자 장치(100)는 비록 2차 트리거 인식에 실패하였지만, 외부 장치의 1차 트리거 인식의 성공 여부에 기초하여 2차 트리거 인식을 성공한 것으로 간주하여 음성 인식을 수행할 수 있다. 이러한 동작은 사용자 음성에 대응하여 음성 인식 성공률을 높일 수 있는 효과를 갖을 수 있다.
도 14는 외부 장치가 사용자 음성 및 트리거 정보가 유사하다고 판단하였는지 여부에 기초하여 음성 인식을 수행하는 다른 실시 예를 설명하기 위한 흐름도이다.
도 14를 참조하면, 전자 장치(100)에서 사용자 음성이 2차 트리거 인식을 통과하지 못하면(또는, 2차 트리거 인식에 실패하면), 전자 장치(100)는 외부 장치(200)에 포함된 언어 인식 모델을 이용하여 사용자 음성 및 트리거 정보의 유사 여부에 대한 결과 정보를 수신할 수 있다 (S1405). S1405 단계는 도 13의 S1305 단계에 대응되므로, 구체적인 설명은 생략한다.
전자 장치(100)는 외부 장치(200)가 복수 개인지 판단할 수 있다 (S1410). 외부 장치(200)가 복수 개가 아니면, 전자 장치(100)는 외부 장치(200)가 사용자 음성 및 트리거 정보가 유사하다고 판단하였는지 식별할 수 있다 (S1415). 외부 장치(200)가 사용자 음성 및 트리거 정보가 유사하다고 판단하면, 전자 장치(100)는 사용자 음성에 대한 음성 인식을 수행할 수 있다 (S1420). 하지만, 외부 장치(200)가 사용자 음성 및 트리거 정보가 유사하지 않다고 판단하면, 전자 장치(100)는 사용자 음성에 대한 음성 인식을 수행하지 않을 수 있다 (S1425).
한편, 외부 장치가 복수 개이면, 전자 장치(100)는 외부 장치들이 사용자 음성 및 트리거 정보가 유사하다고 판단한 결과의 개수가 외부 장치들이 사용자 음성 및 트리거 정보가 유사하지 않다고 판단한 결과의 개수보다 많은지 식별할 수 있다 (S1430). 여기서, 외부 장치들이 사용자 음성 및 트리거 정보가 유사하다고 판단한 결과의 개수는 외부 장치들 중 1차 트리거 인식을 성공한 장치의 수를 의미할 수 있다. 또한, 외부 장치들이 사용자 음성 및 트리거 정보가 유사하지 않다고 판단한 결과의 개수는 외부 장치들 중 1차 트리거 인식을 실패한 장치의 수를 의미할 수 있다.
여기서, 전자 장치(100)는 외부 장치들 중 1차 트리거 인식을 성공한 장치의 수가 외부 장치들 중 1차 트리거 인식을 실패한 장치의 수보다 많으면, 전자 장치(100)는 사용자 음성에 대한 음성 인식을 수행할 수 있다 (S1420). 또한, 전자 장치(100)는 외부 장치들 중 1차 트리거 인식을 성공한 장치의 수가 외부 장치들 중 1차 트리거 인식을 실패한 장치의 수보다 많지 않으면(같거나 작으면), 전자 장치(100)는 사용자 음성에 대한 음성 인식을 수행하지 않을 수 있다 (S1425).
예를 들어, S1430 단계에서 외부 장치가 5개이고 사용자 음성 및 트리거 정보가 유사하다고 판단한 외부 장치가 3개, 사용자 음성 및 트리거 정보가 유사하지 않다고 판단한 외부 장치가 2개라고 가정한다. 유사로 판단한 장치의 수(3개)가 비유사로 판단한 장치의 수(2개)보다 많으므로, 전자 장치(100)는 S1420 단계에 의해 음성 인식을 수행할 수 있다.
도 15는 유사도값에 기초하여 음성 인식을 수행하는 일 실시 예를 설명하기 위한 흐름도이다.
도 15를 참조하면, 전자 장치(100)에서 사용자 음성이 2차 트리거 인식을 통과하지 못하면(또는, 2차 트리거 인식에 실패하면), 전자 장치(100)는 외부 장치에 포함된 언어 인식 모델을 이용하여 (외부 장치에 포함된 마이크로부터) 획득된 사용자 음성 및 (외부 장치에 저장된) 트리거 정보간 유사도 값을 수신할 수 있다 (S1505).
그리고, 전자 장치(100)는 전자 장치(100)에서 획득한 유사도 값 및 외부 장치(200)에서 획득한 제3 유사도 값을 정규화할 수 있다 (S1510). 전자 장치(100)에서 획득한 제1 유사도 값을 정규화 시킴으로써 획득되는 결과를 전자 장치(100)에 대응되는 정규화된 유사도 값이라고 기술한다.
전자 장치(100)는 전자 장치(100)에 대응되는 정규화된 유사도 값이 임계값 이상인지 판단할 수 있다 (S1515). 여기서, 전자 장치(100)에 대응되는 정규화된 유사도 값이 임계값 이상이면, 전자 장치(100)는 사용자 음성에 대한 음성 인식을 수행할 수 있다 (S1520). 한편, 전자 장치(100)에 대응되는 정규화된 유사도 값이 임계값 미만이면, 전자 장치(100)는 사용자 음성에 대한 음성 인식을 수행하지 않을 수 있다 (S1525).
전자 장치(100)에서 2차 트리거 인식이 실패하였지만, 외부 장치에서 수신된 유사도 값에 기초하여 2차 트리거 인식이 성공한 것으로 간주할 수 있다.
도 16은 유사도값에 기초하여 음성 인식을 수행하는 다른 실시 예를 설명하기 위한 흐름도이다.
도 16을 참고하면, S1605 및 S1610 단계는 도 15의 S1505 및 S1510 단계에 대응될 수 있다. 따라서, 중복되는 설명은 생략한다.
전자 장치(100)는 외부 장치에 대응되는 정규화된 유사도 값의 평균값을 획득할 수 있다. 외부 장치가 하나인 경우, 평균 값은 외부 장치에 대응되는 정규화된 유사도 값일 수 있다.
한편, 전자 장치(100)는 외부 장치에 대응되는 정규화된 유사도 값의 평균값이 임계값 이상인지 판단할 수 있다 (S1615). 외부 장치에 대응되는 정규화된 유사도 값의 평균값이 임계값 이상이면, 전자 장치(100)는 사용자 음성에 대한 음성 인식을 수행할 수 있다 (S1620). 다만, 외부 장치에 대응되는 정규화된 유사도 값의 평균값이 임계값 미만이면, 전자 장치(100)는 사용자 음성에 대한 음성 인식을 수행하지 않을 수 있다 (S1625). 여기서, 외부 장치(200)가 하나인 경우에는 “외부 장치(200)에 대응되는 정규화된 유사도 값의 평균값”이란 외부 장치(200)의 정규화된 유사도 값 그 자체를 의미할 수 있다. 하지만, 외부 장치(200)가 복수 개인 경우에는 “외부 장치(200)에 대응되는 정규화된 유사도 값의 평균값”이란 복수의 외부 장치의 각 유사도 값의 평균값을 의미할 수 있다.
전자 장치(100)에서 2차 트리거 인식이 실패하였지만, 외부 장치에서 수신된 유사도 값에 기초하여 2차 트리거 인식이 성공한 것으로 간주할 수 있다.
도 17은 유사도값에 기초하여 음성 인식을 수행하는 또 다른 실시 예를 설명하기 위한 흐름도이다.
전자 장치(100)는 2차 트리거 인식에 실패한 이후 도 13 내지 도 16에서 개시한 추가적인 판단 동작(S1310, S1415, S1430, S1515, S1615)들에 기초하여 전자 장치(100)에서 음성 인식을 수행할지 여부를 결정할 수 있다. 한편, 도 13 내지 도 16에서 음성 인식을 수행하지 않는 것으로 식별된 단계(S1320, S1425, S1525, S1625)에서, 전자 장치(100)는 도 17의 실시 예에 따라 외부 장치에서 음성 인식을 수행할 지 여부를 결정할 수 있다.
S1705 및 S1710 단계는 도 15의 S1505 및 S1510 단계에 대응될 수 있다. 따라서, 중복되는 설명은 생략한다.
전자 장치(100)는 외부 장치(200)에 대응되는 정규화된 유사도 값과 전자 장치(100)에 대응되는 정규화된 유사도 값의 차이가 임계값 이상인지 판단할 수 있다 (S1715). 여기서, 외부 장치가 복수 개이면, 외부 장치들 각각에 대응되는 정규화된 유사도 값과 전자 장치(100)에 대응되는 정규화된 유사도 값의 차이를 계산할 수 있다. 차이 값을 계산할 때 전자 장치(100)는 “외부 장치(200)에 대응되는 정규화된 유사도 값” ? “전자 장치(100)에 대응되는 정규화된 유사도 값”으로 계산 동작을 수행할 수 있다. 계산된 값이 양수가 나오면 “외부 장치(200)에 대응되는 정규화된 유사도 값”이 “전자 장치(100)에 대응되는 정규화된 유사도 값”보다 크다는 것일 수 있다.
그리고, 계산된 값이 음수가 나오면 “외부 장치(200)에 대응되는 정규화된 유사도 값”이 “전자 장치(100)에 대응되는 정규화된 유사도 값”보다 작다는 것일 수 있다. 계산된 값이 음수가 나오면 전자 장치(100)에서 유사도 값이 크게 나왔다는 의미이므로, 음성인식은 전자 장치(100)에서 수행될 수 있다.
전자 장치(100)는 계산된 값이 양수가 나오면 계산된 값(양수)이 임계값 이상인지 판단할 수 있다. 계산된 값은 정규화된 유사도 값이며 각각의 장치들의 마이크 성능, 언어 인식 모델 등에 따라 상이할 수 있다. 따라서, 이러한 오차들을 감안하기 위하여 임계값을 정하여 S1715 동작에 적용할 수 있다.
또한, 전자 장치(100)는 이미 복수의 장치들 중에서 2차 트리거 인식을 수행하기로 결정된 장치라는 점에서 불필요하게 다른 장치로 음성 인식 권한을 넘기는 것보다 전자 장치(100)에서 음성 인식을 수행하는 것이 사용자의 의도와 더 부합할 수 있다.
한편, 외부 장치가 복수 개인 경우, 전자 장치(100)는 복수 개의 외부 장치들에 대응되는 정규화된 유사도 값 중 최대값을 획득할 수 있다. 그리고, 획득된 최대값과 전자 장치(100)에 대응되는 정규화된 유사도 값의 차이가 임계값 이상인지 판단할 수 있다. 외부 장치가 복수 개인 실시 예에서, S1715 동작의 '외부 장치(200)에 대응되는 정규화된 유사도 값은 복수의 외부 장치들 각각에 대응되는 정규화된 유사도 값들 중 최대값일 수 있다.
외부 장치(200)에 대응되는 정규화된 유사도 값과 전자 장치(100)에 대응되는 정규화된 유사도 값의 차이가 임계값 미만이면, 전자 장치(100)는 전자 장치(100)에서 사용자 음성에 대한 음성 인식을 수행할 수 있다 (S1720).
한편, 외부 장치(200)에 대응되는 정규화된 유사도 값과 전자 장치(100)에 대응되는 정규화된 유사도 값의 차이가 임계값 이상이면, 전자 장치(100)는 전자 장치(100)에서 사용자 음성에 대한 음성 인식을 수행하지 않고 외부 장치(200)에서 사용자 음성에 대한 음성 인식을 수행하도록 결정할 수 있다. 구체적으로, 전자 장치(100)는 외부 장치(200)에서 사용자 음성에 대한 음성 인식을 수행하도록 하는 제어 신호를 생성할 수 있다 (S1725). 그리고, 전자 장치(100)는 생성된 제어 신호를 외부 장치(200)에 전송할 수 있다 (S1730).
일 실시 예에 따라, 외부 장치(200)는 제어 신호를 수신한 이후 바로 사용자 음성에 대한 음성 인식을 수행할 수 있다. 한편, 다른 실시 예에 따라 외부 장치(200)는 제어 신호를 수신한 이후 사용자 음성에 대하여 2차 트리거 인식을 수행할 수 있다. 그리고, 2차 트리거 인식을 성공한 경우, 외부 장치(200)는 사용자 음성에 대한 음성 인식을 수행할 수 있다.
전자 장치(100)에서 2차 트리거 인식을 실패하였지만, 외부 장치에서 더 높은 유사도 값을 갖는 경우 전자 장치(100)가 아니라 외부 장치(200)에 음성 인식을 수행하게 함으로 써 음성 인식률을 높일 수 있다.
한편, 전자 장치(100)는 도 17의 실시 예와 도 14의 실시 예가 결합되는 형태로 구현될 수 있다.
결합되는 일 실시 예에 따라, 도 14의 S1430 단계 대신에 도 17의 S1705 내지 S1730 단계가 수행될 수 있다. 구체적으로, 도 14의 S1410 단계에서 외부 장치가 복수 개인 것으로 식별되면, 전자 장치(100)는 S1705 내지 S1730 동작을 수행할 수 있다. 여기서, S1705 및 S1710 단계는 S1405 단계와 함께 수행될 수 있다.
또한, 결합되는 또 다른 실시 예에 따라, 도 14의 S1430 단계에서 외부 장치가 유사하다고 판단한 결과의 개수가 외부 장치가 유사하지 않다고 판단한 개수보다 작거나 같은 경우, 전자 장치(100)는 S1705 내지 S1730 단계를 수행할 수 있다.
구현 예에 따라, S1720 단계는 ‘전자 장치(100) 및 복수의 외부 장치들 모두에서 사용자 음성에 대한 음성 인식을 수행하지 않음’으로 대체될 수 있다. S1430 단계에서 판단 결과에 따라 S1420 동작을 수행할 수 있으므로, 전자 장치(100)에서 음성 인식을 수행할 조건이 이미 결정된 상태일 수 있다. 따라서, S1720 단계는 음성 인식을 전자 장치(100) 및 외부 장치 어디에서도 수행하지 않는 동작으로 대체될 수 있다.
한편, 도 17의 실시 예와 도 15의 실시 예가 결합되는 형태로 구현될 수 있다. 도 15의 S1515단계에서 전자 장치(100)에 대응되는 정규화된 유사도 값이 임계값 미만이면, 전자 장치(100)는 도 17의 S1715 내지 S1730의 단계를 수행할 수 있다. 즉, 전자 장치(100)는 S1525 단계 대신에 도 17의 S1715 내지 S1730의 단계를 수행할 수 있다.
한편, 도 17의 실시 예와 도 16의 실시 예가 결합되는 형태로 구현될 수 있다. 도 17의 S1715 단계에서 외부 장치에 대응되는 정규화된 유사도 값과 전자 장치에 대응되는 정규화된 유사도 값의 차이가 임계값 미만이면, 전자 장치(100)는 도 16의 S1615 내지 S1625 단계를 수행할 수 있다. 즉, 도 17의 S1720 단계 대신에 도 16의 S1615, S1620, S1625 단계가 수행될 수 있다.
도 18은 유사도값에 기초하여 음성 인식을 수행하는 또 다른 실시 예를 설명하기 위한 도면이다.
도 18을 참조하면, 전자 장치(100)는 전자 장치(100)에서 획득한 유사도 값 및 외부 장치(200)에서 획득한 유사도 값을 정규화할 수 있다 (S1805). S1805 단계는 도 17의 S1705 및 S1710 단계에 대응될 수 있다. 도 18의 실시 예는 도 15 내지 도 17의 실시 예를 결합한 것일 수 있다.
전자 장치(100)는 S1805 단계에서 획득한 정규화된 값에 기초하여 사용자 음성에 대한 음성 인식을 전자 장치(100)에서 수행할지 아니면 외부 장치(200)에서 수행할지 결정할 수 있다.
구체적으로, 전자 장치(100)는 외부 장치(200)에 대응되는 정규화된 유사도 값과 전자 장치(100)에 대응되는 정규화된 유사도 값의 차이가 임계값 이상인지 판단할 수 있다 (S1810). S1810 단계는 도 17의 S1715 단계에 대응될 수 있다.
S1810 단계에서, 외부 장치(200)에 대응되는 정규화된 유사도 값과 전자 장치(100)에 대응되는 정규화된 유사도 값의 차이가 임계값 이상이면, 전자 장치(100)는 외부 장치(200)에서 사용자 음성에 대한 음성 인식을 수행하도록 제어 신호를 생성할 수 있다 (S1815). 그리고, 전자 장치(100)는 생성된 제어 신호를 외부 장치(200)에 전송할 수 있다 (S1820). 그리고, 외부 장치(200)는 수신된 제어 신호에 기초하여 외부 장치(200)에서 사용자 음성에 대한 음성 인식을 수행할 수 있다 (S1825).
한편, S1810 단계에서, 외부 장치(200)에 대응되는 정규화된 유사도 값과 전자 장치(100)에 대응되는 정규화된 유사도 값의 차이가 임계값 미만이면, 전자 장치(100)는 전자 장치(100)에 대응되는 정규화된 유사도 값이 임계값 이상인지 판단할 수 있다 (S1830). 그리고, 전자 장치(100)에 대응되는 정규화된 유사도 값이 임계값 이상이면, 전자 장치(100)는 전자 장치(100)에서 사용자 음성에 대한 음성 인식을 수행할 수 있다 (S1835).
S1830 단계에서, 전자 장치(100)에 대응되는 정규화된 유사도 값이 임계값 미만이면, 전자 장치(100)는 외부 장치(200)에 대응되는 정규화된 유사도 값의 평균값이 임계값 이상인지 판단할 수 있다 (S1840). 여기서, 외부 장치(200)가 하나인 경우에는 “외부 장치(200)에 대응되는 정규화된 유사도 값의 평균값”이란 외부 장치(200)의 정규화된 유사도 값 그 자체를 의미할 수 있다. 하지만, 외부 장치(200)가 복수 개인 경우에는 “외부 장치(200)에 대응되는 정규화된 유사도 값의 평균값”이란 복수의 외부 장치의 각 유사도 값의 평균값을 의미할 수 있다.
S1840 단계에서, 외부 장치(200)에 대응되는 정규화된 유사도 값의 평균값이 임계값 이상이면, 전자 장치(100)는 전자 장치(100)에서 사용자 음성에 대한 음성 인식을 수행할 수 있다 (S1835). 하지만, 외부 장치(200)에 대응되는 정규화된 유사도 값의 평균값이 임계값 미만이면, 전자 장치(100)는 전자 장치(100)에서 사용자 음성에 대한 음성인식을 수행하지 않는 것으로 결정할 수 있다 (S1845).
도 19는 트리거 인식에 실패하였을 때 디스플레이되는 UI를 설명하기 위한 도면이다.
도 19를 참조하면, 전자 장치(100)가 2차 트리거 인식에 실패한 경우, 전자 장치(100)는 1차 트리거 인식에 대한 성공 여부를 알리는 UI(1905)를 제공할 수 있다. 2차 트리거 인식에 대한 성공 여부를 알리는 UI(1905)는 2차 트리거 인식이 수행되는 단계에서 제공되는 것이 아니며, 외부 장치(200)에서 트리거 인식(또는 음성 인식)이 수행되도록 제어 신호를 전송하는 경우에 한하여 UI(1905)가 제공될 수 있다.
또한, 전자 장치(100)는 도 17의 S1725 및 S1730 단계를 수행하는 경우, 외부 장치(200)에서 음성 인식이 수행됨을 알리는 UI(1910)를 제공할 수 있다.
트리거 인식에 대한 성공 여부와 트리거 인식이 어느 장치에서 수행되고 있는지 여부를 알리는 UI를 제공하면, 사용자는 복수의 장치를 쉽게 제어할 수 있다.
도 20은 트리거 인식에 실패하였을 때 디스플레이되는 UI를 설명하기 위한 도면이다.
도 20을 참조하면, 전자 장치(100)에서 사용자 음성이 2차 트리거 인식에 실패하면, 전자 장치(100)는 전자 장치(100)를 포함하여 다른 외부 장치들 중 하나의 장치에서 음성 인식을 수행할지 여부를 결정하도록 가이드하는 UI(2010)를 제공할 수 있다.
구체적으로, 2차 트리거 인식이 실패하면, 전자 장치(100) 및 외부 장치들 중 어느 장치도 음성 인식과 관련된 반응을 하지 않을 수 있다. 여기서, 전자 장치(100)는 음성 인식율을 높이기 위하여, 사용자의 의사를 확인하는 가이드 UI를 제공할 수 있다. 사용자가 직접 복수의 장치 중 음성 인식을 수행하는 장치를 선택하도록 하면, 전자 장치(100)는 사용자가 음성 인식을 요구하는 것임을 확실하게 인식할 수 있다. 만약, 2차 트리거 인식 실패와 같이 사용자가 음성 인식을 시도한 것이 아니었다면, 사용자는 UI(2010)에서 종료 버튼을 눌러 음성 인식을 원하지 않는다는 의사 표시를 전자 장치(100)에 전달할 수 있다.
도 21은 제어 명령 수행이 복수의 장치에서 수행 가능한 경우를 설명하는 도면이다.
도 21을 참조하면, 본 개시의 일 실시 예에 따른 전자 장치(100)는 불특정 기기를 제어하기 위한 사용자 음성(또는 사용자 명령)을 수신할 수 있다. 불특정 기기를 제어하기 위한 사용자 음성은 복수의 장치(100 내지 500) 중 어느 장치에서 사용자 음성에 대응되는 동작을 수행할지 특정하지 않는 명령을 의미할 수 있다.
사용자 음성(2105)이 “hi bixby, how is the weather today?”인 것으로 가정한다. 여기서, 트리거는 “hi bixby”이고 제어 명령은 “how is the weather today?”일 수 있다. 날씨를 묻는 제어 명령은 반드시 특정 장치에서 수행될 필요가 없다. 복수의 장치(100 내지 500)는 제어 대상을 명확히 한정하지 않은 사용자 음성을 수신할 수 있고, 수신된 사용자 음성에 기초하여 1차 트리거 인식을 수행할 수 있다.
한편, 복수의 장치(100 내지 500)는 1차 트리거 인식을 수행함에 있어서 트리거 이외에 제어 명령을 추가로 고려하여 2차 트리거 인식을 수행할 기기를 결정할 수 있다. 여기서, 2차 트리거 인식을 수행할 기기는 도 7의 706 과정에 의하여 결정되는 기기일 수 있다. 구체적으로, 복수의 장치(100 내지 500)는 사용자 음성을 수신하고 수신된 사용자 음성에 포함된 제어 명령이 복수의 장치(100 내지 500) 각각에서 수행될 수 있는지 여부를 판단할 수 있다. 만약, 사용자 음성을 수신한 장치가 사용자 음성에 포함된 제어 명령에 대응되는 동작을 수행할 수 없는 경우, 1차 트리거 인식을 수행하지 않을 수 있다. 제어 명령에 대응되는 동작을 수행할 수 없는 경우, 트리거 인식을 할 필요가 없으므로, 트리거 인식 동작을 수행하지 않을 수 있다. 복수의 장치(100 내지 500) 중 트리거 인식 동작을 수행하지 않은 기기가 많아질수록 계산 속도 및 계산 처리 과정이 줄어들 수 있다.
복수의 장치(100 내지 500) 각각은 수신된 사용자 음성에 포함된 제어 명령(how is the weather today?)에 대응되는 동작(오늘 날씨를 제공)을 수행할지 여부를 식별할 수 있다. 날씨에 대한 정보를 제공하기 위해서는 디스플레이 또는 스피커가 필요할 수 있다. 따라서, 사용자 음성을 수신한 장치가 디스플레이 또는 스피커를 포함하지 않은 경우, 사용자 음성을 수신한 장치는 1차 트리거 인식을 수행하지 않을 수 있다. 또한, 사용자 음성을 수신한 장치는 1차 트리거 인식을 수행하지 않았음을 알리는 정보를 다른 장치들 중 적어도 하나의 장치에 전송할 수 있다. 사용자 음성을 수신한 장치가 디스플레이 또는 스피커를 포함하는 경우, 사용자 음성을 수신한 장치는 1차 트리거 인식을 수행할 수 있다. 복수의 장치(100 내지 500) 모두가 스피커 또는 디스플레이 중 적어도 하나를 포함하고 있다면, 복수의 장치(100 내지 500) 모두가 1차 트리거 인식을 수행할 수 있다.
도 22는 제어 명령 수행이 하나의 장치에서 수행 가능한 경우를 설명하는 도면이다.
도 22를 참조하면, 본 개시의 일 실시 예에 따른 전자 장치(100)는 특정 기기를 제어하기 위한 사용자 음성(또는 사용자 명령)을 수신할 수 있다. 특정 기기를 제어하기 위한 사용자 음성은 복수의 장치(100 내지 500) 중 사용자가 제어 대상으로 의도한 장치가 사용자 음성에 대응되는 동작을 수행하도록 제어하는 음성을 의미할 수 있다.
사용자 음성(2205)이 “hi bixby, call my mother”인 것으로 가정한다. 여기서, 트리거는 “hi bixby”이고 제어 명령은 “call my mother”일 수 있다. 상대방(어머니)에게 전화를 걸라는 제어 명령에 대응되는 동작을 수행할 수 있는 장치는 제한적일 수 있다. 예를 들어, 복수의 장치(100 내지 500) 중 전화 기능을 갖는 장치는 제3 외부 장치(400)뿐이라고 가정한다. 복수의 장치(100 내지 500)는 각각 특정 장치에서만 수행 가능한 제어 명령을 포함하는 사용자 음성을 수신할 수 있으며, 수신된 사용자 음성에 기초하여 1차 트리거 인식을 수행할 수 있다.
한편, 복수의 장치(100 내지 500)는 1차 트리거 인식을 수행함에 있어서 트리거 이외에 제어 명령을 추가로 고려하여 2차 트리거 인식을 수행할 기기를 결정할 수 있다. 구체적인 설명은 도 20에서 전술하였으므로 중복되는 기재를 생략한다.
복수의 장치(100 내지 500) 중 전화 기능을 수행할 수 있는 장치는 제3 외부 장치(400) 하나라고 가정하면, 1차 트리거 인식은 제3 외부 장치(400)에서만 수행될 수 있다. 전자 장치(100) 하나만을 기준으로 설명한다. 전자 장치(100)는 사용자 음성에 포함된 제어 명령을 식별하고, 식별된 제어 명령에 대응되는 동작을 수행할지 여부를 판단할 수 있다. 판단 결과에 따라, 전자 장치(100)가 제어 명령에 대응되는 동작을 수행할 수 없는 경우 전자 장치(100)는 1차 트리거 인식을 수행하지 않을 수 있다. 그리고, 전자 장치(100)는 1차 트리거 인식을 수행하지 않았음을 알리는 정보를 다른 장치(200 내지 500)에 전송하거나 전자 장치(100)에 포함된 하드웨어(디스플레이 또는 스피커)를 이용하여 출력할 수 있다.
도 23은 본 개시의 일 실시 예에 따른 전자 장치의 제어 방법을 설명하기 위한 흐름도이다.
도 23을 참조하면, 본 개시의 일 실시 예에 따른 전자 장치(100)의 제어 방법은 외부 장치(200)로부터 사용자 음성에 대응되는 정보를 수신할 수 있다 (S2305). 그리고, 제어 방법은 전자 장치(100)에서 획득된 사용자 음성 및 저장된 트리거 정보에 기초하여 수행된 트리거 인식이 실패하면, 외부 장치(200)로부터 수신된 정보에 기초하여 획득된 사용자 음성에 대한 음성 인식을 수행할 수 있다 (S2310).
여기서, 외부 장치(200)로부터 수신된 정보는 외부 장치(200)에서 획득된 사용자 음성 및 트리거 정보 간 유사도 정보를 포함할 수 있다.
여기서, 제어 방법은 전자 장치(100)에서 획득된 사용자 음성의 제1 특성 정보 및 외부 장치(200)에서 획득된 사용자 음성의 제2 특성 정보에 기초하여 트리거 인식을 수행하는 단계를 더 포함할 수 있으며, 음성 인식을 수행하는 단계 (S2310)는 트리거 인식이 실패하면, 외부 장치(200)로부터 수신된 정보에 기초하여 전자 장치(100)에서 획득된 사용자 음성에 대한 음성 인식을 수행할 수 있다.
여기서, 제어 방법은 제1 언어 인식 모델을 이용하여 전자 장치(100)에서 획득된 사용자 음성 및 트리거 정보 간 제1 유사도 정보를 1차 트리거 인식 결과로서 획득하는 단계, 제1 특성 정보 및 제2 특성 정보 간 비교 결과 및 제1 유사도 정보에 기초하여, 2차 트리거 인식을 수행할지 여부를 결정하는 단계, 2차 트리거 인식을 수행하는 경우, 제2 언어 인식 모델을 이용하여 전자 장치(100)에서 획득된 사용자 음성 및 트리거 정보 간 제2 유사도 정보를 2차 트리거 인식 결과로서 획득하는 단계, 획득된 제2 유사도 정보가 임계값 미만이면, 2차 트리거 인식이 실패한 것으로 식별하는 단계를 더 포함할 수 있으며, 음성 인식을 수행하는 단계 (S2310)는 2차 트리거 인식이 실패하면, 외부 장치(200)로부터 수신된 제3 유사도 정보에 기초하여 사용자 음성에 대한 음성 인식을 수행할 수 있다.
여기서, 제1 언어 인식 모델과 제2 언어 인식 모델은 상이하며, 제어 방법은 제1 유사도 정보가 임계값 이상이면, 제1 특성 정보 및 제2 특성 정보 간 비교 결과에 기초하여 제2 언어 인식 모델을 이용하여 제2 유사도 정보를 획득하는 단계를 더 포함할 수 있다.
여기서, 제1 언어 인식 모델 및 제2 언어 인식 모델은 사용자 음성 및 트리거 정보 간 유사도 정보를 획득하기 위해 이용되는 판단 알고리즘 또는 데이터 베이스 중 적어도 하나가 상이한 모델일 수 있다.
여기서, 제3 유사도 정보는 외부 장치(200)에서 획득된 사용자 음성 및 트리거 정보 간 유사도 값을 포함하며, 음성 인식을 수행하는 단계 (S2310)는 2차 트리거 인식이 실패하면, 제3 유사도 정보에 포함된 유사도 값이 임계값 이상인지 여부에 기초하여 사용자 음성에 대한 음성 인식을 수행할 수 있다.
한편, 제1 유사도 정보는 제1 유사도 값을 포함하며, 제2 유사도 정보는 제2 유사도 값을 포함하며, 제3 유사도 정보는 제3 유사도 값을 포함하며, 제어 방법은 제1 유사도 값 및 외부 장치(200)로부터 수신된 제3 유사도 값을 각각 정규화(normalize)하는 단계, 제2 유사도 값이 임계값 미만이면 2차 트리거 인식이 실패한 것으로 식별하는 단계를 더 포함할 수 있으며 음성 인식을 수행하는 단계 (S2310)는 2차 트리거 인식이 실패하면, 정규화된 제1 유사도 값 또는 정규화된 제3 유사도 값 중 적어도 하나가 임계값 이상인 경우에 사용자 음성에 대한 음성 인식을 수행할 수 있다.
여기서, 제어 방법은 제2 유사도 값이 임계값 미만이고, 외부 장치(200)로부터 수신된 제3 유사도 값이 전자 장치(100)에서 획득된 제1 유사도 값보다 임계값 이상 크면, 외부 장치(200)에서 사용자 음성에 대한 음성 인식을 수행하도록 하는 제어 신호를 생성하는 단계와 생성된 제어 신호를 외부 장치(200)로 전송하는 단계를 더 포함할 수 있다.
여기서, 제어 신호를 생성하는 단계는 제어 신호가 생성되면, 외부 장치(200)에서 음성 인식이 수행됨을 알리는 정보를 포함하는 UI(User Interface)를 디스플레이하도록 제어할 수 있다.
한편, 제1 특성 정보는 전자 장치(100)에서 획득된 사용자 음성의 크기 값, 전자 장치(100)에 대한 사용자 음성의 지향 각도 값 또는 사용자 음성과 전자 장치(100) 간 거리 값 중 적어도 하나이고, 제2 특성 정보는 외부 장치(200)에서 획득된 사용자 음성의 크기 값, 외부 장치(200)에 대한 사용자 음성의 지향 각도 값 또는 사용자 음성이 발화된 지점과 외부 장치(200) 간 거리 값 중 적어도 하나일 수 있다.
한편, 도 23과 같은 전자 장치의 제어 방법은 도 2 또는 도 3의 구성을 가지는 전자 장치 상에서 실행될 수 있으며, 그 밖의 구성을 가지는 전자 장치 상에서도 실행될 수 있다.
한편, 상술한 본 개시의 다양한 실시 예들에 따른 방법들은, 기존 전자 장치에 설치 가능한 어플리케이션 형태로 구현될 수 있다.
또한, 상술한 본 개시의 다양한 실시 예들에 따른 방법들은, 기존 전자 장치에 대한 소프트웨어 업그레이드, 또는 하드웨어 업그레이드 만으로도 구현될 수 있다.
또한, 상술한 본 개시의 다양한 실시 예들은 전자 장치에 구비된 임베디드 서버, 또는 전자 장치 및 디스플레이 장치 중 적어도 하나의 외부 서버를 통해 수행되는 것도 가능하다.
한편, 본 개시의 일시 예에 따르면, 이상에서 설명된 다양한 실시 예들은 기기(machine)(예: 컴퓨터)로 읽을 수 있는 저장 매체(machine-readable storage media)에 저장된 명령어를 포함하는 소프트웨어로 구현될 수 있다. 기기는, 저장 매체로부터 저장된 명령어를 호출하고, 호출된 명령어에 따라 동작이 가능한 장치로서, 개시된 실시 예들에 따른 전자 장치를 포함할 수 있다. 명령이 프로세서에 의해 실행될 경우, 프로세서가 직접, 또는 프로세서의 제어 하에 다른 구성요소들을 이용하여 명령에 해당하는 기능을 수행할 수 있다. 명령은 컴파일러 또는 인터프리터에 의해 생성 또는 실행되는 코드를 포함할 수 있다. 기기로 읽을 수 있는 저장매체는, 비일시적(non-transitory) 저장매체의 형태로 제공될 수 있다. 여기서, '비일시적'은 저장매체가 신호(signal)를 포함하지 않으며 실재(tangible)한다는 것을 의미할 뿐 데이터가 저장매체에 반영구적 또는 임시적으로 저장됨을 구분하지 않는다.
또한, 본 개시의 일 실시 예에 따르면, 이상에서 설명된 다양한 실시 예들에 따른 방법은 컴퓨터 프로그램 제품(computer program product)에 포함되어 제공될 수 있다. 컴퓨터 프로그램 제품은 상품으로서 판매자 및 구매자 간에 거래될 수 있다. 컴퓨터 프로그램 제품은 기기로 읽을 수 있는 저장 매체(예: compact disc read only memory (CD-ROM))의 형태로, 또는 어플리케이션 스토어(예: 플레이 스토어TM)를 통해 온라인으로 배포될 수 있다. 온라인 배포의 경우에, 컴퓨터 프로그램 제품의 적어도 일부는 제조사의 서버, 어플리케이션 스토어의 서버, 또는 중계 서버의 메모리와 같은 저장 매체에 적어도 일시 저장되거나, 임시적으로 생성될 수 있다.
또한, 상술한 다양한 실시 예들에 따른 구성 요소(예: 모듈 또는 프로그램) 각각은 단수 또는 복수의 개체로 구성될 수 있으며, 전술한 해당 서브 구성 요소들 중 일부 서브 구성 요소가 생략되거나, 또는 다른 서브 구성 요소가 다양한 실시 예에 더 포함될 수 있다. 대체적으로 또는 추가적으로, 일부 구성 요소들(예: 모듈 또는 프로그램)은 하나의 개체로 통합되어, 통합되기 이전의 각각의 해당 구성 요소에 의해 수행되는 기능을 동일 또는 유사하게 수행할 수 있다. 다양한 실시 예들에 따른, 모듈, 프로그램 또는 다른 구성 요소에 의해 수행되는 동작들은 순차적, 병렬적, 반복적 또는 휴리스틱하게 실행되거나, 적어도 일부 동작이 다른 순서로 실행되거나, 생략되거나, 또는 다른 동작이 추가될 수 있다.
이상에서는 본 개시의 바람직한 실시 예에 대하여 도시하고 설명하였지만, 본 개시는 상술한 특정의 실시 예에 한정되지 아니하며, 청구범위에서 청구하는 본 개시의 요지를 벗어남이 없이 당해 개시에 속하는 기술분야에서 통상의 지식을 가진 자에 의해 다양한 변형 실시가 가능한 것은 물론이고, 이러한 변형실시들은 본 개시의 기술적 사상이나 전망으로부터 개별적으로 이해되어져서는 안될 것이다.
메모리: 110통신 인터페이스: 120
프로세서: 130
프로세서: 130
Claims (20)
- 전자 장치에 있어서,메모리;통신 인터페이스; 및상기 통신 인터페이스를 통해 외부 장치로부터 사용자 음성에 대응되는 정보를 수신하고,상기 전자 장치에서 획득된 사용자 음성 및 상기 메모리에 저장된 트리거 정보에 기초하여 수행된 트리거 인식이 실패하면, 상기 외부 장치로부터 수신된 상기 정보에 기초하여 상기 획득된 사용자 음성에 대한 음성 인식을 수행하는 프로세서;를 포함하고,상기 외부 장치로부터 수신된 상기 정보는,상기 외부 장치에서 획득된 사용자 음성 및 상기 트리거 정보 간 유사도 정보를 포함하는, 전자 장치.
- 제1항에 있어서,상기 프로세서는,상기 전자 장치에서 획득된 사용자 음성의 제1 특성 정보 및 상기 외부 장치에서 획득된 사용자 음성의 제2 특성 정보에 기초하여 상기 트리거 인식을 수행하고,상기 트리거 인식이 실패하면, 상기 외부 장치로부터 수신된 상기 정보에 기초하여 상기 전자 장치에서 획득된 사용자 음성에 대한 음성 인식을 수행하는, 전자 장치.
- 제2항에 있어서,상기 프로세서는,제1 언어 인식 모델을 이용하여 상기 전자 장치에서 획득된 사용자 음성 및 상기 트리거 정보 간 제1 유사도 정보를 1차 트리거 인식 결과로서 획득하고,상기 제1 특성 정보 및 상기 제2 특성 정보 간 비교 결과 및 상기 제1 유사도 정보에 기초하여, 2차 트리거 인식을 수행할지 여부를 결정하고,상기 2차 트리거 인식을 수행하는 경우, 제2 언어 인식 모델을 이용하여 상기 전자 장치에서 획득된 사용자 음성 및 상기 트리거 정보 간 제2 유사도 정보를 2차 트리거 인식 결과로서 획득하고,상기 획득된 제2 유사도 정보가 임계값 미만이면, 상기 2차 트리거 인식이 실패한 것으로 식별하고,상기 2차 트리거 인식이 실패하면, 상기 외부 장치로부터 수신된 제3 유사도 정보에 기초하여 상기 사용자 음성에 대한 음성 인식을 수행하는, 전자 장치.
- 제3항에 있어서,상기 제1 언어 인식 모델과 상기 제2 언어 인식 모델은 상이하며,상기 프로세서는,상기 제1 유사도 정보가 임계값 이상이면, 상기 제1 특성 정보 및 상기 제2 특성 정보 간 비교 결과에 기초하여 상기 제2 언어 인식 모델을 이용하여 상기 제2 유사도 정보를 획득하는, 전자 장치.
- 제3항에 있어서,상기 제1 언어 인식 모델 및 상기 제2 언어 인식 모델은,상기 사용자 음성 및 상기 트리거 정보 간 유사도 정보를 획득하기 위해 이용되는 판단 알고리즘 또는 데이터 베이스 중 적어도 하나가 상이한 모델인, 전자 장치.
- 제3항에 있어서,상기 제3 유사도 정보는,상기 외부 장치에서 획득된 사용자 음성 및 상기 트리거 정보 간 유사도 값을 포함하며,상기 프로세서는,상기 2차 트리거 인식이 실패하면, 상기 제3 유사도 정보에 포함된 유사도 값이 임계값 이상인지 여부에 기초하여 상기 사용자 음성에 대한 음성 인식을 수행하는, 전자 장치.
- 제 3항에 있어서,상기 제1 유사도 정보는 제1 유사도 값을 포함하며,상기 제2 유사도 정보는 제2 유사도 값을 포함하며,상기 제3 유사도 정보는 제3 유사도 값을 포함하며,상기 프로세서는,상기 제1 유사도 값 및 상기 외부 장치로부터 수신된 제3 유사도 값을 각각 정규화(normalize)하고,상기 제2 유사도 값이 임계값 미만이면 상기 2차 트리거 인식이 실패한 것으로 식별하고,상기 2차 트리거 인식이 실패하면, 정규화된 제1 유사도 값 또는 정규화된 제3 유사도 값 중 적어도 하나가 임계값 이상인 경우에 상기 사용자 음성에 대한 음성 인식을 수행하는, 전자 장치.
- 제7항에 있어서,상기 프로세서는,상기 제2 유사도 값이 임계값 미만이고, 상기 외부 장치로부터 수신된 제3 유사도 값이 상기 전자 장치에서 획득된 상기 제1 유사도 값보다 임계값 이상 크면, 상기 외부 장치에서 상기 사용자 음성에 대한 음성 인식을 수행하도록 하는 제어 신호를 생성하고,상기 생성된 제어 신호를 상기 외부 장치로 전송하는, 전자 장치.
- 제8항에 있어서,디스플레이;를 더 포함하고,상기 프로세서는,상기 제어 신호가 생성되면, 상기 외부 장치에서 음성 인식이 수행됨을 알리는 정보를 포함하는 UI(User Interface)를 디스플레이하도록 상기 디스플레이를 제어하는, 전자 장치.
- 제3항에 있어서,상기 제1 특성 정보는,상기 전자 장치에서 획득된 상기 사용자 음성의 크기 값, 상기 전자 장치에 대한 상기 사용자 음성의 지향 각도 값 또는 상기 사용자 음성과 상기 전자 장치 간 거리 값 중 적어도 하나이고,상기 제2 특성 정보는,상기 외부 장치에서 획득된 상기 사용자 음성의 크기 값, 상기 외부 장치에 대한 상기 사용자 음성의 지향 각도 값 또는 상기 사용자 음성이 발화된 지점과 상기 외부 장치 간 거리 값 중 적어도 하나인, 전자 장치.
- 전자 장치의 제어 방법에 있어서,외부 장치로부터 사용자 음성에 대응되는 정보를 수신하는 단계; 및상기 전자 장치에서 획득된 사용자 음성 및 저장된 트리거 정보에 기초하여 수행된 트리거 인식이 실패하면, 상기 외부 장치로부터 수신된 상기 정보에 기초하여 상기 획득된 사용자 음성에 대한 음성 인식을 수행하는 단계;를 포함하고,상기 외부 장치로부터 수신된 상기 정보는,상기 외부 장치에서 획득된 사용자 음성 및 상기 트리거 정보 간 유사도 정보를 포함하는, 제어 방법.
- 제11항에 있어서,상기 제어 방법은,상기 전자 장치에서 획득된 사용자 음성의 제1 특성 정보 및 상기 외부 장치에서 획득된 사용자 음성의 제2 특성 정보에 기초하여 상기 트리거 인식을 수행하는 단계;를 더 포함하고,상기 음성 인식을 수행하는 단계는,상기 트리거 인식이 실패하면, 상기 외부 장치로부터 수신된 상기 정보에 기초하여 상기 전자 장치에서 획득된 사용자 음성에 대한 음성 인식을 수행하는, 제어 방법.
- 제12항에 있어서,상기 제어 방법은,제1 언어 인식 모델을 이용하여 상기 전자 장치에서 획득된 사용자 음성 및 상기 트리거 정보 간 제1 유사도 정보를 1차 트리거 인식 결과로서 획득하는 단계;상기 제1 특성 정보 및 상기 제2 특성 정보 간 비교 결과 및 상기 제1 유사도 정보에 기초하여, 2차 트리거 인식을 수행할지 여부를 결정하는 단계;상기 2차 트리거 인식을 수행하는 경우, 제2 언어 인식 모델을 이용하여 상기 전자 장치에서 획득된 사용자 음성 및 상기 트리거 정보 간 제2 유사도 정보를 2차 트리거 인식 결과로서 획득하는 단계; 및상기 획득된 제2 유사도 정보가 임계값 미만이면, 상기 2차 트리거 인식이 실패한 것으로 식별하는 단계;를 더 포함하고,상기 음성 인식을 수행하는 단계는,상기 2차 트리거 인식이 실패하면, 상기 외부 장치로부터 수신된 제3 유사도 정보에 기초하여 상기 사용자 음성에 대한 음성 인식을 수행하는, 제어 방법.
- 제13항에 있어서,상기 제1 언어 인식 모델과 상기 제2 언어 인식 모델은 상이하며,상기 제어 방법은,상기 제1 유사도 정보가 임계값 이상이면, 상기 제1 특성 정보 및 상기 제2 특성 정보 간 비교 결과에 기초하여 상기 제2 언어 인식 모델을 이용하여 상기 제2 유사도 정보를 획득하는 단계;를 더 포함하는, 제어 방법.
- 제13항에 있어서,상기 제1 언어 인식 모델 및 상기 제2 언어 인식 모델은,상기 사용자 음성 및 상기 트리거 정보 간 유사도 정보를 획득하기 위해 이용되는 판단 알고리즘 또는 데이터 베이스 중 적어도 하나가 상이한 모델인, 제어 방법.
- 제13항에 있어서,상기 제3 유사도 정보는,상기 외부 장치에서 획득된 사용자 음성 및 상기 트리거 정보 간 유사도 값을 포함하며,상기 음성 인식을 수행하는 단계는,상기 2차 트리거 인식이 실패하면, 상기 제3 유사도 정보에 포함된 유사도 값이 임계값 이상인지 여부에 기초하여 상기 사용자 음성에 대한 음성 인식을 수행하는, 제어 방법.
- 제 13항에 있어서,상기 제1 유사도 정보는 제1 유사도 값을 포함하며,상기 제2 유사도 정보는 제2 유사도 값을 포함하며,상기 제3 유사도 정보는 제3 유사도 값을 포함하며,상기 제어 방법은,상기 제1 유사도 값 및 상기 외부 장치로부터 수신된 제3 유사도 값을 각각 정규화(normalize)하는 단계;상기 제2 유사도 값이 임계값 미만이면 상기 2차 트리거 인식이 실패한 것으로 식별하는 단계;를 더 포함하고,상기 음성 인식을 수행하는 단계는,상기 2차 트리거 인식이 실패하면, 정규화된 제1 유사도 값 또는 정규화된 제3 유사도 값 중 적어도 하나가 임계값 이상인 경우에 상기 사용자 음성에 대한 음성 인식을 수행하는, 제어 방법.
- 제17항에 있어서,상기 제어 방법은,상기 제2 유사도 값이 임계값 미만이고, 상기 외부 장치로부터 수신된 제3 유사도 값이 상기 전자 장치에서 획득된 상기 제1 유사도 값보다 임계값 이상 크면, 상기 외부 장치에서 상기 사용자 음성에 대한 음성 인식을 수행하도록 하는 제어 신호를 생성하는 단계; 및상기 생성된 제어 신호를 상기 외부 장치로 전송하는 단계;를 더 포함하는, 제어 방법.
- 제18항에 있어서,상기 제어 신호를 생성하는 단계;는상기 제어 신호가 생성되면, 상기 외부 장치에서 음성 인식이 수행됨을 알리는 정보를 포함하는 UI(User Interface)를 디스플레이하도록 제어하는, 제어 방법.
- 제13항에 있어서,상기 제1 특성 정보는,상기 전자 장치에서 획득된 상기 사용자 음성의 크기 값, 상기 전자 장치에 대한 상기 사용자 음성의 지향 각도 값 또는 상기 사용자 음성과 상기 전자 장치 간 거리 값 중 적어도 하나이고,상기 제2 특성 정보는,상기 외부 장치에서 획득된 상기 사용자 음성의 크기 값, 상기 외부 장치에 대한 상기 사용자 음성의 지향 각도 값 또는 상기 사용자 음성이 발화된 지점과 상기 외부 장치 간 거리 값 중 적어도 하나인, 제어 방법.
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020200054741A KR20210136463A (ko) | 2020-05-07 | 2020-05-07 | 전자 장치 및 그 제어 방법 |
US17/198,923 US11594220B2 (en) | 2020-05-07 | 2021-03-11 | Electronic apparatus and controlling method thereof |
PCT/KR2021/003865 WO2021225282A1 (en) | 2020-05-07 | 2021-03-29 | Electronic apparatus and controlling method thereof |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020200054741A KR20210136463A (ko) | 2020-05-07 | 2020-05-07 | 전자 장치 및 그 제어 방법 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20210136463A true KR20210136463A (ko) | 2021-11-17 |
Family
ID=78413105
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020200054741A KR20210136463A (ko) | 2020-05-07 | 2020-05-07 | 전자 장치 및 그 제어 방법 |
Country Status (3)
Country | Link |
---|---|
US (1) | US11594220B2 (ko) |
KR (1) | KR20210136463A (ko) |
WO (1) | WO2021225282A1 (ko) |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07271392A (ja) | 1994-03-29 | 1995-10-20 | Nippon Telegr & Teleph Corp <Ntt> | 話者認識用類似度正規化方法及びこの方法を用いた話者認識装置 |
JP3838029B2 (ja) | 2000-12-18 | 2006-10-25 | セイコーエプソン株式会社 | 音声認識を用いた機器制御方法および音声認識を用いた機器制御システム |
KR20120083104A (ko) | 2011-01-17 | 2012-07-25 | 엘지전자 주식회사 | 멀티미디어 장치의 음성인식을 통한 텍스트 입력 방법 및 그에 따른 멀티미디어 장치 |
KR101385012B1 (ko) | 2012-03-08 | 2014-04-29 | 주식회사 디오텍 | 필기 및 음성 인식을 이용한 멀티모달 입력장치 및 그 입력장치의 제어방법 |
KR102394485B1 (ko) | 2013-08-26 | 2022-05-06 | 삼성전자주식회사 | 음성 인식을 위한 전자 장치 및 방법 |
US9318107B1 (en) | 2014-10-09 | 2016-04-19 | Google Inc. | Hotword detection on multiple devices |
US10135893B2 (en) * | 2014-12-01 | 2018-11-20 | Nbcuniversal Media, Llc | System and method for controlling output of a function in response to media content |
US9775113B2 (en) | 2014-12-11 | 2017-09-26 | Mediatek Inc. | Voice wakeup detecting device with digital microphone and associated method |
US10026399B2 (en) | 2015-09-11 | 2018-07-17 | Amazon Technologies, Inc. | Arbitration between voice-enabled devices |
KR102642666B1 (ko) | 2016-02-05 | 2024-03-05 | 삼성전자주식회사 | 음성인식 장치 및 방법, 음성인식시스템 |
JP6844608B2 (ja) | 2016-03-10 | 2021-03-17 | ソニー株式会社 | 音声処理装置および音声処理方法 |
US10170110B2 (en) | 2016-11-17 | 2019-01-01 | Robert Bosch Gmbh | System and method for ranking of hybrid speech recognition results with neural networks |
CN108335696A (zh) | 2018-02-09 | 2018-07-27 | 百度在线网络技术(北京)有限公司 | 语音唤醒方法和装置 |
WO2020218634A1 (ko) | 2019-04-23 | 2020-10-29 | 엘지전자 주식회사 | 응답 기기 결정 방법 및 장치 |
US11538482B2 (en) | 2019-04-25 | 2022-12-27 | Lg Electronics Inc. | Intelligent voice enable device searching method and apparatus thereof |
KR102228549B1 (ko) | 2019-06-11 | 2021-03-16 | 엘지전자 주식회사 | 음성 인에이블 디바이스 선택 방법, 음성 인에이블 디바이스 선택 장치 및 이를 제어하는 지능형 컴퓨팅 디바이스 |
KR102246661B1 (ko) * | 2019-06-25 | 2021-05-03 | 엘지전자 주식회사 | 음성 인에이블 디바이스 선택 방법 및 장치 |
-
2020
- 2020-05-07 KR KR1020200054741A patent/KR20210136463A/ko active Search and Examination
-
2021
- 2021-03-11 US US17/198,923 patent/US11594220B2/en active Active
- 2021-03-29 WO PCT/KR2021/003865 patent/WO2021225282A1/en active Application Filing
Also Published As
Publication number | Publication date |
---|---|
US11594220B2 (en) | 2023-02-28 |
US20210350801A1 (en) | 2021-11-11 |
WO2021225282A1 (en) | 2021-11-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11181980B2 (en) | Natural human-computer interaction for virtual personal assistant systems | |
US10228904B2 (en) | Gaze triggered voice recognition incorporating device velocity | |
US10831440B2 (en) | Coordinating input on multiple local devices | |
US10762897B2 (en) | Method and display device for recognizing voice | |
KR102669100B1 (ko) | 전자 장치 및 그 제어 방법 | |
US10269377B2 (en) | Detecting pause in audible input to device | |
CN111415660B (zh) | 电子装置及其控制方法 | |
US10073671B2 (en) | Detecting noise or object interruption in audio video viewing and altering presentation based thereon | |
US20180364798A1 (en) | Interactive sessions | |
US10257363B2 (en) | Coordinating input on multiple local devices | |
KR20190097483A (ko) | 음성 인식 서비스 운용 방법 및 이를 지원하는 전자 장치 | |
KR20190087197A (ko) | 전자 장치, 그 제어 방법 및 컴퓨터 판독가능 기록 매체 | |
US11710498B2 (en) | Electronic device and control method therefor | |
US11175789B2 (en) | Electronic apparatus and method for controlling the electronic apparatus thereof | |
KR20210136463A (ko) | 전자 장치 및 그 제어 방법 | |
US20190065608A1 (en) | Query input received at more than one device | |
KR102582332B1 (ko) | 전자 장치, 이의 모바일 장치 제어 방법 및 컴퓨터 판독가능 기록 매체 | |
US20230180001A1 (en) | Electronic apparatus and controlling method thereof | |
KR102722962B1 (ko) | 전자 장치, 사용자 단말 및 이들의 제어 방법 | |
US20240161746A1 (en) | Electronic apparatus and controlling method thereof | |
EP4325484A1 (en) | Electronic device and control method thereof | |
US20230048573A1 (en) | Electronic apparatus and controlling method thereof | |
KR20240069443A (ko) | 전자 장치 및 그 제어 방법 | |
KR20230059029A (ko) | 전자 장치 및 그 동작 방법 | |
KR20230043562A (ko) | 전자 장치 및 그 제어 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination |