KR20220098808A - 컴퓨팅 디바이스 근처의 가상 어시스턴트 식별 - Google Patents

컴퓨팅 디바이스 근처의 가상 어시스턴트 식별 Download PDF

Info

Publication number
KR20220098808A
KR20220098808A KR1020227022118A KR20227022118A KR20220098808A KR 20220098808 A KR20220098808 A KR 20220098808A KR 1020227022118 A KR1020227022118 A KR 1020227022118A KR 20227022118 A KR20227022118 A KR 20227022118A KR 20220098808 A KR20220098808 A KR 20220098808A
Authority
KR
South Korea
Prior art keywords
computing device
audio signal
computing
network
battery
Prior art date
Application number
KR1020227022118A
Other languages
English (en)
Other versions
KR102552555B1 (ko
Inventor
지안 웨이 레옹
Original Assignee
구글 엘엘씨
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 구글 엘엘씨 filed Critical 구글 엘엘씨
Priority to KR1020237022526A priority Critical patent/KR102639229B1/ko
Publication of KR20220098808A publication Critical patent/KR20220098808A/ko
Application granted granted Critical
Publication of KR102552555B1 publication Critical patent/KR102552555B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/16Sound input; Sound output
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/16Sound input; Sound output
    • G06F3/165Management of the audio stream, e.g. setting of volume, audio stream path
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/16Sound input; Sound output
    • G06F3/167Audio in a user interface, e.g. using voice commands for navigating, audio feedback
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/28Constructional details of speech recognition systems
    • G10L15/30Distributed recognition, e.g. in client-server systems, for mobile phones or network applications
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L17/00Speaker identification or verification techniques
    • G10L17/22Interactive procedures; Man-machine interfaces
    • G10L17/24Interactive procedures; Man-machine interfaces the user being prompted to utter a password or a predefined phrase
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • G10L2015/221Announcement of recognition results
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • G10L2015/223Execution procedure of a spoken command

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Multimedia (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Acoustics & Sound (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • Signal Processing (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

일 예시에서, 방법은 현재의 컴퓨팅 디바이스의 마이크로폰에 의해 생성된 오디오 데이터를 수신하는 단계와; 상기 오디오 데이터에 기초하여, 현재의 컴퓨팅 디바이스에서 활성화된 음성 수신에 응답하여 각각의 오디오 신호를 방출하는 하나 이상의 컴퓨팅 디바이스를 식별하는 단계와; 그리고 상기 오디오 데이터에 기초하여 결정된 음성 발언을 만족시키기 위해 상기 식별된 하나 이상의 컴퓨팅 디바이스로부터 현재 컴퓨팅 디바이스 또는 특정 컴퓨팅 디바이스 중 하나를 선택하는 단계를 포함한다.

Description

컴퓨팅 디바이스 근처의 가상 어시스턴트 식별{VIRTUAL ASSISTANT IDENTIFICATION OF NEARBY COMPUTING DEVICES}
일부 컴퓨팅 디바이스는 사용자가 (예를 들어, "지능 어시스턴트" 또는 간단히 "어시스턴트"라고도 지칭되는) 가상 계산 어시스턴트와 채팅, 발화 또는 통신할 수 있는 사용자 인터페이스를 제공하여, 어시스턴트가 유용한 정보를 출력하거나, 사용자의 요구에 응답하거나, 사용자가 다양한 실제 또는 가상 작업을 완료하는데 도움을 준다. 어시스턴트는 사용자가 어시스턴트와 통신하고 있는 사용자 인터페이스를 제공하는 컴퓨팅 디바이스를 통해, 정보를 출력하거나, 사용자의 요구에 응답하거나 또는 동작을 수행할 수 있고 및/또는 어시스턴트가 액세스하는 다른 상이한 컴퓨팅 디바이스를 통해 정보를 출력할 수 있다.
일반적으로, 본 발명의 기술은 현재의 컴퓨팅 디바이스를 통해 제공된 가상의 계산 어시스턴트(예를 들어, "지능형 어시스턴트" 또는 간단히 "어시스턴트"라고도 하는)가 (예를 들어, 사용자 발언 또는 텍스트 입력을 만족시키기 위해) 사용자 입력에 응답하는데 사용될 수 있는 다른 컴퓨팅 디바이스를 자동으로 식별할 수 있도록 할 수 있다. 예를 들어, 음성 수신이 활성화되는 것에 응답하여, 현재의 컴퓨팅 디바이스는 다른 컴퓨팅 디바이스로 하여금 각각의 오디오 신호를 방출하게 할 수 있다. 현재의 컴퓨팅 디바이스는 마이크로폰으로 사용자 발언에 대응하는 음향 입력(예를 들어, 오디오 데이터) 및 다른 컴퓨팅 디바이스에 의해 방출된 오디오 신호를 수신할 수 있다. 음향 입력에 기초하여, 어시스턴트는 다른 컴퓨팅 디바이스를 식별할 수 있다.
다른 컴퓨팅 디바이스를 식별하는 것은 어시스턴트로 하여금 사용자 발언을 만족시키기 위해 다른 컴퓨팅 디바이스(즉, 현재의 컴퓨팅 디바이스가 아닌)를 선택할 수 있게 할 수 있다. 예를 들어, 식별된 다른 컴퓨팅 디바이스들 중 특정 컴퓨팅 디바이스가 현재의 컴퓨팅 디바이스보다 사용자 발언을 만족시키기에 더 적합하면, 어시스턴트는 사용자 발언을 만족시키기 위해 특정 컴퓨팅 디바이스를 선택할 수 있다. 그렇지 않으면, 어시스턴트는 현재의 컴퓨팅 디바이스를 사용하여 발화를 만족시킬 수 있다. 이러한 방식으로, 어시스턴트는 이용 가능한 디바이스들 중에서 사용자 발언을 만족시키기 위한 가장 적합한 장치를 선택함으로써 발언에 대한 보다 높은 품질의 만족을 제공할 수 있다.
일 실시예에서, 상기 방법은 현재의 컴퓨팅 디바이스의 마이크로폰에 의해 생성된 오디오 데이터를 수신하는 단계와; 상기 오디오 데이터에 기초하여, 현재의 컴퓨팅 디바이스에서 활성화된 음성 수신에 응답하여 개별 오디오 신호를 각각 방출한 하나 이상의 컴퓨팅 디바이스를 식별하는 단계와; 그리고 상기 오디오 데이터에 기초하여 결정된 음성 발언을 만족시키기 위해 상기 식별된 하나 이상의 컴퓨팅 디바이스로부터 현재의 컴퓨팅 디바이스 또는 특정 컴퓨팅 디바이스 중 하나를 선택하는 단계를 포함한다.
다른 예에서, 디바이스는 하나 이상의 마이크로폰 및 상기 하나 이상의 프로세서를 포함하고, 상기 하나 이상의 프로세서는 현재의 컴퓨팅 디바이스의 마이크로폰에 의해 생성된 오디오 데이터를 수신하고; 상기 오디오 데이터에 기초하여, 현재의 컴퓨팅 디바이스에서 활성화된 음성 수신에 응답하여 개별 오디오 신호를 각각 방출한 하나 이상의 컴퓨팅 디바이스를 식별하고; 그리고 상기 오디오 데이터에 기초하여 결정된 음성 발언을 만족시키기 위해 상기 식별된 하나 이상의 컴퓨팅 디바이스로부터 현재의 컴퓨팅 디바이스 또는 특정 컴퓨팅 디바이스 중 하나를 선택하도록 구성된다.
다른 예에서, 비-일시적 컴퓨터 판독 가능 매체는 실행될 때 컴퓨팅 디바이스의 하나 이상의 프로세로 하여금, 현재의 컴퓨팅 디바이스의 마이크로폰에 의해 생성된 오디오 데이터를 수신하고, 상기 오디오 데이터에 기초하여, 현재의 컴퓨팅 디바이스에서 활성화된 음성 수신에 응답하여 개별 오디오 신호를 각각 방출한 하나 이상의 컴퓨팅 디바이스를 식별하고, 그리고 상기 오디오 데이터에 기초하여 결정된 음성 발언을 만족시키기 위해 상기 식별된 하나 이상의 컴퓨팅 디바이스로부터 현재의 컴퓨팅 디바이스 또는 특정 컴퓨팅 디바이스 중 하나를 선택하게 하는 명령들을 저장한다.
다른 실시예에서, 시스템은 현재의 컴퓨팅 디바이스의 마이크로폰에 의해 생성된 오디오 데이터를 수신하는 수단과; 상기 오디오 데이터에 기초하여, 현재의 컴퓨팅 디바이스에서 활성화된 음성 수신에 응답하여 개별 오디오 신호를 각각 방출한 하나 이상의 컴퓨팅 디바이스를 식별하는 수단과; 그리고 상기 오디오 데이터에 기초하여 결정된 음성 발언을 만족시키기 위해 상기 식별된 하나 이상의 컴퓨팅 디바이스로부터 현재의 컴퓨팅 디바이스 또는 특정 컴퓨팅 디바이스 중 하나를 선택하는 수단을 포함한다.
하나 이상의 예에 대한 세부 사항은 첨부된 도면 및 이하의 설명에서 설명된다. 본 발명의 다른 특징, 목적 및 이점은 상세한 설명 및 도면 및 청구 범위로부터 명백해질 것이다.
도 1은 본 발명의 하나 이상의 양태에 따른 예시적인 가상 어시스턴트를 실행하는 예시적인 시스템을 나타내는 개념도이다.
도 2는 본 발명의 하나 이상의 양태에 따른 예시적인 가상 어시스턴트를 실행하도록 구성된 예시적인 컴퓨팅 디바이스를 나타내는 블록도이다.
도 3은 본 발명의 하나 이상의 양태에 따른 가상 어시스턴트에 의한 선택을 위해 식별되도록 구성된 예시적인 컴퓨팅 디바이스를 나타내는 블록도이다.
도 4는 본 발명의 하나 이상의 양태에 따른 예시적인 가상 어시스턴트를 실행하도록 구성된 예시적인 컴퓨팅 시스템을 나타내는 블록도이다.
도 5는 본 발명의 하나 이상의 양태에 따른 예시적인 가상 어시스턴트를 실행하는 하나 이상의 프로세서에 의해 수행되는 예시적인 동작을 도시하는 흐름도이다.
도 1은 본 발명의 하나 이상의 양태에 따른 예시적인 가상 어시스턴트를 실행하는 예시적인 시스템을 나타내는 개념도이다. 도 1의 시스템(100)은 컴퓨팅 디바이스(110) 및 컴퓨팅 디바이스(180A-180N)(통칭하여 "컴퓨팅 디바이스(180)")와 네트워크(130)를 통해 통신하는 어시스턴트 서버 시스템(160)을 포함한다. 시스템(100)이 어시스턴트 서버 시스템(160), 컴퓨팅 디바이스(110) 및 컴퓨팅 디바이스(180) 사이에 분산되어 있는 것으로 도시되어 있지만, 다른 예에서, 시스템(100)에 귀속된 특징 및 기술은 컴퓨팅 디바이스(110)의 로컬 컴포넌트에 의해 내부적으로 수행될 수 있다. 유사하게, 어시스턴트 서버 시스템(160)은 특정 컴포넌트를 포함할 수 있고, 컴퓨팅 디바이스(110) 및/또는 컴퓨팅 디바이스(180)에 이하의 설명에서 귀속된 다양한 기술을 수행할 수 있다.
네트워크(130)는 컴퓨팅 시스템, 서버 및 컴퓨팅 디바이스간에 데이터를 전송하기 위한 임의의 공공 또는 사설 통신 네트워크, 예를 들어 셀룰러, Wi-Fi 및/또는 다른 유형의 네트워크를 나타낸다. 어시스턴트 서버 시스템(160)은 컴퓨팅 디바이스(110)가 네트워크(130)에 접속될 때 컴퓨팅 디바이스(110)에 액세스 가능한 가상 어시스턴트 서비스를 제공하기 위해 컴퓨팅 디바이스(110)와 네트워크(130)를 통해 데이터를 교환할 수 있다. 어시스턴트 서버 시스템(160)은 네트워크(130)를 통해 컴퓨팅 디바이스(180)와 데이터를 교환하여 하나 이상의 컴퓨팅 디바이스(180)가 다양한 활동을 수행하게 할 수 있다. 컴퓨팅 디바이스(110)는 네트워크(130)를 통해 컴퓨팅 디바이스(180)와 데이터를 교환하여 하나 이상의 컴퓨팅 디바이스(180)가 다양한 활동을 수행하게 할 수 있다.
네트워크(130)는 서버 시스템(160), 컴퓨팅 디바이스(110) 및 컴퓨팅 디바이스(180) 간의 정보 교환을 제공하도록 동작 가능하게 상호 결합되는 하나 이상의 네트워크 허브, 네트워크 스위치, 네트워크 라우터 또는 임의의 다른 네트워크 장비를 포함할 수 있다. 컴퓨팅 디바이스(110), 어시스턴트 서버 시스템(160) 및 컴퓨팅 디바이스(180)는 임의의 적절한 통신 기술을 사용하여 네트워크(130)를 통해 데이터를 송신 및 수신할 수 있다. 컴퓨팅 디바이스(110), 어시스턴트 서버 시스템(160) 및 컴퓨팅 디바이스(180) 각각은 각각의 네트워크 링크를 사용하여 네트워크(130)에 동작 가능하게 결합될 수 있다. 컴퓨팅 디바이스(110), 어시스턴트 서버 시스템(160) 및 컴퓨팅 디바이스(180)를 네트워크(130)에 연결시키는 링크는 이더넷 또는 다른 유형의 네트워크 연결일 수 있으며 이러한 연결은 무선 및/또는 유선 연결일 수 있다.
어시스턴트 서버 시스템(160)은 네트워크(130)와 같은 네트워크로 또는 네트워크로부터 정보를 전송 및 수신할 수 있는 하나 이상의 데스크탑 컴퓨터, 랩탑 컴퓨터, 메인 프레임, 서버, 클라우드 컴퓨팅 시스템 등과 같은 임의의 적합한 원격 컴퓨팅 시스템을 나타낼 수 있다. 어시스턴트 서버 시스템(160)은 가상 어시스턴트 서비스를 호스팅한다(또는 가상 어시스턴트 서비스에 대한 액세스를 적어도 제공한다). 일부 예에서, 어시스턴트 서버 시스템(160)은 클라우드를 통해 가상 어시스턴트 서비스에 대한 액세스를 제공하는 클라우드 컴퓨팅 시스템을 나타낸다.
컴퓨팅 디바이스(110)는 개별 모바일 또는 비-모바일 컴퓨팅 디바이스를 나타낸다. 컴퓨팅 디바이스(110)의 예는 이동 전화, 태블릿 컴퓨터, 랩탑 컴퓨터, 데스크탑 컴퓨터, 서버, 메인 프레임, 카메라, 셋톱 박스, 텔레비전, 웨어러블 디바이스(예컨대, 컴퓨터화된 워치, 컴퓨터화된 안경, 컴퓨터화된 장갑 등), 홈 자동화 디바이스 또는 시스템(예컨대, 지능형 온도 조절장치 또는 홈 어시스턴트 디바이스), PDA(개인용 디지털 어시스턴트), 게임 시스템, 미디어 플레이어, 전자북 리더, 이동식 텔레비전 플랫폼, 자동차 네비게이션 또는 인포테인먼트 시스템, 또는 가상 어시스턴트를 실행 또는 액세스하고 네트워크(130)와 같은 네트워크를 통해 정보를 수신하도록 구성된 임의의 다른 유형의 모바일, 비-모바일, 웨어러블 및 비-웨어러블 컴퓨팅 디바이스를 포함할 수 있다.
어시스턴트 서버 시스템(160)은 네트워크(130)를 통해 컴퓨팅 디바이스(110)와 통신하여, 컴퓨팅 디바이스(110)가 어시스턴트 서버 시스템(160)에 의해 제공되는 가상 어시스턴트 서비스에 액세스하도록 할 수 있다. 가상 어시스턴트 서비스를 제공하는 과정에서, 어시스턴트 서버 시스템(160)은 네트워크(130)를 통해 검색 서버 시스템(미도시)과 통신하여 태스크를 완료하기 위해 가상 어시스턴트 서비스 정보의 사용자를 제공하기 위한 검색 결과를 획득할 수 있다.
도 1의 예에서, 어시스턴트 서버 시스템(160)은 원격 어시스턴트 모듈(122B) 및 디바이스 선택 모듈(124B)을 포함한다. 컴퓨팅 디바이스(110)는 사용자 인터페이스 디바이스(UID)(112), 사용자 인터페이스(UI) 모듈(120), 로컬 어시스턴트 모듈(122A) 및 디바이스 선택 모듈(124A)을 포함한다. 컴퓨팅 디바이스 (180)는 각각 UID(113) 및 UI 모듈(121)을 포함한다. 원격 어시스턴트 모듈(122B) 및 로컬 어시스턴트 모듈(122A)은 통칭하여 어시스턴트 모듈(122)로 지칭될 수 있다. 디바이스 선택 모듈(124A) 및 디바이스 선택 모듈(124B)은 통칭하여 디바이스 선택 모듈(124)로 지칭될 수 있다.
모듈들(120, 121, 122 및 124)은 컴퓨팅 디바이스(110), 어시스턴트 서버 시스템(160), 어시스턴트 서버 시스템(160) 또는 컴퓨팅 디바이스(180) 중 하나에 상주하고 및/또는 그에서 실행되는 소프트웨어, 하드웨어, 펌웨어, 또는 하드웨어, 소프트웨어 및 펌웨어의 조합을 사용하여 기술된 동작들을 수행할 수 있다. 컴퓨팅 디바이스(110), 어시스턴트 서버 시스템(160) 및 컴퓨팅 디바이스(180)는 다수의 프로세서 또는 다수의 디바이스를 갖는 모듈(120, 121, 122 및 124)을 실행할 수 있다. 컴퓨팅 디바이스(110), 어시스턴트 서버 시스템(160) 및 컴퓨팅 디바이스(180)는 기본 하드웨어상에서 실행되는 가상 머신으로서 모듈(120, 121, 122 및 124)을 실행할 수 있다. 모듈(120, 121, 122 및 124)은 운영 체제 또는 컴퓨팅 플랫폼의 하나 이상의 서비스로서 실행될 수 있다. 모듈(120, 121, 122 및 124)은 컴퓨팅 플랫폼의 애플리케이션 계층에서 하나 이상의 실행 가능 프로그램으로서 실행될 수 있다.
컴퓨팅 디바이스(110)의 UID(112)는 컴퓨팅 디바이스(110)에 대한 입력 및/또는 출력 디바이스로서 기능할 수 있다. UID(112)는 다양한 기술을 사용하여 구현될 수 있다. 예를 들어, UID(112)는 저항성 터치 스크린, 탄성 표면파 터치 스크린, 용량성 터치 스크린, 투사형 커패시턴스 터치 스크린, 압력 감지 스크린, 음향 펄스 인식 터치 스크린 또는 다른 프레즌스-감지 디스플레이 기술과 같은 프레즌스-감지형 입력 스크린을 사용하는 입력 디바이스로서 기능할 수 있다.
UID(112)는 마이크로폰 기술, 적외선 센서 기술, 또는 사용자 입력 수신에 사용하기 위한 다른 입력 디바이스 기술을 사용하는 입력 디바이스로서 기능할 수 있다. 예를 들어, UID(112)는 빌트-인 마이크로폰 기술을 사용하여, UI 모듈(120) 및/또는 로컬 어시스턴트 모듈(122A)이 작업을 완료하기 위해 처리하는 음성 입력을 검출할 수 있다. 다른 예로서, UID(112)는 컴퓨팅 디바이스(110)의 사용자로부터 촉각 입력을 수신할 수 있는 프레즌스-감지 디스플레이를 포함할 수 있다. UID(112)는 사용자로부터 하나 이상의 제스처(예를 들어, 손가락 또는 스타일러스 펜으로 UID(112)의 하나 이상의 위치에 대한 사용자 터치 또는 포인팅)를 검출함으로써 촉각 입력의 표시를 수신할 수 있다.
UID(112)는 출력(예를 들어, 디스플레이) 디바이스로서 기능하고 사용자에게 출력을 제시할 수 있다. UID(112)는 액정 디스플레이(LCD), 도트 매트릭스 디스플레이, 발광 다이오드(LED) 디스플레이, 유기 발광 다이오드(OLED) 디스플레이, 전자 잉크 등과 같은 임의의 하나 이상의 디스플레이 디바이스를 사용하는 출력 디바이스 또는 가시적인 정보를 컴퓨팅 디바이스(110)의 사용자에게 출력할 수 있는 유사한 모노크롬 또는 컬러 디스플레이를 사용하는 출력 디바이스로서 기능할 수 있다. UID(112)는 스피커 기술, 햅틱 피드백 기술, 또는 사용자에게 정보를 출력하는데 사용하기 위한 다른 출력 디바이스 기술을 사용하는 출력 디바이스로서 기능할 수 있다. UID(112)는 로컬 어시스턴트 모듈(122A) 및/또는 원격 어시스턴트 모듈(122B)에 의해 제공되는 가상 어시스턴트와 관련된 사용자 인터페이스(예를 들어, 사용자 인터페이스(114))를 제시할 수 있다. UID(112)는 컴퓨팅 디바이스(110)에서 실행중인 또는 컴퓨팅 디바이스(110)로부터 액세스 가능한 컴퓨팅 플랫폼, 운영 체제, 애플리케이션 및/또는 서비스(예를 들어, 전자 메일, 채팅, 온라인 서비스, 전화, 게임 등)의 다른 특징과 관련된 사용자 인터페이스를 제시할 수 있다.
UI 모듈(120)은 UID(112)를 통해 어시스턴트 서비스를 제공하기 위해 어시스턴트 서버 시스템(160)과 상호 작용하는 것을 포함하여 UID(112) 및 컴퓨팅 디바이스(110)의 다른 컴포넌트와의 사용자 상호 작용을 관리할 수 있다. UI 모듈(120)은 컴퓨팅 디바이스(110)의 사용자가 출력을 보고(view) 및/또는 UID(112)에서 입력을 제공함에 따라 UID(112)가 사용자 인터페이스를 출력하게 할 수 있다. UI 모듈(120) 및 UID(112)는 상이한 시간에 그리고 사용자 및 컴퓨팅 디바이스(110)가 상이한 위치에 있을 때 사용자 인터페이스와 상호 작용함에 따라 사용자로부터의 하나 이상의 입력 표시(예를 들어, 음성 입력, 제스처 입력 등)를 수신할 수 있다. UI 모듈(120) 및 UID(112)는 UID(112)에서 검출된 입력을 해석하여, UID(112)에서 검출된 입력에 관한 정보를 로컬 어시스턴트 모듈(122A) 및/또는 하나 이상의 다른 관련 플랫폼, 운영 체제, 애플리케이션, 및/또는 컴퓨팅 디바이스(110)에서 실행중인 서비스로 중계하여, 예를 들어 컴퓨팅 디바이스(110)로 하여금 기능들을 수행하도록 할 수 있다.
UI 모듈(120)은 하나 이상의 관련 플랫폼, 운영 체제, 애플리케이션, 및/또는 컴퓨팅 디바이스(110)에서 실행중인 서비스 및/또는 서버 시스템(160) 및 컴퓨팅 디바이스(180)와 같은 하나 이상의 원격 컴퓨팅 시스템으로부터 정보 및 명령을 수신할 수 있다. 또한, UI 모듈(120)은 하나 이상의 관련 플랫폼, 운영 체제, 애플리케이션, 및/또는 컴퓨팅 디바이스(110)에서 실행중인 서비스, 및 컴퓨팅 디바이스(110)의 다양한 출력 디바이스(예를 들어, 스피커, LED 표시기, 오디오 또는 햅틱 출력 디바이스등)간의 중개자로서 동작하여, 컴퓨팅 디바이스(110)와의 출력(예를 들어, 그래픽, 광 플래시, 소리, 햅틱 응답 등)을 생성할 수 있다.
컴퓨팅 디바이스(110)의 로컬 어시스턴트 모듈(122A)과 어시스턴트 서버 시스템(160)의 원격 어시스턴트 모듈(122B)은 어시스턴트를 자동으로 실행하기 위해 본 명세서에 기술된 유사한 기능들을 각각 수행할 수 있다. 원격 어시스턴트 모듈(122B) 및 디바이스 선택 모듈(124B)은 예시적인 가상 어시스턴트의 서버 측 또는 클라우드 구현을 나타내는 반면에, 로컬 어시스턴트 모듈(122A) 및 디바이스 선택 모듈(124A)은 예시적인 가상 어시스턴트의 클라이언트 측 또는 로컬 구현을 나타낸다.
모듈(122)은 컴퓨팅 디바이스(110)의 사용자와 같은 개인에 대한 작업 또는 서비스를 수행할 수 있는 지능형 개인 어시스턴트로서 실행하도록 구성된 개별 소프트웨어 에이전트를 각각 포함할 수 있다. 모듈(122)은 사용자 입력(예를 들어, UID(112)에서 검출된), 위치 인지(예를 들어, 컨텍스트에 기초한), 및/또는 다양한 정보 소스(예를 들어, 컴퓨팅 디바이스(110), 어시스턴트 서버 시스템(160)에 국부적으로 저장되거나 검색 서비스를 통해 획득된)로부터의 다른 정보(예를 들어, 날씨 또는 교통 상황, 뉴스, 주식 시세, 스포츠 스코어, 사용자 스케쥴, 운송 스케줄, 소매 가격 등)에 액세스하는 능력에 기초하여 이러한 작업 또는 서비스를 수행할 수 있다. 발화된 사용자 입력에 기초하여 작업 또는 서비스를 수행하는 것은 본 명세서에서 사용자 발언을 만족시키는 것으로 언급될 수 있다. 모듈(122)은 인공 지능 및/또는 기계 학습 기술을 수행하여 사용자를 대신하여 하나 이상의 작업을 자동으로 식별하고 완료할 수 있다.
상술한 바와 같이, 모듈(122)은 발화된 사용자 입력에 기초하여 작업 또는 서비스를 수행할 수 있다. 모듈(122)은 UID(112)의 하나 이상의 마이크로폰에 의해 생성된 오디오 데이터(즉, UI 모듈(120)로부터)를 수신할 수 있다. 모듈(122)은 음성 수신이 활성(active)일 때 수신된 오디오 데이터를 선택적으로 처리하여 발언을 인식할 수 있다. 음성 수신은 여러 가지 방법으로 활성화될 수 있다. 일 예로서, 모듈들(122)은 수신된 오디오 데이터(예를 들어, "청취해(listen) 어시스턴트")에서 소정의 활성화 구문을 인식하는 것에 응답하여 음성 수신을 활성화시킬 수 있다. 다른 예로서, UI 모듈(120)은 모듈(122)로 하여금 사용자가 컴퓨팅 디바이스(110)상의 음성 수신 버튼을 누르는 것에 응답하여 음성 수신을 활성화하도록 할 수 있다.
모듈(122)은 컴퓨팅 디바이스(110)의 하나 이상의 컴포넌트에 의해 제시되는 출력을 통해 사용자 발언을 만족시킬 수 있다. 예를 들어, 모듈(122)은 UID(112)의 하나 이상의 컴포넌트(예를 들어, 디스플레이, 스피커 등)가 출력(예를 들어, 비디오 디스플레이, 그래픽 사용자 인터페이스 디스플레이, 사운드 방출 등)을 생성하게 할 수 있다. 일부 예에서, 모듈(122)이 다른 컴퓨팅 디바이스로 하여금 출력을 제시함으로써 몇몇 사용자 발언을 만족시키는 것이 바람직할 수 있다. 예를 들어, 다른 컴퓨팅 디바이스가 사용자 발언을 만족시키기에 더 적합하다면, 모듈(122)이 다른 컴퓨팅 디바이스를 통해 출력을 제시하는 것이 바람직할 수 있다. 그러나, 다른 컴퓨팅 디바이스가 사용자 발언을 만족시키기에 더 적합하다 할지라도, 발언을 제공한 사용자가 다른 컴퓨팅 디바이스에 의해 제시되는 출력을 수신할 수 없는 경우, 모듈(122)이 다른 컴퓨팅 디바이스를 통해 출력하는 것은 바람직하지 않을 수 있다.
본 발명의 하나 이상의 기술에 따르면, 어시스턴트는 (예를 들어, 사용자 발언 또는 텍스트 입력을 만족시키기 위해) 사용자 입력에 응답하는데 사용될 수 있는 하나 이상의 다른 컴퓨팅 디바이스를 식별할 수 있다. 다른 컴퓨팅 디바이스를 식별하는 것은 어시스턴트가 사용자 발언을 만족시키기 위해 다른 컴퓨팅 디바이스(즉, 컴퓨팅 디바이스(110) 이외의 장치)를 선택할 수 있게 할 수 있다. 예를 들어, 식별된 다른 컴퓨팅 디바이스들 중 특정 컴퓨팅 디바이스가 컴퓨팅 디바이스(110)보다 사용자 발언을 만족시키기에 더 적합한 경우, 어시스턴트는 사용자 발언을 만족시키기 위해 특정 컴퓨팅 디바이스를 선택할 수 있다. 이러한 방식으로, 어시스턴트는 발화에 대한 보다 높은 만족을 제공할 수 있다.
일부 예에서, 어시스턴트는 사용자 입력에 응답하는데 사용될 수 있는 하나 이상의 다른 컴퓨팅 디바이스를 주기적(예를 들어, 5 분마다, 10 분, 30 분, 1 시간, 1 일 등)으로 식별할 수 있다. 그러나, 일부 예에서, 다른 컴퓨팅 디바이스들을 주기적으로 식별하는 것이 바람직하지 않을 수 있다. 예를 들어, 컴퓨팅 디바이스는 식별된 디바이스들이 더 이상 컴퓨팅 디바이스(110) 근처에 있지 않도록(즉, 식별이 구식이 될 수 있도록) 이동할 수 있다. 또한, 컴퓨팅 디바이스(110)는 배터리-전원 디바이스일 수 있으며, 주기적 식별은 컴퓨팅 디바이스(110)의 배터리 전력을 불필요하게 소모할 수 있다.
본 발명의 하나 이상의 기술에 따르면, 어시스턴트는 컴퓨팅 디바이스(110)에서 활성화된 음성 수신에 응답하여 하나 이상의 다른 컴퓨팅 디바이스를 식별할 수 있다. 일부 예에서, 어시스턴트는 컴퓨팅 디바이스(110)에서 활성화된 음성 수신에 응답하여 다른 컴퓨팅 디바이스의 단일 식별을 수행할 수 있다. 일부 예에서, 어시스턴트는 컴퓨팅 디바이스(110)에서 활성화된 음성 수신에 응답하여 다른 컴퓨팅 디바이스의 초기 식별을 수행하고, 음성 수신이 컴퓨팅 디바이스(110)에서 활성화된 채로 있는 동안 다른 컴퓨팅 디바이스의 식별을 계속 업데이트할 수 있다. 예를 들어, 컴퓨팅 디바이스(180A)가 거실에 위치하는 TV이고 컴퓨팅 디바이스(180B)가 주방에 위치한 TV이고 컴퓨팅 디바이스(110)가 거실에 있는 동안 음성 수신이 활성화되면, 어시스턴트는 컴퓨팅 디바이스(180A) 가장 적합한 TV임을 초기에 식별할 수 있다. 그 다음, 사용자가 발언을 말하는 동안 컴퓨팅 디바이스(110)가 주방으로 이동되면, 어시스턴트는 컴퓨팅 디바이스(180B)가 가장 적합한 TV임을 식별할 수 있다.
부가적으로, 활성화된 음성 수신에 응답하여 다른 컴퓨팅 디바이스의 식별을 시작함으로써, 어시스턴트는 사용자 입력에 응답하도록 컴퓨팅 디바이스를 더 신속하게 선택할 수 있다. 예를 들어, 어시스턴트는 발언을 만족시키기 위해 선택될 수 있는 다른 컴퓨팅 디바이스들의 식별을 시작하기 위해 사용자가 발언을 종료할 때까지 기다리는 것을 피할 수 있다. 이러한 방식으로, 어시스턴트는 발화 입력의 수신과 병행하여 발화 입력에 응답하는데 사용될 수 있는 컴퓨팅 디바이스들을 식별할 수 있다.
동작시, 사용자는 컴퓨팅 디바이스(110)에서 음성 수신을 활성화하고 발언을 말할 수 있다. 활성화되는 음성 수신에 응답하여, 컴퓨팅 디바이스(110)는 음성 발언(spoken utterances)을 만족시키기 위해 사용될 수 있는 임의의 다른 컴퓨팅 디바이스들이 근처에 존재하는지를 결정하기 위해 하나 이상의 동작을 수행할 수 있다. 예를 들어, 디바이스 선택 모듈들(124) 중 하나 또는 둘 모두는 컴퓨팅 디바이스들(180)이 각각의 사운드들(사운드(181A-181N), 통칭하여 "사운드(181)"로서 도 1에 도시된)을 방출하게 할 수 있다. 예를 들어, 디바이스 선택 모듈(124A)은 음성 수신이 컴퓨팅 디바이스(110)에서 활성화되었음을 나타내는 메시지를 네트워크(130)를 통해 디바이스 선택 모듈(124B)로 전송할 수 있다. 메시지 수신에 응답하여, 디바이스 선택 모듈(124B)은 각각의 사운드(181)를 방출하기 위해 컴퓨팅 디바이스(180)에 요청을 전송할 수 있다. 예를 들어, 디바이스 선택 모듈(124B)은 사운드(181A)를 방출하도록 컴퓨팅 디바이스(180A)에 요청을 전송하고 사운드(181B)를 방출하도록 컴퓨팅 디바이스(180B)에 요청을 전송하고 사운드(18IN)를 방출하도록 컴퓨팅 디바이스(180N)에 요청을 전송할 수 있다. 컴퓨팅 디바이스들(181A-181N)에 의한 사운드 방출은 컴퓨팅 디바이스(110)가 음성 발언을 만족시키는 후보자인 이용 가능한 디바이스들을 결정할 수 있게 한다. 일부 예에서, 하나 이상의 요청은 디바이스 선택 모듈(124A)에 의해 전송될 수 있다.
일부 예에서, 요청은 사운드의 하나 이상의 오디오 특성을 지정할 수 있다. 예를 들어, 컴퓨팅 디바이스(180)에 전송된 요청은 컴퓨팅 디바이스(180)가 사운드(181)를 방출할 각 주파수를 지정할 수 있다. 환언하면, 컴퓨팅 디바이스들(180) 각각에는 상이한 방출 주파수가 할당될 수 있다. 일부 예에서, 주파수는 전형적인 인간 음성 주파수(예를 들어, 300 Hz 이상) 이상일 수 있다. 이러한 방식으로, 어시스턴트는 사운드들(181)과 음성 발화를 더 잘 구별할 수 있다. 일부 예에서, 주파수는 인간 청력의 범위(예를 들어, 20 kHz 이상) 일 수 있다. 이러한 방식으로, 사운드(181)의 방출은 사용자에게 투명할 수 있고 및/또는 사용자에게 귀찮은 것이 아닐 수 있다.
디바이스 선택 모듈들(124) 중 하나 또는 둘 모두는 UID(112)의 하나 이상의 마이크로폰에 의해 생성된 오디오 데이터를 처리하여 사용자 발언을 만족시키는데 사용될 수 있는 다른 컴퓨팅 디바이스들을 식별할 수 있다. 수신된 오디오 데이터가 컴퓨팅 디바이스(180)의 각각의 컴퓨팅 디바이스에 의해 방출된 각각의 사운드를 포함하는 경우, 디바이스 선택 모듈들(124) 중 하나 또는 둘 모두는 각각의 컴퓨팅 디바이스가 음성 발언을 만족시키기 위한 선택에 적합하다고 결정할 수 있다. 예를 들어, 수신된 오디오 데이터가 사운드(181A)를 포함하면, 디바이스 선택 모듈(124A)은 컴퓨팅 디바이스(180A)가 음성 발화를 만족시키기 위한 선택에 적합하다고 결정할 수 있다. 유사하게, 수신된 오디오 데이터가 사운드(181B)를 포함하지 않는 경우, 디바이스 선택 모듈(124A)은 컴퓨팅 디바이스(180B)가 음성 발화를 만족시키기 위한 선택에 적합하지 않다고 결정할 수 있다.
어시스턴트는 UID(112)의 하나 이상의 마이크로폰에 의해 생성된 오디오 데이터를 유사하게 처리하여 사용자 발언을 인식할 수 있다. 예를 들어, 로컬 어시스턴트 모듈(122A)은 UID(112)의 하나 이상의 마이크로 폰에 의해 생성된 오디오 데이터를 처리하여 다른 컴퓨팅 디바이스들의 식별과 병행하여 사용자 발언을 인식할 수 있다.
디바이스 선택 모듈들(124) 중 하나 또는 둘 모두는 음성 발언을 만족시키기 위해 하나 이상의 컴퓨팅 디바이스를 선택할 수 있다. 예를 들어, 디바이스 선택 모듈(124A)은 로컬 어시스턴트 모듈(122A)과 인터페이스하여 하나 이상의 컴퓨팅 디바이스(110) 및 음성 발언을 만족시키기에 가장 적합한 컴퓨팅 디바이스(180)의 상기 식별된 컴퓨팅 디바이스들로부터 컴퓨팅 디바이스를 선택할 수 있다. 일 예로서, 컴퓨팅 디바이스(110)가 디스플레이를 포함하지 않고, 발언이 디스플레이에 더 잘 충족되는 경우(예를 들어, 사용자 발언이 "내 일정(agenda)에 무엇이 있어"인 경우), 디바이스 선택 모듈(124A)은 발언을 만족시키는 디스플레이를 포함하는 상기 식별된 다른 컴퓨팅 디바이스들의 컴퓨팅 디바이스를 선택할 수 있다. 예를 들어, "내 일정(agenda)에 무엇이 있어"라는 발언은 일정의 시각적 표현이 예를 들어 일정을 읽는 합성 음성보다 이해하기 쉽기 때문에 디스플레이에 더 만족할 수 있다. 또 다른 예로서, 컴퓨팅 디바이스(110)가 디스플레이를 포함하고, 발언이 더 큰 디스플레이(예를 들어, 사용자 발언이 "비디오 재생"인 경우)에 더 잘 만족되는 경우, 디바이스 선택 모듈(124A)은 발언을 만족시키기 위해 비교적 큰 디스플레이를 포함하는 상기 식별된 다른 컴퓨팅 디바이스들의 컴퓨팅 디바이스를 선택할 수 있다. "비디오 재생"이라는 발언은 사용자가 더 큰 디스플레이(예를 들어, TV)에서 비디오를 시청하는 것이 덜 격렬하고 및/또는 보다 편안할 수 있기 때문에 상대적으로 큰 디스플레이에 더 만족할 수 있다. 다른 예로서, 발언이 음악을 재생하는 것인 경우, 디바이스 선택 모듈(124A)은 컴퓨팅 디바이스(110)보다 고품질의 스피커를 포함하는 상기 식별된 다른 컴퓨팅 디바이스들의 컴퓨팅 디바이스를 선택할 수 있다. 이러한 방식으로, 어시스턴트는 발언에 대한 보다 높은 만족을 제공할 수 있다.
어시스턴트는 선택된 컴퓨팅 디바이스(들)로 하여금 발언을 만족시키는 하나 이상의 활동을 수행하도록 할 수 있다. 예를 들어, 컴퓨팅 디바이스(180A)가 발화를 만족하도록 선택되면, 로컬 어시스턴트 모듈(122A)은 UID(113)의 하나 이상의 컴포넌트(예를 들어, 디스플레이, 스피커 등)가 출력(예를 들어, 비디오 디스플레이, 그래픽 사용자 인터페이스 디스플레이, 사운드 방출 등)을 생성하게 할 수 있다. 예를 들어, 발화가 "비디오를 재생"인 경우, 로컬 어시스턴트 모듈(122A)은 UID(113)의 디스플레이가 비디오를 디스플레이하도록 할 수 있다.
컴퓨팅 디바이스(110)의 개선된 동작은 전술한 설명에 따라 획득된다는 것을 알 수 있을 것이다. 예를 들어, 발언을 만족시키기 위해 다른 컴퓨팅 디바이스들을 식별함으로써, 컴퓨팅 디바이스(110)에 의한 발언의 만족은 회피 및/또는 감소될 수 있다. 이는 차례로 대역폭 및 데이터 전송의 사용을 감소시키고, 일시적인 휘발성 메모리의 사용을 감소시키며, (예를 들어 컴퓨팅 디바이스(110)의) 배터리 드레인(drain)을 감소시킨다. 또한, 특정 실시예에서, 디바이스 성능 최적화 및/또는 셀룰러 데이터 사용 최소화는 이들 기준에 기초한 다른 디바이스의 선택이 배터리 드레인 및/또는 감소된 데이터 사용에 대한 원하는 직접 감소를 제공하도록 디바이스를 선택하기 위한 특징일 수 있다(예를 들어, 발언을 만족시키기 위해 다른 디바이스를 선택하여 현재 디바이스가 발언을 만족시키기 위해 배터리 전력을 소모하는 것을 피하고 및/또는 발언을 만족시키기 위해 데이터를 사용하는 것을 회피함).
도 2는 본 발명의 하나 이상의 양태에 따른 예시적인 가상 어시스턴트를 실행하도록 구성된 예시적인 컴퓨팅 디바이스를 나타내는 블록도이다. 도 2의 컴퓨팅 디바이스(210)는 도 1의 컴퓨팅 디바이스(110)의 일 예로서 아래에서 설명된다. 도 2는 컴퓨팅 디바이스(210)의 단지 하나의 특정 예를 도시하고, 컴퓨팅 디바이스(210)의 많은 다른 예는 다른 인스턴스에서 사용될 수 있으며 예시적인 컴퓨팅 디바이스(210)에 포함된 컴포넌트들의 서브 세트를 포함하거나 도 2에 도시되지 않은 부가 컴포넌트들을 포함할 수 있다.
도 2의 예에 도시된 바와 같이, 컴퓨팅 디바이스(210)는 사용자 인터페이스 디바이스(USD)(212), 하나 이상의 프로세서(240), 하나 이상의 통신 유닛(242), 하나 이상의 입력 컴포넌트(244), 하나 이상의 출력 컴포넌트 및 하나 이상의 저장 디바이스(248)를 포함할 수 있다. USD(212)는 디스플레이 컴포넌트(202), 프레즌스-감지형 입력 컴포넌트(204), 마이크로폰 컴포넌트(206) 및 스피커 컴포넌트(208)를 포함한다. 컴퓨팅 디바이스(210)의 저장 디바이스(248)는 UI 모듈(220), 어시스턴트 모듈(222), 디바이스 선택 모듈(224), 검색 모듈(282), 하나 이상의 애플리케이션 모듈(226) 및 컨텍스트 모듈(230)을 포함한다.
통신 채널(250)은 (물리적으로, 통신 가능하게 및/또는 동작 가능하게) 컴포넌트들 간 통신을 위해 컴포넌트(212, 240, 242, 244, 246 및 248) 각각을 상호 접속시킬 수 있다. 일부 예에서, 통신 채널(250)은 시스템 버스, 네트워크 접속, 프로세스 간 통신 데이터 구조 또는 데이터를 통신하기 위한 임의의 다른 방법을 포함할 수 있다.
컴퓨팅 디바이스(210)의 하나 이상의 통신 유닛(242)은 하나 이상의 네트워크(예를 들어, 도 1의 시스템(100)의 네트워크(130))상에서 네트워크 신호를 송신 및/또는 수신함으로써 하나 이상의 유선 및/또는 무선 네트워크를 통해 외부 디바이스(예컨대, 어시스턴트 서버 시스템(160) 및/또는 도 1의 시스템(100)의 컴퓨팅 디바이스(180))와 통신할 수 있다. 통신 유닛(242)의 예는 네트워크 인터페이스 카드(예를 들어, 이더넷 카드), 광 송수신기, 무선 주파수 송수신기, GPS 수신기, 또는 정보를 송신 및/또는 수신할 수 있는 임의의 다른 유형의 디바이스를 포함한다. 통신 유닛(242)의 다른 예는 단파 라디오, 셀룰러 데이터 라디오, 무선 네트워크 라디오 및 범용 직렬 버스(USB) 컨트롤러를 포함할 수 있다.
컴퓨팅 디바이스(210)의 하나 이상의 입력 컴포넌트(244)는 입력을 수신할 수 있다. 입력의 예는 촉각, 오디오 및 비디오 입력이다. 일 예에서, 컴퓨팅 디바이스(210)의 입력 컴포넌트(242)는 프레즌스-감지형 입력 디바이스(예를 들어, 터치 감지 스크린, PSD), 마우스, 키보드, 음성 반응 시스템, 카메라, 마이크로폰 또는 사람 또는 기계로부터의 입력을 검출하기 위한 임의의 다른 유형의 디바이스를 포함한다. 일부 실시예에서, 입력 컴포넌트(242)는 하나 이상의 센서 컴포넌트, 예를 들어 하나 이상의 위치 센서(GPS 컴포넌트, Wi-Fi 컴포넌트, 셀룰러 컴포넌트), 하나 이상의 온도 센서, 하나 이상의 움직임 센서(예를 들어, 가속도계, 자이로스코프), 하나 이상의 압력 센서(예를 들어, 기압계), 하나 이상의 주변광 센서, 및 하나 이상의 다른 센서(예를 들어, 적외선 근접 센서, 습도계 센서 등)를 포함할 수 있다. 몇 가지 다른 비-제한적인 예를 들면, 다른 센서는 심박 센서, 자력계, 포도당 센서, 후각 센서, 나침반 센서, 스텝 카운터 센서를 포함할 수 있다.
컴퓨팅 디바이스(210)의 하나 이상의 출력 컴포넌트(246)는 출력을 생성할 수 있다. 출력의 예로는 촉각, 오디오 및 비디오 출력이 있다. 일 예에서, 컴퓨팅 디바이스(210)의 출력 컴포넌트(246)는 프레즌스-감지형 디스플레이, 사운드 카드, 비디오 그래픽 어댑터 카드, 스피커, 음극선관(CRT) 모니터, 액정 디스플레이(LCD) 또는 사람 또는 기계에 출력을 생성하는 임의의 다른 유형의 디바이스를 포함한다.
컴퓨팅 디바이스(210)의 UID(212)는 컴퓨팅 디바이스(110)의 UID(112)와 유사할 수 있고, 디스플레이 컴포넌트(202), 프레즌스-감지형 입력 컴포넌트(204), 마이크로폰 컴포넌트(206) 및 스피커 컴포넌트(208)를 포함한다. 디스플레이 컴포넌트(202)는 USD(212)에 의해 정보가 디스플레이되는 스크린일 수 있으며, 프레즌스-감지형 입력 컴포넌트(204)는 디스플레이 컴포넌트(202)에서 및/또는 디스플레이 컴포넌트(202) 근처의 오브젝트를 검출할 수 있다. 스피커 컴포넌트(208)는 UID(212)에 의해 청각 정보가 재생되는 스피커일 수 있으며, 반면에 마이크로폰 컴포넌트(206)는 디스플레이 컴포넌트(202) 및/또는 스피커 컴포넌트(208)에서 및/또는 그 근처에 제공된 가청 입력을 검출할 수 있다.
컴퓨팅 디바이스(210)의 내부 컴포넌트로서 도시되어 있지만, UID(212)는 입력 및 출력을 송신 및/또는 수신하기 위해 컴퓨팅 디바이스(210)와 데이터 경로를 공유하는 외부 컴포넌트를 나타낼 수도 있다. 예를 들어, 일 예에서, UID(212)는 컴퓨팅 디바이스(210)의 외부 패키징(예를 들어, 이동 전화상의 스크린) 내에 위치하고 물리적으로 연결된 컴퓨팅 디바이스(210)의 빌트-인 컴포넌트를 나타낸다. 다른 예에서, UID(212)는 컴퓨팅 디바이스(210)의 패키지 또는 하우징(예를 들어, 컴퓨팅 디바이스(210)와 유선 및/또는 무선 데이터 경로를 공유하는 모니터, 프로젝터 등)의 외부에 위치되고 물리적으로 분리된 컴퓨팅 디바이스(210)의 외부 컴포넌트를 나타낸다.
하나의 예시적인 범위로서, 프레즌스 감지형 입력 컴포넌트(204)는 디스플레이 컴포넌트(202)의 2 인치 또는 그 이하의 손가락 또는 스타일러스와 같은 오브젝트를 검출할 수 있다. 프레즌스-감지형 입력 컴포넌트(204)는 오브젝트가 검출된 디스플레이 컴포넌트(202)의 위치(예를 들어, [x, y] 좌표)를 결정할 수 있다. 다른 예시적인 범위에서, 프레즌스-감지형 입력 컴포넌트(204)는 디스플레이 컴포넌트(202)로부터 6 인치 또는 그 이하의 오브젝트를 검출할 수 있고 다른 범위도 가능하다. 프레즌스-감지형 입력 컴포넌트(204)는 용량성, 유도성 및/또는 광학 인식 기술을 사용하여 사용자의 손가락에 의해 선택된 디스플레이 컴포넌트(202)의 위치를 결정할 수 있다. 일부 예에서, 프레즌스-감지형 입력 컴포넌트(204)는 또한 디스플레이 컴포넌트(202)와 관련하여 설명된 바와 같이 촉각, 오디오 또는 비디오 자극을 사용하여 사용자에게 출력을 제공한다. 도 2에 도시된 에에서, PSD(212)는 그래픽 사용자 인터페이스로서 사용자 인터페이스를 제공할 수 있다.
스피커 컴포넌트(208)는 컴퓨팅 디바이스(210)의 하우징에 내장된 스피커를 포함할 수 있으며, 일부 예에서는 컴퓨팅 디바이스(210)에 동작 가능하게 결합된 유선 또는 무선 헤드폰 세트에 내장된 스피커일 수 있다. 마이크로폰 컴포넌트(206)는 UID(212)에서 또는 그 근처에서 발생하는 음향 입력을 검출할 수 있다. 마이크로폰 컴모넌트(206)는 배경 잡음을 제거하고 검출된 오디오 신호로부터 사용자 음성을 분리하기 위해 다양한 잡음 소거 기술을 수행할 수 있다.
컴퓨팅 디바이스(210)의 UID(212)는 컴퓨팅 디바이스(210)의 사용자로부터의 입력으로서 2 차원 및/또는 3 차원 제스처를 검출할 수 있다. 예를 들어, UID(212)의 센서는 UID(212)의 센서의 임계 거리 내에서 (예를 들어, 손, 팔, 펜, 스타일러스 등을 움직이는) 사용자의 움직임을 검출할 수 있다. UID(212)는 상기 움직임의 2 차원 또는 3 차원 벡터 표현을 결정할 수 있고, 상기 벡터 표현을 다중 차원을 갖는 제스처 입력(예를 들면, 손-웨이브(wave), 핀치, 박수, 펜 스트로크 등)과 상관시킬 수 있다. 환언하면, UID(212)는 UID(212)가 디스플레이용 정보를 출력하는 스크린 또는 표면에서 또는 그 부근에서 사용자가 제스처할 것을 요구하지 않고 다차원 제스처를 검출할 수 있다. 대신에, UID(212)는 UID(212)가 디스플레이용 정보를 출력하는 스크린 또는 표면 근처에 위치되거나 또는 위치될 수 없는 센서에서 또는 그 부근에서 수행된 다차원 제스처를 검출할 수 있다.
하나 이상의 프로세서(240)는 컴퓨팅 디바이스(210)와 관련된 기능들을 구현및/또는 명령을 실행할 수 있다. 프로세서들(240)의 예는 애플리케이션 프로세서, 디스플레이 제어기, 보조 프로세서, 하나 이상의 센서 허브, 및 프로세서, 프로세싱 유닛, 또는 프로세싱 디바이스로서 기능하도록 구성된 임의의 다른 하드웨어를 포함한다. 모듈(220, 222, 224, 226, 230 및 282)은 컴퓨팅 디바이스(210)의 다양한 액션, 동작 또는 기능을 수행하기 위해 프로세서(240)에 의해 동작 가능할 수 있다. 예를 들어, 컴퓨팅 디바이스(210)의 프로세서(240)는 프로세서(240)가 동작 모듈(220, 222, 224, 226, 230 및 282)을 수행하게 하는 저장 디바이스(248)에 의해 저장된 명령들을 검색하고 실행할 수 있다. 상기 명령들은 프로세서(240)에 의해 실행될 때, 컴퓨팅 디바이스(210)로 하여금 저장 디바이스들(248) 내에 정보를 저장하게 할 수 있다.
컴퓨팅 디바이스(210) 내의 하나 이상의 저장 디바이스(248)는 컴퓨팅 디바이스(210)에서의 동작 중에 처리하기 위한 정보를 저장할 수 있다(예를 들어, 컴퓨팅 디바이스(210)는 컴퓨팅 디바이스(210)에서의 실행 중에 모듈(220, 222, 224, 226, 230 및 282)에 의해 액세스된 데이터를 저장할 수 있다. 일부 예들에서, 저장 디바이스들(248)은 일시적인 메모리이며, 이는 저장 디바이스들(248)의 주요 목적이 장기 저장이 아니라는 것을 의미한다. 컴퓨팅 디바이스(210)상의 저장 디바이스들(248)은 휘발성 메모리로서 정보의 단기 저장을 위해 구성될 수 있고, 따라서 전원이 꺼진 경우 저장된 내용들을 유지하지 않을 수 있다. 휘발성 메모리의 예는 랜덤 액세스 메모리(RAM), 동적 랜덤 액세스 메모리(DRAM), 정적 랜덤 액세스 메모리(SRAM) 및 당 업계에 공지된 다른 형태의 휘발성 메모리를 포함한다.
저장 디바이스들(248)은 일부 예들에서, 하나 이상의 컴퓨터 판독 가능 저장 매체를 또한 포함한다. 일부 예에서 저장 디바이스(248)는 하나 이상의 비-일시적 컴퓨터 판독 가능 저장 매체를 포함한다. 저장 디바이스(248)는 통상적으로 휘발성 메모리에 의해 저장되는 것보다 많은 양의 정보를 저장하도록 구성될 수 있다. 저장 디바이스들(248)은 또한 비 휘발성 메모리 공간으로서 정보의 장기간 저장을 위해 구성될 수 있고 전원 온/오프 사이클들 후에 정보를 유지할 수 있다. 비-휘발성 메모리의 예는 자기 하드 디스크, 광 디스크, 플로피 디스크, 플래시 메모리, 또는 전기적으로 프로그램 가능한 메모리(EPROM) 또는 전기적으로 소거 및 프로그래밍 가능한(EEPROM) 메모리의 형태를 포함한다. 저장 디바이스들(248)은 모듈(220, 222, 224, 226, 230 및 282)과 관련된 프로그램 명령들 및/또는 정보(예를 들어, 데이터)를 저장할 수 있다. 저장 디바이스들(248)은 모듈(220, 222, 224, 226, 230 및 282)과 관련된 데이터 또는 다른 정보를 저장하도록 구성된 메모리를 포함할 수 있다.
UI 모듈(220)은 도 1의 컴퓨팅 디바이스(110)의 UI 모듈(120)의 모든 기능을 포함할 수 있고, 컴퓨팅 디바이스(110)의 사용자와 어시스턴트 모듈(222) 간의 상호 작용을 용이하게 하기 위해 예를 들어 컴퓨팅 디바이스(210)가 USD212에서 제공하는 사용자 인터페이스를 관리하기 위한 UI 모듈(120)과 유사한 동작을 수행할 수 있다. 예를 들어, 컴퓨팅 디바이스(210)의 UI 모듈(220)은 어시스턴트 사용자 인터페이스(예를 들어, 사용자 인터페이스(114))를 출력(예를 들어, 오디오를 디스플레이 또는 재생)하기 위한 명령들을 포함하는 어시스턴트 모듈(222)로부터 정보를 수신할 수 있다. UI 모듈(220)은 통신 채널(250)을 통해 어시스턴트 모듈(222)로부터 정보를 수신하고 데이터를 사용하여 사용자 인터페이스를 생성할 수 있다. UI 모듈(220)은 UID(212)가 UID(212)에서 사용자 인터페이스를 제시하게 하기 위해 통신 채널(250)을 통해 디스플레이 또는 가청 출력 명령 및 관련 데이터를 전송할 수 있다.
일부 예에서, UI 모듈(220)은 UID(212)에서 검출된 하나 이상의 사용자 입력의 표시를 수신하여, 어시스턴트 모듈(222)로 사용자 입력에 관한 정보를 출력할 수 있다. 예를 들어, UID(212)는 사용자로부터의 음성 입력을 검출하여 음성 입력에 관한 데이터를 UI 모듈(220)에 전송할 수 있다.
UI 모듈(220)은 추가 해석을 위해 어시스턴트 모듈(222)에 음성 입력의 표시를 전송할 수 있다. 어시스턴트 모듈(222)은 음성 입력에 기초하여 상기 검출된 음성 입력이, 어시스턴트 모듈(222)이 하나 이상의 작업을 수행하기 위한 사용자 요청을 나타내는지를 결정할 수 있다.
애플리케이션 모듈(226)은 사용자에게 정보를 제공하고 및/또는 작업을 수행하기 위해 어시스턴트 모듈(222)과 같은 어시스턴트에 의해 액세스될 수 있는 컴퓨팅 디바이스(210)에서 실행되고 액세스 가능한 모든 다양한 개별 애플리케이션 및 서비스를 나타낸다. 컴퓨팅 디바이스(210)의 사용자는 컴퓨팅 디바이스(210)가 기능을 수행하도록 하기 위해 하나 이상의 애플리케이션 모듈(226)과 관련된 사용자 인터페이스와 상호 작용할 수 있다. 애플리케이션 모듈(226)의 다수의 예가 존재할 수 있으며, 여기에는 피트니스 애플리케이션, 캘린더 애플리케이션, 검색 애플리케이션, 맵 또는 네비게이션 애플리케이션, 운송 서비스 애플리케이션(예를 들어, 버스 또는 기차 추적 애플리케이션), 소셜 미디어 애플리케이션, 게임 애플리케이션, 이-메일 애플리케이션, 채팅 또는 메시징 애플리케이션, 인터넷 브라우저 애플리케이션, 또는 컴퓨팅 디바이스(210)에서 실행될 수 있는 임의의 및 모든 다른 애플리케이션일 수 있고 이들을 포함할 수 있다.
컴퓨팅 디바이스(210)의 검색 모듈(282)은 컴퓨팅 디바이스(210)를 대신하여 통합 검색 기능을 수행할 수 있다. 검색 모듈(282)은 UI 모듈(220), 하나 이상의 애플리케이션 모듈(226) 및/또는 어시스턴트 모듈(222)에 의해 호출되어 그들 대신 검색 동작을 수행할 수 있다. 호출될 때, 검색 모듈(282)은 다양한 로컬 및 원격 정보 소스를 통해 생성된 검색 쿼리에 기초하여 검색 쿼리를 생성하고 검색을 실행하는 것과 같은 검색 기능을 수행할 수 있다. 검색 모듈(282)은 호출 컴포넌트 또는 모듈에 대해 실행된 검색의 결과를 제공할 수 있다. 즉, 검색 모듈(282)은 호출 명령에 응답하여 검색 결과를 UI 모듈(220), 어시스턴트 모듈(222) 및/또는 애플리케이션 모듈(226)로 출력할 수 있다.
컨텍스트 모듈(230)은 컴퓨팅 디바이스(210)와 관련된 컨텍스트 정보를 수집하여 컴퓨팅 디바이스(210)의 컨텍스트를 정의할 수 있다. 특히, 컨텍스트 모듈(210)은 어시스턴트 모듈(222)에 의해 주로 사용되어 특정 시간에 컴퓨팅 디바이스(210)의 물리적 및/또는 가상 환경의 특성 및 컴퓨팅 디바이스(210)의 사용자를 특정하는 컴퓨팅 디바이스(210)의 컨텍스트를 정의한다.
본 명세서 전체에 걸쳐서 사용된 바와 같이, "컨텍스트 정보"라는 용어는 컴퓨팅 디바이스 및 컴퓨팅 디바이스의 사용자가 특정 시간에 경험할 수 있는 가상 및/또는 물리적 환경 특성을 정의하기 위해 컨텍스트 모듈(230)에 의해 사용될 수 있는 임의의 정보를 기술하는데 사용된다. 컨텍스트 정보의 예는 다수이며 컴퓨팅 디바이스(210)와 연관된 계정(예를 들어, 컴퓨팅 디바이스(210)에 현재 로그인된 사용자 계정), 컴퓨팅 디바이스(210)가 현재 접속된(예를 들어, Wi-Fi 네트워크의 서비스 세트 식별자(SSID)에 의해) 네트워크, 컴퓨팅 디바이스(210)의 센서(예를 들어, 위치 센서, 가속도계, 자이로, 기압계, 주변광 센서, 근접 센서, 마이크로폰 및 임의의 다른 센서)에 의해 획득진 센서 정보, 컴퓨팅 디바이스(210)의 통신 모듈에 의해 송수신되는 통신(예를 들어, 텍스트 기반 통신, 오디오 통신, 비디오 통신 등) 정보 및 컴퓨팅 디바이스(210)에서 실행되는 애플리케이션과 관련된 애플리케이션(예를 들어, 애플리케이션과 관련된 애플리케이션 데이터, 인터넷 검색 히스토리, 텍스트 통신, 음성 및 화상 통신, 캘린더 정보, 소셜 미디어 게시물 및 관련 정보 등) 사용 정보를 포함할 수 있다. 컨텍스트 정보의 다른 예는 컴퓨팅 디바이스(210) 외부에 있는 송신 디바이스로부터 획득진 신호 및 정보를 포함한다. 예를 들어, 컨텍스트 모듈(230)은 컴퓨팅 디바이스(210)의 라디오 또는 통신 유닛을 통해 판매점의 물리적 위치 또는 그 부근에 위치된 외부 비콘으로부터 전송된 비콘 정보를 수신할 수 있다.
어시스턴트 모듈(222)은 도 1의 컴퓨팅 디바이스(110)의 로컬 어시스턴트 모듈(122A)의 모든 기능을 포함할 수 있고, 어시스턴트를 제공하기 위한 로컬 어시스턴트 모듈(122A)과 유사한 동작을 수행할 수 있다. 일부 예에서, 어시스턴트 모듈(222)은 어시스턴트 기능을 제공하기 위해 국부적으로(예를 들어, 프로세서(240)에서) 실행할 수 있다. 일부 예에서, 어시스턴트 모듈(222)은 컴퓨팅 디바이스(210)에 액세스 가능한 원격 어시스턴트 서비스에 대한 인터페이스로서 동작할 수 있다. 예를 들어, 어시스턴트 모듈(222)은 도 1의 어시스턴트 서버 시스템(160)의 원격 어시스턴트 모듈(122B)에 대한 인터페이스 또는 애플리케이션 프로그래밍 인터페이스(API) 일 수 있다.
디바이스 선택 모듈(224)은 도 1의 컴퓨팅 디바이스(110)의 디바이스 선택 모듈(124A)의 모든 기능을 포함할 수 있고 다른 컴퓨팅 디바이스를 식별하고 선택하기 위해 디바이스 선택 모듈(124A)과 유사한 동작을 수행할 수 있다. 일부 예에서, 디바이스 선택 모듈(224)은 다른 컴퓨팅 디바이스를 식별 및/또는 선택하기 위해 국부적으로(예를 들어, 프로세서(240)에서) 실행할 수 있다. 일부 예에서, 디바이스 선택 모듈(224)은 컴퓨팅 디바이스(210)에 액세스 가능한 원격 디바이스 선택 서비스에 대한 인터페이스로서 동작할 수 있다. 예를 들어, 디바이스 선택 모듈(224)은 도 1의 어시스턴트 서버 시스템(160)의 디바이스 선택 모듈(124B)에 대한 인터페이스 또는 애플리케이션 프로그래밍 인터페이스(API) 일 수 있다.
도 3은 본 발명의 하나 이상의 양태에 따른, 가상 어시스턴트에 의한 선택을 위해 식별되도록 구성된 예시적인 컴퓨팅 디바이스를 나타내는 블록도이다. 도 3의 컴퓨팅 디바이스(380)는 도 1의 컴퓨팅 디바이스(180)의 컴퓨팅 디바이스의 예로서 아래에서 설명된다. 도 3은 컴퓨팅 디바이스(380)의 단지 하나의 특정 예를 도시하고, 컴퓨팅 디바이스(380)의 많은 다른 예들이 다른 인스턴스에서 사용될 수 있고, 예시적인 컴퓨팅 디바이스(380)에 포함된 컴포넌트들의 서브 세트를 포함할 수 있거나 도 3에 도시되지 않은 부가적인 컴포넌트들을 포함할 수 있다.
도 3의 예에 도시된 바와같이, 컴퓨팅 디바이스(380)는 사용자 인터페이스 디바이스(UID)(313), 하나 이상의 프로세서(341), 하나 이상의 통신 유닛(343), 하나 이상의 입력 컴포넌트(345), 하나 이상의 출력 컴포넌트(347) 또는 하나 이상의 저장 디바이스(349)를 포함할 수 있다. UID(313)는 디스플레이 컴포넌트(303), 프레즌스-감지형 입력 컴포넌트(305), 마이크로폰 컴포넌트(307) 및 스피커 컴포넌트(309)를 포함한다. 컴퓨팅 디바이스(380)의 저장 디바이스들(349)은 UI 모듈(321), 선택 응답 모듈(327) 및 컨텍스트 모듈(331)을 포함한다.
프로세서(340)는 도 2의 컴퓨팅 시스템(210)의 프로세서(240)와 유사하다. 통신 유닛(342)은 도 2의 컴퓨팅 시스템(210)의 통신 유닛(242)과 유사하다. UID(313)는 도 2의 컴퓨팅 시스템(210)의 UID(212)와 유사하다. 저장 디바이스(348)는 도 2의 컴퓨팅 시스템(210)의 저장 디바이스(248)와 유사하다. 입력 컴포넌트들(344)은 도 2의 컴퓨팅 시스템(210)의 입력 컴포넌트들(244)과 유사하다. 출력 컴포넌트들(346)은 도 2의 컴퓨팅 시스템(210)의 출력 컴포넌트들(246)과 유사하다. 통신 채널(350)은 도 2의 컴퓨팅 시스템(210)의 통신 채널(250)과 유사하며, 따라서 컴포넌트 간 통신을 위해 컴포넌트(340, 342, 344, 346, 313 및 348) 각각을 상호 연결할 수 있다. 일부 예에서, 통신 채널(350)은 시스템 버스, 네트워크 접속, 프로세스 간 통신 데이터 구조 또는 데이터를 통신하기 위한 임의의 다른 방법을 포함할 수 있다.
UI 모듈(321)은 도 1의 컴퓨팅 디바이스(180A)의 UI 모듈(121)의 모든 기능을 포함할 수 있으며 UI 모듈(121)과 유사한 동작을 수행할 수 있다. 예를 들어, 컴퓨팅 디바이스(380)의 UI 모듈(321)은 발언령(예컨대, 비디오 디스플레이 또는 오디오 재생)을 만족시키기 위한 명령들을 포함하는 선택 응답 모듈(327)로부터 정보를 수신할 수 있다. UI 모듈(321)은 통신 채널(350)을 통해 디스플레이 또는 가청 출력 명령 및 관련 데이터를 전송하여 UID(313)가 사용자 인터페이스를 UID(313)에 제시하게 할 수 있다.
컨텍스트 모듈(331)은 도 2의 컴퓨팅 디바이스(210)의 컨텍스트 모듈(231)과 유사한 기능을 수행하도록 구성될 수 있다. 예를 들어, 컨텍스트 모듈(331)은 컴퓨팅 디바이스(380)와 관련된 컨텍스트 정보를 수집하여 컴퓨팅 디바이스(380)의 컨텍스트를 정의할 수 있다. 일부 예에서, 컨텍스트 모듈(331)은 컴퓨팅 디바이스(380)의 컨텍스트와 관련하여 하나 이상의 다른 디바이스를 업데이트할 수 있다. 예를 들어, 컨텍스트 모듈(331)은 컴퓨팅 디바이스(380)와 관련된 계정의 식별 및 컴퓨팅 디바이스(380)가 현재 연결된 네트워크의 식별 중 하나 또는 둘 모두에 관한 서버 시스템(예를 들어, 도 1의 어시스턴트 서버 시스템(160)을 업데이트할 수 있다. 일부 예에서, 컨텍스트 모듈(331)은 일정한 시간 간격(즉, 5 분, 10 분, 30 분, 1 시간, 1 일)으로 다른 디바이스들을 업데이트할 수 있다. 일부 예에서, 컨텍스트 모듈(331)은 컴퓨팅 디바이스(380)의 컨텍스트가 변경될 때(예를 들어, 컴퓨팅 디바이스(380)가 새로운 계정이 컴퓨팅 디바이스(380)에 서명될 때, 컴퓨팅 디바이스(380)가 네트워크에 접속하거나 네트워크와의 연결을 끊을 때) 다른 디바이스들을 업데이트할 수 있다.
선택 응답 모듈(327)은 도 1의 컴퓨팅 디바이스(110) 또는 도 2의 컴퓨팅 디바이스(210)와 같은 다른 디바이스에서 발화한 발언을 만족시키도록 컴퓨팅 디바이스(380)의 식별을 가능하게 하는 하나 이상의 액션을 수행할 수 있다. 일부 예에서, (예를 들어, 도 1의 어시스턴트 서버 시스템(160)으로부터) 요청을 수신하는 것에 응답하여, 선택 응답 모듈(327)은 UID(313)의 스피커 컴포넌트(309)로 하여금 사운드를 방출하게 할 수 있다. 상술한 바와 같이, 일부 예에서, 요청은 방출될 사운드의 하나 이상의 고유한 오디오 특성(예컨대, 주파수)을 식별할 수 있다. 일부 예에서, 선택 응답 모듈(327)은 UID(313)의 하나 이상의 컴포넌트가 다른 디바이스에서 발화된 발언을 만족시키기 위해 출력(예를 들어, 비디오 디스플레이, 그래픽 사용자 인터페이스 디스플레이, 사운드 방출 등)을 발생하게 할 수 있다.
도 4는 본 발명의 하나 이상의 양태에 따른 예시적인 가상 어시스턴트를 실행하도록 구성된 예시적인 컴퓨팅 시스템을 나타내는 블록도이다. 도 4의 어시스턴트 서버 시스템(460)은 도 1의 어시스턴트 서버 시스템(160)의 예로서 아래에서 설명된다. 도 4는 어시스턴트 서버 시스템(460)의 단지 하나의 특정 예를 도시하고, 어시스턴트 서버 시스템(460)의 많은 다른 예는 다른 인스턴스에 사용될 수 있으며 예시적인 어시스턴트 서버 시스템(460)에 포함된 컴포넌트들의 서브 세트를 포함하거나 또는 도 4에 도시되지 않은 추가 컴포넌트들을 포함할 수 있다.
도 4의 예에 도시된 바와 같이, 어시스턴트 서버 시스템(460)은 하나 이상의 프로세서(440), 하나 이상의 통신 유닛(442) 및 하나 이상의 저장 디바이스(448)를 포함한다. 저장 디바이스들(448)은 어시스턴트 모듈(422), 검색 모듈(482), 컨텍스트 모듈(430) 및 디바이스 선택 모듈(424)을 포함한다.
프로세서(440)는 도 2의 컴퓨팅 시스템(210)의 프로세서(240)와 유사하다. 통신 유닛(442)은 도 2의 컴퓨팅 시스템(210)의 통신 유닛(242)과 유사하다. 저장 디바이스들(448)은 도 2의 컴퓨팅 시스템(210)의 저장 디바이스들(248)과 유사하다. 통신 채널(450)은 도 2의 컴퓨팅 시스템(210)의 통신 채널(250)과 유사하며, 따라서 컴포넌트 간 통신을 위해 컴포넌트(440, 442 및 448) 각각을 상호 연결할 수 있다. 일부 예에서, 통신 채널(450)은 시스템 버스, 네트워크 접속, 프로세스 간 통신 데이터 구조, 또는 데이터를 통신하기 위한 임의의 다른 방법을 포함할 수 있다.
어시스턴트 서버 시스템(460)의 검색 모듈(482)은 컴퓨팅 디바이스(210)의 검색 모듈(282)과 유사하며, 어시스턴트 서버 시스템(460)을 대신하여 통합 검색 기능을 수행할 수 있다. 즉, 검색 모듈(482)은 어시스턴트 모듈(422)을 대신하여 검색 동작을 수행할 수 있다. 일부 예에서, 검색 모듈(482)은 어시스턴트 검색 모듈(422)을 대신하여 검색 동작을 수행하기 위해 외부 검색 시스템과 인터페이스할 수 있다. 호출될 때, 검색 모듈(482)은 다양한 로컬 및 원격 정보 소스를 통해 생성된 검색 쿼리에 기초하여 검색 쿼리를 생성하고 검색을 실행하는 것과 같은 검색 기능을 수행할 수 있다. 검색 모듈(482)은 호출 컴포넌트 또는 모듈에 대해 실행 검색의 결과를 제공할 수 있다. 즉, 검색 모듈(482)은 검색 결과를 어시스턴트 모듈(422)로 출력할 수 있다.
어시스턴트 서버 시스템(460)의 컨텍스트 모듈(430)은 컴퓨팅 디바이스(210)의 컨텍스트 모듈(230)과 유사하다. 컨텍스트 모듈 430은 도 1의 컴퓨팅 디바이스(110) 및/또는 컴퓨팅 디바이스(180), 도 2의 컴퓨팅 디바이스(210) 및/또는 도 3의 컴퓨팅 디바이스(380)와 같은 컴퓨팅 디바이스와 관련된 컨텍스트 정보를 수집하여 컴퓨팅 디바이스의 컨텍스트를 정의할 수 있다. 컨텍스트 모듈(430)은 어시스턴트 모듈(422) 및/또는 검색 모듈(482)에 의해 주로 사용되어 어시스턴트 서버 시스템(160)에 의해 제공되는 서비스를 인터페이싱하고 액세스하는 컴퓨팅 디바이스의 컨텍스트를 정의할 수 있다. 컨텍스트는 특정 시간에 컴퓨팅 디바이스의 물리적 및/또는 가상 환경의 특성 및 컴퓨팅 디바이스의 사용자를 지정할 수 있다.
어시스턴트 모듈(422)은 도 1의 로컬 어시스턴트 모듈(122A) 및 원격 어시스턴트 모듈(122B)뿐만 아니라 도 2의 컴퓨팅 디바이스(210)의 어시스턴트 모듈(222)의 모든 기능을 포함할 수 있다. 어시스턴트 모듈(422)은 어시스턴트 서버 시스템(460)을 통해 액세스 가능한 어시스턴트 서비스를 제공하기 위한 원격 어시스턴트 모듈(122B)과 유사한 동작을 수행할 수 있다. 즉, 어시스턴트 모듈(422)은 어시스턴트 서버 시스템(460)과 네트워크를 통해 통신하는 컴퓨팅 디바이스에 액세스 가능한 원격 어시스턴트 서비스에 대한 인터페이스로서 동작할 수 있다. 예를 들어, 어시스턴트 모듈(422)은 도 1의 어시스턴트 서버 시스템(160)의 원격 어시스턴트 모듈(122B)에 대한 인터페이스 또는 API일 수 있다.
디바이스 선택 모듈(424)은 도 1의 디바이스 선택 모듈(124A) 및 디바이스 선택 모듈(124B)뿐만 아니라도 2의 컴퓨팅 디바이스(210)의 디바이스 선택 모듈(224)의 모든 기능을 포함할 수 있다. 디바이스 선택 모듈(424)은 음성 발언을 만족시키기 위해 다른 컴퓨팅 디바이스를 식별하고 선택하기 위한 디바이스 선택 모듈(124B)과 유사한 동작을 수행할 수 있다. 일부 예에서, 디바이스 선택 모듈(424)은 도 1의 어시스턴트 서버 시스템(160)의 디바이스 선택 모듈(124B)에 대한 인터페이스 또는 API일 수 있다.
동작시, 디바이스 선택 모듈(424)은 특정 컴퓨팅 디바이스(예를 들어, 도 1의 컴퓨팅 디바이스(110) 또는 도 2의 컴퓨팅 디바이스(210))와 관련된 컴퓨팅 디바이스의 리스트를 유지할 수 있다. 예를 들어, 디바이스 선택 모듈(424)은 컨텍스트 모듈(430)에 의해 수집된 컨텍스트 정보에 기초하여, 특정 컴퓨팅 디바이스(예를 들어, 특정 컴퓨팅 디바이스와 동일한 SSID를 갖는 네트워크에 접속된 하나 이상의 컴퓨팅 디바이스)와 동일한 네트워크에 연결되고 특정 컴퓨팅 디바이스와 동일한 계정(예를 들어, 동일한 사용자 계정)과 관련되는 중 하나 또는 둘 모두인 하나 이상의 컴퓨팅 디바이스를 식별할 수 있다.
음성 수신이 특정 컴퓨팅 디바이스에서 활성화되었다는 표시를 수신하는 것에 응답하여, 디바이스 선택 모듈(424)은 특정 컴퓨팅 디바이스와 관련된 식별된 컴퓨팅 디바이스들의 각 컴퓨팅 디바이스에, 각각의 오디오 신호를 방출하라는 요청을 출력할 수 있다. 예를 들어, 디바이스 선택 모듈(424)은 특정 컴퓨팅 디바이스와 관련된 각각의 식별된 컴퓨팅 디바이스에 각각의 주파수를 할당할 수 있고, 상기 할당된 주파수의 표시를 요청에 포함할 수 있다.
컴퓨팅 디바이스들에 의해 방출된 하나 이상의 오디오 신호는 특정 컴퓨팅 디바이스의 마이크로폰에 의해 생성된 오디오 데이터에 포함될 수 있다. 특정 컴퓨팅 디바이스는 오디오 데이터를 국부적으로 처리하고 및/또는 오디오 데이터를 어시스턴트 서버 시스템(460)에 업로드할 수 있다. 처리의 일부로서, 특정 컴퓨팅 디바이스 및/또는 어시스턴트 서버 시스템(460)은 오디오 데이터가 하나 이상의 상기 할당된 주파수를 포함하는지를 여부를 결정할 수 있다. 오디오 데이터가 하나 이상의 할당된 주파수를 포함하면, 특정 컴퓨팅 디바이스 및/또는 어시스턴트 서버 시스템(460)은 하나 이상의 할당된 주파수와 관련된 컴퓨팅 디바이스들이 발언 만족(utterance satisfaction)에 적합하고 결정할 수 있다.
특정 컴퓨팅 디바이스 및/또는 어시스턴트 서버 시스템(460)은 또한 (예를 들어, 하나 이상의 음성 인식 기술을 사용하여) 오디오 데이터를 처리하여 음성 발언을 인식할 수 있다. 음성 발언 및 발언 만족에 적합한 것으로 결정된 컴퓨팅 디바이스에 기초하여, 특정 컴퓨팅 디바이스 및/또는 어시스턴트 서버 시스템(460)은 인식된 발언를 만족시키기 위해 하나 이상의 컴퓨팅 디바이스를 선택할 수 있다. 예를 들어, 특정 컴퓨팅 디바이스 및/또는 어시스턴트 서버 시스템(460)은 발언을 만족시키기에 가장 적합한 컴퓨팅 디바이스(들)를 선택할 수 있다. 특정 컴퓨팅 디바이스 및/또는 어시스턴트 서버 시스템(460)은 선택된 컴퓨팅 디바이스(들)로 하여금 발언을 만족하게 할 수 있다.
도 5는 본 발명의 하나 이상의 양태에 따른 예시적인 가상 어시스턴트를 실행하는 하나 이상의 프로세서에 의해 수행되는 예시적인 동작들을 도시한 흐름도이다. 도 5는 도 1의 시스템(100)의 컨텍스트에서 아래에 설명된다. 예를 들어, 컴퓨팅 디바이스(110)의 하나 이상의 프로세서에서 실행하는 동안 로컬 어시스턴트 모듈(122A) 및 디바이스 선택 모듈(124A)은 본 발명의 하나 이상의 양태에 따라, 하나 이상의 동작(502-512)을 수행할 수 있다. 그리고 일부 실시예에서, 어시스턴트 서버 시스템(160)의 하나 이상의 프로세서에서 실행하는 동안 원격 어시스턴트 모듈(122B) 및 디바이스 선택 모듈(124B)은 본 발명의 하나 이상의 양태에 따라, 하나 이상의 동작(502-512)을 수행할 수 있다. 단지 예시의 목적으로, 도 5는 도 1의 컴퓨팅 디바이스(110)의 컨텍스트내에서 아래에서 설명된다.
동작시, 컴퓨팅 디바이스(110)는 음성 수신을 활성화시킬 수 있다(502). 예를 들어, 컴퓨팅 디바이스(110)의 사용자는 컴퓨팅 디바이스(110)상의 음성 수신 버튼을 누르거나 로컬 어시스턴트 모듈(122A)에 의해 수신된 UTD(112)에서 사전 결정된 활성화 구문을 말할 수 있다.
음성 수신의 활성화에 응답하여, 컴퓨팅 디바이스(110)는 다른 컴퓨팅 디바이스들이 각각의 오디오 신호를 방출하도록 할 수 있다(504). 예를 들어, 컴퓨팅 디바이스(110)는 컴퓨팅 디바이스(110)와 관련된 하나 이상의 다른 컴퓨팅 디바이스가 각각의 오디오 신호를 방출하게 할 수 있다. 다른 컴퓨팅 디바이스가 현재의 컴퓨팅 디바이스와 동일한 네트워크에 접속되고 현재의 컴퓨팅 디바이스와 동일한 계정(예를 들어, 동일한 사용자 계정)과 관련되는 것 중 하나 또는 둘 모두인 경우, 다른 컴퓨팅 디바이스는 컴퓨팅 디바이스(110)와 관련될 수 있다. 일부 예에서, 컴퓨팅 디바이스(110)는 음성 수신이 컴퓨팅 디바이스(110)에서 활성화되었다는 표시를 적어도 출력함으로써 다른 컴퓨팅 디바이스로 하여금 각각의 오디오 신호를 방출하게 할 수 있다. 컴퓨팅 디바이스(110)는 상기 표시를 서버 디바이스 및 관련 컴퓨팅 디바이스들 중 하나 또는 둘 모두에 출력할 수 있다. 컴퓨팅 디바이스(110)가 서버 장치에 표시를 출력하는 예에서, 서버 디바이스는 컴퓨팅 디바이스(110)와 관련하여 식별된 각각의 컴퓨팅 디바이스로 각각의 오디오 신호를 방출하라는 요청을 출력할 수 있다. 컴퓨팅 디바이스(110)가 관련 컴퓨팅 디바이스들에 직접 표시를 출력하는 예에서, 상기 표시는 각각의 오디오 신호를 방출하라는 요청을 포함할 수 있다.
상술한 바와 같이, 다른 컴퓨팅 디바이스들에 의해 방출된 오디오 신호는 하나 이상의 고유한 특성을 가질 수 있다. 특정 컴퓨팅 디바이스에 의해 방출된 오디오 신호의 하나 이상의 고유한 특성은 특정 컴퓨팅 디바이스에 의해 수신된 요청에 의해 지정될 수 있다. 예를 들어, 특정 컴퓨팅 디바이스로 전송된 요청은 특정 컴퓨팅 디바이스가 특정 주파수의 오디오 신호를 출력하는 것으로 지정할 수 있다. 또한 앞서 논의된 바와 같이, 일부 예들에서, 오디오 신호는 인간의 음성 및/또는 인간 청력의 범위 이상일 수 있다.
임의의 경우에, 컴퓨팅 디바이스(110)는 컴퓨팅 디바이스(110)의 마이크로폰에 의해 생성된 오디오 데이터를 수신할 수 있다(506). 예를 들어, 컴퓨팅 디바이스(110)는 음성 발언에 대응하는 음향 입력(예를 들어, 오디오 데이터) 및 다른 컴퓨팅 디바이스들에 의해 방출된 오디오 신호를 마이크로폰으로 수신할 수 있다.
컴퓨팅 디바이스(110)는 오디오 데이터에 기초하여 다른 컴퓨팅 디바이스들을 식별할 수 있다(508). 예를 들어, 수신된 오디오 데이터가 컴퓨팅 디바이스들의 각각의 컴퓨팅 디바이스에 의해 방출된 각각의 사운드를 포함하면, 컴퓨팅 디바이스(110)는 각 컴퓨팅 디바이스가 상기 음성 발언을 만족시키기 위한 선택에 적합하다고 결정할 수 있다. 유사하게, 수신된 오디오 데이터가 컴퓨팅 디바이스들의 각각의 컴퓨팅 디바이스에 의해 방출된 각각의 사운드를 포함하지 않으면, 컴퓨팅 디바이스(110)는 각 컴퓨팅 디바이스가 음성 발언을 만족시키기 위한 선택에 적합하지 않다고 결정할 수 있다.
일부 예에서, 컴퓨팅 디바이스(110)는 오디오 데이터에 기초하여 다른 컴퓨팅 디바이스들이 이용 가능한지(즉, 범위 내인지) 여부를 식별할 수 있다. 일부 예에서, 컴퓨팅 디바이스(110)는 오디오 데이터에 기초하여 다른 컴퓨팅 디바이스들의 추가 컨텍스트를 결정할 수 있다. 예를 들어, 컴퓨팅 디바이스(110)는 오디오 데이터에 기초하여 컴퓨팅 디바이스(110)와 각각의 다른 식별된 컴퓨팅 디바이스 사이의 근사 거리를 결정할 수 있다. 일부 예에서, 컴퓨팅 디바이스(110)는 다른 컴퓨팅 디바이스들에 의해 방출된 사운드의 수신된 음량(loudness)에 기초하여 근사 거리를 결정할 수 있다. 예를 들어, 오디오 데이터가 제 1 음량을 갖는 제 1 사운드 및 제 1 음량보다 낮은 제 2 음량을 갖는 제 2 사운드를 포함하는 경우, 컴퓨팅 디바이스(110)는 제 1 사운드를 방출한 컴퓨팅 디바이스가 제 2 사운드를 방출한 컴퓨팅보다 가깝다고 결정할 수 있다.
컴퓨팅 디바이스(110)는 음성 데이터에 기초하여 음성 발언을 결정할 수 있다(510). 예를 들어, 컴퓨팅 디바이스(110)는 음성 인식을 수행하여 사용자가 말한 쿼리 또는 다른 요청을 결정할 수 있다. 상술한 바와 같이, 일부 예에서, 컴퓨팅 디바이스(110)는 다른 컴퓨팅 디바이스들의 음성 인식 및 식별을 동시에 수행할 수 있다.
컴퓨팅 디바이스(110)는 컴퓨팅 디바이스(110) 및 식별된 다른 컴퓨팅 디바이스들로부터, 음성 발언을 만족시키는 하나 이상의 컴퓨팅 디바이스를 선택할 수 있다(512). 예를 들어, 식별된 다른 컴퓨팅 디바이스들의 특정 컴퓨팅 디바이스가 컴퓨팅 디바이스(110)보다 사용자 발언을 만족시키기에 더 적합한 경우, 컴퓨팅 디바이스(110)는 사용자 발언을 만족시키기 위해 특정 컴퓨팅 디바이스를 선택할 수 있다. 일 예로서, 컴퓨팅 디바이스(110)가 디스플레이를 포함하지 않고, 상기 발언이 디스플레이에 더 잘 만족되면(예를 들어, 사용자 발언이 "내 일정에 무엇이 있니"인 경우), 컴퓨팅 디바이스(110)는 발화를 만족시키는 디스플레이를 포함하는 상기 식별된 다른 컴퓨팅 디바이스들 중 하나의 컴퓨팅 디바이스를 선택할 수 있다. 예를 들어, 일정을 읽는 합성 음성보다 일정의 시각적 표현이 이해하기 더 쉽기 때문에 "내 일정에 무엇이 있니"이라는 발언은 디스플레이에 더 만족될 수 있다. 다른 예로서, 컴퓨팅 디바이스(110)가 디스플레이를 포함하고, 상기 발언이 더 큰 디스플레이에 더 잘 만족되면(예를 들어, 사용자 발언이 "비디오 재생"인 경우), 컴퓨팅 디바이스(110)는 발언을 만족시키기 위해 비교적 큰 디스플레이를 포함하는 상기 식별된 다른 컴퓨팅 디바이스들 중 하나의 컴퓨팅 디바이스를 선택할 수 있다. "비디오 재생"이라는 발언은 사용자가 더 큰 디스플레이(예를 들어, TV)에서 비디오를 시청하는 것이 덜 격렬하고 및/또는 보다 편안할 수 있기 때문에 상대적으로 큰 디스플레이에 더 만족될 수 있다. 다른 예로서, 컴퓨팅 디바이스(110)는 결정된 거리에 기초하여 상기 식별된 컴퓨팅 디바이스들 중 하나의 컴퓨팅 디바이스를 선택할 수 있다. 다른 예로서, 상기 식별된 디바이스가 무선 스피커를 포함하고 상기 발언에 대한 만족이 음악 재생을 포함하는 경우, 컴퓨팅 디바이스(110)는 음악을 재생하기 위해 무선 스피커를 선택할 수 있다.
컴퓨팅 디바이스(110)는 선택된 컴퓨팅 디바이스가 상기 음성 발언을 만족하도록 할 수 있다(514). 예를 들어, 컴퓨팅 디바이스(110)는 발언에 응답하여 상기 선택된 컴퓨팅 디바이스로 하여금 출력(예를 들어, 비디오 디스플레이, 그래픽 사용자 인터페이스 디스플레이, 사운드 방출 등)을 생성하도록 할 수 있다. 이러한 방식으로, 컴퓨팅 디바이스(110)는 발화에 대한 보다 높은 품질의 만족을 제공할 수 있다.
다음의 번호가 매겨진 예들은 본 발명의 하나 이상의 양태를 설명할 수 있다.
실시예 1. 방법은 현재의 컴퓨팅 디바이스의 마이크로폰에 의해 생성된 오디오 데이터를 수신하는 단계와; 오디오 데이터에 기초하여, 현재의 컴퓨팅 디바이스에서 활성화된 음성 수신에 응답하여 각각의 오디오 신호를 각각 방출하는 하나 이상의 컴퓨팅 디바이스를 식별하는 단계와; 그리고 상기 오디오 데이터에 기초하여 결정된 음성 발언을 만족시키기 위해 상기 식별된 하나 이상의 컴퓨팅 디바이스로부터 현재의 컴퓨팅 디바이스 또는 특정 컴퓨팅 디바이스 중 하나를 선택하는 단계를 포함한다.
실시예 2. 실시예 1에 있어서, 상기 현재 컴퓨팅 디바이스에 의해, 상기 음성 수신이 현재 컴퓨팅 디바이스에서 활성화되었다는 표시를 출력하는 단계를 더 포함한다.
실시예 3. 실시예 2에 있어서, 상기 현재의 컴퓨팅 디바이스는 특정 네트워크에 연결되고, 상기 음성 수신이 현재 컴퓨팅 디바이스에서 활성화되었다는 표시를 출력하는 단계는 현재의 컴퓨팅 디바이스에 의해, 상기 특정 네트워크에 접속된 하나 이상의 다른 컴퓨팅 디바이스로 하여금 각각의 오디오 신호를 방출하게 하는 단계를 포함하고, 상기 특정 네트워크에 연결된 하나 이상의 다른 컴퓨팅 디바이스는 상기 식별된 하나 이상의 컴퓨팅 디바이스를 포함한다.
실시예 4. 실시예 3에 있어서, 상기 음성 수신이 현재의 컴퓨팅 디바이스에서 활성화되었다는 표시는 서버 장치로 출력되고, 상기 특정 네트워크에 연결된 하나 이상의 다른 컴퓨팅 디바이스로 하여금 각각의 오디오 신호를 방출하게 하는 단계는 상기 현재의 컴퓨팅 디바이스에 의해, 상기 서버 디바이스로 하여금 상기 특정 네트워크에 연결된 하나 이상의 다른 컴퓨팅 디바이스로 각각의 오디오 신호를 방출하라는 요청을 출력하게 하는 단계를 포함한다.
실시예 5. 실시예 1 내지 실시예 4의 임의의 조합에 있어서, 상기 현재 컴퓨팅 디바이스는 특정 사용자 계정과 관련되고, 상기 음성 수신이 현재 컴퓨팅 디바이스에서 활성화되었다는 표시를 출력하는 단계는, 상기 현재의 컴퓨팅 디바이스에 의해, 상기 특정 사용자 계정과 관련된 하나 이상의 다른 컴퓨팅 디바이스로 하여금 각각의 오디오 신호를 방출하게 하는 단계를 포함하고, 상기 특정 사용자 계정과 관련된 하나 이상의 다른 컴퓨팅 디바이스는 식별된 하나 이상의 컴퓨팅 디바이스를 포함한다.
실시예 6. 실시예 1 내지 실시예 5의 임의의 조합에 있어서, 상기 음성 수신이 현재의 컴퓨팅 디바이스에서 활성화되었다는 표시는 서버 디바이스로 출력되고, 상기 특정 사용자 계정과 연관된 하나 이상의 다른 컴퓨팅 디바이스로 하여금 각각의 오디오 신호를 방출하게 하는 단계는, 상기 현재의 컴퓨팅 디바이스에 의해, 상기 서버 디바이스로 하여금 상기 특정 사용자 계정과 관련된 하나 이상의 다른 컴퓨팅 디바이스로 각각의 오디오 신호를 방출하라는 요청을 출력하게 하는 단계를 포함한다.
실시예 7. 실시예 1 내지 실시예 6의 임의의 조합에 있어서, 상기 현재 컴퓨팅 디바이스는 특정 네트워크에 연결되고 특정 사용자 계정과 관련되며, 상기 음성 수신이 현재의 컴퓨팅 디바이스에서 활성화되었다는 표시를 출력하는 단계는, 상기 현재의 컴퓨팅 디바이스에 의해, 상기 특정 사용자 계정과 관련된 상기 특정 네트워크에 연결된 하나 이상의 다른 컴퓨팅 디바이스로 하여금 각각의 오디오 신호를 방출하게 하는 단계를 포함하고, 상기 특정 사용자 계정과 관련된 상기 특정 네트워크에 연결된 하나 이상의 다른 컴퓨팅 디바이스는 상기 식별된 하나 이상의 컴퓨팅 디바이스를 포함한다.
실시예 8. 실시예 1 내지 실시예 7의 임의의 조합에 있어서, 서버 디바이스에 의해, 상기 현재의 컴퓨팅 디바이스와 관련된 하나 이상의 컴퓨팅 디바이스를 식별하는 단계와; 그리고 상기 음성 수신이 현재의 컴퓨팅 디바이스에서 활성화되었다는 표시를 수신하는 것에 응답하여, 상기 서버 디바이스에 의해 및 현재의 컴퓨팅 디바이스와 관련된 상기 식별된 하나 이상의 컴퓨팅 디바이스의 각 컴퓨팅 디바이스로, 각각의 오디로 신호를 방출하라는 요청을 추력하는 단계를 더 포함한다.
실시예 9. 실시예 1 내지 실시예 8의 임의의 조합에 있어서, 상기 현재 컴퓨팅 디바이스와 관련된 하나 이상의 컴퓨팅 디바이스를 식별하는 단계는, 상기 서버 디바이스에 의해, 상기 현재의 컴퓨팅 디바이스와 동일한 네트워크에 접속되고; 그리고 현재의 컴퓨팅 디바이스와 동일한 사용자 계정과 관련되는 것 중 하나 또는 둘 모두인 하나 이상의 컴퓨팅 디바이스를 식별하는 단계를 포함한다.
실시예 10. 실시예 1 내지 실시예 9의 임의의 조합에 있어서, 상기 식별하는 단계는, 상기 하나 이상의 각각의 컴퓨팅 디바이스에 의해 방출된 상기 각각의 오디오 신호에 기초하여, 상기 현재의 컴퓨팅 디바이스에 대한 컴퓨팅 디바이스의 각각의 근접도를 결정하는 단계를 포함한다.
실시예 10. 실시예 1 내지 실시예 9의 임의의 조합에 있어서, 상기 각각의 오디오 신호의 각 오디오 신호는 하나 이상의 고유한 오디오 특성을 갖는다.
실시예 11. 실시예 1 내지 실시예 10의 임의의 조합에 있어서, 상기 현재의 컴퓨팅 디바이스는 디스플레이를 포함하지 않으며, 상기 선택하는 단계는, 상기 디스플레이가 상기 음성 발언을 만족시키는데 필요하다는 결정에 응답하여, 상기 디스플레이를 포함하는 상기 식별된 하나 이상의 컴퓨팅 디바이스에 포함된 컴퓨팅 디바이스들로부터 특정 컴퓨팅 디바이스를 선택하는 단계를 포함한다.
실시예 12. 실시예 1 내지 실시예 11의 임의의 조합에 있어서, 상기 현재의 컴퓨팅 디바이스는 디스플레이를 포함하고, 상기 식별된 하나 이상의 컴퓨팅 디바이스로부터 컴퓨팅 디바이스를 선택하는 단계는, 상기 현재의 컴퓨팅 디바이스의 디스플레이보다 큰 디스플레이를 포함하는 상기 식별된 하나 이상의 컴퓨팅 디바이스에 포함된 컴퓨팅 디바이스들로부터 특정 컴퓨팅 디바이스를 선택하는 단계를 포함한다.
실시예 13. 실시예 1 내지 실시예 12의 임의의 조합에 있어서, 상기 현재의 컴퓨팅 디바이스는 디스플레이를 포함하고, 상기 식별된 하나 이상의 컴퓨팅 디바이스로부터 컴퓨팅 디바이스를 선택하는 단계는, 상기 현재의 컴퓨팅 디바이스의 디스플레이보다 큰 디스플레이를 포함하는 상기 식별된 하나 이상의 컴퓨팅 디바이스에 포함된 컴퓨팅 디바이스들로부터 특정 컴퓨팅 디바이스를 선택하는 단계를 포함한다.
실시예 14. 디바이스는 하나 이상의 마이크; 및 하나 이상의 프로세서를 포함하고, 상기 하나 이상의 프로세서는, 현재의 컴퓨팅 디바이스의 마이크로폰에 의해 생성된 오디오 데이터를 수신하고; 오디오 데이터에 기초하여, 현재의 컴퓨팅 디바이스에서 활성화된 음성 수신에 응답하여 각각의 오디오 신호를 각각 방출한 하나 이상의 컴퓨팅 디바이스를 식별하고; 그리고 상기 오디오 데이터에 기초하여 결정된 음성 발언을 만족시키기 위해 상기 식별된 하나 이상의 컴퓨팅 디바이스로부터 현재의 컴퓨팅 디바이스 또는 특정 컴퓨팅 디바이스 중 하나를 선택하도록 구성된다.
실시예 15. 실시예 14에 있어서, 상기 디바이스는 현재의 컴퓨팅 디바이스이고, 상기 현재의 컴퓨팅 디바이스는 하나 이상의 통신 유닛을 더 포함하고, 상기 하나 이상의 프로세서는, 상기 하나 이상의 통신 유닛을 통해, 음성 수신이 현재의 컴퓨팅 디바이스에서 활성화되었다는 표시를 수신하도록 더 구성된다.
실시예 16. 실시예 15에 있어서, 상기 현재의 컴퓨팅 디바이스는 특정 네트워크에 연결되고, 상기 음성 수신이 현재의 컴퓨팅 디바이스에서 활성화되었다는 표시를 출력하기 위해, 상기 하나 이상의 프로세서는, 상기 특정 네트워크에 연결된 하나 이상의 다른 컴퓨팅 디바이스로 하여금 각각의 오디오 신호를 방출하게 하도록 구성되고, 상기 특정 네트워크에 연결된 하나 이상의 다른 컴퓨팅 디바이스는 상기 식별된 하나 이상의 컴퓨팅 디바이스를 포함한다.
실시예 17. 실시예 14 내지 실시예 16의 임의의 조합에 있어서, 상기 현재의 컴퓨팅 디바이스는 특정 사용자 계정과 관련되고, 상기 음성 수신이 현재의 컴퓨팅 디바이스에서 활성화되었다는 표시를 출력하기 위해, 상기 하나 이상의 프로세서는, 상기 특정 사용자 계정과 관련된 하나 이상의 다른 컴퓨팅 디바이스로 하여금 각각의 오디오 신호를 방출하게 하도록 구성되고, 상기 특정 사용자 계정과 관련된 하나 이상의 다른 컴퓨팅 디바이스는 상기 식별된 하나 이상의 컴퓨팅 디바이스를 포함한다.
실시예 18. 실시예 14 내지 실시예 17의 임의의 조합에 있어서, 상기 하나 이상의 프로세서는 현재의 컴퓨팅 디바이스와 관련된 하나 이상의 컴퓨팅 디바이스를 식별하고; 상기 음성 수신이 현재의 컴퓨팅 디바이스에서 활성화되었다는 결정하는 것에 응답하여, 상기 현재의 컴퓨팅 디바이스와 관련된 상기 식별된 하나 이상의 컴퓨팅 디바이스의 각각의 컴퓨팅 디바이스로 각각의 오디오 신호를 방출하라는 요청을 출력하도록 더 구성된다.
실시예 19. 실시예 14 내지 실시예 18의 임의의 조합에 있어서, 현재의 컴퓨팅 디바이스와 관련된 하나 이상의 컴퓨팅 디바이스를 식별하기 위해, 상기 하나 이상의 프로세서는, 상기 현재의 컴퓨팅 디바이스와 동일한 네트워크에 접속되는 것; 및 상기 현재의 컴퓨팅 디바이스와 동일한 사용자 계정과 연관된 것 중 하나 또는 둘 모두인 하나 이상의 컴퓨팅 디바이스를 식별하도록 구성된다.
명령들을 저장하는 비-일시적 컴퓨터 판독 가능 저장 매체로서, 상기 명령들은 실행될 때, 컴퓨팅 디바이스의 하나 이상의 프로세서로 하여금: 현재의 컴퓨팅 디바이스의 마이크로폰에 의해 생성된 오디오 데이터를 수신하고; 오디오 데이터에 기초하여, 현재의 컴퓨팅 디바이스에서 활성화된 음성 수신에 응답하여 각각의 오디오 신호를 각각 방출한 하나 이상의 컴퓨팅 디바이스를 식별하고; 그리고 상기 오디오 데이터에 기초하여 결정된 음성 발언을 만족시키기 위해 상기 식별된 하나 이상의 컴퓨팅 디바이스로부터 현재의 컴퓨팅 디바이스 또는 특정 컴퓨팅 디바이스 중 하나를 선택하도록 한다.
실시예 21. 하나 이상의 프로세서로 하여금 실시예 1 내지 실시예 13의 임의의 조합의 방법을 수행하게 하는 명령들을 더 저장하는 비-일시적 컴퓨터 판독 가능 저장 매체.
실시예 22. 실시예 1 내지 실시예 13의 임의의 조합의 방법을 수행하기 위한 수단을 포함하는 디바이스.
본 명세서 전반에 걸쳐, 컴퓨팅 디바이스가 정보를 분석하기 위해 컴퓨팅 디바이스의 사용자로부터 허가를 수신한 경우에만, 컴퓨팅 디바이스 및/또는 컴퓨팅 시스템이 컴퓨팅 디바이스 및 그 컴퓨팅 디바이스의 사용자와 관련된 정보(예를 들어, 컨텍스트, 위치, 통신, 연락처, 채팅 대화, 음성 대화 등)를 분석하는 예들이 기술된다. 컴퓨팅 디바이스가 컴퓨팅 디바이스의 사용자로부터 정보를 분석하기 위한 허가를 수신하는 경우에만. 예를 들어, 아래에서 논의되는 상황들에서, 컴퓨팅 디바이스 또는 컴퓨팅 시스템에서 실행하는 어시스턴트가 사용자와 관련된 정보를 수집하거나 사용할 수 있기 전에, 사용자는 어시스턴트(또는 컴퓨팅 디바이스 및/또는 컴퓨팅 시스템의 다른 프로그램 또는 기능)가 사용자 정보를 수집 및 사용할 수 있는지 여부를 제어하거나 컴퓨팅 디바이스 및/또는 컴퓨팅 시스템이 사용자와 관련될 수 있는 컨텐츠를 수신할 수 있는지 여부 및/또는 방법을 지시하는 입력을 제공할 수 있는 기회가 사용자에게 부여될 수 있다. 또한, 특정 데이터는 개인 식별 정보가 제거될 수 있도록 상기 어시스턴트 또는 기본 컴퓨팅 디바이스 및/또는 컴퓨팅 시스템에 저장되거나 사용되기 전에 하나 이상의 방법으로 암호화 및/또는 취급된다. 예를 들어, 사용자의 신원은 처리되어 사용자에 대해 개인 식별 정보가 결정될 수 없도록 하거나 사용자의 특정 위치가 결정될 수 없도록 사용자의 지리적 위치를 위치 정보가 획득된 곳(예를 들어, 좌표 위치 또는 물리적 주소와 반대되는 도시, 우편 번호 또는 주와 같은)으로 일반화할 수 있다. 따라서, 사용자는 사용자에 관한 정보 수집 방법을 제어할 수 있으며, 어시스턴트 및 상기 어시스턴트를 실행하는 기본 컴퓨팅 디바이스 및 컴퓨팅 시스템에 의해 사용된다.
하나 이상의 예에서, 기술된 기능들은 하드웨어, 소프트웨어, 펌웨어 또는 이들의 임의의 조합으로 구현될 수 있다. 소프트웨어로 구현되는 경우, 상기 기능들은 하나 이상의 명령 또는 코드로서, 컴퓨터-판독 가능 매체 상에 저장되거나 전송될 수 있고 하드웨어-기반 처리 유닛에 의해 실행될 수 있다. 컴퓨터-판독 가능 매체는 예를 들어 통신 프로토콜에 따라, 한 장소에서 다른 장소로 컴퓨터 프로그램의 전송을 용이하게 하는 임의의 매체를 포함하는 통신 매체 또는 데이터 저장 매체와 같은 유형의(tangible) 매체에 대응하는 컴퓨터-판독 가능 저장 미디어 또는 매체를 포함할 수 있다. 이러한 방식으로, 컴퓨터-판독 가능 매체는 일반적으 로 (1) 비-일시적인 유형의 컴퓨터-판독 가능 저장 매체 또는 (2) 신호 또는 반송파와 같은 통신 매체에 대응할 수 있다. 데이터 저장 매체는 하나 이상의 컴퓨터 또는 하나 이상의 프로세서에 의해 액세스될 수 있는 임의의 이용 가능한 매체일 수 있으며, 본 명세서에서 설명된 기술의 구현을 위해 명령, 코드 및/또는 데이터 구조를 검색할 수 있다. 컴퓨터 프로그램 제품은 컴퓨터-판독 가능 매체를 포함할 수 있다.
예를 들어, 이러한 컴퓨터-판독 가능 저장 매체는 RAM, ROM, EEPROM, CD-ROM 또는 다른 광학 디스크 저장 장치(storage), 자기 디스크 저장 장치, 또는 다른 자기 저장 디바이스, 플래시 메모리, 또는 명령 또는 데이터 구조의 형태로 원하는 프로그램 코드를 저장하는데 사용될 수 있고 컴퓨터에 의해 액세스될 수 있는 임의의 다른 저장 매체를 포함할 수 있다. 또한, 임의의 접속은 적절하게 컴퓨터 판독 가능 매체로 지칭된다. 예를 들어, 동축 케이블, 광섬유 케이블, 연선(twisted pair), 디지털 가입자 회선(DSL) 또는 적외선, 무선 및 마이크로웨이브와 같은 무선 기술을 사용하여 웹 사이트, 서버 또는 다른 원격 소스에서 명령들이 전송되면, 동축 케이블, 광섬유 케이블, 연선, DSL 또는 적외선, 무선 및 마이크로웨이브와 같은 무선 기술은 매체의 정의에 포함된다. 그러나, 컴퓨터-판독 가능 저장 매체 및 미디어 및 데이터 저장 매체는 연결, 반송파, 신호 또는 다른 일시적인 매체를 포함하지 않지만 대신에 비-일시적인 유형의 저장 매체로 전달된다는 것을 이해해야 한다. 본 명세서에서 사용되는 디스크(disk) 및 디스크(disc)는, 디스크(disks)는 일반적으로 데이터를 자기적으로 재생하는 반면, 디스크(discs)는 레이저로 광학적으로 데이터를 재생하는 컴팩트 디스트(CD), 레이저 디스크, 광학 디스크, DVD(digital versatile disc), 플로피 디스크 및 블루 레이 디스크를 포함한다 . 상기의 조합은 또한 컴퓨터-판독 가능 매체의 범위 내에 포함되어야 한다.
명령들은 하나 이상의 디지털 신호 처리기(DSP), 범용 마이크로 프로세서, 주문형 집적 회로(ASIC), 필드 프로그래머블 로직 어레이(FPGA) 또는 집적된 등가물 또는 이산 논리 회로와 같은 하나 이상의 프로세서에 의해 실행될 수 있다. 따라서, 본 명세서에서 사용되는 "프로세서"라는 용어는 임의의 전술한 구조 또는 본 명세서에 기술된 기술들의 구현에 적합한 임의의 다른 구조를 지칭할 수 있다. 또한, 일부 양태들에서, 본 명세서에 설명된 기능성은 전용 하드웨어 및/또는 소프트웨어 모듈들 내에 제공될 수 있다. 또한, 기술들은 하나 이상의 회로 또는 로직 엘리먼트에서 완전히 구현될 수 있다.
본 발명의 기술들은 무선 핸드셋, 집적 회로(IC) 또는 IC 세트(예를 들어, 칩셋)를 포함하여 다양한 디바이스 또는 장치에서 구현될 수 있다. 본 발명에 개시된 기술을 수행하도록 구성된 장치의 기능적 측면을 강조하기 위해 다양한 컴포넌트, 모듈 또는 유닛이 본 발명에서 설명되지만, 반드시 상이한 하드웨어 유닛에 의한 구현을 요구하지는 않는다. 오히려, 상술한 바와 같이, 다양한 유닛은 적절한 소프트웨어 및/또는 펌웨어와 관련하여 상술한 바와 같은 하나 이상의 프로세서를 포함하는 하드웨어 유닛에서 결합되거나 상호 작용 하드웨어 유닛들의 집합에 의해 제공될 수 있다.
다양한 실시예가 설명되었다. 이들 및 다른 실시예는 다음의 청구 범위 내에 있다.

Claims (27)

  1. 배터리 구동(powered) 디바이스로서,
    하나 이상의 마이크로폰,
    특정 Wi-Fi 네트워크에 연결된 하나 이상의 Wi-Fi 네트워크 인터페이스;
    하나 이상의 프로세서; 및
    명령들을 저장하는 메모리를 포함하며, 상기 명령들은 실행될 때 하나 이상의 프로세서로 하여금:
    배터리 구동 디바이스의 버튼 작동(actuation)을 검출하고;
    버튼 작동을 검출하는 것에 응답하여:
    하나 이상의 Wi-Fi 네트워크 인터페이스를 통하여 특정 Wi-Fi 네트워크를 통해:
    배터리 구동 디바이스가 있는 물리적 환경에 위치하고 특정 Wi-Fi 네트워크에도 연결된 제2 컴퓨팅 디바이스가 제2 컴퓨팅 디바이스의 제2 디바이스 스피커 컴포넌트를 통해 제2 디바이스 오디오 신호를 방출하게 하고, 그리고
    물리적 환경에 위치하고 특정 Wi-Fi 네트워크에도 연결된 제3 컴퓨팅 디바이스가 제3 컴퓨팅 디바이스의 제3 디바이스 스피커 컴포넌트를 통해 제3 디바이스 오디오 신호를 방출하게 하는,
    요청을 전송하고, 상기 제2 디바이스 오디오 신호와 제3 디바이스 오디오 신호는 각각 인간의 청각 범위 위에 있고;
    배터리 구동 디바이스에서 배터리 구동 디바이스의 마이크로폰 중 하나 이상을 통해, 제2 디바이스 오디오 신호와 제3 디바이스 오디오 신호를 검출하고;
    제2 디바이스 오디오 신호와 제3 디바이스 오디오 신호의 검출에 기초하여, 적어도 제2 컴퓨팅 디바이스와 제3 컴퓨팅 디바이스 중에서 특정 컴퓨팅 디바이스를 선택하고; 그리고
    특정 컴퓨팅 디바이스를 선택하는 것에 응답하여, 특정 컴퓨팅 디바이스가 가청 출력을 제공하게 하는 것을 특징으로 하는 배터리 구동 디바이스.
  2. 제1항에 있어서,
    제2 디바이스 오디오 신호와 제3 디바이스 오디오 신호의 검출에 기초하여 특정 컴퓨팅 디바이스를 선택할 때, 하나 이상의 프로세서는,
    배터리 구동 디바이스에서 검출된 제2 디바이스 오디오 신호에 기초하여, 배터리 구동 디바이스에 대한 제2 컴퓨팅 디바이스의 제2 디바이스 근접도를 결정하고;
    배터리 구동 디바이스에서 검출된 제3 디바이스 오디오 신호에 기초하여, 배터리 구동 디바이스에 대한 제3 컴퓨팅 디바이스의 제3 디바이스 근접도를 결정하고; 그리고
    제2 디바이스 근접도 및 제3 디바이스 근접도에 기초하여 적어도 제2 컴퓨팅 디바이스와 제3 컴퓨팅 디바이스 중에서 특정 컴퓨팅 디바이스를 선택하는 것을 특징으로 하는 배터리 구동 디바이스.
  3. 제2항에 있어서,
    배터리 구동 디바이스에서 검출된 제2 디바이스 오디오 신호에 기초하여, 배터리 구동 디바이스에 대한 제2 컴퓨팅 디바이스의 제2 디바이스 근접도를 결정할 때, 하나 이상의 프로세서는,
    배터리 구동 디바이스에서 검출된 제2 디바이스 오디오 신호의 제2 디바이스 오디오 신호 강도에 기초하여 제2 디바이스 오디오 신호를 결정하는 것을 특징으로 하는 배터리 구동 디바이스.
  4. 제3항에 있어서,
    배터리 구동 디바이스에서 검출된 제3 디바이스 오디오 신호에 기초하여, 배터리 구동 디바이스에 대한 제3 컴퓨팅 디바이스의 제3 디바이스 근접도를 결정할 때, 하나 이상의 프로세서는,
    배터리 구동 디바이스에서 검출된 제3 디바이스 오디오 신호의 제3 디바이스 오디오 신호 강도에 기초하여 제3 디바이스 오디오 신호를 결정하는 것을 특징으로 하는 배터리 구동 디바이스.
  5. 제1항에 있어서,
    제2 디바이스 오디오 신호는 제2 디바이스 방출(emission) 주파수를 갖고, 그리고 제3 디바이스 오디오 신호는 제3 디바이스 방출 주파수를 갖는 것을 특징으로 하는 배터리 구동 디바이스.
  6. 제5항에 있어서,
    제2 디바이스 방출 주파수는 제3 디바이스 방출 주파수와 상이한 것을 특징으로 하는 배터리 구동 디바이스.
  7. 제1항에 있어서,
    특정 컴퓨팅 디바이스가 가청 출력을 제공하게 할 때, 하나 이상의 프로세서는 특정 컴퓨팅 디바이스가 가청 출력으로 음악을 재생하게 하는 것을 특징으로 하는 배터리 구동 디바이스.
  8. 제1항에 있어서,
    요청은 물리적 환경에 위치하며 특정 Wi-Fi 네트워크에도 연결된 제4 컴퓨팅 디바이스가 제4 컴퓨팅 디바이스의 제4 디바이스 스피커 컴포넌트를 통해 제4 디바이스 오디오 신호를 더 방출하게 하고, 상기 제4 디바이스 오디오 신호는 또한 인간의 청각 범위 위에 있으며, 그리고
    명령들을 실행할 때 하나 이상의 프로세서는 추가로,
    배터리 구동 디바이스에서, 배터리 구동 디바이스의 하나 이상의 마이크로폰을 통해 제4 디바이스 오디오 신호를 검출하고;
    특정 컴퓨팅 디바이스를 선택하는 것은 제4 디바이스 오디오 신호의 검출에 더 기초하고, 그리고 적어도 제2 컴퓨팅 디바이스, 제3 컴퓨팅 디바이스 및 제4 컴퓨팅 디바이스 중에서 선택되는 것을 특징으로 하는 배터리 구동 디바이스.
  9. 제1항에 있어서,
    요청을 전송할 때, 하나 이상의 프로세서는,
    제2 컴퓨팅 디바이스가 제2 디바이스 오디오 신호를 방출하게 하는 제2 디바이스 요청을 전송하고, 그리고
    제3 컴퓨팅 디바이스가 제 3 디바이스 오디오 신호를 방출하게 하는 제3 디바이스 요청을 전송하는 것을 특징으로 하는 배터리 구동 디바이스.
  10. 제9항에 있어서,
    제2 디바이스 요청은 제2 디바이스 오디오 신호의 하나 이상의 오디오 특성을 지정하고, 그리고
    제3 디바이스 요청은 제3 디바이스 오디오 신호의 하나 이상의 오디오 특성을 지정하는 것을 특징으로 하는 배터리 구동 디바이스.
  11. 제10항에 있어서,
    제2 디바이스 오디오 신호의 하나 이상의 오디오 특성은 제2 디바이스 오디오 신호에 대한 제2 디바이스 방출 주파수를 포함하고, 그리고
    제3 디바이스 오디오 신호의 하나 이상의 오디오 특성은 제3 디바이스 오디오 신호에 대한 제3 디바이스 방출 주파수를 포함하는 것을 특징으로 하는 배터리 구동 디바이스.
  12. 제11항에 있어서,
    제2 디바이스 방출 주파수는 제3 디바이스 방출 주파수와 상이한 것을 특징으로 하는 배터리 구동 디바이스.
  13. 제1항에 있어서,
    명령들을 실행할 때, 하나 이상의 프로세서는 추가로,
    제2 컴퓨팅 디바이스가 선택에 적합(eligible)하다고 결정하는 것을 특징으로 하는 배터리 구동 디바이스.
  14. 제13항에 있어서,
    명령들을 실행할 때, 하나 이상의 프로세서는 추가로,
    제3 컴퓨팅 디바이스가 선택에 적합하다고 결정하는 것을 특징으로 하는 배터리 구동 디바이스.
  15. 제14항에 있어서,
    명령들을 실행할 때, 하나 이상의 프로세서는 추가로,
    특정 Wi-Fi 네트워크에 연결된 제4 컴퓨팅 디바이스가 선택에 적합하지 않다고 결정하는 것을 특징으로 하는 배터리 구동 디바이스.
  16. 배터리 구동 디바이스로서,
    하나 이상의 마이크로폰,
    특정 Wi-Fi 네트워크에 연결된 하나 이상의 Wi-Fi 네트워크 인터페이스;
    하나 이상의 프로세서; 및
    명령들을 저장하는 메모리를 포함하고, 상기 명령들은 실행될 때 하나 이상의 프로세서로 하여금:
    배터리 구동 디바이스의 버튼 작동을 검출하고; 그리고
    버튼 작동을 검출하는 것에 응답하여:
    배터리 구동 디바이스에 의해 특정 Wi-Fi 네트워크를 통해,
    배터리 구동 디바이스가 있는 물리적 환경에 위치하고 특정 Wi-Fi 네트워크에도 연결된 제2 컴퓨팅 디바이스가 제2 컴퓨팅 디바이스의 제2 디바이스 스피커 컴포넌트를 통해 제2 디바이스 오디오 신호를 방출하게 하는 제2 디바이스 요청, 및
    물리적 환경에 위치하고 특정 Wi-Fi 네트워크에도 연결된 제3 컴퓨팅 디바이스가 제3 컴퓨팅 디바이스의 제3 디바이스 스피커 컴포넌트를 통해 제3 디바이스 오디오 신호를 방출하게 하는 제3 디바이스 요청을,
    전송하고, 상기 제2 디바이스 오디오 신호와 제3 디바이스 오디오 신호는 각각 인간의 청각 범위 위에 있고; 그리고
    제2 디바이스 요청 및 제3 디바이스 요청하는 것에 후속하여:
    배터리 구동 디바이스에서 배터리 구동 디바이스의 마이크로폰들 중 하나 이상을 통해, 제2 컴퓨팅 디바이스에 의해 방출된 제2 디바이스 오디오 신호 및 제3 컴퓨팅 디바이스에 의해 방출된 제3 디바이스 오디오 신호를 음향적으로 검출하고;
    배터리 구동 디바이스에서 검출된 제2 디바이스 오디오 신호 및 배터리 구동 디바이스에서 검출된 제3 디바이스 오디오 신호에 기초하여, 적어도 제2 컴퓨팅 디바이스와 제3 컴퓨팅 디바이스 중에서 특정 컴퓨팅 디바이스를 선택하고; 그리고
    특정 컴퓨팅 디바이스를 선택하는 것에 응답하여, 특정 컴퓨팅 디바이스가 가청 출력을 제공하게 하는 것을 특징으로 하는 배터리 구동 디바이스.
  17. 제16항에 있어서,
    제2 디바이스 오디오 신호는 제2 디바이스 방출 주파수를 갖고, 제3 디바이스 오디오 신호는 제3 디바이스 방출 주파수를 가지며, 그리고 제2 디바이스 방출 주파수는 제3 디바이스 방출 주파수와 상이한 것을 특징으로 하는 배터리 구동 디바이스.
  18. 제16항에 있어서,
    명령들을 실행할 때, 하나 이상의 프로세서는 추가로,
    배터리 구동 디바이스의 버튼 작동을 검출하는 것에 응답하여:
    배터리 구동 디바이스에 의해 특정 Wi-Fi 네트워크를 통해, 물리적 환경에 위치하고 특정 Wi-Fi 네트워크에도 연결된 제4 컴퓨팅 디바이스가 제4 컴퓨팅 디바이스의 제4 디바이스 스피커 컴포넌트를 통해 제4 디바이스 오디오 신호를 방출하게 하는 제4 디바이스 요청을 전송하고, 상기 제4 디바이스 오디오 신호는 또한 인간의 청각 범위 위에 있는 것을 특징으로 하는 배터리 구동 디바이스.
  19. 제18항에 있어서,
    명령들을 실행할 때, 하나 이상의 프로세서는 추가로,
    제4 디바이스 요청을 전송하는 것에 후속하여:
    배터리 구동 디바이스에서 배터리 구동 디바이스의 하나 이상의 마이크로폰을 통해, 제4 디바이스 오디오 신호를 검출하고;
    특정 컴퓨팅 디바이스를 선택하는 것은 배터리 구동 디바이스에서 검출된 제4 디바이스 오디오 신호에 더 기초하고, 그리고 적어도 제2 컴퓨팅 디바이스, 제3 컴퓨팅 디바이스 및 제4 컴퓨팅 디바이스 중에서 선택되는 것을 특징으로 하는 배터리 구동 디바이스.
  20. 제16항에 있어서,
    제2 디바이스 요청은 제2 디바이스 오디오 신호의 하나 이상의 오디오 특성을 지정하고, 그리고
    제3 디바이스 요청은 제3 디바이스 오디오 신호의 하나 이상의 오디오 특성을 지정하는 것을 특징으로 하는 배터리 구동 디바이스.
  21. 제20항에 있어서,
    제2 디바이스 오디오 신호의 하나 이상의 오디오 특성은 제2 디바이스 오디오 신호에 대한 제2 디바이스 방출 주파수를 포함하고, 제3 디바이스 오디오 신호의 하나 이상의 오디오 특성은 제3 디바이스 오디오 신호에 대한 제3 디바이스 방출 주파수를 포함하고, 그리고 제2 디바이스 방출 주파수는 제3 디바이스 방출 주파수와 상이한 것을 특징으로 하는 배터리 구동 디바이스.
  22. 제20항에 있어서,
    명령들을 실행할 때, 하나 이상의 프로세서는 추가로,
    제2 컴퓨팅 디바이스가 선택에 적합하다고 결정하고; 그리고
    제3 컴퓨팅 디바이스가 선택에 적합하다고 결정하는 것을 특징으로 하는 배터리 구동 디바이스.
  23. 제22항에 있어서,
    명령들을 실행할 때, 하나 이상의 프로세서는 추가로,
    특정 Wi-Fi 네트워크에 연결된 제4 컴퓨팅 디바이스가 선택에 적합하지 않다고 결정하는 것을 특징으로 하는 배터리 구동 디바이스.
  24. 제16항에 있어서,
    명령들을 실행할 때, 하나 이상의 프로세서는 추가로,
    제2 컴퓨팅 디바이스가 선택에 적합하다고 결정하고;
    제3 컴퓨팅 디바이스가 선택에 적합하다고 결정하고; 그리고
    특정 Wi-Fi 네트워크에 연결된 제4 컴퓨팅 디바이스가 선택에 적합하지 않다고 결정하는 것을 특징으로 하는 배터리 구동 디바이스.
  25. 특정 Wi-Fi 네트워크에 연결된 제1 컴퓨팅 디바이스의 하나 이상의 프로세서에 의해 구현되는 방법으로서, 상기 방법은,
    제1 컴퓨팅 디바이스의 버튼 작동을 검출하는 단계와; 그리고
    버튼 작동을 검출하는 것에 응답하여:
    제1 컴퓨팅 디바이스에 의해 특정 Wi-Fi 네트워크를 통해:
    제1 컴퓨팅 디바이스가 있는 물리적 환경에 위치하고 특정 Wi-Fi 네트워크에도 연결된 제2 컴퓨팅 디바이스가 제2 컴퓨팅 디바이스의 제2 디바이스 스피커 컴포넌트를 통해 제2 디바이스 오디오 신호를 방출하게 하는 제2 디바이스 요청, 및
    물리적 환경에 위치하고 특정 Wi-Fi 네트워크에도 연결된 제3 컴퓨팅 디바이스가 제3 컴퓨팅 디바이스의 제3 디바이스 스피커 컴포넌트를 통해 제3 디바이스 오디오 신호를 방출하게 하는 제3 디바이스 요청을,
    전송하는 단계와, 상기 제2 디바이스 오디오 신호와 제3 디바이스 오디오 신호는 각각 인간의 청각 범위 위에 있고; 그리고
    제2 디바이스 요청과 제3 디바이스 요청을 전송하는 것에 후속하여:
    제1 컴퓨팅 디바이스에서 제1 컴퓨팅 디바이스의 하나 이상의 마이크로폰을 통해, 제2 컴퓨팅 디바이스에 의해 방출된 제2 디바이스 오디오 신호 및 제3 컴퓨팅 디바이스에 의해 방출된 제3 디바이스 오디오 신호를 음향적으로 검출하는 단계와;
    제1 컴퓨팅 디바이스에서 검출된 제2 디바이스 오디오 신호 및 제1 컴퓨팅 디바이스에서 검출된 제3 디바이스 오디오 신호에 기초하여, 적어도 제2 컴퓨팅 디바이스와 제3 컴퓨팅 디바이스 중에서 특정 컴퓨팅 디바이스를 선택하는 단계와; 그리고
    특정 컴퓨팅 디바이스를 선택하는 것에 응답하여, 특정 컴퓨팅 디바이스가 가청 출력을 제공하게 하는 단계를 포함하는 것을 특징으로 하는 하나 이상의 프로세서에 의해 구현되는 방법.
  26. 제25항에 있어서,
    제2 디바이스 요청은 제2 디바이스 오디오 신호의 하나 이상의 오디오 특성을 지정하고,
    제3 디바이스 요청은 제3 디바이스 오디오 신호의 하나 이상의 오디오 특성을 지정하고,
    제2 디바이스 오디오 신호의 하나 이상의 오디오 특성은 제2 디바이스 오디오 신호에 대한 제2 디바이스 방출 주파수를 포함하고,
    제3 디바이스 오디오 신호의 하나 이상의 오디오 특성은 제3 디바이스 오디오 신호에 대한 제3 디바이스 방출 주파수를 포함하고, 그리고
    제2 디바이스 방출 주파수는 제3 디바이스 방출 주파수와 상이한 것을 특징으로 하는 하나 이상의 프로세서에 의해 구현되는 방법.
  27. 제25항에 있어서,
    제2 컴퓨팅 디바이스가 선택에 적합하다고 결정하는 단계;
    제3 컴퓨팅 디바이스가 선택에 적합하다고 결정하는 단계; 및
    특정 Wi-Fi 네트워크에 연결된 제4 컴퓨팅 디바이스가 선택에 적합하지 않다고 결정하는 단계를 더 포함하는 것을 특징으로 하는 하나 이상의 프로세서에 의해 구현되는 방법.
KR1020227022118A 2016-11-18 2017-10-31 컴퓨팅 디바이스 근처의 가상 어시스턴트 식별 KR102552555B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020237022526A KR102639229B1 (ko) 2016-11-18 2017-10-31 컴퓨팅 디바이스 근처의 가상 어시스턴트 식별

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US15/355,336 US10332523B2 (en) 2016-11-18 2016-11-18 Virtual assistant identification of nearby computing devices
US15/355,336 2016-11-18
PCT/US2017/059342 WO2018093563A1 (en) 2016-11-18 2017-10-31 Virtual assistant identification of nearby computing devices
KR1020217021766A KR102416384B1 (ko) 2016-11-18 2017-10-31 컴퓨팅 디바이스 근처의 가상 어시스턴트 식별

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020217021766A Division KR102416384B1 (ko) 2016-11-18 2017-10-31 컴퓨팅 디바이스 근처의 가상 어시스턴트 식별

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020237022526A Division KR102639229B1 (ko) 2016-11-18 2017-10-31 컴퓨팅 디바이스 근처의 가상 어시스턴트 식별

Publications (2)

Publication Number Publication Date
KR20220098808A true KR20220098808A (ko) 2022-07-12
KR102552555B1 KR102552555B1 (ko) 2023-07-06

Family

ID=60270144

Family Applications (5)

Application Number Title Priority Date Filing Date
KR1020237022526A KR102639229B1 (ko) 2016-11-18 2017-10-31 컴퓨팅 디바이스 근처의 가상 어시스턴트 식별
KR1020247005291A KR20240025709A (ko) 2016-11-18 2017-10-31 컴퓨팅 디바이스 근처의 가상 어시스턴트 식별
KR1020227022118A KR102552555B1 (ko) 2016-11-18 2017-10-31 컴퓨팅 디바이스 근처의 가상 어시스턴트 식별
KR1020217021766A KR102416384B1 (ko) 2016-11-18 2017-10-31 컴퓨팅 디바이스 근처의 가상 어시스턴트 식별
KR1020197015790A KR102278659B1 (ko) 2016-11-18 2017-10-31 컴퓨팅 디바이스 근처의 가상 어시스턴트 식별

Family Applications Before (2)

Application Number Title Priority Date Filing Date
KR1020237022526A KR102639229B1 (ko) 2016-11-18 2017-10-31 컴퓨팅 디바이스 근처의 가상 어시스턴트 식별
KR1020247005291A KR20240025709A (ko) 2016-11-18 2017-10-31 컴퓨팅 디바이스 근처의 가상 어시스턴트 식별

Family Applications After (2)

Application Number Title Priority Date Filing Date
KR1020217021766A KR102416384B1 (ko) 2016-11-18 2017-10-31 컴퓨팅 디바이스 근처의 가상 어시스턴트 식별
KR1020197015790A KR102278659B1 (ko) 2016-11-18 2017-10-31 컴퓨팅 디바이스 근처의 가상 어시스턴트 식별

Country Status (8)

Country Link
US (8) US10332523B2 (ko)
EP (1) EP3523797B1 (ko)
JP (1) JP6640430B1 (ko)
KR (5) KR102639229B1 (ko)
CN (1) CN108073382B (ko)
DE (6) DE102017012396B3 (ko)
GB (1) GB2556993B (ko)
WO (1) WO2018093563A1 (ko)

Families Citing this family (106)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8677377B2 (en) 2005-09-08 2014-03-18 Apple Inc. Method and apparatus for building an intelligent automated assistant
US9318108B2 (en) 2010-01-18 2016-04-19 Apple Inc. Intelligent automated assistant
US8977255B2 (en) 2007-04-03 2015-03-10 Apple Inc. Method and system for operating a multi-function portable electronic device using voice-activation
US8676904B2 (en) 2008-10-02 2014-03-18 Apple Inc. Electronic devices with voice command and contextual data processing capabilities
US10706373B2 (en) 2011-06-03 2020-07-07 Apple Inc. Performing actions associated with task items that represent tasks to perform
US10276170B2 (en) 2010-01-18 2019-04-30 Apple Inc. Intelligent automated assistant
US8682667B2 (en) 2010-02-25 2014-03-25 Apple Inc. User profiling for selecting user specific voice input processing information
US10417037B2 (en) 2012-05-15 2019-09-17 Apple Inc. Systems and methods for integrating third party services with a digital assistant
KR102516577B1 (ko) 2013-02-07 2023-04-03 애플 인크. 디지털 어시스턴트를 위한 음성 트리거
US10652394B2 (en) 2013-03-14 2020-05-12 Apple Inc. System and method for processing voicemail
US10748529B1 (en) 2013-03-15 2020-08-18 Apple Inc. Voice activated device for use with a voice-based digital assistant
KR101922663B1 (ko) 2013-06-09 2018-11-28 애플 인크. 디지털 어시스턴트의 둘 이상의 인스턴스들에 걸친 대화 지속성을 가능하게 하기 위한 디바이스, 방법 및 그래픽 사용자 인터페이스
US10176167B2 (en) 2013-06-09 2019-01-08 Apple Inc. System and method for inferring user intent from speech inputs
WO2015020942A1 (en) 2013-08-06 2015-02-12 Apple Inc. Auto-activating smart responses based on activities from remote devices
US10296160B2 (en) 2013-12-06 2019-05-21 Apple Inc. Method for extracting salient dialog usage from live data
US10170123B2 (en) 2014-05-30 2019-01-01 Apple Inc. Intelligent assistant for home automation
US9715875B2 (en) 2014-05-30 2017-07-25 Apple Inc. Reducing the need for manual start/end-pointing and trigger phrases
US9430463B2 (en) 2014-05-30 2016-08-30 Apple Inc. Exemplar-based natural language processing
WO2015184186A1 (en) 2014-05-30 2015-12-03 Apple Inc. Multi-command single utterance input method
US9633004B2 (en) 2014-05-30 2017-04-25 Apple Inc. Better resolution when referencing to concepts
US9338493B2 (en) 2014-06-30 2016-05-10 Apple Inc. Intelligent automated assistant for TV user interactions
US9668121B2 (en) 2014-09-30 2017-05-30 Apple Inc. Social reminders
US10127911B2 (en) 2014-09-30 2018-11-13 Apple Inc. Speaker identification and unsupervised speaker adaptation techniques
US10152299B2 (en) 2015-03-06 2018-12-11 Apple Inc. Reducing response latency of intelligent automated assistants
US9886953B2 (en) 2015-03-08 2018-02-06 Apple Inc. Virtual assistant activation
US9721566B2 (en) 2015-03-08 2017-08-01 Apple Inc. Competing devices responding to voice triggers
US10460227B2 (en) 2015-05-15 2019-10-29 Apple Inc. Virtual assistant in a communication session
US10200824B2 (en) 2015-05-27 2019-02-05 Apple Inc. Systems and methods for proactively identifying and surfacing relevant content on a touch-sensitive device
US10083688B2 (en) 2015-05-27 2018-09-25 Apple Inc. Device voice control for selecting a displayed affordance
US9578173B2 (en) 2015-06-05 2017-02-21 Apple Inc. Virtual assistant aided communication with 3rd party service in a communication session
US20160378747A1 (en) 2015-06-29 2016-12-29 Apple Inc. Virtual assistant for media playback
US10740384B2 (en) 2015-09-08 2020-08-11 Apple Inc. Intelligent automated assistant for media search and playback
US10331312B2 (en) 2015-09-08 2019-06-25 Apple Inc. Intelligent automated assistant in a media environment
US10671428B2 (en) 2015-09-08 2020-06-02 Apple Inc. Distributed personal assistant
US10747498B2 (en) 2015-09-08 2020-08-18 Apple Inc. Zero latency digital assistant
US10691473B2 (en) 2015-11-06 2020-06-23 Apple Inc. Intelligent automated assistant in a messaging environment
US10956666B2 (en) 2015-11-09 2021-03-23 Apple Inc. Unconventional virtual assistant interactions
US10223066B2 (en) 2015-12-23 2019-03-05 Apple Inc. Proactive assistance based on dialog communication between devices
US11227589B2 (en) 2016-06-06 2022-01-18 Apple Inc. Intelligent list reading
US10586535B2 (en) 2016-06-10 2020-03-10 Apple Inc. Intelligent digital assistant in a multi-tasking environment
DK201670540A1 (en) 2016-06-11 2018-01-08 Apple Inc Application integration with a digital assistant
DK179415B1 (en) 2016-06-11 2018-06-14 Apple Inc Intelligent device arbitration and control
US10474753B2 (en) 2016-09-07 2019-11-12 Apple Inc. Language identification using recurrent neural networks
US10332523B2 (en) 2016-11-18 2019-06-25 Google Llc Virtual assistant identification of nearby computing devices
US11204787B2 (en) 2017-01-09 2021-12-21 Apple Inc. Application integration with a digital assistant
US10467509B2 (en) * 2017-02-14 2019-11-05 Microsoft Technology Licensing, Llc Computationally-efficient human-identifying smart assistant computer
US10438584B2 (en) * 2017-04-07 2019-10-08 Google Llc Multi-user virtual assistant for verbal device control
DK201770383A1 (en) 2017-05-09 2018-12-14 Apple Inc. USER INTERFACE FOR CORRECTING RECOGNITION ERRORS
US10726832B2 (en) 2017-05-11 2020-07-28 Apple Inc. Maintaining privacy of personal information
DK180048B1 (en) 2017-05-11 2020-02-04 Apple Inc. MAINTAINING THE DATA PROTECTION OF PERSONAL INFORMATION
US10395654B2 (en) 2017-05-11 2019-08-27 Apple Inc. Text normalization based on a data-driven learning network
US11301477B2 (en) 2017-05-12 2022-04-12 Apple Inc. Feedback analysis of a digital assistant
DK179745B1 (en) 2017-05-12 2019-05-01 Apple Inc. SYNCHRONIZATION AND TASK DELEGATION OF A DIGITAL ASSISTANT
DK201770427A1 (en) 2017-05-12 2018-12-20 Apple Inc. LOW-LATENCY INTELLIGENT AUTOMATED ASSISTANT
DK179496B1 (en) 2017-05-12 2019-01-15 Apple Inc. USER-SPECIFIC Acoustic Models
DK201770411A1 (en) 2017-05-15 2018-12-20 Apple Inc. MULTI-MODAL INTERFACES
US20180336275A1 (en) 2017-05-16 2018-11-22 Apple Inc. Intelligent automated assistant for media exploration
US10311144B2 (en) 2017-05-16 2019-06-04 Apple Inc. Emoji word sense disambiguation
US20180336892A1 (en) 2017-05-16 2018-11-22 Apple Inc. Detecting a trigger of a digital assistant
DK179560B1 (en) 2017-05-16 2019-02-18 Apple Inc. FAR-FIELD EXTENSION FOR DIGITAL ASSISTANT SERVICES
US10847163B2 (en) * 2017-06-20 2020-11-24 Lenovo (Singapore) Pte. Ltd. Provide output reponsive to proximate user input
US10425780B1 (en) * 2018-02-22 2019-09-24 Amazon Technologies, Inc. Outputting notifications using device groups
US10592604B2 (en) 2018-03-12 2020-03-17 Apple Inc. Inverse text normalization for automatic speech recognition
US10818288B2 (en) 2018-03-26 2020-10-27 Apple Inc. Natural assistant interaction
US10928918B2 (en) 2018-05-07 2021-02-23 Apple Inc. Raise to speak
US11145294B2 (en) 2018-05-07 2021-10-12 Apple Inc. Intelligent automated assistant for delivering content from user experiences
DK201870355A1 (en) 2018-06-01 2019-12-16 Apple Inc. VIRTUAL ASSISTANT OPERATION IN MULTI-DEVICE ENVIRONMENTS
DK179822B1 (da) 2018-06-01 2019-07-12 Apple Inc. Voice interaction at a primary device to access call functionality of a companion device
US10892996B2 (en) 2018-06-01 2021-01-12 Apple Inc. Variable latency device coordination
DK180639B1 (en) 2018-06-01 2021-11-04 Apple Inc DISABILITY OF ATTENTION-ATTENTIVE VIRTUAL ASSISTANT
US10944859B2 (en) 2018-06-03 2021-03-09 Apple Inc. Accelerated task performance
KR102574903B1 (ko) 2018-08-08 2023-09-05 삼성전자주식회사 개인화된 장치 연결을 지원하는 전자 장치 및 그 방법
KR20230145521A (ko) 2018-08-23 2023-10-17 구글 엘엘씨 멀티-어시스턴트 환경의 특성에 따른 어시스턴트 응답성 규정하기
US11010561B2 (en) 2018-09-27 2021-05-18 Apple Inc. Sentiment prediction from textual data
US10839159B2 (en) 2018-09-28 2020-11-17 Apple Inc. Named entity normalization in a spoken dialog system
US11170166B2 (en) 2018-09-28 2021-11-09 Apple Inc. Neural typographical error modeling via generative adversarial networks
US11462215B2 (en) 2018-09-28 2022-10-04 Apple Inc. Multi-modal inputs for voice commands
US11475898B2 (en) 2018-10-26 2022-10-18 Apple Inc. Low-latency multi-speaker speech recognition
US11638059B2 (en) 2019-01-04 2023-04-25 Apple Inc. Content playback on multiple devices
US11348573B2 (en) 2019-03-18 2022-05-31 Apple Inc. Multimodality in digital assistant systems
US11316867B2 (en) 2019-04-23 2022-04-26 Microsoft Technology Licensing, Llc Generated audio signal granting access to resource
US11949677B2 (en) * 2019-04-23 2024-04-02 Microsoft Technology Licensing, Llc Resource access based on audio signal
US11423908B2 (en) 2019-05-06 2022-08-23 Apple Inc. Interpreting spoken requests
DK201970509A1 (en) 2019-05-06 2021-01-15 Apple Inc Spoken notifications
US11307752B2 (en) 2019-05-06 2022-04-19 Apple Inc. User configurable task triggers
US11475884B2 (en) 2019-05-06 2022-10-18 Apple Inc. Reducing digital assistant latency when a language is incorrectly determined
US11140099B2 (en) * 2019-05-21 2021-10-05 Apple Inc. Providing message response suggestions
US11056114B2 (en) 2019-05-30 2021-07-06 International Business Machines Corporation Voice response interfacing with multiple smart devices of different types
US11496600B2 (en) 2019-05-31 2022-11-08 Apple Inc. Remote execution of machine-learned models
DK180129B1 (en) 2019-05-31 2020-06-02 Apple Inc. USER ACTIVITY SHORTCUT SUGGESTIONS
US11289073B2 (en) 2019-05-31 2022-03-29 Apple Inc. Device text to speech
DK201970510A1 (en) 2019-05-31 2021-02-11 Apple Inc Voice identification in digital assistant systems
US11227599B2 (en) 2019-06-01 2022-01-18 Apple Inc. Methods and user interfaces for voice-based control of electronic devices
US11360641B2 (en) 2019-06-01 2022-06-14 Apple Inc. Increasing the relevance of new available information
WO2021056255A1 (en) 2019-09-25 2021-04-01 Apple Inc. Text detection using global geometry estimators
US11665013B1 (en) * 2019-12-13 2023-05-30 Amazon Technologies, Inc. Output device selection
CN111312239B (zh) * 2020-01-20 2023-09-26 北京小米松果电子有限公司 响应方法、装置、电子设备及存储介质
US11183193B1 (en) 2020-05-11 2021-11-23 Apple Inc. Digital assistant hardware abstraction
US11061543B1 (en) 2020-05-11 2021-07-13 Apple Inc. Providing relevant data items based on context
US11810578B2 (en) 2020-05-11 2023-11-07 Apple Inc. Device arbitration for digital assistant-based intercom systems
US11755276B2 (en) 2020-05-12 2023-09-12 Apple Inc. Reducing description length based on confidence
US11490204B2 (en) 2020-07-20 2022-11-01 Apple Inc. Multi-device audio adjustment coordination
US11438683B2 (en) 2020-07-21 2022-09-06 Apple Inc. User identification using headphones
US11886281B2 (en) 2021-08-13 2024-01-30 Bank Of America Corporation Artificial intelligence engine providing automated error resolution
US11915698B1 (en) * 2021-09-29 2024-02-27 Amazon Technologies, Inc. Sound source localization
US12013927B2 (en) 2022-03-23 2024-06-18 Bank Of America Corporation System and method for generating and monitoring dynamic identifiers for data processing security

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003223188A (ja) * 2002-01-29 2003-08-08 Toshiba Corp 音声入力システム、音声入力方法及び音声入力プログラム
KR20100022297A (ko) * 2008-08-19 2010-03-02 주식회사 에스원 3차원 음원 위치 측정 기술을 이용한 침입 감지 장치 및 방법
KR20150054703A (ko) * 2013-11-12 2015-05-20 구글 인코포레이티드 착용 가능 컴퓨팅 디바이스로의 알림 재전송
JP2016519805A (ja) * 2013-03-14 2016-07-07 ロウルズ リミテッド ライアビリティ カンパニー 複数のデバイス上でコンテンツを提供すること

Family Cites Families (86)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6069621A (en) 1994-05-10 2000-05-30 Schupak; Donald Distributed computer system for providing audio, video, and information signals to plural modules throughout a home
US5623652A (en) * 1994-07-25 1997-04-22 Apple Computer, Inc. Method and apparatus for searching for information in a network and for controlling the display of searchable information on display devices in the network
US5625697A (en) 1995-05-08 1997-04-29 Lucent Technologies Inc. Microphone selection process for use in a multiple microphone voice actuated switching system
US5867223A (en) * 1995-07-17 1999-02-02 Gateway 2000, Inc. System for assigning multichannel audio signals to independent wireless audio output devices
US6169789B1 (en) * 1996-12-16 2001-01-02 Sanjay K. Rao Intelligent keyboard system
US6038614A (en) 1998-01-05 2000-03-14 Gateway 2000, Inc. Active volume control with hot key
US6185535B1 (en) * 1998-10-16 2001-02-06 Telefonaktiebolaget Lm Ericsson (Publ) Voice control of a user interface to service applications
US8271287B1 (en) * 2000-01-14 2012-09-18 Alcatel Lucent Voice command remote control system
US20030167335A1 (en) 2002-03-04 2003-09-04 Vigilos, Inc. System and method for network-based communication
US7184960B2 (en) 2002-06-28 2007-02-27 Intel Corporation Speech recognition command via an intermediate mobile device
US7266347B2 (en) * 2003-06-10 2007-09-04 Gross John N Remote monitoring device and process
US8627213B1 (en) * 2004-08-10 2014-01-07 Hewlett-Packard Development Company, L.P. Chat room system to provide binaural sound at a user location
EP1672471A1 (en) * 2004-12-14 2006-06-21 Thomson Multimedia Broadband Belgium Content playback device with touch screen
TW200704183A (en) * 2005-01-27 2007-01-16 Matrix Tv Dynamic mosaic extended electronic programming guide for television program selection and display
US20070055528A1 (en) * 2005-08-30 2007-03-08 Dmitry Malyshev Teaching aid and voice game system
JP4823687B2 (ja) * 2005-12-28 2011-11-24 オリンパスメディカルシステムズ株式会社 手術システム制御装置
JP2008059099A (ja) * 2006-08-29 2008-03-13 Access Co Ltd 情報表示装置、情報表示プログラム、および情報表示システム
US8050930B2 (en) * 2008-05-01 2011-11-01 International Business Machines Corporation Telephone voice command enabled computer administration method and system
US8676904B2 (en) 2008-10-02 2014-03-18 Apple Inc. Electronic devices with voice command and contextual data processing capabilities
US9549717B2 (en) 2009-09-16 2017-01-24 Storz Endoskop Produktions Gmbh Wireless command microphone management for voice controlled surgical system
JP5321390B2 (ja) * 2009-09-28 2013-10-23 沖電気工業株式会社 音声通信装置及びプログラム
US8442198B2 (en) 2009-10-20 2013-05-14 Broadcom Corporation Distributed multi-party conferencing system
US10276170B2 (en) * 2010-01-18 2019-04-30 Apple Inc. Intelligent automated assistant
EP2537350A4 (en) * 2010-02-17 2016-07-13 Nokia Technologies Oy PROCESSING AN AUDIO RECORDING OF MULTIPLE DEVICES
US8656081B2 (en) * 2010-03-12 2014-02-18 The United States Of America As Represented By The Secretary Of The Navy System and method for coordinating control of an output device by multiple control consoles
US8635066B2 (en) 2010-04-14 2014-01-21 T-Mobile Usa, Inc. Camera-assisted noise cancellation and speech recognition
KR101712666B1 (ko) * 2010-05-14 2017-03-06 엘지전자 주식회사 전자 기기 및 전자 기기의 컨텐츠 공유 방법
US8789131B2 (en) * 2010-05-14 2014-07-22 Lg Electronics Inc. Electronic device and method of sharing contents thereof with other devices
EP2402860B1 (en) * 2010-06-29 2020-10-07 Brother Kogyo Kabushiki Kaisha Data processing apparatus
US8359020B2 (en) * 2010-08-06 2013-01-22 Google Inc. Automatically monitoring for voice input based on context
GB2484140B (en) 2010-10-01 2017-07-12 Asio Ltd Data communication system
US20130051572A1 (en) 2010-12-08 2013-02-28 Creative Technology Ltd Method for optimizing reproduction of audio signals from an apparatus for audio reproduction
WO2012078079A2 (en) * 2010-12-10 2012-06-14 Yota Devices Ipr Ltd Mobile device with user interface
US8903892B2 (en) * 2011-05-19 2014-12-02 Oasys Healthcare Corporation Software based system for control of devices
US20160277808A1 (en) * 2011-08-08 2016-09-22 Lei Yu System and method for interactive second screen
US8996753B2 (en) 2011-10-07 2015-03-31 Qualcomm Incorporated Mobile device peripheral device location and connection
US9491404B2 (en) 2011-10-27 2016-11-08 Polycom, Inc. Compensating for different audio clocks between devices using ultrasonic beacon
KR101659674B1 (ko) * 2011-11-27 2016-09-30 가부시키가이샤 시너지드라이브 보이스 링크 시스템
US9084058B2 (en) 2011-12-29 2015-07-14 Sonos, Inc. Sound field calibration using listener localization
US8825020B2 (en) 2012-01-12 2014-09-02 Sensory, Incorporated Information access and device control using mobile phones and audio in the home environment
JP5944689B2 (ja) 2012-02-22 2016-07-05 クラリオン株式会社 車載機、および、車載機の表示制御システム
US20150228274A1 (en) * 2012-10-26 2015-08-13 Nokia Technologies Oy Multi-Device Speech Recognition
US9082413B2 (en) * 2012-11-02 2015-07-14 International Business Machines Corporation Electronic transaction authentication based on sound proximity
US9875741B2 (en) * 2013-03-15 2018-01-23 Google Llc Selective speech recognition for chat and digital personal assistant systems
US9264801B2 (en) 2012-12-04 2016-02-16 Storz Endoskop Produktions Gmbh System and method for pairing a command device incorporating a microphone to a remotely controlled medical system
US9271111B2 (en) * 2012-12-14 2016-02-23 Amazon Technologies, Inc. Response endpoint selection
US20140172140A1 (en) * 2012-12-17 2014-06-19 Lookout Inc. Method and apparatus for cross device audio sharing
US9860386B2 (en) * 2013-01-22 2018-01-02 Unify Gmbh & Co. Kg Communication apparatus and method
WO2014149695A1 (en) * 2013-03-15 2014-09-25 Applied Materials, Inc. Apparatus for material spray deposition of high solid percentage slurries for battery active material manufacture applications
US9491033B1 (en) 2013-04-22 2016-11-08 Amazon Technologies, Inc. Automatic content transfer
US20140331145A1 (en) * 2013-05-06 2014-11-06 Nvidia Corporation Enhancing a remote desktop with meta-information
US9575720B2 (en) * 2013-07-31 2017-02-21 Google Inc. Visual confirmation for a recognized voice-initiated action
US20150074524A1 (en) * 2013-09-10 2015-03-12 Lenovo (Singapore) Pte. Ltd. Management of virtual assistant action items
US9564128B2 (en) 2013-12-09 2017-02-07 Qualcomm Incorporated Controlling a speech recognition process of a computing device
US20150172878A1 (en) 2013-12-12 2015-06-18 Aliphcom Acoustic environments and awareness user interfaces for media devices
KR101924702B1 (ko) * 2014-02-24 2019-02-20 소니 주식회사 다른 디바이스들에서의 기능들을 활성화하기 위해 착용형 디바이스들로부터 감각 정보를 취득하기 위한 스마트 착용형 디바이스 및 방법
US10878721B2 (en) * 2014-02-28 2020-12-29 Ultratec, Inc. Semiautomated relay method and apparatus
JP6358847B2 (ja) * 2014-05-14 2018-07-18 オリンパス株式会社 表示処理装置および撮像装置
US9632748B2 (en) 2014-06-24 2017-04-25 Google Inc. Device designation for audio input monitoring
US9338493B2 (en) * 2014-06-30 2016-05-10 Apple Inc. Intelligent automated assistant for TV user interactions
JP6482911B2 (ja) * 2014-07-01 2019-03-13 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America 機器制御方法および電気機器
US10045105B2 (en) * 2014-08-12 2018-08-07 Bose Corporation Wireless communication between endpoint devices
US10002115B1 (en) * 2014-09-29 2018-06-19 Amazon Technologies, Inc. Hybrid rendering of a web page
US9318107B1 (en) * 2014-10-09 2016-04-19 Google Inc. Hotword detection on multiple devices
US9588721B2 (en) * 2014-10-16 2017-03-07 Seiko Epson Corporation Print control device, printing system, and control method of a print control device
US9558527B2 (en) * 2014-10-24 2017-01-31 Dell Products L.P. Systems and methods for orchestrating external graphics
US9646163B2 (en) * 2014-11-14 2017-05-09 Getgo, Inc. Communicating data between client devices using a hybrid connection having a regular communications pathway and a highly confidential communications pathway
US9812126B2 (en) 2014-11-28 2017-11-07 Microsoft Technology Licensing, Llc Device arbitration for listening devices
US9552816B2 (en) * 2014-12-19 2017-01-24 Amazon Technologies, Inc. Application focus in speech-based systems
US9811312B2 (en) 2014-12-22 2017-11-07 Intel Corporation Connected device voice command support
GB2538935A (en) * 2015-02-26 2016-12-07 Piksel Inc Linking devices
US10453461B1 (en) * 2015-03-17 2019-10-22 Amazon Technologies, Inc. Remote execution of secondary-device drivers
WO2016154426A1 (en) * 2015-03-26 2016-09-29 Wal-Mart Stores, Inc. System and methods for a multi-display collaboration environment
US9591148B2 (en) 2015-04-07 2017-03-07 Cisco Technology, Inc. Detecting proximity of devices based on transmission of inaudible sound signatures in the speech band
US9807045B2 (en) * 2015-06-10 2017-10-31 Google Inc. Contextually driven messaging system
US10025447B1 (en) * 2015-06-19 2018-07-17 Amazon Technologies, Inc. Multi-device user interface
US20160379638A1 (en) * 2015-06-26 2016-12-29 Amazon Technologies, Inc. Input speech quality matching
US9875081B2 (en) * 2015-09-21 2018-01-23 Amazon Technologies, Inc. Device selection for providing a response
US10469997B2 (en) * 2016-02-26 2019-11-05 Microsoft Technology Licensing, Llc Detecting a wireless signal based on context
US9584653B1 (en) * 2016-04-10 2017-02-28 Philip Scott Lyren Smartphone with user interface to externally localize telephone calls
US9841943B1 (en) * 2016-06-06 2017-12-12 Google Llc Creation and control of channels that provide access to content from various audio-provider services
US10462219B2 (en) * 2016-08-10 2019-10-29 Iboss, Inc. Distributed network security system providing isolation of customer data
US9972320B2 (en) * 2016-08-24 2018-05-15 Google Llc Hotword detection on multiple devices
US10580404B2 (en) * 2016-09-01 2020-03-03 Amazon Technologies, Inc. Indicator for voice-based communications
US10228725B2 (en) * 2016-09-30 2019-03-12 Intel IP Corporation Flexible band wearable electronic device
US10332523B2 (en) 2016-11-18 2019-06-25 Google Llc Virtual assistant identification of nearby computing devices

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003223188A (ja) * 2002-01-29 2003-08-08 Toshiba Corp 音声入力システム、音声入力方法及び音声入力プログラム
KR20100022297A (ko) * 2008-08-19 2010-03-02 주식회사 에스원 3차원 음원 위치 측정 기술을 이용한 침입 감지 장치 및 방법
JP2016519805A (ja) * 2013-03-14 2016-07-07 ロウルズ リミテッド ライアビリティ カンパニー 複数のデバイス上でコンテンツを提供すること
KR20150054703A (ko) * 2013-11-12 2015-05-20 구글 인코포레이티드 착용 가능 컴퓨팅 디바이스로의 알림 재전송

Also Published As

Publication number Publication date
CN108073382B (zh) 2020-12-29
EP3523797B1 (en) 2020-02-26
EP3523797A1 (en) 2019-08-14
GB201715712D0 (en) 2017-11-15
DE202017105810U1 (de) 2018-01-04
US20220044686A1 (en) 2022-02-10
KR102639229B1 (ko) 2024-02-21
US11270705B2 (en) 2022-03-08
DE202017007452U1 (de) 2021-09-06
DE102017012415B4 (de) 2024-03-28
KR20240025709A (ko) 2024-02-27
KR20230107704A (ko) 2023-07-17
US20220335948A1 (en) 2022-10-20
DE102017012396B3 (de) 2022-05-25
DE202017007508U1 (de) 2022-03-10
US20190267008A1 (en) 2019-08-29
JP6640430B1 (ja) 2020-02-05
KR102278659B1 (ko) 2021-07-16
KR20210090735A (ko) 2021-07-20
US10332523B2 (en) 2019-06-25
KR20190077059A (ko) 2019-07-02
GB2556993A (en) 2018-06-13
GB2556993B (en) 2020-05-27
DE102017122182A1 (de) 2018-05-24
CN108073382A (zh) 2018-05-25
JP2020505626A (ja) 2020-02-20
US11087765B2 (en) 2021-08-10
US20220189488A1 (en) 2022-06-16
KR102552555B1 (ko) 2023-07-06
US20180144748A1 (en) 2018-05-24
US11227600B2 (en) 2022-01-18
US20240185858A1 (en) 2024-06-06
US11908479B2 (en) 2024-02-20
US20210201915A1 (en) 2021-07-01
US11380331B1 (en) 2022-07-05
US20210366487A1 (en) 2021-11-25
WO2018093563A1 (en) 2018-05-24
KR102416384B1 (ko) 2022-07-05

Similar Documents

Publication Publication Date Title
KR102278659B1 (ko) 컴퓨팅 디바이스 근처의 가상 어시스턴트 식별
KR102404702B1 (ko) 크로스-디바이스 핸드오프
US11558505B2 (en) Computational assistant extension device

Legal Events

Date Code Title Description
A107 Divisional application of patent
E701 Decision to grant or registration of patent right
GRNT Written decision to grant