KR102551276B1 - 핫워드 인식 및 수동 어시스턴스 - Google Patents
핫워드 인식 및 수동 어시스턴스 Download PDFInfo
- Publication number
- KR102551276B1 KR102551276B1 KR1020217003733A KR20217003733A KR102551276B1 KR 102551276 B1 KR102551276 B1 KR 102551276B1 KR 1020217003733 A KR1020217003733 A KR 1020217003733A KR 20217003733 A KR20217003733 A KR 20217003733A KR 102551276 B1 KR102551276 B1 KR 102551276B1
- Authority
- KR
- South Korea
- Prior art keywords
- computing device
- hotword
- power mode
- audio data
- low
- Prior art date
Links
- 230000009471 action Effects 0.000 claims abstract description 84
- 230000004044 response Effects 0.000 claims abstract description 34
- 238000013518 transcription Methods 0.000 claims abstract description 33
- 230000035897 transcription Effects 0.000 claims abstract description 33
- 238000000034 method Methods 0.000 claims abstract description 30
- 238000004590 computer program Methods 0.000 abstract description 6
- 230000015654 memory Effects 0.000 description 36
- 238000004891 communication Methods 0.000 description 17
- 230000008569 process Effects 0.000 description 12
- 238000012545 processing Methods 0.000 description 7
- 239000008267 milk Substances 0.000 description 6
- 210000004080 milk Anatomy 0.000 description 6
- 235000013336 milk Nutrition 0.000 description 6
- 230000001413 cellular effect Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000007704 transition Effects 0.000 description 3
- 238000012795 verification Methods 0.000 description 3
- 230000002730 additional effect Effects 0.000 description 2
- 238000013528 artificial neural network Methods 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 235000013550 pizza Nutrition 0.000 description 2
- 230000003213 activating effect Effects 0.000 description 1
- 235000013351 cheese Nutrition 0.000 description 1
- 238000010411 cooking Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000001815 facial effect Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 230000001953 sensory effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000001502 supplementing effect Effects 0.000 description 1
- 238000012706 support-vector machine Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- 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
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
-
- 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0481—Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
-
- 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0484—Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
-
- 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/08—Speech classification or search
-
- 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
- G10L17/00—Speaker identification or verification techniques
- G10L17/22—Interactive procedures; Man-machine interfaces
- G10L17/24—Interactive procedures; Man-machine interfaces the user being prompted to utter a password or a predefined phrase
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M1/00—Substation equipment, e.g. for use by subscribers
- H04M1/72—Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
- H04M1/724—User interfaces specially adapted for cordless or mobile telephones
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M1/00—Substation equipment, e.g. for use by subscribers
- H04M1/72—Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
- H04M1/724—User interfaces specially adapted for cordless or mobile telephones
- H04M1/72448—User interfaces specially adapted for cordless or mobile telephones with means for adapting the functionality of the device according to specific conditions
- H04M1/72451—User interfaces specially adapted for cordless or mobile telephones with means for adapting the functionality of the device according to specific conditions according to schedules, e.g. using calendar applications
-
- 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
-
- 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/08—Speech classification or search
- G10L2015/088—Word spotting
-
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M2250/00—Details of telephonic subscriber devices
- H04M2250/68—Details of telephonic subscriber devices with means for recording information, e.g. telephone number during a conversation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M2250/00—Details of telephonic subscriber devices
- H04M2250/74—Details of telephonic subscriber devices with voice recognition means
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/70—Reducing energy consumption in communication networks in wireless communication networks
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Multimedia (AREA)
- General Physics & Mathematics (AREA)
- Acoustics & Sound (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- User Interface Of Digital Computer (AREA)
- Power Sources (AREA)
- Telephone Function (AREA)
Abstract
핫워드 인식 및 수동 어시스턴스를 구현하기 위한, 컴퓨터 저장 매체 상에 인코딩된 컴퓨터 프로그램을 포함하는 방법들, 시스템들 및 장치가 개시된다. 일 양상에서, 방법은, 컴퓨팅 디바이스에 의해, 발화에 대응하는 오디오 데이터를 수신하는 액션들을 포함하며, 컴퓨팅 디바이스는 저-전력 모드에서 동작하고 컴퓨팅 디바이스가 저-전력 모드에 있는 동안 그래픽 인터페이스를 디스플레이하는 디스플레이를 포함하고, 제1 핫워드를 검출하는 것에 대한 응답으로, 저-전력 모드를 빠져나가도록 구성된다. 방법은 오디오 데이터가 제2의 상이한 핫워드를 포함한다고 결정하는 것을 더 포함한다. 방법은 오디오 데이터에 대해 스피치 인식을 수행함으로써 발화의 전사를 획득하는 것을 더 포함한다. 방법은 부가적인 사용자 인터페이스를 생성하는 것을 더 포함한다. 방법은 디스플레이 상의 출력을 위해 부가적인 그래픽 인터페이스를 제공하는 것을 더 포함한다.
Description
[0001] 본 출원은 일반적으로 자동 스피치 인식(automated speech recognition)에 관한 것이다.
[0002] 스피치-인에이블 홈(speech-enabled home) 또는 다른 환경의 현실 ― 즉, 사용자가 단지 질의 또는 커맨드를 소리내어 발성하도록만 요구하고 컴퓨터-기반 시스템은 질의를 필딩(field)하여 대답하고 그리고/또는 커맨드가 수행되게 하는 현실 ― 이 다가온다. 스피치-인에이블 환경(예컨대, 홈, 직장, 학교 등)은 환경의 다양한 방들 또는 영역들에 걸쳐 분배된 연결된 마이크로폰 디바이스의 네트워크를 사용하여 구현될 수 있다. 이러한 마이크로폰들의 네트워크를 통해, 사용자는 컴퓨터 또는 다른 디바이스를 그의 앞에 놓거나 심지어 그의 근처에 둘 필요 없이 본질적으로 환경의 어느 곳으로부터도 시스템에 구두로 질의하는 능력(power)을 갖는다. 예컨대, 주방에서 요리하는 동안, 사용자는 시스템에 직접 "how many milliliters in three cups?"라고 묻고, 이에 대한 응답으로, 예컨대, 합성된 보이스(voice) 출력의 형태로 시스템으로부터 대답을 수신한다. 대안적으로, 사용자가 시스템에 "when does my nearest gas station close" 또는 집에서 나갈 준비를 할 때 "should I wear a coat today"와 같은 질문을 할 수 있다.
[0003] 또한, 사용자는 사용자의 개인 정보와 관련된 커맨드를 발행하고 그리고/또는 시스템에 질의를 할 수 있다. 예컨대, 사용자가 시스템에 "when is my meeting with John?"라고 묻거나 또는 시스템에 "remind me to call John when I get back home"라고 지시할 수 있다.
[0004] 스피치-인에이블 시스템의 경우, 사용자가 시스템과 상호작용하는 방식은 꼭 그렇지는 않지만, 주로 보이스 입력을 통해 이루어지도록 설계된다. 결과적으로, 시스템으로 지향되지 않는 발화들을 포함하여 주위 환경에서 만들어진 모든 발화들을 잠재적으로 포착하는 시스템은, 예컨대, 환경에 존재하는 개인에게 지향되는 것과 대조적으로, 임의의 주어진 발화가 시스템으로 지향될 때를 구별하는 일부 방식을 가져야 한다. 이를 달성하기 위한 하나의 방식은 핫워드(hotword)를 사용하는 것이며, 이 핫워드는 환경에 있는 사용자들 간의 합의에 의해, 시스템의 주의를 끌기 위해 발성된 미리 결정된 단어로서 예약된다. 예시적인 환경에서, 시스템의 주의를 끌기 위해 사용되는 핫워드는 "OK computer"라는 단어들이다. 결과적으로 "OK computer"라는 단어들이 발성될 때마다, 이는 마이크로폰에 의해 포착되어 시스템으로 전달되며, 이 시스템은 스피치 인식 기술들을 수행하거나 오디오 특징들 및 뉴럴 네트워크들을 사용하여 핫워드가 발성되었는지를 결정하고, 만약 그렇다면, 뒤이은 커맨드 또는 질의를 기다린다. 따라서, 시스템에 지향되는 발화들은 일반 형식 [HOTWORD][QUERY]을 취하며, 여기서 이 예에서 "HOTWORD"는 "OK computer"이고 "QUERY"는 시스템에 의해 단독으로 또는 네트워크를 통해 서버와 함께, 스피치 인식되고, 구문분석 및 처리(acted on)될 수 있는 임의의 질문, 커맨드, 선언 또는 다른 요청일 수 있다.
[0005] 스피치-인에이블 시스템은 하나 초과의 핫워드에 응답하도록 구성될 수 있다. 올웨이즈-온(always-on) 디스플레이를 포함하는 일부 스피치-인에이블 시스템들의 경우에, 시스템은 일부 부가적인 핫워드들을 검출하는 것에 대한 응답으로, 사용자에게 수동 어시스턴스(passive assistance)를 제공할 수 있다. 시스템은 올웨이즈-온 디스플레이 상에 방해되지 않는 방식으로 검출된 핫워드 및 뒤따르는 임의의 스피치와 관련된 정보를 디스플레이할 수 있다. 예컨대, 사용자는 점심 계획들에 관해 친구와 대화를 나누고 있을 수 있다. 사용자의 전화가 테이블 상에 놓여있을 수 있고 마이크로폰은 대화를 검출할 수 있을 수 있다. 대화 동안, 친구는 사용자에게 "Are you free for lunch tomorrow?"라고 물을 수 있다. 사용자의 전화는 질문을 검출하고 질문이 핫워드를 포함하는지를 결정할 수 있다. "OK computer" 외에도, 전화는 "are you free" 및 "don't forget"과 같은 핫워드를 검출하도록 구성될 수 있다. "are you free for lunch tomorrow"라는 오디오 데이터의 수신에 대한 응답으로, 전화는 핫워드 "are you free"를 식별하고, 나머지 오디오 데이터에 대해 스피치 인식을 수행한다. 핫워드 "are you free"를 식별하고 전사(transcription) "for lunch tomorrow"를 생성하는 것에 기초하여, 전화는 사용자의 캘린더 정보에 자동으로 액세스하고 올웨이즈-온 디스플레이 상에 다음 날의 점심시간에 대한 관련 캘린더 정보를 디스플레이한다. 사용자는 "OK computer"를 사용하여 전화를 어드레싱하거나 임의의 버튼들 또는 디스플레이를 통해 전화와 상호작용해야 할 필요 없이, 전화를 보고 사용자 자신의 가용성(availability)을 결정하고 사용자가 자유로운지(free)를 신속하게 대답할 수 있다.
[0006] 본 출원에 설명된 청구 대상의 혁신적인 양상에 따르면, 핫워드 인식 및 수동 어시스턴스를 구현하기 위한 방법은, 컴퓨팅 디바이스에 의해, 발화에 대응하는 오디오 데이터를 수신하는 액션 ― 컴퓨팅 디바이스는, (i) 저-전력 모드에서 동작하고 컴퓨팅 디바이스가 저-전력 모드에 있는 동안 그래픽 인터페이스를 디스플레이하는 디스플레이를 포함하고, (ii) 제1 핫워드를 검출하는 것에 대한 응답으로, 저-전력 모드를 빠져나가도록 구성됨 ― ; 컴퓨팅 디바이스에 의해, 오디오 데이터가 제2의 상이한 핫워드를 포함한다고 결정하는 액션; 오디오 데이터가 제2의 상이한 핫워드를 포함한다고 결정하는 것에 대한 응답으로, 컴퓨팅 디바이스에 의해, 오디오 데이터에 대해 스피치 인식을 수행함으로써 발화의 전사를 획득하는 액션; 제2의 상이한 핫워드 및 발화의 전사에 기초하여, 컴퓨팅 디바이스에 의해, 부가적인 사용자 인터페이스를 생성하는 액션; 및 컴퓨팅 디바이스가 저-전력 모드에서 유지되는 동안, 디스플레이 상의 출력을 위해 부가적인 그래픽 인터페이스를 제공하는 액션을 포함한다.
[0007] 이들 및 다른 구현들은 선택적으로 다음의 특징들 중 하나 이상을 각각 포함할 수 있다. 액션들은, 디스플레이 상의 출력을 위해, 부가적인 그래픽 인터페이스를 제공한 후, 컴퓨팅 디바이스에 의해, 키 누름을 포함하는 입력을 수신하는 액션; 및 키 누름을 포함하는 입력을 수신한 후, 컴퓨팅 디바이스를 저-전력 모드보다 더 많은 전력을 소비하는 고-전력 모드로 스위칭하는 액션을 포함한다. 액션들은, 컴퓨팅 디바이스를 저-전력 모드보다 더 많은 전력을 소비하는 고-전력 모드로 스위칭한 후 그리고 디스플레이가 활성인 채로 유지되는 동안, 컴퓨팅 디바이스를 저-전력 모드로 리턴하는 액션; 및 컴퓨팅 디바이스를 저-전력 모드로 리턴한 후, 디스플레이 상의 출력을 위해 사용자 인터페이스를 제공하는 액션을 포함한다. 고-전력 모드에 있는 동안, 컴퓨팅 디바이스는 제1 빈도로 네트워크로부터 데이터를 가져온다. 저-전력 모드에 있는 동안, 컴퓨팅 디바이스는 제2의 더 낮은 빈도로 네트워크로부터 데이터를 가져온다. 디스플레이는 터치 감지 디스플레이이다. 컴퓨팅 디바이스가 저-전력 모드에 있는 동안, 디스플레이는 터치 입력을 수신할 수 없다.
[0008] 컴퓨팅 디바이스가 저-전력 모드보다 더 많은 전력을 소비하는 고-전력 모드에 있는 동안, 디스플레이는 터치 입력을 수신할 수 있다. 액션들은, 제2의 상이한 핫워드에 기초하여, 컴퓨팅 디바이스에 의해 액세스 가능한 애플리케이션을 식별하는 액션; 및 애플리케이션에 발화의 전사를 제공하는 액션을 포함한다. 부가적인 사용자 인터페이스는 애플리케이션으로의 발화의 전사의 제공에 기초하여 생성된다. 액션들은, 컴퓨팅 디바이스에 의해, 제1 핫워드의 제1 핫워드 모델 및 제2의 상이한 핫워드의 제2의 상이한 핫워드 모델을 수신하는 액션을 포함한다. 오디오 데이터가 제2의 상이한 핫워드를 포함한다고 결정하는 액션은 오디오 데이터를 제2의 상이한 핫워드 모델에 적용하는 액션을 포함한다. 부가적인 그래픽 인터페이스는 사용자에 의한 선택 시에, 애플리케이션을 업데이트하는 선택 가능한 옵션을 포함한다. 액션들은 오디오 데이터가 제2의 상이한 핫워드를 포함한다는 결정에 대한 응답으로, 컴퓨팅 디바이스를 저-전력 모드에서 유지하는 액션을 포함한다. 액션들은 컴퓨팅 디바이스에 의해, 발화의 화자가 컴퓨팅 디바이스의 주 사용자가 아니라고 결정하는 액션을 포함한다.
[0009] 오디오 데이터에 대해 스피치 인식을 수행함으로써 발화의 전사를 획득하는 액션은 발화의 화자가 컴퓨팅 디바이스의 주 사용자가 아니라는 결정에 대한 응답으로 이루어진다. 액션들은, 컴퓨팅 디바이스에 의해, 부가적인 발화에 대응하는 부가적인 오디오 데이터를 수신하는 액션; 컴퓨팅 디바이스에 의해, 부가적인 오디오 데이터가 제1 핫워드를 포함한다고 결정하는 액션; 및 오디오 데이터가 제2의 다른 핫워드를 포함한다는 결정에 대한 응답으로, 저-전력 모드로부터 저-전력 모드보다 더 많은 전력을 소비하는 고-전력 모드로 컴퓨팅 디바이스를 스위칭하는 액션을 포함한다. 액션들은 컴퓨팅 디바이스에 의해, 부가적인 발화의 화자가 컴퓨팅 디바이스의 주 사용자라고 결정하는 액션을 포함한다. 저-전력 모드로부터 저-전력 모드보다 더 많은 전력을 소비하는 고-전력 모드로 컴퓨팅 디바이스를 스위칭하는 액션은 부가적인 발화의 화자가 컴퓨팅 디바이스의 주 사용자라는 결정에 대한 응답으로 이루어진다.
[0010] 이러한 양상의 다른 실시예들은 대응하는 시스템들, 장치, 및 컴퓨터 저장 디바이스들 상에 레코딩된 컴퓨터 프로그램들을 포함하며, 이들 각각은 방법들의 동작들을 수행하도록 구성된다.
[0011] 본 명세서에 설명된 청구 대상의 특정한 실시예들은 다음의 이점들 중 하나 이상을 실현하기 위해 구현될 수 있다. 컴퓨팅 디바이스는 핫워드를 검출하는 것에 대한 응답으로 올웨이즈-온 디스플레이 상에 정보를 자동으로 제공하도록 구성될 수 있다. 저-전력 상태로부터 고-전력 상태로 컴퓨팅 디바이스를 스위칭하도록 구성된 제1 핫워드와 컴퓨팅 디바이스가 저-전력 상태에서 백그라운드 프로세싱을 수행하고 정보를 출력하는 것을 가능하게 하도록 구성된 제2의 상이한 핫워드 간을 구분함으로써, 본원에서 설명된 기술들은 사용자 입력이 컴퓨팅 디바이스의 상이한 상황들 및 상이한 사용들에서 적절히 프로세싱되는 것을 가능하게 하는 메커니즘을 제공한다. 올웨이즈-온 디스플레이는 제1 핫워드와 제2 핫워드 간을 구분하는 것과 함께, 사용자가 정보를 능동적으로 리트리브(이는 사용자가 정보를 리트리브하는 동안, 전화가 더 많은 전력을 소비하는 모드로 스위칭하게 할 것임)해야 할 필요 없이, 사용자에게 정보를 전달하기 위한 저 전력 방식을 제공한다.
[0012] 본 명세서에 설명된 청구 대상의 하나 이상의 실시예들의 세부사항들은 첨부한 도면들 및 아래의 설명에서 기재된다. 본 청구 대상의 다른 특징들, 양상들, 및 이점들은 설명, 도면들, 및 청구항들로부터 명백해질 것이다.
[0013] 도 1은 핫워드 인식을 수행하고 올웨이즈-온 디스플레이를 통해 수동 어시스턴스를 제공하는 예시적인 시스템을 예시한다.
[0014] 도 2는 핫워드 인식을 수행하고 수동 어시스턴스를 제공하는 예시적인 시스템을 예시한다.
[0015] 도 3은 핫워드 인식을 수행하고 수동 어시스턴스를 제공하기 위한 예시적인 프로세스의 흐름도이다.
[0016] 도 4는 컴퓨팅 디바이스 및 모바일 컴퓨팅 디바이스의 예이다.
[0017] 다양한 도면들 내의 유사한 참조 번호들 및 지정들은 유사한 엘리먼트들을 표시한다.
[0014] 도 2는 핫워드 인식을 수행하고 수동 어시스턴스를 제공하는 예시적인 시스템을 예시한다.
[0015] 도 3은 핫워드 인식을 수행하고 수동 어시스턴스를 제공하기 위한 예시적인 프로세스의 흐름도이다.
[0016] 도 4는 컴퓨팅 디바이스 및 모바일 컴퓨팅 디바이스의 예이다.
[0017] 다양한 도면들 내의 유사한 참조 번호들 및 지정들은 유사한 엘리먼트들을 표시한다.
[0018] 도 1은 핫워드 인식을 수행하고 올웨이즈-온 디스플레이를 통해 수동 어시스턴스를 제공하는 예시적인 시스템(100)을 예시한다. 간단히, 그리고 아래에서 더 상세히 설명되는 바와 같이, 사용자(105) 및 사용자(110)는 대화를 하고 있다. 사용자(105)는 사용자(110)에게 "Are you free for lunch tomorrow?" 라고 물음으로써 발화(115)를 발성한다. 대화 동안, 사용자(110)의 컴퓨팅 디바이스(120)는 테이블 상에 그리고 발화(115)를 검출하기에 충분히 가까이 놓여 있을 수 있다. 사용자(110)가 컴퓨팅 디바이스(120)에 커맨드를 지시하지 않고도, 컴퓨팅 디바이스(120)는 발화(115)를 프로세싱하고 사용자(110)에게 다음날의 캘린더 정보를 디스플레이한다. 컴퓨팅 디바이스(120)의 디스플레이는 컴퓨팅 디바이스가 슬립 모드 또는 저-전력 모드에 있을 때에도 올에이즈 온 상태에 있을 수 있다.
[0019] 도 1에 도시된 예에서, 사용자(105) 및 사용자(110)는 다음날에 대한 그들의 점심 계획에 대해 논의하고 있다. 사용자(105)는 컴퓨팅 디바이스(120)에 커맨드를 지시하지 않을 수 있다. 사용자(110)는 사용자의 손에 컴퓨팅 디바이스(120)를 보유하고 있을 수 있거나, 컴퓨팅 디바이스(120)는 근처 테이블 상에 또는 사용자의 셔츠 주머니에 놓일 수 있다. 컴퓨팅 디바이스(120)는 오디오 데이터를 수신하도록 구성된 임의의 유형의 디바이스 이를테면, 스마트 폰, 랩톱 컴퓨터, 데스크톱 컴퓨터, 스마트 스피커, 텔레비전, 스마트 워치 또는 임의의 다른 유사한 디바이스일 수 있다.
[0020] 컴퓨팅 디바이스(120)는 항상 활성화될 수 있는 디스플레이(125)를 포함한다. 전화가 슬립 모드에 있거나, 잠겨있거나, 사용자(110)가 시간 기간 동안 전화와 상호작용하지 않거나 전화에 커맨드를 지시하지 않을 때, 디스플레이(125)는 저-전력 상태에 있을 수 있다. 저-전력 상태에 있는 동안, 디스플레이(125)는 현재 날짜 및 시간을 보여줄 수 있지만, 대부분 블랭크(blank)이거나 "오프"일 수 있다. 저-전력 상태에 있는 동안, 디스플레이(125)는 회색과 같은 단색으로만 정보를 디스플레이할 수 있다. 저-전력 상태에 있는 동안, 디스플레이(125)는 고-전력 상태에서보다 낮은 픽셀 해상도로 정보를 디스플레이할 수 있다. 저-전력 상태에 있는 동안, 디스플레이(125)는 감소된 밝기, 미리 결정된 밝기 또는 디바이스가 고-전력 상태에서 동작할 때의 디스플레이(125)의 최대 밝기보다 낮은 최대 밝기로 동작할 수 있다. 컴퓨팅 디바이스(120)가 부가적인 메시지들 또는 통지들을 수신함에 따라, 컴퓨팅 디바이스(120)는 디스플레이(125)를 업데이트할 수 있다. 예컨대, 컴퓨팅 디바이스(120)가 새로운 이메일을 수신하는 경우, 컴퓨팅 디바이스(120)는 봉투 아이콘을 포함하도록 저-전력 상태에서 디스플레이(125)를 업데이트할 수 있다.
[0021] 컴퓨팅 디바이스(120)의 디스플레이(125)의 저-전력 상태는 컴퓨팅 디바이스(120)의 디스플레이(125)의 고-전력 상태와 대조적일 수 있다. 디스플레이(125)의 고-전력 상태는 사용자(110)가 디스플레이(125)와 상호작용하는 통상적인 상태일 수 있다. 예컨대, 사용자(110)는 디스플레이(125)가 고-전력 상태에 있는 동안 인터넷을 브라우징하고, 이메일을 체크하고, 텍스트 메시지들을 작성할 수 있다. 사용자(110)는 디스플레이(125)가 고-전력 상태에 있는 동안 디스플레이(125)의 밝기를 조정할 수 있다. 일부 구현들에서, 디스플레이(125)는 고-전력 상태에 있는 동안 디스플레이 전체에 걸쳐 터치 입력을 수신할 수 있지만 저-전력 상태에 있는 동안에는 수신할 수 없다. 예컨대, 디스플레이(125)는 저-전력 상태에서 터치 입력을 수신할 수 없거나, 제한된 미리 정의된 구역들에서만 터치 입력을 수신할 수 있을 수 있다.
[0022] 저-전력 상태로부터 고-전력 상태로 디스플레이(125)를 스위칭하기 위해, 사용자(110)는 패스코드, 바이오메트릭 식별자를 제공하거나, 특정 핫워드(예컨대, OK computer)를 발성하거나, 슬립/웨이크 버튼을 누르거나, 임의의 다른 유사한 액션들을 취할 수 있다. 일부 구현들에서, 핫워드는 단일 단어(예컨대, "assistant") 또는 다수의 단어들(예컨대, "OK computer", "are you free" 등)일 수 있다. 고-전력 상태로부터 저-전력 상태로 디스플레이(125)를 스위칭하기 위해, 사용자(110)는 특정 시간 기간(예컨대, 30초) 동안 컴퓨팅 디바이스(120)와 상호작용하지 않거나, 슬립/웨이크 버튼을 누르거나, 또는 임의의 다른 유사한 액션들을 취할 수 있다.
[0023] 일부 구현들에서, 컴퓨팅 디바이스(120)는 고-전력 모드에 있는 동안 일부 액션들을 수행하고, 배터리 전력, 네트워크 대역폭, 프로세싱 전력 및/또는 임의의 유사한 컴퓨팅 자원을 절약하기 위해 저-전력 모드에 있는 동안 이러한 액션들을 수행하지 않을 수 있다. 예컨대, 고-전력 모드에 있는 동안, 컴퓨팅 디바이스(120)는 네트워크로부터 새로운 메시지들을 자동으로 가져올 수 있다. 저-전력 모드에 있는 동안, 컴퓨팅 디바이스는 네트워크로부터 새로운 메시지들을 자동으로 가져오지 않을 수 있다. 고-전력 모드에 있는 동안, 컴퓨팅 디바이스(120)는 백그라운드에서 실행되는 임의의 애플리케이션들을 자동으로 업데이트하거나 리프레시(refresh)할 수 있다. 저-전력 모드에 있는 동안, 컴퓨팅 디바이스(120)는 백그라운드에서 실행되거나 백그라운드에서 실행되지 않는 임의의 애플리케이션들을 업데이트하거나 리프레시하지 않을 수 있다. 고-전력 모드에 있는 동안, 컴퓨팅 디바이스(120)는 위치 서비스 애플리케이션들 또는 다른 애플리케이션들을 위해 GPS 센서를 활성화할 수 있다. 저-전력 모드에 있는 동안, 컴퓨팅 디바이스(120)는 GPS 센서를 비활성화할 수 있다. 고-전력 모드에 있는 동안, 컴퓨팅 디바이스(120)는 컴퓨팅 디바이스(120) 상에 저장된 데이터를 클라우드에 저장된 데이터와 동기화할 수 있거나 그 반대의 경우도 마찬가지다. 저-전력 모드에 있는 동안, 컴퓨팅 디바이스는 컴퓨팅 디바이스(120) 상에 저장된 데이터를 클라우드에 저장된 데이터와 동기화하지 않거나 그 반대의 경우도 마찬가지다. 고-전력 모드에 있는 동안, 컴퓨팅 디바이스(120)는 애플리케이션 스토어로부터 애플리케이션 업데이트들을 자동으로 다운로드할 수 있다. 저-전력 모드에 있는 동안, 컴퓨팅 디바이스(120)는 애플리케이션 스토어로부터 애플리케이션 업데이트들을 다운로드하지 않을 수 있다. 일부 구현들에서, 컴퓨팅 디바이스(120)는 저-전력 모드에 있는 동안, 고-전력 모드에 있는 동안 보다 낮은 빈도로 위에 언급된 프로세스들 중 임의의 것을 수행할 수 있다. 예컨대, 고-전력 모드에 있는 동안, 컴퓨팅 디바이스(120)는 매초마다 네트워크로부터 새로운 메시지들을 자동으로 가져올 수 있다. 저-전력 모드에 있는 동안, 컴퓨팅 디바이스는 매분마다 네트워크로부터 새로운 메시지들을 자동으로 가져올 수 있다.
[0024] 도 1의 스테이지 A에서, 컴퓨팅 디바이스(120)의 디스플레이(125)는 저-전력 상태에 있다. 디스플레이(125)는, 현재 날짜 및 시간, 및 컴퓨팅 디바이스(120)를 잠금해제하기 위해 패스워드를 입력하라는 표시를 포함하는 그래픽 인터페이스(130)를 디스플레이한다. 사용자(110)는 컴퓨팅 디바이스(120)와 상호작용하지 않을 수 있고, 컴퓨팅 디바이스(120)는 슬립 상태에 있을 수 있다. 컴퓨팅 디바이스(120)는 사용자(105) 및 사용자(110) 근처의 테이블 상에 놓여 있을 수 있다.
[0025] 스테이지 B에서, 사용자(105)는 발화(115)를 발성한다. 예컨대, 사용자(105)는 "Are you free for lunch tomorrow?"라고 발성할 수 있다. 스테이지 C에서, 컴퓨팅 디바이스(120)는 마이크로폰을 통해 발화(115)를 검출한다. 컴퓨팅 디바이스(120)가 발화를 수신함에 따라, 컴퓨팅 디바이스(120)는 발화(115)에 대응하는 오디오 데이터(130)를 프로세싱한다.
[0026] 스테이지 D에서, 컴퓨팅 디바이스(120)는 오디오 데이터(130)를 하나 이상의 핫워드 모델들과 비교한다. 컴퓨팅 디바이스(120)는 스피치 인식을 수행하지 않고 오디오 데이터가 핫워드들 중 하나를 포함하는지를 결정하기 위해 핫워드 모델들을 사용할 수 있다. 예컨대, 컴퓨팅 디바이스(120)는 "are you free"에 대한 핫워드 모델 및 "ok computer"에 대한 핫워드 모델을 가질 수 있다. 컴퓨팅 디바이스(120)는 오디오 데이터(130)가 핫워드 "are you free"를 포함한다고 결정하기 위해 핫워드 모델을 오디오 데이터(130)에 적용할 수 있다. 일부 구현들에서, 컴퓨팅 디바이스(120)는 다수의 구문들을 검출하도록 트레이닝된 하나의 핫워드 모델을 사용할 수 있다. 일부 구현들에서, 컴퓨팅 디바이스(120)는 상이한 구문들에 대해 각각 트레이닝된 다수의 핫워드 모델들을 사용할 수 있다.
[0027] 스테이지 E에서, 컴퓨팅 디바이스(120)는 핫워드를 포함하지 않는 오디오 데이터(130)의 부분에 대해 스피치 인식을 수행한다. 예컨대, 컴퓨팅 디바이스(120)는 "are you free"를 포함하지 않은 오디오 데이터(130)에 대해 스피치 인식을 수행함으로써 전사 "for lunch tomorrow"를 생성할 수 있다.
[0028] 식별된 핫워드 또는 전사 또는 둘 모두에 기초하여, 컴퓨팅 디바이스(130)는 수행할 특정 액션 또는 데이터에 액세스할 특정 애플리케이션을 결정할 수 있다. 예컨대, 핫워드 "are you free"는 컴퓨팅 디바이스(130)가 캘린더 애플리케이션에 액세스하도록 트리거할 수 있다. 핫워드 "don't forget to"는 컴퓨팅 디바이스가 리마인더 애플리케이션에 액세스하도록 트리거할 수 있다. 핫워드 "let's go"는 승차공유(ridesharing) 또는 바이크(bike) 공유 애플리케이션에 액세스할 수 있다. 스테이지 F에서, 컴퓨팅 디바이스(120)는 핫워드 "are you free"를 검출하는 것에 대한 응답으로 캘린더 애플리케이션에 액세스한다.
[0029] 스테이지 G에서, 컴퓨팅 디바이스(120)는 스테이지 F에서 액세스된 애플리케이션을 사용하여 수행할 액션을 결정할 수 있다. 컴퓨팅 디바이스(120)는 오디오 데이터(130)의 전사에 기초하여 액션을 식별할 수 있다. 예컨대, 전사는 "for lunch tomorrow"일 수 있다. 그 전사 및 식별된 핫워드에 기초하여, 컴퓨팅 디바이스(120)는 통상적인 점심 시간들 동안 다음 날에 대한 캘린더에 액세스하고 그 시간들 동안 사용자(110)에 대한 스케줄을 식별할 수 있다. 다른 예로서, 컴퓨팅 디바이스(120)는 전사 "next week"에 기초하여 액션을 식별할 수 있다. 이 전사 및 "are you free"의 식별된 핫워드에 기초하여, 컴퓨팅 디바이스(120)는 다음 주에 대한 캘린더에 액세스할 수 있다. 다른 예로서, 컴퓨팅 디바이스(120)는 핫워드 "let's go"를 식별할 수 있다. 컴퓨팅 디바이스(120)는 핫워드 이후에 발성된 임의의 다른 단어들을 식별하지 않을 수 있다. 이 경우에, 핫워드 "let's go"에 기초하여, 컴퓨팅 디바이스는 승차공유 또는 바이크 공유 애플리케이션에 액세스할 수 있다.
[0030] 스테이지 H에서, 컴퓨팅 디바이스(120)는 스테이지 G에서 액세스된 애플리케이션으로부터의 세부사항들을 포함하는 그래픽 인터페이스(135)를 생성한다. 컴퓨팅 디바이스(120)는 디스플레이(125) 상에 그래픽 인터페이스(135)를 디스플레이하는 반면, 디스플레이(125)는 스테이지 I에서 저-전력 상태로 유지된다. 예컨대, 컴퓨팅 디바이스(120)는 캘린더에 액세스함으로써 사용자(110)의 내일 점심시간에 대한 스케줄을 식별했다. 그래픽 인터페이스(135)는 사용자(110)가 다음날 11am과 2pm 사이에 자유롭다는 정보를 포함할 수 있다. 다른 예로서, 컴퓨팅 디바이스(120)는 핫워드 "are you free" 및 전사 "next week"를 식별했다. 이 경우에, 컴퓨팅 디바이스(120)는 캘린더 애플리케이션에 액세스함으로써 다음 주에, 사용자(110)가 자유로운 여러 상이한 시간 슬롯들을 식별할 수 있다. 컴퓨팅 디바이스(120)는 자유 시간 슬롯들의 일부 및 부가적인 자유 시간 슬롯들이 존재한다는 것을 표시하는 정보를 갖는 그래픽 인터페이스(135)를 생성했다. 그래픽 인터페이스(135)는 "July 23 10am-2pm free," "July 24 1pm-3pm free," 및 "additional free time available"을 표시할 수 있다. 그래픽 인터페이스(135)는 또한 컴퓨팅 디바이스(120)를 잠금해제하기 위해 패스워드를 입력하도록 표시할 수 있다. 패스워드 대신에, 컴퓨팅 디바이스(120)는 적절한 바이오메트릭 식별자를 수신한 후에 잠금해제할 수 있다. 그래픽 인터페이스(135)는 바쁜 기간들이 차단된 일/주/월 캘린더의 렌더링을 보여줄 수 있다. 각각의 기간에 대한 이벤트 정보는 어떠한 개인 정보도 그래픽 인터페이스(135) 상에 표시되지 않도록 차단될 수 있다.
[0031] 일부 구현들에서, 컴퓨팅 디바이스(120)는 주 사용자를 수동적으로 인증하고 컴퓨팅 디바이스(120)가 올웨이즈-온 디스플레이 상에 표시하는 세부사항의 양을 조정할 수 있다. 예컨대, 컴퓨팅 디바이스(120)는 카메라의 시야에서 사용자의 얼굴을 인식함으로써 사용자가 컴퓨팅 디바이스(120) 근처에 있음을 검증할 수 있다. 이 경우에, 컴퓨팅 디바이스(120)는 올웨이즈-온 디스플레이 상에 디스플레이된 시간 기간 동안 각각의 캘린더 약속에 대한 이벤트 정보와 같은 더 많은 세부사항을 올웨이즈-온 디스플레이 상에 제공할 수 있다. 다른 예로서, 컴퓨팅 디바이스(120)는 카메라의 시야에서 사용자의 얼굴을 인식함으로써 사용자가 컴퓨팅 디바이스(120) 근처에 있음을 검증할 수 없을 수 있다. 이 경우에, 컴퓨팅 디바이스(120)는 올웨이즈-온 디스플레이 상에 디스플레이되는 시간 기간 동안 각각의 캘린더 약속에 대해 단지 자유/바쁨 식별자들과 같은 더 적은 세부사항을 올웨이즈-온 디스플레이 상에 제공할 수 있다. 얼굴 인식 대신에 또는 추가로, 컴퓨팅 디바이스(120)는 화자 검증 또는 인증을 사용하여 주 사용자의 스피치를 식별함으로써 주 사용자가 근처에 있다고 결정할 수 있다. 컴퓨팅 디바이스(120)는 주 사용자에 속하는 것으로서 식별된 스피치 오디오의 수신 볼륨을 측정함으로써 컴퓨팅 디바이스(120)와 주 사용자 사이의 거리를 추정할 수 있다.
[0032] 일부 구현들에서, 디스플레이(125)는 저-전력 상태에 있는 동안 터치 입력을 수신할 수 있을 수 있다. 이 경우에, 컴퓨팅 디바이스(120)는 컴퓨팅 디바이스(120)에 의한 부가적인 액션을 개시하기 위해 사용자가 선택할 수 있는 버튼을 포함하는 그래픽 인터페이스(135)를 생성할 수 있다. 예컨대, 컴퓨팅 디바이스는 핫워드 "let's go"를 식별하고 승차공유 애플리케이션에 액세스할 수 있다. 그래픽 인터페이스(135)는 승차공유 드라이버가 3분 거리에 있음을 표시하고, 승차공유 요청을 시작하기 위해 사용자(110)가 선택할 수 있는 버튼을 포함할 수 있다. 사용자(110)는 버튼을 선택할 수 있고 디스플레이(125)는 사용자(110)가 승차공유 요청을 완료할 수 있는 고-전력 상태로 트랜지션할 수 있다. 일부 구현들에서, 사용자(110)는 버튼을 선택한 후 그리고 사용자(110)가 승차공유 요청을 완료할 수 있기 전에 패스코드를 입력하거나 다른 식별 정보를 제공해야 할 수 있다.
[0033] 컴퓨팅 디바이스(120)가 스테이지들 C 내지 I를 수행하고 그래픽 인터페이스(135)를 디스플레이하는 동안, 사용자(110)는 터치에 의해 또는 보이스 커맨드들을 통해 컴퓨팅 디바이스(120)와 상호작용하지 않을 수 있다. 스테이지 J에서, 사용자(110)는 컴퓨팅 디바이스(120)의 디스플레이(125)를 보고, 컴퓨팅 디바이스(120)가 다음 날의 점심시간 동안 사용자의 가용성을 포함하도록 디스플레이(125)를 자동으로 업데이트했음을 알 수 있다.
[0034] 도 2는 핫워드 인식을 수행하고 수동 어시스턴스를 제공하는 예시적인 시스템(200)을 예시한다. 시스템(200)은 스피치 오디오를 수신하고 프로세싱하도록 구성된 임의의 유형의 컴퓨팅 디바이스일 수 있다. 예컨대, 시스템(200)은 도 1의 컴퓨팅 디바이스(120)와 유사할 수 있다. 시스템(200)의 컴포넌트들은 단일 컴퓨팅 디바이스로 구현되거나 다수의 컴퓨팅 디바이스들에 걸쳐 분산될 수 있다. 프라이버시 이유들로 단일 컴퓨팅 디바이스에서 구현되는 시스템(200)이 유익할 수 있다.
[0035] 시스템(200)은 오디오 서브시스템(202)을 포함한다. 오디오 서브시스템(202)은 마이크로폰(204), 아날로그-디지털 변환기(206), 버퍼(208) 및 다양한 다른 오디오 필터들을 포함할 수 있다. 마이크로폰(204)은 스피치와 같은 주변 영역의 사운드들을 검출하도록 구성될 수 있다. 아날로그-디지털 변환기(206)는 마이크로폰(204)에 의해 검출된 오디오 데이터를 샘플링하도록 구성될 수 있다. 버퍼(208)는 시스템(200)에 의한 프로세싱을 위해, 샘플링된 오디오 데이터를 저장할 수 있다. 일부 구현들에서, 오디오 서브시스템(202)은 연속적으로 활성일 수 있다. 이 경우에, 마이크로폰(204)은 지속적으로 사운드를 검출할 수 있다. 아날로그-디지털 변환기(206)는 검출된 오디오 데이터를 지속적으로 샘플링할 수 있다. 버퍼(208)는 마지막 10초의 사운드와 같은 최신 샘플링된 오디오 데이터를 저장할 수 있다. 시스템(200)의 다른 컴포넌트들이 버퍼(208)의 오디오 데이터를 프로세싱하지 않는 경우, 버퍼(208)는 이전 오디오 데이터를 덮어쓰기할 수 있다.
[0036] 도 2에 도시된 예에서, 마이크로폰(204)은 "Don't forget to buy milk"에 대응하는 발화를 검출할 수 있다. 아날로그-디지털 변환기(206)는 수신된 오디오 데이터를 샘플링할 수 있고, 버퍼(208)는 샘플링된 오디오 데이터(212)를 저장할 수 있다.
[0037] 오디오 서브시스템(202)은 핫워더(hotworder)(210)에 오디오 데이터(212)를 제공한다. 핫워더(210)는, 마이크로폰(204)을 통해 수신되고 그리고/또는 버퍼(208)에 저장된 오디오에서 핫워드들을 식별하도록 구성된다. 핫워더(210)는 핫워드 검출기, 키워드 스팟터 또는 키워드 검출기로서 지칭될 수 있다. 일부 구현들에서, 핫워더(210)는 시스템(200)이 파워 온(powered on)된 임의의 시간에 활성일 수 있다. 핫워더(210)는 버퍼(208)에 저장된 오디오 데이터를 지속적으로 분석한다. 핫워더(210)는 버퍼(208)의 현재 오디오 데이터가 핫워드를 포함할 가능성을 반영하는 핫워드 신뢰 점수를 컴퓨팅한다. 핫워드 신뢰 점수를 컴퓨팅하기 위해, 핫워더(210)는 핫워드 모델들(214)을 사용할 수 있다. 핫워더(210)는 오디오 데이터(212)로부터 오디오 특징들 이를테면, 필터뱅크 에너지들 또는 멜-주파수 셉트럴 계수(mel-frequency cepstral coefficient)들을 추출할 수 있다. 핫워더(210)는 분류 윈도우들을 사용하여, 이를테면, 지원 벡터 머신 또는 뉴럴 네트워크를 사용함으로써 이러한 오디오 특징들을 프로세싱할 수 있다. 일부 구현들에서, 핫워더(210)는 핫워드 신뢰 점수를 결정하기 위해 스피치 인식을 수행하지 않는다. 핫워더(210)는 핫워드 신뢰 점수가 핫워드 신뢰 점수 임계치를 만족하는 경우, 오디오가 핫워드를 포함한다고 결정한다. 예컨대, 핫워더(210)는 핫워드 신뢰 점수가 0.8이고 핫워드 신뢰 점수 임계치가 0.7인 경우, 오디오(212)가 핫워드를 포함한다고 결정한다.
[0038] 일부 구현들에서, 핫워드 모델들(214)은 다수의 핫워드들에 대한 핫워드 모델들을 포함한다. 예컨대, 핫워드 모델들(214)은 "are you free", "don't forget", "let's go", "ok computer" 및 다른 용어들에 대한 핫워드 모델을 포함할 수 있다. 일부 구현들에서, 사용자 또는 다른 시스템 이를테면, 서버는 부가적인 핫워드 모델들을 추가할 수 있다. 예컨대, 사용자는 "let's go"에 대한 핫워드 모델을 추가하도록 시스템(200)에 표시할 수 있다. 시스템(200)은 사용자가 "let's go"의 여러 오디오 샘플들을 발성하도록 요청할 수 있다. 시스템(200)은 상이한 오디오 샘플들에 기초하여 핫워드 모델을 생성할 수 있다. 일부 구현들에서, 시스템은 액세스할 수 있다.
[0039] 도 2에 도시된 예에서, 핫워더(210)는 오디오 데이터(212)가 핫워드(216) "don't forget"을 포함한다고 결정한다. 핫워더(210)는 핫워드(216)를 포함하는 오디오 데이터(212)의 부분을 식별할 수 있다. 예컨대, 핫워더(210)는 스피치 인식기(218)를 위해, 핫워드 "don't forget"을 포함하는 "don't forget to buy milk" 오디오 데이터의 부분을 식별할 수 있다. 핫워더(210)는 0.0 초 내지 0.5 초의 오디오 데이터가 핫워드를 포함하고 있음을 표시하는 타이밍 데이터를 스피치 인식기(218)에 제공할 수 있다. 대안적으로 또는 부가적으로, 핫워더(210)는 메모리 어드레스들 0x98b89d24 내지 0x98b8e35a에 저장된 오디오 데이터가 핫워드를 포함함을 표시하는 메모리 위치 정보를 스피치 인식기(218)에 제공할 수 있다.
[0040] 일부 구현들에서, 핫워더(210)는 화자 식별 능력들을 포함할 수 있다. 이 경우에, 핫워드(210)는 핫워드를 발성한 특정 사람 또는 특정 사람이 아닌 다른 사람이 핫워드를 발성했음을 식별할 수 있다. 예컨대, 핫워더(210)는 사용자(105)가 핫워드를 말할 가능성이 있다고 결정할 수 있다. 핫워더(210)는 사용자(105)가 핫워드를 말할 가능성이 있음을 나타내는 데이터를 스피치 인식기(218) 및/또는 액션 식별자(222)에 제공할 수 있다. 다른 예로서, 핫워더(210)는 사용자(110) 이외의 사용자가 핫워드를 말할 가능성이 있다고 결정할 수 있다. 핫워더(210)는 사용자(110) 이외의 사용자가 핫워드를 말할 가능성이 있음을 표시하는 데이터를 스피치 인식기(218) 및/또는 액션 식별자(222)에 제공할 수 있다. 화자 식별을 수행하기 위해, 핫워더(210)는 사용자가 다양한 구문들을 반복하도록 요청함으로써 사용자에 대한 스피치 데이터를 이전에 수집했을 수 있다. 핫워더(210)는 화자 식별 모델을 트레이닝하기 위해, 수집된 스피치 샘플들을 사용했을 수 있다. 예컨대, 핫워더(210)는 화자 식별 모델을 트레이닝하기 위해 사용자(110)에 의해 발성된 스피치 샘플들을 사용했을 수 있다.
[0041] 스피치 인식기(218)는 오디오 데이터(212) 또는 핫워드를 포함하지 않는 오디오 데이터(212)의 부분에 대해 스피치 인식을 수행한다. 스피치 인식기(218)는 오디오 데이터(212) 또는 핫워드를 포함하지 않는 오디오 데이터(212)의 부분의 전사를 생성하기 위해 언어 모델 및 음향 모델을 사용할 수 있다. 예컨대, 스피치 인식기(218)는 "don't forget"을 포함하지 않는 오디오 데이터(212)의 부분에 대해 스피치 인식을 수행하고 전사(220) "to buy milk"를 생성할 수 있다.
[0042] 일부 구현들에서, 핫워더(210)는 시스템(200)이 온인 경우 활성이다. 이 경우, 핫워더(210)는 시스템(200)의 메인 프로세서보다 적은 전력을 사용하는 하드웨어로 구현될 수 있다. 예컨대, 핫워더(210)는 DSP(digital signal processor)에서 구현될 수 있다. 일부 구현들에서, 스피치 인식기(218)는 시스템(200)의 프로세서가 실행하는 소프트웨어로 구현될 수 있다. 스피치 인식기(218) 및/또는 시스템(200)의 프로세서는 핫워더(210)가 핫워드(216)를 검출하는 것에 대한 응답으로 활성화될 수 있다.
[0043] 스피치 인식기(218)는 핫워드(216) 및 전사(220)를 액션 식별자(222)에 제공한다. 액션 식별자(222)는 핫워드(216) 및 전사(220)에 대한 응답으로 시스템(200)이 수행할 액션을, 액션들(224) 중에서 식별하도록 구성된다. 일부 구현들에서, 액션은 핫워드(216)와 관련될 수 있다. 예컨대, 핫워드(216)는 "don't forget"일 수 있다. 이 경우에서, 핫워드(216) "don't forget"은 액션 식별자(222)가 리마인더 리스트 또는 캘린더 애플리케이션에 리마인더를 추가하는 액션을 식별하도록 트리거할 수 있다. 다른 예로서, 핫워드(216)는 "are you free"일 수 있으며, 이는 액션 식별자(222)가 자유 및 바쁜 시간을 식별하는 액션을 식별하도록 트리거할 수 있다.
[0044] 일부 구현들에서, 액션 식별자(222)는 사용자로부터 핫워드들에 링크된 액션들을 수신한다. 예컨대, 사용자는 핫워드(216) "let's go"에 대한 응답으로 근처의 바이크 공유 옵션들을 체크하도록 특정할 수 있다. 일부 구현들에서, 서버는 핫워드(216) "let's go"에 대한 응답으로 근처의 바이크 공유 옵션들 및 자동차 공유 옵션들 둘 모두를 체크하도록 특정할 수 있다.
[0045] 일부 구현들에서, 액션 식별자(222)는 사용자로부터의 입력 및/또는 서버로부터의 입력으로 인해 비활성인 핫워드들을 결정할 수 있다. 예컨대, 사용자는 액션 식별자(222)가 핫워드 "are you free"에 응답하지 않도록 특정할 수 있다. 사용자는 디스플레이를 통해 시스템(200)이 제공하는 메뉴 또는 유사한 그래픽 인터페이스를 통해 상이한 핫워드들에 대한 선택을 입력하고 부가적인 핫워드들을 입력할 수 있다.
[0046] 액션 식별자(222)는 액션을 식별하는 데이터를 애플리케이션 식별자(226)에 제공할 수 있다. 애플리케이션 식별자(226)는 액션 식별자(222)에 의해 식별된 액션을 수행하기 위한 후보 애플리케이션으로서 한 애플리케이션을, 애플리케이션들(228) 중에서 식별할 수 있다. 애플리케이션 식별자(226)는 사용자에게 제공할 부가적인 애플리케이션 데이터(230)에 액세스하기 위한 애플리케이션을 식별할 수 있다. 예컨대, 애플리케이션 식별자(226)는 리마인더 리스트에 리마인더를 추가하는 액션을 수행하기 위한 후보 애플리케이션으로서 리마인더 애플리케이션을 식별할 수 있다. 액션(232)은 리마인더 애플리케이션에 "buy milk"에 대한 리마인더를 추가하는 것일 수 있다.
[0047] 일부 구현들에서, 애플리케이션들(228)은 시스템(200) 상에 설치된 애플리케이션들 및/또는 예컨대, 네트워크 연결을 통해 시스템(200)에 의해 액세스 가능한 애플리케이션들을 포함한다. 예컨대, 시스템(200) 상에 설치된 애플리케이션은 리마인더 애플리케이션 또는 캘린더 애플리케이션일 수 있다. 네트워크 연결을 통해 액세스 가능한 애플리케이션은 웹 애플리케이션일 수 있다. 일부 구현들에서, 시스템(200) 상에 설치된 애플리케이션에 대한 애플리케이션 데이터(230)는 네트워크 연결을 통해 액세스 가능할 수 있다.
[0048] 일부 구현들에서, 애플리케이션 식별자(226)는 핫워드(216) 이외의 오디오 데이터(212)의 부분의 전사(220)에 기초하여 후보 애플리케이션을 식별한다. 예컨대, 핫워드(216)는 "let's go"일 수 있고 전사(220)는 "to Alice's house"일 수 있다. 이 경우에, 액션 식별자(222)는 거치대 없는 바이크 공유의 가용성을 결정하는 액션을 식별할 수 있다. 액션 식별자(222)는 앨리스의 집의 위치를 결정하기 위해 연락처 애플리케이션에 액세스할 수 있다. 앨리스의 집이 시스템(200)으로부터 임계 거리 내에 있는 경우에, 액션 식별자(222)는 근처의 자전거의 가용성을 결정하기 위해 바이크 공유 애플리케이션에 액세스한다. "let's go" 핫워드를 뒤따르는 위치가 임계 거리 밖에 있는 경우들에, 액션 식별자(222)는 근처의 승차 공유 차량들의 가용성을 결정하기 위해 승차공유 애플리케이션에 액세스할 수 있다.
[0049] 일부 구현들에서, 핫워드(210)의 화자는 액션 식별자(222)에 의해 선택된 액션 및/또는 애플리케이션 식별자(226)에 의해 선택된 애플리케이션에 영향을 미칠 수 있다. 예컨대, 핫워드(216) "are you free"는, 액션 식별자(222)가, 핫워드(216)의 화자가 시스템(200)의 사용자가 아닌 다른 사람인 경우 액션을 식별하도록 트리거할 수 있다. 시스템(200)은 핫워드(216)의 화자가 사용자(110)인 경우 핫워드(216) "are you free"에 대한 응답으로 액션의 트리거를 억제할 수 있다. 도 1로 돌아가면, 컴퓨팅 디바이스(120)는 사용자(110)가 핫워드 "are you free"를 발성하지 않았다고 결정하기 때문에, 컴퓨팅 디바이스(120)는 액션 및 애플리케이션을 식별한다.
[0050] 일부 핫워드들은 화자가 시스템(200)의 주 사용자(예컨대, 소유자)인지 또는 시스템(200)의 주 사용자가 아닌 다른 사람인지에 의존하여 상이한 액션들을 가질 수 있다. 예컨대, 시스템(200)은 "don't forget to call mom"을 검출할 수 있다. 화자가 주 사용자가 아닌 다른 사람인 경우, 액션 식별자(222)는 리마인더 리스트에 "call mom"을 추가하는 액션을 식별할 수 있다. 화자가 주 사용자인 경우, 액션 식별자(222)는 리마인더 리스트에 "call mom"을 자동으로 추가하거나 "call mom"을 위한 캘린더 약속을 자동으로 스케줄링하는 액션을 식별할 수 있다.
[0051] 액션 식별자(222)는 식별된 액션(232)을 사용자 인터페이스 생성기(234)에 제공한다. 사용자 인터페이스 생성기(234)는 시스템(200)의 디스플레이 상의 디스플레이를 위해 그래픽 인터페이스(236)를 생성한다. 시스템(200)은 시스템(200)의 디스플레이가 저 전력 상태에 있는 동안 그래픽 인터페이스(236)를 디스플레이할 수 있다. 예컨대, 사용자 인터페이스 생성기(234)는 리마인더 리스트에 "buy milk"를 추가하는 액션(232)을 수행하기 위해 사용자가 선택할 수 있는 버튼(242)을 포함하는 그래픽 인터페이스(236)를 디스플레이할 수 있다.
[0052] 그래픽 인터페이스(236)는 날짜 및 시간 부분(238)을 포함할 수 있다. 시스템(200)은 디스플레이가 저-전력 상태에 있는 동안 언제든지 날짜 및 시간 부분(238) 상에 현재 날짜 및 시간을 디스플레이할 수 있다. 사용자 인터페이스 생성기(234)는 식별된 액션(232)을 포함하는 부가적인 그래픽 부분(240)을 추가할 수 있다. 일부 구현들에서, 부가적인 그래픽 부분(240)은 버튼(242)을 포함한다. 사용자는 액션(232)을 수행하도록 시스템(200)을 개시하기 위해 버튼(242)을 선택할 수 있다. 예컨대, 사용자는 리마인더 리스트에 "buy milk"를 추가하기 위해 버튼(242)을 선택할 수 있다. 사용자는 버튼(242)을 선택하지 않고 디스플레이를 고-전력 상태로 트랜지션할 수 있다. 부가적인 그래픽 부분(240) 및/또는 버튼(242)은 디스플레이가 저-전력 상태로 다시 트랜지션할 때 재출현하거나 하지 않을 수 있다.
[0053] 일부 구현들에서, 그래픽 인터페이스(236)는 버튼(242)을 포함하지 않는다. 부가적인 그래픽 부분(240)의 목적이 시스템(200)에 의해 액세스될 수 있는 일부 데이터를 사용자에게 알리기 위한 경우들에서, 사용자 인터페이스 생성기(234)는 버튼(242)을 포함하지 않을 수 있다. 예컨대, 부가적인 그래픽 부분(240)은 다음 날의 점심 시간에 대한 사용자의 스케줄을 표시할 수 있다. 부가적인 그래픽 부분(240)에 맞지 않을 수 있는 부가적인 정보가 존재하는 경우들에서, 사용자 인터페이스 생성기(234)는 사용자가 부가적인 정보를 볼 수 있게 하는 버튼(242)을 포함할 수 있다.
[0054] 일부 구현들에서, 시스템(200)은 사용자가 부가적인 그래픽 부분(240)에 디스플레이되는 세부사항의 레벨을 구성할 수 있게 하는 프라이버시 세팅들을 포함할 수 있다. 사용자는 디스플레이가 저-전력 상태에 있을 때에도 디스플레이가 항상 온 상태일 수 있기 때문에, 사용자의 캘린더 정보가 시스템(200)의 디스플레이 상에 디스플레이되는 것을 방지하기 위해 세부사항들의 레벨을 조정하고자 할 수 있다. 예로서, 사용자는 부가적인 그래픽 부분(240)에 각각의 캘린더 약속의 세부사항들을 디스플레이하도록 캘린더를 구성할 수 있다. 사용자는 또한, 디스플레이된 시간 슬롯들 동안 사용자가 바쁜지 아니면 자유로운지만을 디스플레이하도록 캘린더를 구성할 수 있다.
[0055] 위에서 설명된 예들에 더하여, 시스템(200)은 핫워드 "where's my phone" 또는 "I can't find my"에 응답하도록 구성될 수 있다. 이 경우에, 시스템(200)은, 화자 검증 또는 인증을 사용하여 시스템(200)의 주 사용자가 핫워드를 발성하고 있음을 시스템(200)이 검증할 수 있는 경우에만 응답할 수 있다. 핫워드에 대한 응답으로, 시스템(200)은 올웨이즈-온 디스플레이를 점멸 및/또는 밝게 하고, 스피커로부터 사운드를 재생하고 그리고/또는 위치 모듈을 활성화하고, 시스템(200)의 위치를 다른 디바이스(예컨대, 주 사용자에 의해 지정된 이메일 어드레스 및/또는 전화 번호)에 송신할 수 있다. 시스템(200)은 또한 핫워드 "what's the weather today?" 또는 "is it sunny today?"에 응답하도록 구성될 수 있다. 이 경우에, 시스템(200)은 사용자 인터페이스 생성기(234)가 날씨 예보를 포함하는 인터페이스를 생성함으로써 응답할 수 있다. 시스템(200)은 올웨이즈-온 디스플레이 상의 프리젠테이션을 위해 날씨 예보 인터페이스를 시스템(200)의 디스플레이에 제공할 수 있다. 일부 구현들에서, 시스템(200)은, 화자 검증 또는 인증을 사용하여 시스템(200)의 주 사용자가 핫워드를 발성하고 있음을 시스템(200)이 검증할 수 있는 경우에만 핫워드 "what's the weather today?" 또는 "is it sunny today?"에 응답할 수 있다.
[0056] 일부 구현들에서, 시스템(200)은 핫워드 "ok, I'll do it" 또는 "will do it"을 검출하도록 구성될 수 있다. 시스템(200)은 주 사용자 이외의 화자가 리마인더와 관련된 어떤 것을 말한 후에 이러한 핫워드들을 검출할 수 있다. 시스템(200)은 시간 기간과 같이 핫워드를 뒤따르는 임의의 세부사항들로 사용자 인터페이스(236)를 업데이트할 수 있다. 예컨대, 주 사용자가 아닌 다른 화자가 "Don't forget to call mom"라고 말할 수 있다. 주 사용자는 "ok, I'll do it tomorrow"라고 응답한다. 시스템(200)은 핫워드 "don't forget"를 인식하고, "to call mom"의 스피치를 인식하고, 엄마에게 전화하는 액션을 식별한다. 시스템(200)은 핫워드 "ok, I'll do it"을 인식하고, "tomorrow"의 스피치를 인식하고, 내일의 시간 기간을 식별한다. 시스템(200)은 올웨이즈-온 디스플레이 상의 디스플레이를 위해 내일 엄마에게 전화하는 것을 잊지 않도록 표시하는 사용자 인터페이스(236)를 생성할 수 있다. 사용자 인터페이스(236)는 또한 위에서 설명된 바와 같이 선택 가능한 옵션(242)을 포함할 수 있다.
[0057] 도 3은 핫워드 인식을 수행하고 수동 어시스턴스를 제공하기 위한 예시적인 프로세스(300)를 예시한다. 일반적으로, 프로세스(300)는 미리 정의된 핫워드를 포함하는 오디오에 대해 스피치 인식을 수행한다. 프로세스(300)는 디스플레이가 저-전력 모드로 유지되는 동안 디스플레이 상에 오디오의 전사와 관련된 결과를 출력한다. 프로세스(300)는 하나 이상의 컴퓨터들을 포함하는 컴퓨터 시스템, 예컨대, 도 1의 컴퓨팅 디바이스(120) 또는 도 2의 시스템(200)에 의해 수행되는 것으로 설명될 것이다.
[0058] 시스템은, (i) 저-전력 모드에서 동작하고, 시스템이 저-전력 모드에 있는 동안 그래픽 인터페이스를 디스플레이하는 디스플레이를 포함하고 (ii) 제1 핫워드를 검출하는 것에 대한 응답으로 저-전력 모드를 빠져나가도록 구성되며, 발화에 대응하는 오디오 데이터를 수신한다(310). 예컨대, 시스템은 핫워드 "OK computer"에 대한 응답으로 저-전력 모드를 빠져나가도록 구성될 수 있다. 이 경우에, 시스템은 시스템이 화자로부터의 추가 입력을 리스닝(listening)하고 있음을 표시하기 위해 디스플레이를 밝게 할 수 있다. 일부 구현들에서, 시스템은 사용자가 임계 시간 기간 동안 발성을 중지할 때까지 디스플레이를 밝게 하지 않을 수 있다. 예컨대, 화자가 "OK computer"라고 말하고 2초 동안 일시정지할 수 있다. 이 경우에, 디스플레이는 밝아지고 시스템이 어떻게 도움을 줄 수 있는지를 화자에게 묻는 프롬프트를 포함할 수 있다. 다른 예로서, 화자는 "OK computer, call Mom"이라고 말하고 2초 동안 일시정지할 수 있다. 이 경우에, 디스플레이가 밝아질 수 있고 시스템은 전화 애플리케이션을 열어 엄마에게 전화 걸기를 착수할 수 있다.
[0059] 일부 구현들에서, 시스템의 디스플레이는 터치 감지 디스플레이이다. 디스플레이는 시스템이 저-전력 모드에 있는 동안 터치 입력을 수신할 수 없을 수 있다. 디스플레이는 시스템이 고-전력 모드에 있는 동안 터치 입력을 수신할 수 있을 수 있다. 저-전력 모드에서, 시스템이 잠기고 디스플레이 상에 날짜 및 시간을 디스플레이할 수 있다. 고-전력 모드에서, 시스템은 잠금해제되고 디스플레이 상에 홈 화면 또는 애플리케이션을 디스플레이할 수 있다.
[0060] 시스템은 오디오 데이터가 제2의 상이한 핫워드를 포함한다고 결정한다(320). 예컨대, 시스템은 "are you free"에 대한 오디오 데이터를 수신할 수 있다. 일부 구현들에서, 시스템은 시스템이 식별하도록 구성된 다양한 핫워드들에 대한 핫워드 모델들을 수신한다. 시스템은 "OK computer", "are you free", "don't forget" 및 다른 용어들 및 구문들에 대한 핫워드 모델들을 수신할 수 있다. 시스템은 스피치 인식을 사용하지 않고 핫워드를 식별하도록 구성될 수 있다. 시스템은 검출된 오디오 상에서 지속적으로 동작하는 핫워드 식별자를 사용할 수 있다. 핫워드 식별자는 검출된 오디오에 핫워드 모델들을 적용하고 시스템이 "are you free"를 수신했다고 결정할 수 있다.
[0061] 일부 구현들에서, 시스템은 "OK computer" 이외의 핫워드를 검출하는 것에 대한 응답으로 저-전력 모드로 유지된다. 예컨대, 시스템은 핫워드 "are you free"를 검출하는 것에 대한 응답으로 저-전력 모드로 유지된다. 핫워드 "OK computer"는 사용자가 시스템을 직접 어드레싱하는 방식일 수 있다. "OK computer"를 수신하는 것에 대한 응답으로, 시스템은 "text Alice that I'll be home soon," "order a large cheese pizza," 또는 "what is my next appointment"와 같은 커맨드를 포함하는 부가적인 오디오 데이터를 식별하려고 시도할 수 있다. 시스템은 식별된 커맨드를 수행하고 커맨드를 능동적으로 개시한다. 시스템은 텍스트를 전송하거나, 피자를 주문하거나, 또는 다음 약속을 디스플레이할 수 있다. "are you free" 및 "don't forget"과 같은 다른 핫워드들은 사람들 간의 대화 동안 발생할 가능성이 더 높다. 이러한 핫워드들은 시스템이 핫워드를 뒤따르는 부가적인 스피치를 리스닝하도록 트리거할 수 있다. 시스템은 다른 핫워드들 및 뒤따르는 스피치에 대한 응답으로, 수동적으로 정보를 제공하거나 부가적인 액션에 대한 권한을 요청할 수 있다.
[0062] 시스템은 오디오 데이터가 제2 핫워드를 포함한다고 결정한 것에 대한 응답으로, 오디오 데이터에 대해 스피치 인식을 수행함으로써 발화의 전사를 획득한다(330). 예컨대, 시스템은 핫워드 "are you free"를 뒤따르는 오디오 데이터에 대해 스피치 인식을 수행하고 전사 "for lunch tomorrow"를 생성한다. 일부 구현들에서, 시스템은 제2 핫워드의 화자가 시스템의 주 사용자가 아니라고 결정한다. 시스템의 주 사용자는 시스템의 소유자(예컨대, 스마트 폰의 소유자)이거나 시스템을 가장 많이 사용하는 사람일 수 있다. 화자가 주 사용자가 아닌 다른 사람인 경우, 시스템은 스피치 인식기를 활성화하고 오디오 데이터에 대해 스피치 인식을 수행함으로써 발화의 전사를 획득한다. 주 사용자가 아닌 다른 사람인 화자는 주 사용자가 다른 사람과 이야기하고 있음을 표시할 수 있다. 화자가 주 사용자인 경우, 시스템은 발화의 전사를 획득하지 않을 수 있고, 디스플레이 상에 어떠한 부가적인 정보도 출력하지 않을 수 있다.
[0063] 시스템은 제2 핫워드 및 발화의 전사에 기초하여, 부가적인 사용자 인터페이스를 생성한다(340). 예컨대, 시스템은 다음 날의 점심 시간 동안 시스템의 사용자에 대한 스케줄을 표시하는 부가적인 사용자 인터페이스를 생성할 수 있다. 일부 구현들에서, 시스템은 제2 핫워드 및 전사에 기초하여 애플리케이션을 식별한다. 시스템은 부가적인 사용자 인터페이스를 생성하기 위한 정보를 위해 애플리케이션에 액세스할 수 있다. 예컨대, 시스템은 "are you free for lunch tomorrow"에 대한 응답으로 캘린더 애플리케이션에 액세스할 수 있다. 다른 예로서, 시스템은 "don't forget to call mom"에 대한 응답으로 리마인더 애플리케이션에 액세스할 수 있다. 각각의 핫워드는 애플리케이션에 링크될 수 있다. 핫워드 "are you free"는 시스템이 캘린더 애플리케이션에 액세스하도록 트리거한다. 핫워드 "don't forget"은 시스템이 리마인더 애플리케이션에 액세스하도록 트리거한다.
[0064] 시스템은 저-전력 모드로 유지하면서, 디스플레이 상의 출력을 위해 부가적인 그래픽 인터페이스를 제공한다(350). 예컨대, 시스템은 다음 날 11am 내지 2pm에 날짜, 시간 및 사용자의 바쁨/자유 스케줄을 포함하는 그래픽 인터페이스를 디스플레이한다. 일부 구현들에서, 부가적인 그래픽 인터페이스는 시스템이 액션을 개시하도록 사용자가 선택할 수 있는 버튼을 포함한다. 예컨대, 부가적인 그래픽 인터페이스는 리마인더 리스트에 "call mom"을 추가하기 위한 버튼을 포함할 수 있다. 이 경우에, 사용자는 리마인더 리스트에 "call mom"을 추가하기 위한 버튼을 선택할 수 있을 수 있다. 버튼의 선택은 또한 사용자가 시스템을 잠금해제하도록 트리거할 수 있다. 사용자가 버튼을 누르고 시스템을 잠금해제하고 시스템이 리마인더 리스트들을 업데이트한다. 사용자가 버튼을 누르고 전화를 잠금해제하지 못하는 경우, 버튼이 그래픽 인터페이스의 부분으로서 유지될 수 있다.
[0065] 일부 구현들에서, 사용자는 시스템 상의 버튼 또는 키를 누를 수 있다. 버튼 또는 키를 누르는 것에 대한 응답으로, 시스템이 고-전력 모드로 스위칭될 수 있다. 버튼은 슬립/웨이크 버튼과 같은 물리적 버튼일 수 있다. 일부 구현들에서, 버튼 또는 키 누름은 디스플레이 상에서 수행되는 특정 터치 제스처, 예컨대, 대각선 스와이프 또는 사용자 선택 제스처일 수 있다. 사용자는 버튼을 누르거나 제스처를 재차 수행하거나 또는 시스템이 저-전력 모드로 리턴하도록 일정 시간 기간(예컨대, 10초)을 기다릴 수 있다. 일부 구현들에서, 디스플레이는 시스템이 저-전력 모드로 리턴할 때 부가적인 그래픽 인터페이스를 계속 디스플레이할 수 있다. 예컨대, 시스템은 다음 날의 점심 동안 사용자의 바쁨/자유 시간을 계속 디스플레이할 수 있다. 일부 구현들에서, 시스템이 저-전력 모드로 리턴할 때, 시스템은 오리지널 그래픽 인터페이스를 디스플레이한다. 일부 구현들에서, 시스템은 고-전력 모드로 스위칭될 때 부가적인 사용자 인터페이스를 생성하기 위해 시스템이 액세스한 애플리케이션을 열 수 있다. 예컨대, 시스템이 고-전력 모드로 스위칭되고 사용자가 시스템을 잠금해제할 때, 시스템은 캘린더 애플리케이션을 열 수 있다.
[0066] 일부 구현들에서, 시스템은 사용자가 제1 핫워드 예컨대, "OK computer"를 발성하는 것을 검출할 수 있다. 이 경우에, 시스템이 고-전력 모드로 스위칭되고 화자로부터 커맨드를 기다릴 수 있다. 화자가 임계 시간 기간 내에 다른 말을 하지 않는 경우, 시스템은 저-전력 모드로 리턴할 수 있다. 일부 구현들에서, 시스템은 시스템의 주 사용자가 제1 핫워드를 발성하는 경우에만 제1 핫워드에 응답할 수 있다. 주 사용자 이외의 화자가 제1 핫워드를 발성하는 경우, 시스템은 고-전력 모드로 스위칭되지 않고 제1 핫워드 이후에 사용자에 의해 발성된 임의의 커맨드들을 무시할 수 있다. 일부 구현들에서, 시스템은, 시스템이 저-전력 모드에 있는 동안 "ok computer" 이외의 핫워드들(예컨대, "are you free" 및 "don't forget")에만 응답할 수 있다. 시스템은, 시스템이 고-전력 모드에 있는 동안 "ok computer"이외의 핫워드들에 응답하지 않을 수 있다.
[0067] 도 4는 여기서 설명된 기술들을 구현하는 데 사용될 수 있는 컴퓨팅 디바이스(400) 및 모바일 컴퓨팅 디바이스(450)의 예를 도시한다. 컴퓨팅 디바이스(400)는, 랩톱들, 데스크톱들, 워크스테이션들, 개인 휴대 정보 단말기들, 서버들, 블레이드 서버들, 메인프레임들, 및 다른 적합한 컴퓨터들과 같은 다양한 형태들의 디지털 컴퓨터들을 표현하도록 의도된다. 모바일 컴퓨팅 디바이스(450)는, 개인 휴대 정보 단말기들, 셀룰러 전화들, 스마트 폰들, 및 다른 유사한 컴퓨팅 디바이스들과 같은 다양한 형태들의 모바일 디바이스들을 표현하도록 의도된다. 여기서 도시된 컴포넌트들, 그들의 연결들 및 관계들, 및 그들의 기능들은 예시적인 것으로만 의도되며, 제한하는 것으로 의도되지 않는다.
[0068] 컴퓨팅 디바이스(400)는 프로세서(402), 메모리(404), 저장 디바이스(406), 메모리(404) 및 다수의 고속 확장 포트들(410)에 연결되는 고속 인터페이스(408), 및 저속 확장 포트(414) 및 저장 디바이스(406)에 연결되는 저속 인터페이스(412)를 포함한다. 프로세서(402), 메모리(404), 저장 디바이스(406), 고속 인터페이스(408), 고속 확장 포트들(410) 및 저속 인터페이스(412) 각각은 다양한 버스들을 사용하여 상호연결되며, 공통 마더보드 상에 또는 다른 방식으로 적합하게 장착될 수 있다. 프로세서(402)는, 고속 인터페이스(408)에 커플링된 디스플레이(416)와 같은 외부 입력/출력 디바이스 상에서의 GUI를 위한 그래픽 정보를 디스플레이하기 위해 메모리(404)에 또는 저장 디바이스(406) 상에 저장된 명령들을 포함하는 컴퓨팅 디바이스(400) 내에서의 실행을 위한 명령들을 프로세싱할 수 있다. 다른 구현들에서, 다수의 프로세서들 및/또는 다수의 버스들이 다수의 메모리들 및 여러 유형의 메모리와 함께 적합하게 사용될 수 있다. 또한, 다수의 컴퓨팅 디바이스들이 연결될 수 있으며, 각각의 디바이스는 필요한 동작들의 부분들을 (예컨대, 서버 뱅크, 블레이드 서버들의 그룹, 또는 멀티-프로세서 시스템으로서) 제공한다.
[0069] 메모리(404)는 컴퓨팅 디바이스(400) 내에 정보를 저장한다. 일부 구현들에서, 메모리(404)는 휘발성 메모리 유닛 또는 유닛들이다. 일부 구현들에서, 메모리(404)는 비-휘발성 메모리 유닛 또는 유닛들이다. 메모리(404)는 또한, 자기 또는 광학 디스크와 같은 컴퓨터-판독 가능 매체의 다른 형태일 수 있다.
[0070] 저장 디바이스(406)는, 컴퓨팅 디바이스(400)에 대한 대용량 저장소를 제공할 수 있다. 일부 구현들에서, 저장 디바이스(406)는, 저장 영역 네트워크 또는 다른 구성들의 디바이스들을 포함하여, 플로피 디스크 디바이스, 하드 디스크 디바이스, 광학 디스크 디바이스, 또는 테이프 디바이스, 플래시 메모리 또는 다른 유사한 고체 상태 메모리 디바이스, 또는 디바이스들의 어레이와 같은 컴퓨터-판독 가능 매체이거나 그들을 포함할 수 있다. 명령들은 정보 캐리어에 저장될 수 있다. 명령들은 하나 이상의 프로세싱 디바이스들(예컨대, 프로세서(402))에 의해 실행될 때, 위에서 설명된 것들과 같은 하나 이상의 방법들을 수행한다. 명령들은 또한 하나 이상의 저장 디바이스들, 이를테면, 컴퓨터- 또는 기계-판독 가능 매체들(예컨대, 메모리(404), 저장 디바이스(406) 또는 프로세서(402) 상의 메모리)에 의해 저장될 수 있다.
[0071] 고속 인터페이스(408)는, 컴퓨팅 디바이스(400)에 대한 대역폭-집약적인 동작들을 관리하는 반면, 저속 인터페이스(412)는 더 낮은 대역폭-집약적인 동작들을 관리한다. 기능들의 이러한 할당은 단지 예일 뿐이다. 일부 구현들에서, 고속 인터페이스(408)는, 메모리(404), (예컨대, 그래픽 프로세서 또는 가속기를 통해) 디스플레이(416), 그리고 다양한 확장 카드들(도시되지 않음)을 수용할 수 있는 고속 확장 포트들(410)에 커플링된다. 구현에서, 저속 인터페이스(412)는 저장 디바이스(406) 및 저속 확장 포트(414)에 커플링된다. 다양한 통신 포트들(예컨대, USB, Bluetooth, 이더넷, 무선 이더넷)을 포함할 수 있는 저속 확장 포트(414)는, 예컨대, 네트워크 어댑터를 통해 키보드, 포인팅 디바이스, 스캐너, 또는(스위치 또는 라우터와 같은) 네트워킹 디바이스와 같은 하나 이상의 입력/출력 디바이스들에 커플링될 수 있다.
[0072] 컴퓨팅 디바이스(400)는 도면에 도시된 바와 같이, 다수의 상이한 형태들로 구현될 수 있다. 예컨대, 컴퓨팅 디바이스(400)는 표준 서버(420)로서, 또는 그러한 서버들의 그룹으로 다수회 구현될 수 있다. 게다가, 컴퓨팅 디바이스(400)는 랩톱 컴퓨터(422)와 같은 개인용 컴퓨터로 구현될 수 있다. 컴퓨팅 디바이스(400)는 또한, 랙(rack) 서버 시스템(424)의 부분으로서 구현될 수 있다. 대안적으로, 컴퓨팅 디바이스(400)로부터의 컴포넌트들은, 모바일 컴퓨팅 디바이스(450)와 같은 모바일 디바이스(도시되지 않음) 내의 다른 컴포넌트들과 결합될 수 있다. 그러한 디바이스들 각각은 컴퓨팅 디바이스(400) 및 모바일 컴퓨팅 디바이스(450) 중 하나 이상을 포함할 수 있으며, 전체 시스템은 서로 통신하는 다수의 컴퓨팅 디바이스들로 구성될 수 있다.
[0073] 모바일 컴퓨팅 디바이스(450)는 다른 컴포넌트들 중에서, 프로세서(452), 메모리(464), 디스플레이(454)와 같은 입력/출력 디바이스, 통신 인터페이스(466), 및 트랜시버(468)를 포함한다. 모바일 컴퓨팅 디바이스(450)에는 또한, 부가적인 저장소를 제공하기 위해 마이크로-드라이브 또는 다른 디바이스와 같은 저장 디바이스가 제공될 수 있다. 프로세서(452), 메모리(464), 디스플레이(454), 통신 인터페이스(466) 및 트랜시버(468) 각각은, 다양한 버스들을 사용하여 상호연결되며, 컴포넌트들 중 몇몇은, 공통 마더보드 상에 또는 다른 방식들로 적합하게 장착될 수 있다.
[0074] 프로세서(452)는, 메모리(464)에 저장된 명령들을 포함하는 모바일 컴퓨팅 디바이스(450) 내의 명령들을 실행할 수 있다. 프로세서(452)는, 별개의 그리고 다수의 아날로그 및 디지털 프로세서들을 포함하는 칩들의 칩셋으로서 구현될 수 있다. 프로세서(452)는 예컨대, 사용자 인터페이스들, 모바일 컴퓨팅 디바이스(450)에 의해 구동되는 애플리케이션들, 및 모바일 컴퓨팅 디바이스(450)에 의한 무선 통신의 제어와 같은 모바일 컴퓨팅 디바이스(450)의 다른 컴포넌트들의 조정을 제공할 수 있다.
[0075] 프로세서(452)는, 디스플레이(454)에 커플링된 제어 인터페이스(458) 및 디스플레이 인터페이스(456)를 통해 사용자와 통신할 수 있다. 디스플레이(454)는, 예컨대, TFT(Thin-Film-Transistor Liquid Crystal Display) 디스플레이 또는 OLED(Organic Light Emitting Diode) 디스플레이, 또는 다른 적합한 디스플레이 기술일 수 있다. 디스플레이 인터페이스(456)는, 그래픽 및 다른 정보를 사용자에게 제시하기 위해 디스플레이(454)를 구동시키기 위한 적합한 회로를 포함할 수 있다. 제어 인터페이스(458)는, 사용자로부터 커맨드들을 수신하고, 프로세서(452)로의 제공을 위해 그들을 변환할 수 있다. 게다가, 외부 인터페이스(462)는, 다른 디바이스들과의 모바일 컴퓨팅 디바이스(450)의 근접 영역 통신을 가능하게 하기 위해, 프로세서(452)와의 통신을 제공할 수 있다. 외부 인터페이스(462)는, 예컨대, 일부 구현들에서는 유선 통신, 또는 다른 구현들에서는 무선 통신을 제공할 수 있으며, 다수의 인터페이스들이 또한 사용될 수 있다.
[0076] 메모리(464)는 모바일 컴퓨팅 디바이스(450) 내에 정보를 저장한다. 메모리(464)는, 컴퓨터-판독 가능 매체 또는 매체들, 휘발성 메모리 유닛 또는 유닛들, 또는 비-휘발성 메모리 유닛 또는 유닛들 중 하나 이상으로서 구현될 수 있다. 확장 메모리(474)는 또한, 예컨대, SIMM(Single In Line Memory Module) 카드 인터페이스를 포함할 수 있는 확장 인터페이스(472)를 통해 모바일 컴퓨팅 디바이스(450)에 제공 및 연결될 수 있다. 확장 메모리(474)는, 모바일 컴퓨팅 디바이스(450)에 대한 여분의 저장 공간을 제공할 수 있거나, 또는 모바일 컴퓨팅 디바이스(450)에 대한 애플리케이션들 또는 다른 정보를 또한 저장할 수 있다. 구체적으로, 확장 메모리(474)는, 위에서 설명된 프로세스들을 수행 또는 보완하기 위한 명령들을 포함할 수 있으며, 보안 정보를 또한 포함할 수 있다. 따라서, 예컨대, 확장 메모리(474)는, 모바일 컴퓨팅 디바이스(450)에 대한 보안 모듈로서 제공될 수 있으며, 모바일 컴퓨팅 디바이스(450)의 보안 사용을 허용하는 명령들을 이용하여 프로그래밍될 수 있다. 게다가, 보안 애플리케이션들은, 비-해킹 가능한 방식으로 SIMM 카드 상에 식별 정보를 배치하는 것과 같이, 추가적인 정보와 함께 SIMM 카드들을 통해 제공될 수 있다.
[0077] 메모리는, 예컨대, 아래에서 논의되는 바와 같이 플래시 메모리 및/또는 NVRAM(non-volatile random access memory)를 포함할 수 있다. 일부 구현들에서, 명령들은 정보 캐리어에 저장된다. 명령들은 하나 이상의 프로세싱 디바이스들(예컨대, 프로세서(452))에 의해 실행될 때, 위에서 설명된 것들과 같은 하나 이상의 방법들을 수행한다. 명령들은 또한 하나 이상의 저장 디바이스들, 이를테면, 하나 이상의 컴퓨터- 또는 기계-판독 가능 매체들(예컨대, 메모리(464), 확장 메모리(474) 또는 프로세서(452) 상의 메모리)에 의해 저장될 수 있다. 일부 구현들에서, 명령들은 예컨대, 트랜시버(468) 또는 외부 인터페이스(462)를 통해 전파된 신호로 수신될 수 있다.
[0078] 모바일 컴퓨팅 디바이스(450)는, 통신 인터페이스(466)를 통해 무선으로 통신할 수 있으며, 통신 인터페이스(466)는 필요할 경우 디지털 신호 프로세싱 회로를 포함할 수 있다. 통신 인터페이스(466)는 다양한 모드들 또는 프로토콜들, 이를테면, 다른 것들 중에서도, GSM(Global System for Mobile communications) 보이스 호출, SMS(Short Message Service), EMS(Enhanced Messaging Service) 또는 MMS(Multimedia Messaging Service) 메시징, CDMA(code division multiple access), TDMA(time division multiple access), PDC(Personal Digital Cellular), WCDMA(Wideband Code Division Multiple Access), CDMA2000 또는 GPRS(General Packet Radio Service) 하에서 통신들을 제공할 수 있다. 이러한 통신은, 예컨대, 라디오-주파수를 사용하여 트랜시버(468)를 통해 발생할 수 있다. 부가적으로, 단거리 통신은, 예컨대, Bluetooth, WiFi, 또는 다른 그러한 트랜시버(도시되지 않음)를 사용하여 발생할 수 있다. 게다가, GPS(Global Positioning System) 수신기 모듈(470)은, 모바일 컴퓨팅 디바이스(450) 상에서 구동하는 애플리케이션들에 의해 적합하게 사용될 수 있는 부가적인 네비게이션- 및 위치-관련 무선 데이터를 모바일 컴퓨팅 디바이스(450)에 제공할 수 있다.
[0079] 모바일 컴퓨팅 디바이스(450)는 또한, 사용자로부터 발화된 정보를 수신하고 그것을 사용 가능한 디지털 정보로 변환할 수 있는 오디오 코덱(460)을 사용하여 청각적으로 통신할 수 있다. 오디오 코덱(460)은 유사하게, 예컨대, 모바일 컴퓨팅 디바이스(450)의 핸드셋에서, 예컨대, 스피커를 통해 사용자에 대한 가청 사운드를 생성할 수 있다. 그러한 사운드는, 보이스 전화 통화로부터의 사운드를 포함할 수 있고, 레코딩된 사운드(예컨대, 보이스 메시지들, 음악 파일들 등)를 포함할 수 있으며, 또한, 모바일 컴퓨팅 디바이스(450) 상에서 동작하는 애플리케이션들에 의해 생성된 사운드를 포함할 수 있다.
[0080] 모바일 컴퓨팅 디바이스(450)는 도면에 도시된 바와 같이, 다수의 상이한 형태들로 구현될 수 있다. 예컨대, 모바일 컴퓨팅 디바이스(450)는 셀룰러 전화(480)로서 구현될 수 있다. 모바일 컴퓨팅 디바이스(450)는 또한, 스마트-폰(482), 개인 휴대 정보 단말기, 또는 다른 유사한 모바일 디바이스의 부분으로서 구현될 수 있다.
[0081] 여기서 설명된 시스템들 및 기술들의 다양한 구현들은, 디지털 전자 회로, 집적 회로, 특수하게 설계된 ASIC(application specific integrated circuit)들, 컴퓨터 하드웨어, 펌웨어, 소프트웨어, 및/또는 이들의 조합들로 실현될 수 있다. 이들 다양한 구현들은, 저장 시스템, 적어도 하나의 입력 디바이스, 및 적어도 하나의 출력 디바이스로부터 데이터 및 명령들을 수신하고 그들로 데이터 및 명령들을 송신하도록 커플링된 특수 목적 또는 범용 목적일 수 있는 적어도 하나의 프로그래밍 가능 프로세서를 포함하는 프로그래밍 가능 시스템 상에서 실행 가능하고 그리고/또는 해석 가능한 하나 이상의 컴퓨터 프로그램들로의 구현을 포함할 수 있다.
[0082] 이들 컴퓨터 프로그램들(프로그램들, 소프트웨어, 소프트웨어 애플리케이션들 또는 코드로 또한 알려짐)은, 프로그래밍 가능 프로세서에 대한 기계 명령들을 포함하며, 고레벨의 절차적인 및/또는 객체-지향 프로그래밍 언어 및/또는 어셈블리/기계 언어로 구현될 수 있다. 본원에서 사용된 바와 같은 기계-판독 가능 매체 및 컴퓨터-판독 가능 매체라는 용어들은, 기계-판독 가능 신호로서 기계 명령들을 수신하는 기계-판독 가능 매체를 포함하여, 기계 명령들 및/또는 데이터를 프로그래밍가능 프로세서에 제공하는 데 사용되는 임의의 컴퓨터 프로그램 제품, 장치 및/또는 디바이스(예컨대, 자기 디스크들, 광학 디스크들, 메모리, PLD(Programmable Logic Device)들)로 지칭된다. 기계-판독 가능 신호라는 용어는, 기계 명령들 및/또는 데이터를 프로그래밍 가능 프로세서에 제공하는 데 사용되는 임의의 신호를 지칭한다.
[0083] 사용자와의 상호작용을 제공하기 위해, 여기에서 설명된 시스템들 및 기술들은, 사용자에게 정보를 디스플레이하기 위한 디스플레이 디바이스(예컨대, CRT(cathode ray tube) 또는 LCD(liquid crystal display) 모니터), 및 사용자가 입력을 컴퓨터에 제공할 수 있는 키보드 및 포인팅 디바이스(예컨대, 마우스 또는 트랙볼)를 갖는 컴퓨터 상에서 구현될 수 있다. 다른 종류들의 디바이스들은 또한, 사용자와의 상호작용을 제공하는 데 사용될 수 있으며, 예컨대, 사용자에게 제공된 피드백은 임의의 형태의 감각 피드백(예컨대, 시각 피드백, 청각 피드백, 또는 촉각 피드백)일 수 있고; 사용자로부터의 입력은 음향, 스피치, 또는 촉각 입력을 포함하는 임의의 형태로 수신될 수 있다.
[0084] 본 명세서에 설명된 시스템들 및 기술들은, 백 엔드(back end) 컴포넌트를 (예컨대, 데이터 서버로서) 포함하거나, 미들웨어 컴포넌트(예컨대, 애플리케이션 서버)를 포함하거나, 프론트 엔드 컴포넌트(예컨대, 사용자가 여기서 설명된 시스템들 및 기술들의 구현과 상호작용할 수 있게 하는 그래픽 사용자 인터페이스 또는 웹 브라우저를 갖는 클라이언트 컴퓨터)를 포함하거나, 또는 그러한 백 엔드, 미들웨어, 또는 프론트 엔드 컴포넌트들의 임의의 조합을 포함하는 컴퓨팅 시스템으로 구현될 수 있다. 시스템의 컴포넌트들은, 임의의 형태 또는 매체의 디지털 데이터 통신(예컨대, 통신 네트워크)에 의해 상호연결될 수 있다. 통신 네트워크들의 예들은 LAN(local area network), WAN(wide area network), 및 인터넷을 포함한다.
[0085] 컴퓨팅 시스템은 클라이언트들 및 서버들을 포함할 수 있다. 클라이언트 및 서버는 일반적으로 서로 떨어져 있으며, 통상적으로 통신 네트워크를 통해 상호작용할 수 있다. 클라이언트 및 서버의 관계는, 각각의 컴퓨터들 상에서 실행되고 서로에 대해 클라이언트-서버 관계를 갖는 컴퓨터 프로그램들에 의해 발생한다.
[0086] 소수의 구현들이 위에서 상세히 설명되었지만, 다른 수정들이 가능하다. 예컨대, 클라이언트 애플리케이션이 델리게이트(delegate)(들)에 액세스하는 것으로 설명되지만, 다른 구현들에서, 델리게이트(들)는 하나 이상의 서버들 상에서 실행되는 애플리케이션과 같이 하나 이상의 프로세서들에 의해 구현된 다른 애플리케이션들에 의해 사용될 수 있다. 부가적으로, 도면들에 도시된 로직 흐름들은 바람직한 결과들을 달성하기 위해, 도시된 특정한 순서 또는 순차적인 순서를 요구하지는 않는다. 부가적으로, 설명된 흐름들로부터, 다른 액션들이 제공될 수 있거나, 액션들이 제거될 수 있으며, 다른 컴포넌트들이 설명된 시스템에 부가되거나 그 시스템으로부터 제거될 수 있다. 따라서, 다른 구현들은 다음의 청구항들의 범위 내에 있다.
Claims (20)
- 컴퓨터에서 구현되는 방법으로서,
컴퓨팅 디바이스가 저전력 모드인 동안 ― 상기 컴퓨팅 디바이스는 상기 컴퓨팅 디바이스가 상기 저전력 모드인 동안 제한된 미리 정의된 영역들 내에서만 터치 입력을 수신할 수 있는 그래픽 유저 인터페이스를 표시하는 터치 감지 디스플레이를 포함함 ―:
상기 컴퓨팅 디바이스에서, 핫워드(hotword) 및 상기 핫워드를 뒤따르는 하나 이상의 용어들을 포함하는 발화에 대응하는 오디오 데이터를 수신하는 단계;
상기 컴퓨팅 디바이스에 의해, 상기 오디오 데이터 내의 상기 핫워드를 감지하는 단계;
상기 오디오 데이터 내의 상기 핫워드를 감지한 것에 대한 응답으로 그리고 상기 컴퓨팅 디바이스가 상기 저전력 모드인 동안:
상기 컴퓨팅 디바이스에 의해, 상기 오디오 데이터에 대한 음성 인식을 수행하여 상기 핫워드를 뒤따르는 상기 발화의 상기 하나 이상의 용어들의 전사(transcription)를 획득하는 단계;
상기 컴퓨팅 디바이스에 의해, 상기 핫워드에 연결된 특정 애플리케이션에 액세스(access)하는 단계; 및
상기 컴퓨팅 디바이스에 의해, 상기 하나 이상의 용어들의 전사를 기초로, 상기 액세스된 특정 애플리케이션을 사용하여 수행할 특정 동작을 식별하는 단계;
상기 특정 애플리케이션에 액세스하는 동안 그리고 상기 컴퓨팅 디바이스가 계속 상기 저전력 모드인 동안:
상기 컴퓨팅 디바이스에 의해, 상기 액세스된 특정 애플리케이션을 사용하여 상기 특정 동작을 수행하는 단계; 및
상기 특정 동작을 수행한 후에, 상기 컴퓨팅 디바이스에 의해, 상기 특정 동작의 수행에 기초한 정보를 포함하는 부가적인 그래픽 유저 인터페이스를 생성하는 단계; 및
상기 터치 감지 디스플레이 상에 출력을 위해, 상기 컴퓨팅 디바이스에 의해, 상기 컴퓨팅 디바이스가 계속 저전력 모드인 동안, 상기 부가적인 그래픽 유저 인터페이스를 제공하는 단계를 포함하는,
컴퓨터에서 구현되는 방법. - 제1항에 있어서,
상기 터치 감지 디스플레이 상의 출력을 위해 상기 부가적인 그래픽 인터페이스를 제공한 후, 상기 컴퓨팅 디바이스에 의해, 키 누름을 포함하는 입력을 수신하는 단계; 및
상기 키 누름을 포함하는 입력을 수신한 후, 상기 컴퓨팅 디바이스를 상기 저-전력 모드보다 더 많은 전력을 소비하는 고-전력 모드로 스위칭하는 단계를 포함하는,
컴퓨터에서 구현되는 방법. - 삭제
- 제2항에 있어서,
상기 고-전력 모드에서, 상기 컴퓨팅 디바이스는 제1 빈도로 네트워크로부터 데이터를 가져오고(fetch), 그리고
상기 저-전력 모드에 있는 동안, 상기 컴퓨팅 디바이스는 제2의 더 낮은 빈도로 상기 네트워크로부터 데이터를 가져오는,
컴퓨터에서 구현되는 방법. - 제2항에 있어서,
상기 컴퓨팅 디바이스가 고-전력 모드에 있는 동안, 상기 터치 감지 디스플레이는 터치 입력을 수신할 수 있는,
컴퓨터에서 구현되는 방법. - 삭제
- 제1항 또는 제2항에 있어서,
상기 컴퓨팅 디바이스에 의해, 핫워드 모델을 수신하는 단계를 더 포함하고,
상기 오디오 데이터 내의 상기 핫워드를 감지하는 단계는 상기 오디오 데이터를 상기 핫워드 모델에 적용하는 단계를 포함하는,
컴퓨터에서 구현되는 방법. - 제1항 또는 제2항에 있어서,
상기 부가적인 그래픽 인터페이스는 사용자에 의한 선택 시에, 상기 특정 애플리케이션을 업데이트하는 선택 가능한 옵션을 포함하는,
컴퓨터에서 구현되는 방법. - 삭제
- 제1항 또는 제2항에 있어서,
상기 컴퓨팅 디바이스에 의해, 상기 발화의 화자가 상기 컴퓨팅 디바이스의 주 사용자가 아니라고 결정하는 단계를 포함하고,
상기 오디오 데이터에 대해 음성 인식을 수행함으로써 상기 핫워드를 뒤따르는 상기 발화의 상기 하나 이상의 용어들의 전사를 획득하는 것은 상기 발화의 화자가 상기 컴퓨팅 디바이스의 주 사용자가 아니라는 결정에 대한 응답인,
컴퓨터에서 구현되는 방법. - 제1항에 있어서,
상기 컴퓨팅 디바이스가 상기 저전력 모드인 동안:
상기 컴퓨팅 디바이스에 의해, 부가적인 발화에 대응하는 부가적인 오디오 데이터를 수신하는 단계;
상기 컴퓨팅 디바이스에 의해, 상기 부가적인 오디오 데이터가 상이한 핫워드를 포함한다고 결정하는 단계; 및
상기 부가적인 오디오 데이터가 상기 상이한 핫워드를 포함한다는 결정에 대한 응답으로, 상기 저-전력 모드로부터 상기 저-전력 모드보다 더 많은 전력을 소비하는 고-전력 모드로 상기 컴퓨팅 디바이스를 스위칭하는 단계를 포함하는,
컴퓨터에서 구현되는 방법. - 제11항에 있어서,
상기 컴퓨팅 디바이스에 의해, 부가적인 발화의 화자가 상기 컴퓨팅 디바이스의 주 사용자라고 결정하는 단계를 포함하고,
상기 저-전력 모드로부터 상기 저-전력 모드보다 더 많은 전력을 소비하는 고-전력 모드로 상기 컴퓨팅 디바이스를 스위칭하는 것은 상기 부가적인 발화의 화자가 상기 컴퓨팅 디바이스의 주 사용자라는 결정에 대한 응답인,
컴퓨터에서 구현되는 방법. - 시스템으로서,
하나 이상의 컴퓨터들; 및
상기 하나 이상의 컴퓨터들에 의해 실행될 때, 상기 하나 이상의 컴퓨터들로 하여금, 동작들을 수행하게 하도록 동작 가능한 명령들을 저장한 하나 이상의 저장 디바이스들을 포함하고, 상기 동작들은:
컴퓨팅 디바이스가 저전력 모드인 동안 ― 상기 컴퓨팅 디바이스는 상기 컴퓨팅 디바이스가 상기 저전력 모드인 동안 제한된 미리 정의된 영역들 내에서만 터치 입력을 수신할 수 있는 그래픽 유저 인터페이스를 표시하는 터치 감지 디스플레이를 포함함 ―:
상기 컴퓨팅 디바이스에서, 핫워드(hotword) 및 상기 핫워드를 뒤따르는 하나 이상의 용어들을 포함하는 발화에 대응하는 오디오 데이터를 수신하며; 그리고
상기 컴퓨팅 디바이스에 의해, 상기 오디오 데이터 내의 상기 핫워드를 감지하며;
상기 오디오 데이터 내의 상기 핫워드를 감지한 것에 대한 응답으로 그리고 상기 컴퓨팅 디바이스가 상기 저전력 모드인 동안:
상기 컴퓨팅 디바이스에 의해, 상기 오디오 데이터에 대한 음성 인식을 수행하여 상기 핫워드를 뒤따르는 상기 발화의 상기 하나 이상의 용어들의 전사(transcription)를 획득하며;
상기 컴퓨팅 디바이스에 의해, 상기 핫워드에 연결된 특정 애플리케이션에 액세스(access)하며; 그리고
상기 컴퓨팅 디바이스에 의해, 상기 하나 이상의 용어들의 전사를 기초로, 상기 액세스된 특정 애플리케이션을 사용하여 수행할 특정 동작을 식별하며;
상기 특정 애플리케이션에 액세스하는 동안 그리고 상기 컴퓨팅 디바이스가 계속 상기 저전력 모드인 동안:
상기 컴퓨팅 디바이스에 의해, 상기 액세스된 특정 애플리케이션을 사용하여 상기 특정 동작을 수행하며;
상기 특정 동작을 수행한 후에, 상기 컴퓨팅 디바이스에 의해, 상기 특정 동작의 수행에 기초한 정보를 포함하는 부가적인 그래픽 유저 인터페이스를 생성하며; 그리고
상기 터치 감지 디스플레이 상에 출력을 위해, 상기 컴퓨팅 디바이스에 의해, 상기 컴퓨팅 디바이스가 계속 저전력 모드인 동안, 상기 부가적인 그래픽 유저 인터페이스를 제공하는 동작을 포함하는,
시스템. - 제13항에 있어서,
상기 동작들은:
상기 디스플레이 상의 출력을 위해 상기 부가적인 그래픽 인터페이스를 제공한 후, 상기 컴퓨팅 디바이스에 의해, 키 누름을 포함하는 입력을 수신하는 동작; 및
상기 키 누름을 포함하는 입력을 수신한 후, 상기 컴퓨팅 디바이스를 상기 저-전력 모드보다 더 많은 전력을 소비하는 고-전력 모드로 스위칭하는 동작을 더 포함하는,
시스템. - 제13항 또는 제14항에 있어서,
상기 컴퓨팅 디바이스가 고-전력 모드에 있는 동안, 상기 터치 감지 디스플레이는 터치 입력을 수신할 수 있는,
시스템. - 삭제
- 제13항 또는 제14항에 있어서,
상기 동작들은:
상기 컴퓨팅 디바이스에 의해, 핫워드 모델을 수신하는 동작을 포함하고,
상기 오디오 데이터 내의 상기 핫워드를 감지하는 것은 상기 오디오 데이터를 상기 핫워드 모델에 적용하는 것을 포함하는,
시스템. - 제13항 또는 제14항에 있어서,
상기 부가적인 그래픽 인터페이스는 사용자에 의한 선택 시에, 상기 특정 애플리케이션을 업데이트하는 선택 가능한 옵션을 포함하는,
시스템. - 삭제
- 하나 이상의 컴퓨터들에 의해 실행 가능한 명령들을 포함하는 소프트웨어를 저장한 비-일시적인 컴퓨터-판독 가능 매체로서,
상기 명령들은 실행될 때 상기 하나 이상의 컴퓨터들로 하여금 동작들을 수행하게 하고, 상기 동작들은:
컴퓨팅 디바이스가 저전력 모드인 동안 ― 상기 컴퓨팅 디바이스는 상기 컴퓨팅 디바이스가 상기 저전력 모드인 동안 제한된 미리 정의된 영역들 내에서만 터치 입력을 수신할 수 있는 그래픽 유저 인터페이스를 표시하는 터치 감지 디스플레이를 포함함 ―:
상기 컴퓨팅 디바이스에서, 핫워드(hotword) 및 상기 핫워드를 뒤따르는 하나 이상의 용어들을 포함하는 발화에 대응하는 오디오 데이터를 수신하며; 그리고
상기 컴퓨팅 디바이스에 의해, 상기 오디오 데이터 내의 상기 핫워드를 감지하며;
상기 오디오 데이터 내의 상기 핫워드를 감지한 것에 대한 응답으로 그리고 상기 컴퓨팅 디바이스가 상기 저전력 모드인 동안:
상기 컴퓨팅 디바이스에 의해, 상기 오디오 데이터에 대한 음성 인식을 수행하여 상기 핫워드를 뒤따르는 상기 발화의 상기 하나 이상의 용어들의 전사(transcription)를 획득하며;
상기 컴퓨팅 디바이스에 의해, 상기 핫워드에 연결된 특정 애플리케이션에 액세스(access)하며; 그리고
상기 컴퓨팅 디바이스에 의해, 상기 하나 이상의 용어들의 전사를 기초로, 상기 액세스된 특정 애플리케이션을 사용하여 수행할 특정 동작을 식별하며;
상기 특정 애플리케이션에 액세스하는 동안 그리고 상기 컴퓨팅 디바이스가 계속 상기 저전력 모드인 동안:
상기 컴퓨팅 디바이스에 의해, 상기 액세스된 특정 애플리케이션을 사용하여 상기 특정 동작을 수행하며; 그리고
상기 특정 동작을 수행한 후에, 상기 컴퓨팅 디바이스에 의해, 상기 특정 동작의 수행에 기초한 정보를 포함하는 부가적인 그래픽 유저 인터페이스를 생성하며; 그리고
상기 터치 감지 디스플레이 상에 출력을 위해, 상기 컴퓨팅 디바이스에 의해, 상기 컴퓨팅 디바이스가 계속 저전력 모드인 동안, 상기 부가적인 그래픽 유저 인터페이스를 제공하는 동작을 포함하는,
비-일시적인 컴퓨터-판독 가능 매체.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020237022136A KR20230107386A (ko) | 2018-08-09 | 2018-08-09 | 핫워드 인식 및 수동 어시스턴스 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/US2018/045924 WO2020032948A1 (en) | 2018-08-09 | 2018-08-09 | Hotword recognition and passive assistance |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020237022136A Division KR20230107386A (ko) | 2018-08-09 | 2018-08-09 | 핫워드 인식 및 수동 어시스턴스 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20210028688A KR20210028688A (ko) | 2021-03-12 |
KR102551276B1 true KR102551276B1 (ko) | 2023-07-04 |
Family
ID=63371798
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020237022136A KR20230107386A (ko) | 2018-08-09 | 2018-08-09 | 핫워드 인식 및 수동 어시스턴스 |
KR1020217003733A KR102551276B1 (ko) | 2018-08-09 | 2018-08-09 | 핫워드 인식 및 수동 어시스턴스 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020237022136A KR20230107386A (ko) | 2018-08-09 | 2018-08-09 | 핫워드 인식 및 수동 어시스턴스 |
Country Status (6)
Country | Link |
---|---|
US (2) | US20200050427A1 (ko) |
EP (2) | EP3807875B1 (ko) |
JP (2) | JP7250900B2 (ko) |
KR (2) | KR20230107386A (ko) |
CN (1) | CN112513978A (ko) |
WO (1) | WO2020032948A1 (ko) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102697371B1 (ko) * | 2018-10-31 | 2024-08-22 | 삼성전자주식회사 | 음성 명령에 응답하여 컨텐츠를 표시하기 위한 방법 및 그 전자 장치 |
US11062192B1 (en) * | 2020-01-10 | 2021-07-13 | Bank Of America Corporation | Voice-activated interactive card device |
US12014727B2 (en) * | 2021-07-14 | 2024-06-18 | Google Llc | Hotwording by degree |
US20240061644A1 (en) * | 2022-08-17 | 2024-02-22 | Jpmorgan Chase Bank, N.A. | Method and system for facilitating workflows via voice communication |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080059176A1 (en) | 2006-06-14 | 2008-03-06 | Nec Laboratories America | Voice-based multimodal speaker authentication using adaptive training and applications thereof |
US20100077234A1 (en) | 2007-02-01 | 2010-03-25 | Nxp, B.V. | Control of awake time in mobile device |
JP2012049586A (ja) * | 2010-08-24 | 2012-03-08 | Panasonic Corp | 表示端末装置 |
JP2014147028A (ja) | 2013-01-30 | 2014-08-14 | Canon Inc | 撮像装置、撮像装置の制御方法 |
US20150042570A1 (en) * | 2012-10-30 | 2015-02-12 | Motorola Mobility Llc | Method and apparatus for keyword graphic selection |
JP2016134013A (ja) | 2015-01-20 | 2016-07-25 | シャープ株式会社 | 操作支援装置及び画像形成装置 |
WO2018125292A1 (en) * | 2016-12-27 | 2018-07-05 | Google Llc | Contextual hotwords |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5888130B2 (ja) | 2012-06-06 | 2016-03-16 | 富士通株式会社 | 通信端末装置および通信制御方法 |
WO2014159581A1 (en) * | 2013-03-12 | 2014-10-02 | Nuance Communications, Inc. | Methods and apparatus for detecting a voice command |
WO2015005927A1 (en) * | 2013-07-11 | 2015-01-15 | Intel Corporation | Device wake and speaker verification using the same audio input |
KR101412448B1 (ko) | 2014-01-14 | 2014-06-26 | (주)세미센스 | 디스플레이가 꺼져 있는 저전력 모드에서의 터치입력을 통한 디바이스 구동시스템 |
US9318107B1 (en) * | 2014-10-09 | 2016-04-19 | Google Inc. | Hotword detection on multiple devices |
US9424841B2 (en) * | 2014-10-09 | 2016-08-23 | Google Inc. | Hotword detection on multiple devices |
US11327711B2 (en) * | 2014-12-05 | 2022-05-10 | Microsoft Technology Licensing, Llc | External visual interactions for speech-based devices |
US20160246396A1 (en) | 2015-02-20 | 2016-08-25 | Qualcomm Incorporated | Interactive touchscreen and sensor array |
US10217453B2 (en) * | 2016-10-14 | 2019-02-26 | Soundhound, Inc. | Virtual assistant configured by selection of wake-up phrase |
US11164570B2 (en) * | 2017-01-17 | 2021-11-02 | Ford Global Technologies, Llc | Voice assistant tracking and activation |
JP2018129664A (ja) | 2017-02-08 | 2018-08-16 | 京セラ株式会社 | 電子機器、制御方法、およびプログラム |
-
2018
- 2018-08-09 JP JP2021504806A patent/JP7250900B2/ja active Active
- 2018-08-09 WO PCT/US2018/045924 patent/WO2020032948A1/en unknown
- 2018-08-09 EP EP18759811.5A patent/EP3807875B1/en active Active
- 2018-08-09 EP EP23200954.8A patent/EP4280579A3/en active Pending
- 2018-08-09 KR KR1020237022136A patent/KR20230107386A/ko active IP Right Grant
- 2018-08-09 CN CN201880096300.0A patent/CN112513978A/zh active Pending
- 2018-08-09 KR KR1020217003733A patent/KR102551276B1/ko active IP Right Grant
-
2019
- 2019-08-09 US US16/536,831 patent/US20200050427A1/en not_active Abandoned
-
2023
- 2023-03-22 JP JP2023044908A patent/JP7453443B2/ja active Active
- 2023-03-23 US US18/189,181 patent/US20230229390A1/en active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080059176A1 (en) | 2006-06-14 | 2008-03-06 | Nec Laboratories America | Voice-based multimodal speaker authentication using adaptive training and applications thereof |
US20100077234A1 (en) | 2007-02-01 | 2010-03-25 | Nxp, B.V. | Control of awake time in mobile device |
JP2012049586A (ja) * | 2010-08-24 | 2012-03-08 | Panasonic Corp | 表示端末装置 |
US20150042570A1 (en) * | 2012-10-30 | 2015-02-12 | Motorola Mobility Llc | Method and apparatus for keyword graphic selection |
JP2014147028A (ja) | 2013-01-30 | 2014-08-14 | Canon Inc | 撮像装置、撮像装置の制御方法 |
JP2016134013A (ja) | 2015-01-20 | 2016-07-25 | シャープ株式会社 | 操作支援装置及び画像形成装置 |
WO2018125292A1 (en) * | 2016-12-27 | 2018-07-05 | Google Llc | Contextual hotwords |
Also Published As
Publication number | Publication date |
---|---|
KR20230107386A (ko) | 2023-07-14 |
EP3807875A1 (en) | 2021-04-21 |
JP2021532486A (ja) | 2021-11-25 |
US20200050427A1 (en) | 2020-02-13 |
WO2020032948A1 (en) | 2020-02-13 |
KR20210028688A (ko) | 2021-03-12 |
JP7453443B2 (ja) | 2024-03-19 |
JP2023080116A (ja) | 2023-06-08 |
EP4280579A3 (en) | 2024-02-28 |
JP7250900B2 (ja) | 2023-04-03 |
EP3807875B1 (en) | 2023-11-01 |
US20230229390A1 (en) | 2023-07-20 |
EP4280579A2 (en) | 2023-11-22 |
CN112513978A (zh) | 2021-03-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7101322B2 (ja) | デジタルアシスタントのためのボイストリガ | |
US11355117B2 (en) | Dialog system with automatic reactivation of speech acquiring mode | |
US10839803B2 (en) | Contextual hotwords | |
CN111357048B (zh) | 用于控制家庭助手装置的方法和系统 | |
JP7453443B2 (ja) | ホットワード認識および受動的支援 | |
CN108337380B (zh) | 自动调整用户界面以用于免提交互 | |
US20230145324A1 (en) | Hotword-Based Speaker Recognition | |
CN114566161A (zh) | 协作性语音控制装置 | |
USRE47974E1 (en) | Dialog system with automatic reactivation of speech acquiring mode | |
US12148426B2 (en) | Dialog system with automatic reactivation of speech acquiring mode | |
US20220277745A1 (en) | Dialog system with automatic reactivation of speech acquiring mode |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |