DE202017007452U1 - Identifikation eines virtuellen Assistenten von nahgelegenen Rechenvorrichtungen - Google Patents
Identifikation eines virtuellen Assistenten von nahgelegenen Rechenvorrichtungen Download PDFInfo
- Publication number
- DE202017007452U1 DE202017007452U1 DE202017007452.4U DE202017007452U DE202017007452U1 DE 202017007452 U1 DE202017007452 U1 DE 202017007452U1 DE 202017007452 U DE202017007452 U DE 202017007452U DE 202017007452 U1 DE202017007452 U1 DE 202017007452U1
- Authority
- DE
- Germany
- Prior art keywords
- computing device
- audio signal
- computing
- instructions
- additional
- Prior art date
- Legal status (The legal status 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 status listed.)
- Active
Links
- 230000005236 sound signal Effects 0.000 claims abstract description 108
- 230000004044 response Effects 0.000 claims abstract description 38
- 230000015654 memory Effects 0.000 claims abstract description 15
- 238000001514 detection method Methods 0.000 claims abstract description 12
- 238000000034 method Methods 0.000 description 48
- 238000004891 communication Methods 0.000 description 44
- 230000006870 function Effects 0.000 description 17
- 230000008569 process Effects 0.000 description 10
- 238000005516 engineering process Methods 0.000 description 9
- 238000010586 diagram Methods 0.000 description 8
- 230000008901 benefit Effects 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 5
- 238000012545 processing Methods 0.000 description 5
- 230000001413 cellular effect Effects 0.000 description 4
- 230000033001 locomotion Effects 0.000 description 4
- 238000012546 transfer Methods 0.000 description 4
- 230000004913 activation Effects 0.000 description 3
- 238000013500 data storage Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 230000008878 coupling Effects 0.000 description 2
- 238000010168 coupling process Methods 0.000 description 2
- 238000005859 coupling reaction Methods 0.000 description 2
- 238000011982 device technology Methods 0.000 description 2
- 239000000835 fiber Substances 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 230000007774 longterm Effects 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 208000033748 Device issues Diseases 0.000 description 1
- WQZGKKKJIJFFOK-GASJEMHNSA-N Glucose Natural products OC[C@H]1OC(O)[C@H](O)[C@@H](O)[C@@H]1O WQZGKKKJIJFFOK-GASJEMHNSA-N 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 239000011521 glass Substances 0.000 description 1
- 239000008103 glucose Substances 0.000 description 1
- 230000001939 inductive effect Effects 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000010897 surface acoustic wave method Methods 0.000 description 1
- 230000008685 targeting Effects 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
- 230000003936 working memory Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
-
- 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
- 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
-
- 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
-
- 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/165—Management of the audio stream, e.g. setting of volume, audio stream path
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/16—Sound input; Sound output
- G06F3/167—Audio in a user interface, e.g. using voice commands for navigating, audio feedback
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/28—Constructional details of speech recognition systems
- G10L15/30—Distributed recognition, e.g. in client-server systems, for mobile phones or network 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
- 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
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B20/00—Signal processing not specific to the method of recording or reproducing; Circuits therefor
- G11B20/10—Digital recording or reproducing
-
- 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/221—Announcement of recognition results
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/22—Procedures used during a speech recognition process, e.g. man-machine dialogue
- G10L2015/223—Execution procedure of a spoken command
Landscapes
- Engineering & Computer Science (AREA)
- 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
Batteriebetriebene Vorrichtung, umfassend:
ein oder mehrere Mikrophone,
eine oder mehrere WiFi-Netzwerkschnittstellen;
eine oder mehrere Tasten;
einen oder mehrere Prozessoren; und
einen Speicher, der Anweisungen speichert, die bei Ausführung den einen oder die mehreren Prozessoren veranlassen:
eine Betätigung einer Taste der einen oder mehreren Tasten zu detektieren; und
in Reaktion auf die Detektion der Betätigung der Taste:
eine Anforderung zu übermitteln, die:
eine Rechenvorrichtung veranlasst, ein Vorrichtungsaudiosignal über eine Vorrichtungslautsprecherkomponente der Rechenvorrichtung auszusenden, und
eine zusätzliche Rechenvorrichtung veranlasst, ein Zusatzvorrichtung-Audiosignal über eine Zusatzvorrichtung-Lautsprecherkomponente der zusätzlichen Rechenvorrichtung auszusenden,
wobei das Vorrichtungsaudiosignal und das Zusatzvorrichtung-Audiosignal jeweils oberhalb eines menschlichen Hörbereichs liegen;
das Vorrichtungsaudiosignal und das Zusatzvorrichtung-Audiosignal über eines oder mehrere der Mikrophone zu detektieren;
basierend auf der Detektion des Audiosignals und des Zusatzvorrichtung-Audiosignals eine bestimmte Rechenvorrichtung aus der Rechenvorrichtung und der zusätzlichen Rechenvorrichtung auszuwählen; und
in Reaktion auf das Auswählen der bestimmten Rechenvorrichtung:
Veranlassen der bestimmten Rechenvorrichtung, eine hörbare Ausgabe bereitzustellen.
ein oder mehrere Mikrophone,
eine oder mehrere WiFi-Netzwerkschnittstellen;
eine oder mehrere Tasten;
einen oder mehrere Prozessoren; und
einen Speicher, der Anweisungen speichert, die bei Ausführung den einen oder die mehreren Prozessoren veranlassen:
eine Betätigung einer Taste der einen oder mehreren Tasten zu detektieren; und
in Reaktion auf die Detektion der Betätigung der Taste:
eine Anforderung zu übermitteln, die:
eine Rechenvorrichtung veranlasst, ein Vorrichtungsaudiosignal über eine Vorrichtungslautsprecherkomponente der Rechenvorrichtung auszusenden, und
eine zusätzliche Rechenvorrichtung veranlasst, ein Zusatzvorrichtung-Audiosignal über eine Zusatzvorrichtung-Lautsprecherkomponente der zusätzlichen Rechenvorrichtung auszusenden,
wobei das Vorrichtungsaudiosignal und das Zusatzvorrichtung-Audiosignal jeweils oberhalb eines menschlichen Hörbereichs liegen;
das Vorrichtungsaudiosignal und das Zusatzvorrichtung-Audiosignal über eines oder mehrere der Mikrophone zu detektieren;
basierend auf der Detektion des Audiosignals und des Zusatzvorrichtung-Audiosignals eine bestimmte Rechenvorrichtung aus der Rechenvorrichtung und der zusätzlichen Rechenvorrichtung auszuwählen; und
in Reaktion auf das Auswählen der bestimmten Rechenvorrichtung:
Veranlassen der bestimmten Rechenvorrichtung, eine hörbare Ausgabe bereitzustellen.
Description
- In Übereinstimmung mit den Bestimmungen des Gebrauchsmustergesetzes sind nur Vorrichtungen, wie sie in den anliegenden Schutzansprüchen definiert sind, geschützt und vom Gebrauchsmuster abgedeckt, nicht jedoch Verfahren. Soweit in der nachstehenden Beschreibung gegebenenfalls auf Verfahren Bezug genommen wird, dienen diese Hinweise nur zur exemplarischen Erläuterung der mit den anliegenden Schutzansprüchen geschützten Vorrichtung(en). Insbesondere können diese Verfahren in engem Zusammenhang mit den geschützten Vorrichtungen (z.B. Systemen oder computerlesbare Medien) stehen, zum Beispiel dergestalt, dass die geschützten Vorrichtungen derart ausgelegt sind, dass sie die Verfahren durchführen oder Befehle auf ihnen gespeichert sind, die, wenn sie von einer oder mehreren (Rechen-)Vorrichtung(en) ausgeführt werden, die eine oder mehreren (Rechen-)Vorrichtung(en) veranlassen, das Verfahren durchzuführen.
- HINTERGRUND
- Einige Rechenvorrichtungen können eine Benutzerschnittstelle bereitstellen, von der aus ein Benutzer mit einem virtuellen Rechenassistenten (z. B. auch als „intelligenter Assistent“ oder einfach als „Assistent“ bezeichnet) plaudern, reden oder anderweitig kommunizieren kann, um zu veranlassen, dass der Assistent nützliche Informationen ausgibt, auf Bedürfnisse eines Benutzers reagiert oder anderweitig bestimmte Operationen durchführt, um dem Benutzer zu helfen, eine Vielfalt von Aufgaben der realen Welt oder virtuellen Aufgaben zu erledigen. Der Assistent kann über die Rechenvorrichtung, die die Benutzerschnittstelle bereitstellt, durch die der Benutzer mit dem Assistenten kommuniziert, die Informationen ausgeben, auf die Bedürfnisse des Benutzers reagieren oder anderweitig Operationen durchführen und/oder Informationen über andere, unterschiedliche Rechenvorrichtungen ausgeben, auf die der Assistent Zugriff hat.
- KURZFASSUNG
- Im Allgemeinen können Techniken dieser Offenbarung ermöglichen, dass ein virtueller Rechenassistent (z. B. auch als „intelligenter Assistent“ oder einfach als „Assistent“ bezeichnet), der über eine aktuelle Rechenvorrichtung bereitgestellt wird, automatisch andere Rechenvorrichtungen identifiziert, die verwendet werden können, um auf eine Benutzereingabe zu reagieren (z. B. zum Erfüllen von Benutzeräußerungen oder einer Texteingabe). Beispielsweise kann in Reaktion darauf, dass ein Sprachempfang aktiviert wird, eine aktuelle Rechenvorrichtung veranlassen, dass andere Rechenvorrichtungen jeweilige Audiosignale aussenden. Die aktuelle Rechenvorrichtung kann mit einem Mikrophon eine akustische Eingabe (z. B. Audiodaten), die einer Benutzeräußerung entspricht, und die durch die anderen Rechenvorrichtungen ausgesendeten Audiosignale empfangen. Auf der Basis der akustischen Eingabe kann der Assistent die anderen Rechenvorrichtungen identifizieren.
- Das Identifizieren von anderen Rechenvorrichtungen kann ermöglichen, dass der Assistent eine andere Rechenvorrichtung (d. h. eine andere als die aktuelle Rechenvorrichtung) auswählt, um die Benutzeräußerung zu erfüllen. In einem Beispiel bedeutet das Erfüllen einer Benutzeräußerung das Auswählen und Durchführen einer Handlung in Reaktion auf die Benutzeräußerung. Wenn beispielsweise eine bestimmte Rechenvorrichtung der identifizierten anderen Rechenvorrichtungen besser geeignet ist, um die Benutzeräußerung zu erfüllen, als die aktuelle Rechenvorrichtung, kann der Assistent die bestimmte Rechenvorrichtung auswählen, um die Benutzeräußerung zu erfüllen. Ansonsten kann der Assistent die Äußerung unter Verwendung der aktuellen Rechenvorrichtung erfüllen. In dieser Weise kann der Assistent eine Erfüllung von Äußerungen mit höherer Qualität durch Auswählen der am besten geeigneten Vorrichtung aus den verfügbaren Vorrichtungen zum Erfüllen der Benutzeräußerung bereitstellen.
- In einem Beispiel umfasst ein Verfahren ein Verfahren, das umfasst: Empfangen von Audiodaten, die durch ein Mikrophon einer aktuellen Rechenvorrichtung erzeugt werden; Identifizieren von einer oder mehreren Rechenvorrichtungen auf der Basis der Audiodaten, die jeweils ein jeweiliges Audiosignal in Reaktion darauf ausgesendet haben, dass der Sprachempfang an der aktuellen Rechenvorrichtung aktiviert wird; und Auswählen von entweder der aktuellen Rechenvorrichtung oder einer bestimmten Rechenvorrichtung aus der einen oder den mehreren identifizierten Rechenvorrichtungen, um eine gesprochene Äußerung zu erfüllen, die auf der Basis der Audiodaten bestimmt wird.
- In einem anderen Beispiel umfasst eine Vorrichtung ein oder mehrere Mikrophone; und einen oder mehrere Prozessoren, die dazu konfiguriert sind: Audiodaten zu empfangen, die durch ein Mikrophon einer aktuellen Rechenvorrichtung erzeugt werden; auf der Basis der Audiodaten eine oder mehrere Rechenvorrichtungen zu identifizieren, die jeweils ein jeweiliges Audiosignal in Reaktion darauf ausgesendet haben, dass der Sprachempfang an der aktuellen Rechenvorrichtung aktiviert wird; und entweder die aktuelle Rechenvorrichtung oder eine bestimmte Rechenvorrichtung aus der einen oder den mehreren identifizierten Rechenvorrichtungen auszuwählen, um eine gesprochene Äußerung zu erfüllen, die auf der Basis der Audiodaten bestimmt wird.
- In einem anderen Beispiel ein nichttransitorisches computerlesbares Speichermedium, das Befehle speichert, die, wenn sie ausgeführt werden, veranlassen, dass ein oder mehrere Prozessoren einer Rechenvorrichtung: Audiodaten empfangen, die durch ein Mikrophon einer aktuellen Rechenvorrichtung erzeugt werden; auf der Basis der Audiodaten eine oder mehrere Rechenvorrichtungen identifizieren, die jeweils ein jeweiliges Audiosignal in Reaktion darauf ausgesendet haben, dass der Sprachempfang an der aktuellen Rechenvorrichtung aktiviert wird; und entweder die aktuelle Rechenvorrichtung oder eine bestimmte Rechenvorrichtung aus der einen oder den mehreren identifizierten Rechenvorrichtungen auswählen, um eine gesprochene Äußerung zu erfüllen, die auf der Basis der Audiodaten bestimmt wird.
- In einem anderen Beispiel umfasst ein System ein Mittel zum Empfangen von Audiodaten, die durch ein Mikrophon einer aktuellen Rechenvorrichtung erzeugt werden; ein Mittel zum Identifizieren von einer oder mehreren Rechenvorrichtungen auf der Basis der Audiodaten, die jeweils ein jeweiliges Audiosignal in Reaktion darauf ausgesendet haben, dass der Sprachempfang an der aktuellen Rechenvorrichtung aktiviert wird; und ein Mittel zum Auswählen von entweder der aktuellen Rechenvorrichtung oder einer bestimmten Rechenvorrichtung aus der einen oder den mehreren identifizierten Rechenvorrichtungen, um eine gesprochene Äußerung zu erfüllen, die auf der Basis der Audiodaten bestimmt wird.
- Die Details von einem oder mehreren Beispielen werden in den begleitenden Zeichnungen und der nachstehenden Beschreibung dargelegt. Weitere Merkmale, Aufgaben und Vorteile der Offenbarung sind aus der Beschreibung und den Zeichnungen und aus den Ansprüchen ersichtlich.
- Figurenliste
-
-
1 ist ein konzeptionelles Diagramm, das ein Beispielsystem, das einen virtuellen Beispielassistenten ausführt, gemäß einem oder mehreren Aspekten der vorliegenden Offenbarung darstellt. -
2 ist ein Blockdiagramm, das eine Beispielrechenvorrichtung, die dazu konfiguriert ist, einen virtuellen Beispielassistenten auszuführen, gemäß einem oder mehreren Aspekten der vorliegenden Offenbarung darstellt. -
3 ist ein Blockdiagramm, das eine Beispielrechenvorrichtung, die so konfiguriert ist, dass sie für die Auswahl durch einen virtuellen Assistenten identifiziert wird, gemäß einem oder mehreren Aspekten der vorliegenden Offenbarung darstellt. -
4 ist ein Blockdiagramm, das ein Beispielrechensystem, das dazu konfiguriert ist, einen virtuellen Beispielassistenten auszuführen, gemäß einem oder mehreren Aspekten der vorliegenden Offenbarung darstellt. -
5 ist ein Ablaufplan, der Beispieloperationen, die durch einen oder mehrere Prozessoren durchgeführt werden, die einen virtuellen Beispielassistenten ausführen, gemäß einem oder mehreren Aspekten der vorliegenden Offenbarung darstellt. - AUSFÜHRLICHE BESCHREIBUNG
-
1 ist ein konzeptionelles Diagramm, das ein Beispielsystem, das einen virtuellen Beispielassistenten ausführt, gemäß einem oder mehreren Aspekten der vorliegenden Offenbarung darstellt. Das System100 von1 umfasst ein Assistentenserversystem160 in Kommunikation über ein Netz130 mit einer Rechenvorrichtung110 und Rechenvorrichtungen180A -180N (gemeinsam „Rechenvorrichtungen 180“). Obwohl das System100 als unter dem Assistentenserversystem160 , der Rechenvorrichtung110 und den Rechenvorrichtungen180 verteilt gezeigt ist, können in anderen Beispielen die Merkmale und Techniken, die dem System100 zugeschrieben sind, intern durch lokale Komponenten der Rechenvorrichtung110 durchgeführt werden. Ebenso kann das Assistentenserversystem160 bestimmte Komponenten umfassen und verschiedene Techniken durchführen, die ansonsten in der nachstehenden Beschreibung der Rechenvorrichtung110 und/oder den Rechenvorrichtungen180 zugeschrieben werden. - Das Netz
130 stellt irgendein öffentliches oder privates Kommunikationsnetz, beispielsweise zellulare, Wi-Fi- und/oder andere Typen von Netzen, zum Übertragen von Daten zwischen Rechensystemen, Servern und Rechenvorrichtungen dar. Das Assistentenserversystem160 kann Daten über das Netz130 mit der Rechenvorrichtung110 austauschen, um einen virtuellen Assistentendienst zu schaffen, der für die Rechenvorrichtung110 zugänglich ist, wenn die Rechenvorrichtung110 mit dem Netz130 verbunden ist. Das Assistentenserversystem160 kann Daten über das Netz130 mit den Rechenvorrichtungen180 austauschen, um zu veranlassen, dass eine oder mehrere der Rechenvorrichtungen180 verschiedene Aktivitäten durchführen. Die Rechenvorrichtung110 kann Daten über das Netz130 mit den Rechenvorrichtungen180 austauschen, um zu veranlassen, dass eine oder mehrere der Rechenvorrichtungen180 verschiedene Aktivitäten durchführen. - Das Netz
130 kann einen oder mehrere Netzknoten, Netzswitche, Netzrouter oder irgendeine andere Netzausrüstung umfassen, die betriebsfähig miteinander gekoppelt sind, wodurch für den Austausch von Informationen zwischen dem Serversystem160 , der Rechenvorrichtung110 und den Rechenvorrichtungen180 gesorgt ist. Die Rechenvorrichtung110 , das Assistentenserversystem160 und die Rechenvorrichtungen180 können Daten über das Netz130 unter Verwendung von beliebigen geeigneten Kommunikationstechniken übertragen und empfangen. Die Rechenvorrichtung110 , das Assistentenserversystem160 und die Rechenvorrichtungen180 können jeweils betriebsfähig mit dem Netz130 unter Verwendung von jeweiligen Netzanbindungen gekoppelt sein. Die Anbindungen, die die Rechenvorrichtung110 , das Assistentenserversystem160 und die Rechenvorrichtungen180 mit dem Netz130 koppeln, können Ethernet oder andere Typen von Netzverbindungen sein und solche Verbindungen können drahtlose und/oder verdrahtete Verbindungen sein. - Das Assistentenserversystem
160 kann ein beliebiges geeignetes entferntes Rechensystem wie z. B. einen oder mehrere Desktop-Computer, Laptop-Computer, Großrechner, Server, Cloud-Rechensysteme usw. darstellen, die in der Lage sind, Informationen sowohl zu als auch von einem Netz wie z. B. dem Netz130 zu senden und zu empfangen. Das Assistentenserversystem160 beherbergt (oder schafft zumindest Zugang zu) einen virtuellen Assistentendienst. In einigen Beispielen stellt das Assistentenserversystem160 ein Cloud-Rechensystem dar, das Zugang zum virtuellen Assistentendienst über eine Cloud schafft. - Die Rechenvorrichtung
110 stellt eine einzelne mobile oder nicht mobile Rechenvorrichtung dar. Beispiele der Rechenvorrichtung110 umfassen ein Mobiltelefon, einen Tablet-Computer, einen Laptop-Computer, einen Desktop-Computer, einen Server, einen Großrechner, eine Kamera, einen Digitalempfänger, ein Fernsehgerät, eine tragbare Vorrichtung (z. B. eine computerisierte Uhr, eine computerisierte Brille, computerisierte Handschuhe usw.), eine Heimautomatisierungsvorrichtung oder ein Heimautomatisierungssystem (z. B. einen intelligenten Thermostat oder eine intelligente Heimassistentenvorrichtung), persönliche digitale Assistenten (PDA), ein Spielsystem, ein Medienabspielgerät, ein Lesegerät für ein elektronisches Buch, eine mobile Fernsehplattform, ein Kraftfahrzeug-Navigations- oder Infotainment-System oder irgendeinen anderen Typ von mobiler, nicht mobiler, tragbarer und nicht tragbarer Rechenvorrichtung, die dazu konfiguriert ist, einen virtuellen Assistenten auszuführen oder auf diesen zuzugreifen und Informationen über ein Netz wie z. B. das Netz130 zu empfangen. - Das Assistentenserversystem
160 kann mit der Rechenvorrichtung110 über das Netz130 kommunizieren, um der Rechenvorrichtung110 Zugang zum virtuellen Assistentendienst zu geben, der durch das Assistentenserversystem160 bereitgestellt wird. Im Verlauf der Bereitstellung der virtuellen Assistentendienste kann das Assistentenserversystem160 mit einem Suchserversystem (nicht dargestellt) über das Netz130 kommunizieren, um Suchergebnisse zu erhalten zum Bereitstellen von Serviceinformationen an einen Benutzer des virtuellen Assistentendiensts, um eine Aufgabe zu erledigen. - In dem Beispiel von
1 umfasst das Assistentenserversystem160 ein entferntes Assistentenmodul122B und ein Vorrichtungsauswahlmodul124B . Die Rechenvorrichtung110 umfasst eine Benutzerschnittstellenvorrichtung (UID)112 , ein Benutzerschnittstellenmodul (UI-Modul)120 , ein lokales Assistentenmodul122A und ein Vorrichtungsauswahlmodul124A . Die Rechenvorrichtungen180 umfassen jeweils eine UID113 und ein Ul-Modul121 . Das entfernte Assistentenmodul122B und das lokale Assistentenmodul122A können gemeinsam als Assistentenmodule122 bezeichnet werden. Das Vorrichtungsauswahlmodul124A und das Vorrichtungsauswahlmodul124B können gemeinsam als Vorrichtungsauswahlmodule124 bezeichnet werden. - Die Module
120 ,121 ,122 und124 können Operationen durchführen, die unter Verwendung von Software, Hardware, Firmware oder einer Mischung von Hardware, Software und Firmware beschrieben werden, die sich in einer von: Rechenvorrichtung110 , Assistentenserversystem160 und Rechenvorrichtungen180 befinden und/oder darauf laufen. Die Rechenvorrichtung110 , das Assistentenserversystem160 und die Rechenvorrichtungen180 können die Module120 ,121 ,122 und124 mit mehreren Prozessoren oder mehreren Vorrichtungen ausführen. Die Rechenvorrichtung110 , das Assistentenserversystem160 und die Rechenvorrichtungen180 können die Module120 ,121 ,122 und124 als virtuelle Maschinen ausführen, die auf darunterliegender Hardware laufen. Die Module120 ,121 ,122 und124 können als ein oder mehrere Dienste eines Betriebssystems oder einer Rechenplattform laufen. Die Module120 ,121 ,122 und124 können als ein oder mehrere ausführbare Programme auf einer Anwendungsschicht einer Rechenplattform laufen. - Die UID
112 der Rechenvorrichtung110 kann als Eingabe- und/oder Ausgabevorrichtung für die Rechenvorrichtung110 funktionieren. Die UID112 kann unter Verwendung von verschiedenen Technologien implementiert werden. Die UID112 kann beispielsweise als Eingabevorrichtung unter Verwendung von anwesenheitsempfindlichen Eingabebildschirmen wie z. B. Widerstands-Berührungsbildschirmen, Oberflächenschallwellen-Berührungsbildschirmen, kapazitiven Berührungsbildschirmen, Projektionskapazitäts-Berührungsbildschirmen, druckempfindlichen Bildschirmen, Schallimpulserkennungs-Berührungsbildschirmen oder einer anderen anwesenheitsempfindlichen Anzeigetechnologie funktionieren. - Die UID
112 kann als Eingabevorrichtung unter Verwendung von Mikrophontechnologien, Infrarotsensortechnologien oder einer anderen Eingabevorrichtungstechnologie für die Verwendung beim Empfangen einer Benutzereingabe funktionieren. Beispielsweise kann die UID112 unter Verwendung einer eingebauten Mikrophontechnologie eine Spracheingabe detektieren, die das UI-Modul120 und/oder das lokale Assistentenmodul122A zum Erledigen einer Aufgabe verarbeiten. Als anderes Beispiel kann die UID112 eine anwesenheitsempfindliche Anzeige umfassen, die eine taktile Eingabe von einem Benutzer der Rechenvorrichtung110 empfangen kann. Die UID112 kann Angaben einer taktilen Eingabe durch Detektieren von einer oder mehreren Gesten von einem Benutzer empfangen (z. B. dass der Benutzer eine oder mehrere Stellen der UID112 mit einem Finger oder Taststift berührt oder darauf zeigt). - Die UID
112 kann als Ausgabevorrichtung (z. B. Anzeigevorrichtung) funktionieren und eine Ausgabe für einen Benutzer darstellen. Die UID112 kann als Ausgabevorrichtung unter Verwendung von irgendeiner oder mehreren Anzeigevorrichtungen wie z. B. Flüssigkristallanzeigen (LCD), Punktmatrixanzeigen, Leuchtdiodenanzeigen (LED-Anzeigen), organischen Leuchtdiodenanzeigen (OLED-Anzeigen), elektronischer Tinte oder ähnlichen monochromen oder Farbanzeigen funktionieren, die in der Lage sind, sichtbare Informationen an einen Benutzer der Rechenvorrichtung110 auszugeben. Die UID112 kann als Ausgabevorrichtung unter Verwendung von Lautsprechertechnologien, Technologien mit haptischer Rückkopplung oder einer anderen Ausgabevorrichtungstechnologie zur Verwendung beim Ausgeben von Informationen an einen Benutzer funktionieren. Die UID112 kann eine Benutzerschnittstelle (z. B. Benutzerschnittstelle114 ) in Bezug auf einen virtuellen Assistenten darstellen, der durch das lokale Assistentenmodul122A und/oder das entfernte Assistentenmodul122B bereitgestellt wird. Die UID112 kann eine Benutzerschnittstelle in Bezug auf andere Merkmale von Rechenplattformen, Betriebssystemen, Anwendungen und/oder Diensten darstellen, die auf der Rechenvorrichtung110 laufen und/oder von dieser zugänglich sind (z. B. Email, Chat, Online-Dienste, Telefon, Spielen usw.). - Das Ul-Modul
120 kann Benutzerinteraktionen mit der UID112 und anderen Komponenten der Rechenvorrichtung110 managen, einschließlich der Interaktion mit dem Assistentenserversystem160 , um Assistentendienste über die UID112 bereitzustellen. Das Ul-Modul120 kann veranlassen, dass die UID112 eine Benutzerschnittstelle ausgibt, wenn ein Benutzer der Rechenvorrichtung110 an der UID112 eine Ausgabe betrachtet und/oder eine Eingabe liefert. Das Ul-Modul120 und die UID112 können eine oder mehrere Angaben einer Eingabe (z. B. Spracheingabe, Gesteneingabe usw.) von einem Benutzer empfangen, wenn der Benutzer mit der Benutzerschnittstelle interagiert, zu verschiedenen Zeiten und wenn der Benutzer und die Rechenvorrichtung110 sich an verschiedenen Orten befinden. Das Ul-Modul120 und die UID112 können Eingaben, die an der UID112 detektiert werden, interpretieren und können Informationen über die an der UID112 detektierten Eingaben zum lokalen Assistentenmodul122A und/oder zu einer oder mehreren anderen zugehörigen Plattformen, Betriebssystemen, Anwendungen und/oder Diensten weiterleiten, die auf der Rechenvorrichtung110 laufen, beispielsweise um zu veranlassen, dass die Rechenvorrichtung110 Funktionen durchführt. - Das Ul-Modul
120 kann Informationen und Befehle von einer oder mehreren zugehörigen Plattformen, Betriebssystemen, Anwendungen und/ oder Diensten empfangen, die auf der Rechenvorrichtung110 und/oder einem oder mehreren entfernten Rechensystemen wie z. B. dem Serversystem160 und den Rechenvorrichtungen180 laufen. Außerdem kann das Ul-Modul120 als Vermittler zwischen der einen oder den mehreren zugehörigen Plattformen, Betriebssystemen, Anwendungen und/oder Diensten, die auf der Rechenvorrichtung110 laufen, und verschiedenen Ausgabevorrichtungen der Rechenvorrichtung110 (z. B. Lautsprecher, LED-Indikatoren, Audio- oder haptische Ausgabevorrichtung usw.) wirken, um eine Ausgabe (z. B. eine Graphik, einen Lichtblitz, einen Ton, eine haptische Antwort usw.) mit der Rechenvorrichtung110 zu erzeugen. - Das lokale Assistentenmodul
122A der Rechenvorrichtung110 und das entfernte Assistentenmodul122B des Assistentenserversystems160 können jeweils ähnliche Funktionen, die hier beschrieben werden, zum automatischen Ausführen eines Assistenten durchführen. Das entfernte Assistentenmodul122B und das Vorrichtungsauswahlmodul124B stellen Serverseiten- oder Cloud-Implementierungen eines virtuellen Beispielassistenten dar, wohingegen das lokale Assistentenmodul122A und das Vorrichtungsauswahlmodul124A Client-Seiten- oder eine lokale Implementierung des virtuellen Beispielassistenten darstellen. - Die Module
122 können jeweils jeweilige Software-Agenten umfassen, die dazu konfiguriert sind, als intelligente persönliche Assistenten zu laufen, die Aufgaben oder Dienste für eine Person wie z. B. einen Benutzer der Rechenvorrichtung110 durchführen können. Die Module122 können diese Aufgaben oder Dienste auf der Basis einer Benutzereingabe (z. B. an der UID112 detektiert), der Ortskenntnis (z. B. auf der Basis des Kontexts) und/oder der Fähigkeit, auf andere Informationen (z. B. Wetter- oder Verkehrsbedingungen, Nachrichten, Aktienkurse, Sportspielergebnisse, Benutzerterminpläne, Fahrpläne, Einzelhandelspreise usw.) von einer Vielfalt von Informationsquellen (z. B. entweder lokal an der Rechenvorrichtung110 , am Assistentenserversystem160 gespeichert oder über einen Suchdienst erhalten) zuzugreifen, durchführen. Das Durchführen einer Aufgabe oder eines Diensts auf der Basis einer gesprochenen Benutzereingabe kann hier als Erfüllen einer Benutzeräußerung bezeichnet werden. Die Module122 können Techniken von künstlicher Intelligenz und/oder Maschinenlerntechniken durchführen, um eine oder mehrere Aufgaben im Interesse eines Benutzers automatisch zu identifizieren und zu erledigen. - Wie vorstehend erörtert, können die Module
122 Aufgaben oder Dienste auf der Basis einer gesprochenen Benutzereingabe durchführen. Die Module122 können Audiodaten (d. h. vom Ul-Modul120 ) empfangen, die durch ein oder mehrere Mikrophone der UID112 erzeugt werden. Die Module122 können selektiv die empfangenen Audiodaten verarbeiten, um Äußerungen zu erkennen, wenn der Sprachempfang aktiv ist. Der Sprachempfang kann in einer Anzahl von Weisen aktiviert werden. Als ein Beispiel können die Module122 den Sprachempfang in Reaktion auf das Erkennen eines vorbestimmten Aktivierungssatzes in den empfangenen Audiodaten (z. B. „Hör zu, Assistent“) aktivieren. Als anderes Beispiel kann das Ul-Modul120 veranlassen, dass die Module122 den Sprachempfang in Reaktion darauf, dass ein Benutzer eine Sprachempfangstaste an der Rechenvorrichtung110 drückt, aktivieren. - Die Module
122 können Benutzeräußerungen über eine Ausgabe erfüllen, die durch eine oder mehrere Komponenten der Rechenvorrichtung110 dargestellt wird. Die Module122 können beispielsweise veranlassen, dass eine oder mehrere Komponenten der UID112 (z. B. Anzeigen, Lautsprecher usw.) eine Ausgabe erzeugen (z. B. ein Video anzeigen, graphische Benutzerschnittstellen anzeigen, einen Ton aussenden usw.). In einigen Beispielen kann es erwünscht sein, dass die Module122 einige Benutzeräußerungen durch Veranlassen, dass andere Rechenvorrichtungen eine Ausgabe darstellen, erfüllen. Wenn beispielsweise eine andere Rechenvorrichtung besser geeignet ist, um eine Benutzeräußerung zu erfüllen, kann es erwünscht sein, dass die Module122 eine Ausgabe über die andere Rechenvorrichtung darstellen. Selbst wenn eine andere Rechenvorrichtung besser geeignet ist, um eine Benutzeräußerung zu erfüllen, kann es jedoch nicht erwünscht sein, dass die Module122 eine Ausgabe über die andere Rechenvorrichtung darstellen, wenn der Benutzer, der die Äußerung geliefert hat, die Ausgabe nicht empfangen kann, die durch die andere Rechenvorrichtung dargestellt wird. - Gemäß einer oder mehreren Techniken dieser Offenbarung kann der Assistent eine oder mehrere andere Rechenvorrichtungen identifizieren, die verwendet werden können, um auf eine Benutzereingabe zu reagieren (z. B. zum Erfüllen von Benutzeräußerungen oder einer Texteingabe). Das Identifizieren von anderen Rechenvorrichtungen kann ermöglichen, dass der Assistent eine andere Rechenvorrichtung (d. h. eine andere als die Rechenvorrichtung
110 ) auswählt, um die Benutzeräußerung zu erfüllen. Wenn beispielsweise eine bestimmte Rechenvorrichtung der identifizierten anderen Rechenvorrichtungen besser geeignet ist, um die Benutzeräußerung zu erfüllen, als die Rechenvorrichtung110 , kann der Assistent die bestimmte Rechenvorrichtung auswählen, um die Benutzeräußerung zu erfüllen. In dieser Weise kann der Assistent eine Erfüllung von Äußerungen mit höherer Qualität bereitstellen. - In einigen Beispielen kann der Assistent periodisch die eine oder die mehreren anderen Rechenvorrichtungen identifizieren, die verwendet werden können, um auf eine Benutzereingabe zu reagieren (z. B. alle 5 Minuten, 10 Minuten, 30 Minuten, 1 Stunde, 1 Tag usw.). In einigen Beispielen kann es jedoch nicht erwünscht sein, die anderen Rechenvorrichtungen periodisch zu identifizieren. Die Rechenvorrichtung kann sich beispielsweise bewegt haben, so dass sich die identifizierten Vorrichtungen nicht mehr nahe der Rechenvorrichtung
110 befinden (d. h. die Identifikation kann veraltet geworden sein). Außerdem kann die Rechenvorrichtung110 eine batteriebetriebene Vorrichtung sein und die periodische Identifikation kann unnötig Batterieleistung der Rechenvorrichtung110 verbrauchen. - Gemäß einer oder mehreren Techniken dieser Offenbarung kann der Assistent die eine oder die mehreren anderen Rechenvorrichtungen in Reaktion darauf identifizieren, dass der Sprachempfang an der Rechenvorrichtung
110 aktiviert wird. In einigen Beispielen kann der Assistent eine einzelne Identifikation der anderen Rechenvorrichtungen in Reaktion darauf durchführen, dass der Sprachempfang an der Rechenvorrichtung110 aktiviert wird. In einigen Beispielen kann der Assistent eine anfängliche Identifikation der anderen Rechenvorrichtungen in Reaktion darauf durchführen, dass der Sprachempfang an der Rechenvorrichtung110 aktiviert wird, und weiterhin die Identifikation der anderen Rechenvorrichtungen aktualisieren, während der Sprachempfang an der Rechenvorrichtung110 aktiviert bleibt. Wenn beispielsweise die Rechenvorrichtung180A ein Fernsehgerät ist, das in einem Wohnzimmer angeordnet ist, und die Rechenvorrichtung180B ein Fernsehgerät ist, das in einer Küche angeordnet ist, und der Sprachempfang aktiviert wird, während sich die Rechenvorrichtung110 im Wohnzimmer befindet, kann der Assistent anfänglich identifizieren, dass die Rechenvorrichtung180A das am besten geeignete Fernsehgerät ist. Wenn dann die Rechenvorrichtung110 in die Küche getragen wird, während der Benutzer eine Äußerung spricht, kann der Assistent identifizieren, dass die Rechenvorrichtung180B das am besten geeignete Fernsehgerät ist. - Durch Beginnen der Identifikation der anderen Rechenvorrichtungen in Reaktion darauf, dass der Sprachempfang aktiviert wird, kann der Assistent außerdem eine Rechenvorrichtung schneller auswählen, um auf die Benutzereingabe zu reagieren. Der Assistent kann es beispielsweise vermeiden zu warten, bis der Benutzer mit dem Sprechen einer Äußerung fertig ist, um die Identifikation von anderen Rechenvorrichtungen zu starten, die ausgewählt werden können, um die Äußerung zu erfüllen. In dieser Weise kann der Assistent Rechenvorrichtungen, die verwendet werden können, um auf die gesprochene Eingabe zu reagieren, parallel mit dem Empfang der gesprochenen Eingabe identifizieren.
- Im Betrieb kann ein Benutzer den Sprachempfang an der Rechenvorrichtung
110 aktivieren und eine Äußerung sprechen. In Reaktion darauf, dass der Sprachempfang aktiviert wird, kann die Rechenvorrichtung110 eine oder mehrere Operationen durchführen, um zu bestimmen, ob beliebige andere Rechenvorrichtungen nahegelegen sind, die verwendet werden können, um gesprochene Äußerungen zu erfüllen. Eines oder beide der Vorrichtungsauswahlmodule124 können beispielsweise veranlassen, dass die Rechenvorrichtungen180 jeweilige Töne aussenden (in1 als Töne181A -181N dargestellt, gemeinsam „Töne181 “). Das Vorrichtungsauswahlmodul124A kann beispielsweise eine Nachricht über das Netz130 zum Vorrichtungsauswahlmodul124B senden, die angibt, dass der Sprachempfang an der Rechenvorrichtung110 aktiviert wurde. In Reaktion auf das Empfangen der Nachricht kann das Vorrichtungsauswahlmodul124B Anforderungen zu den Rechenvorrichtungen180 senden, um jeweilige Töne181 auszusenden. Das Vorrichtungsauswahlmodul124B kann beispielsweise eine Anforderung zur Rechenvorrichtung180A senden, um einen Ton181A auszusenden, eine Anforderung zur Rechenvorrichtung180B senden, um einen Ton181B auszusenden, und eine Anforderung zur Rechenvorrichtung180N senden, um einen Ton181N auszusenden. Die Aussendung eines Tons durch die Rechenvorrichtungen181A -181N ermöglicht, dass die Rechenvorrichtung110 verfügbare Vorrichtungen bestimmt, die Kandidaten zum Erfüllen der gesprochenen Äußerung sind. In einigen Beispielen können eine oder mehrere der Anforderungen durch das Vorrichtungsauswahlmodul124A gesendet werden. - In einigen Beispielen können die Anforderungen eine oder mehrere Audioeigenschaften der Töne festlegen. Die zu den Rechenvorrichtungen
180 gesendeten Anforderungen können beispielsweise jeweilige Frequenzen festlegen, mit denen die Rechenvorrichtungen180 Töne181 aussenden sollen. Mit anderen Worten kann jeder der Rechenvorrichtungen180 eine unterschiedliche Aussendefrequenz (bzw. Emissionsfrequenz) zugewiesen werden. In einigen Beispielen können die Frequenzen über typischen Frequenzen von menschlicher Sprache (z. B. über 300 Hz) liegen. Auf diese Weise kann der Assistent besser in der Lage sein, zwischen den Tönen181 und der gesprochenen Äußerung zu unterscheiden. In einigen Beispielen können die Frequenzen über dem Bereich des menschlichen Hörens (z. B. über 20 kHz) liegen. Auf diese Weise kann die Aussendung der Töne181 für den Benutzer transparent und/oder für den Benutzer nicht unangenehm sein. - Eines oder beide der Vorrichtungsauswahlmodule
124 können Audiodaten verarbeiten, die durch ein oder mehrere Mikrophone der UID112 erzeugt werden, um andere Rechenvorrichtungen zu identifizieren, die verwendet werden können, um die Benutzeräußerung zu erfüllen. Wenn die empfangenen Audiodaten einen jeweiligen Ton umfassen, der durch eine jeweilige Rechenvorrichtung der Rechenvorrichtungen180 ausgesendet wird, können eines oder beide der Vorrichtungsauswahlmodule124 bestimmen, dass die jeweilige Rechenvorrichtung für die Auswahl geeignet ist, um die gesprochene Äußerung zu erfüllen. Wenn beispielsweise die empfangenen Audiodaten einen Ton181A umfassen, kann das Vorrichtungsauswahlmodul124A bestimmen, dass die Rechenvorrichtung180A für die Auswahl geeignet ist, um die gesprochene Äußerung zu erfüllen. Wenn die empfangenen Audiodaten den Ton181B nicht umfassen, kann das Vorrichtungsauswahlmodul124A ebenso bestimmen, dass die Rechenvorrichtung180B nicht für die Auswahl geeignet ist, um die gesprochene Äußerung zu erfüllen. - Der Assistent kann ebenso Audiodaten verarbeiten, die durch ein oder mehrere Mikrophone der UID
112 erzeugt werden, um die Benutzeräußerung zu erkennen. Das lokale Assistentenmodul122A kann beispielsweise Audiodaten verarbeiten, die durch ein oder mehrere Mikrophone der UID112 erzeugt werden, um die Benutzeräußerung parallel mit der Identifikation der anderen Rechenvorrichtungen zu erkennen. - Eines oder beide der Vorrichtungsauswahlmodule
124 können eine oder mehrere Rechenvorrichtungen auswählen, um die gesprochene Äußerung zu erfüllen. Das Vorrichtungsauswahlmodul124A kann sich beispielsweise an das lokale Assistentenmodul122A koppeln, um eine oder mehrere der Rechenvorrichtung110 und der Rechenvorrichtungen aus den identifizierten Rechenvorrichtungen der Rechenvorrichtungen180 auszuwählen, die am besten geeignet sind, um die gesprochene Äußerung zu erfüllen. Als ein Beispiel kann, wenn die Rechenvorrichtung110 keine Anzeige umfasst und die Äußerung besser mit einer Anzeige erfüllt werden würde (z. B. wenn die Benutzeräußerung „Was steht auf meiner Tagesordnung“ ist), das Vorrichtungsauswahlmodul124A eine Rechenvorrichtung der identifizierten anderen Rechenvorrichtungen auswählen, die eine Anzeige umfasst, um die Äußerung zu erfüllen. Die Äußerung „Was steht auf meiner Tagesordnung“ kann besser mit einer Anzeige erfüllt werden, da eine visuelle Darstellung einer Tagesordnung einfacher zu verstehen sein kann als beispielsweise synthetisierte Sprache, die die Tagesordnung liest. Als anderes Beispiel kann, wenn die Rechenvorrichtung110 eine Anzeige umfasst und die Äußerung besser mit einer größeren Anzeige erfüllt werden würde (z. B. wenn die Benutzeräußerung „Spiel ein Video ab“ ist), das Vorrichtungsauswahlmodul124A eine Rechenvorrichtung der identifizierten anderen Rechenvorrichtungen auswählen, die eine relativ größere Anzeige umfasst, um die Äußerung zu erfüllen. Die Äußerung „Spiel ein Video ab“ kann mit einer relativ größeren Anzeige besser erfüllt werden, da es für einen Benutzer weniger anstrengend und/oder komfortabler sein kann, das Video auf einer größeren Anzeige (z. B. einem Fernsehgerät) anzusehen. Als anderes Beispiel kann, wenn die Äußerung darin besteht, Musik abzuspielen, das Vorrichtungsauswahlmodul124A eine Rechenvorrichtung der identifizierten anderen Rechenvorrichtungen auswählen, die Lautsprecher mit höherer Qualität als die Rechenvorrichtung110 umfasst. Auf diese Weise kann der Assistent eine Erfüllung von Äußerungen mit höherer Qualität bereitstellen. - Der Assistent kann veranlassen, dass die ausgewählte(n) Rechenvorrichtung(en) eine oder mehrere Aktivitäten durchführt (durchführen), um die Äußerung zu erfüllen. Wenn beispielsweise die Rechenvorrichtung
180A ausgewählt wird, um die Äußerung zu erfüllen, kann das lokale Assistentenmodul122A veranlassen, dass eine oder mehrere Komponenten der UID113 (z. B. Anzeigen, Lautsprecher usw.) eine Ausgabe erzeugen (z. B. ein Video anzeigen, graphische Benutzerschnittstellen anzeigen, einen Ton aussenden usw.). Wenn die Äußerung beispielsweise „Spiel ein Video ab“ ist, kann das lokale Assistentenmodul122A veranlassen, dass eine Anzeige der UID113 die Anzeige des Videos erzeugt. - Es ist zu erkennen, dass ein verbesserter Betrieb der Rechenvorrichtung
110 gemäß der obigen Beschreibung erhalten wird. Durch Identifizieren von anderen Rechenvorrichtungen, um Äußerungen zu erfüllen, kann die Erfüllung von Äußerungen durch die Rechenvorrichtung110 beispielsweise vermieden und/oder verringert werden. Dies verringert wiederum die Verwendung von Bandbreite und Datenübertragung, verringert die Verwendung von temporärem flüchtigem Arbeitsspeicher, verringert den Batterieverbrauch der Rechenvorrichtung110 usw. Ferner können in bestimmten Ausführungsformen das Optimieren der Vorrichtungsleistungsfähigkeit und/oder das Minimieren der zellularen Datennutzung Merkmale für die Vorrichtungsauswahl sein, so dass die Auswahl einer anderen Vorrichtung auf der Basis dieser Kriterien die gewünschten direkten Verringerungen des Batterieverbrauchs und/oder der verringerten Datennutzung schafft (z. B. Auswählen einer anderen Vorrichtung, um eine Äußerung zu erfüllen, so dass die aktuelle Vorrichtung das Verbrauchen von Batterieleistung vermeidet, um die Äußerung zu erfüllen, und/oder die Nutzung von Daten vermeidet, um die Äußerung zu erfüllen). -
2 ist ein Blockdiagramm, das eine Beispielrechenvorrichtung, die dazu konfiguriert ist, einen virtuellen Beispielassistenten auszuführen, gemäß einem oder mehreren Aspekten der vorliegenden Offenbarung darstellt. Die Rechenvorrichtung210 von2 wird nachstehend als Beispiel der Rechenvorrichtung110 von1 beschrieben.2 stellt nur ein bestimmtes Beispiel der Rechenvorrichtung210 dar und viele andere Beispiele der Rechenvorrichtung210 können in anderen Fällen verwendet werden und können eine Teilmenge der Komponenten umfassen, die in der Beispielrechenvorrichtung210 enthalten sind, oder können zusätzliche Komponenten umfassen, die in2 nicht gezeigt sind. - Wie im Beispiel von
2 gezeigt, umfasst die Rechenvorrichtung210 eine Benutzerschnittstellenvorrichtung (USD)212 , einen oder mehrere Prozessoren240 , eine oder mehrere Kommunikationseinheiten242 , eine oder mehrere Eingabekomponenten244 , eine oder mehrere Ausgabekomponenten246 und eine oder mehrere Speichervorrichtungen248 . Die USD212 umfasst eine Anzeigekomponente202 , eine anwesenheitsempfindliche Eingabekomponente204 , eine Mikrophonkomponente206 und eine Lautsprecherkomponente208 . Die Speichervorrichtungen248 der Rechenvorrichtung210 umfassen ein Ul-Modul220 , ein Assistentenmodul222 , ein Vorrichtungsauswahlmodul224 , ein Suchmodul282 , ein oder mehrere Anwendungsmodule226 und ein Kontextmodul230 . - Die Kommunikationskanäle
250 können jede der Komponenten212 ,240 ,242 ,244 ,246 und248 für Kommunikationen zwischen Komponenten (physisch, kommunikativ und/oder betriebsfähig) miteinander verbinden. In einigen Beispielen können die Kommunikationskanäle250 einen Systembus, eine Netzverbindung, eine Kommunikationsdatenstruktur zwischen Prozessen oder irgendein anderes Verfahren zur Übermittlung von Daten umfassen. - Die eine oder die mehreren Kommunikationseinheiten
242 der Rechenvorrichtung210 können mit externen Vorrichtungen (z. B. Assistentenserversystem160 und/oder Rechenvorrichtungen180 des Systems100 von1 ) über ein oder mehrere verdrahtete und/oder drahtlose Netze durch Übertragen und/oder Empfangen von Netzsignalen auf einem oder mehreren Netzen (z. B. Netz130 des Systems100 von1 ) kommunizieren. Beispiele von Kommunikationseinheiten242 umfassen eine Netzschnittstellenkarte (wie z. B. eine Ethernet-Karte), einen optischen Sender/Empfänger, einen Funkfrequenz-Sender/Empfänger, einen GPS-Empfänger oder irgendeinen anderen Typ von Vorrichtung, die Informationen senden und/oder empfangen kann. Andere Beispiele von Kommunikationseinheiten242 können Kurzwellenfunkgeräte, zellulare Datenfunkgeräte, drahtlose Netzfunkgeräte sowie Steuereinheiten eines universellen seriellen Busses (USB) umfassen. - Die eine oder die mehreren Eingabekomponenten
244 der Rechenvorrichtung210 können eine Eingabe empfangen. Beispiele der Eingabe sind eine taktile, Audio- und Videoeingabe. Die Eingabekomponenten242 der Rechenvorrichtung210 umfassen in einem Beispiel eine anwesenheitsempfindliche Eingabevorrichtung (z. B. einen berührungsempfindlichen Bildschirm, eine PSD), eine Maus, eine Tastatur, ein Sprachantwortsystem, eine Kamera, ein Mikrophon oder irgendeinen anderen Typ von Vorrichtung zum Detektieren einer Eingabe von einem Menschen oder einer Maschine. In einigen Beispielen können die Eingabekomponenten242 eine oder mehrere Sensorkomponenten, einen oder mehrere Ortssensoren (GPS-Komponenten, Wi-Fi-Komponenten, zellulare Komponenten), einen oder mehrere Temperatursensoren, einen oder mehrere Bewegungssensoren (z. B. Beschleunigungsmesser, Gyros), einen oder mehrere Drucksensoren (z. B. Barometer), einen oder mehrere Umgebungslichtsensoren, einen oder mehrere andere Sensoren (z. B. Infrarotnähesensor, Hygrometersensor und dergleichen) umfassen. Andere Sensoren, um einige andere nicht begrenzende Beispiele zu nennen, können einen Herzratensensor, ein Magnetometer, einen Glucosesensor, einen Geruchssensor, einen Kompasssensor, einen Schrittzählersensor umfassen. - Die eine oder die mehreren Ausgabekomponenten
246 der Rechenvorrichtung210 können eine Ausgabe erzeugen. Beispiele einer Ausgabe sind eine taktile, Audio- und Videoausgabe. Die Ausgabekomponenten246 der Rechenvorrichtung210 umfassen in einem Beispiel eine anwesenheitsempfindliche Anzeige, eine Soundkarte, eine Videographikadapterkarte, einen Lautsprecher, einen Kathodenstrahlröhrenmonitor (CRT-Monitor), eine Flüssigkristallanzeige (LCD) oder irgendeinen anderen Typ von Vorrichtung zum Erzeugen einer Ausgabe an einen Menschen oder eine Maschine. - Die UID
212 der Rechenvorrichtung210 kann zur UID112 der Rechenvorrichtung110 ähnlich sein und umfasst eine Anzeigekomponente202 , eine anwesenheitsempfindliche Eingabekomponente204 , eine Mikrophonkomponente206 und eine Lautsprecherkomponente208 . Die Anzeigekomponente202 kann ein Bildschirm sein, an dem Informationen durch die USD212 angezeigt werden, während die anwesenheitsempfindliche Eingabekomponente204 ein Objekt an und/oder nahe der Anzeigekomponente202 detektieren kann. Die Lautsprecherkomponente208 kann ein Lautsprecher sein, von dem hörbare Informationen durch die UID212 wiedergegeben werden, während die Mikrophonkomponente206 eine hörbare Eingabe detektieren kann, die an und/oder nahe der Anzeigekomponente202 und/oder der Lautsprecherkomponente208 bereitgestellt wird. - Obwohl sie als interne Komponente der Rechenvorrichtung
210 dargestellt ist, kann die UID212 auch eine externe Komponente darstellen, die sich einen Datenpfad mit der Rechenvorrichtung210 zum Übertragen und/oder Empfangen einer Eingabe und Ausgabe teilt. In einem Beispiel stellt die UID212 beispielsweise eine eingebaute Komponente der Rechenvorrichtung210 dar, die innerhalb der externen Aufmachung der Rechenvorrichtung210 angeordnet und physisch damit verbunden ist (z. B. ein Bildschirm an einem Mobiltelefon). In einem anderen Beispiel stellt die UID212 eine externe Komponente der Rechenvorrichtung210 dar, die außerhalb der Aufmachung oder des Gehäuses der Rechenvorrichtung210 angeordnet ist und physisch davon getrennt ist (z. B. ein Monitor, ein Projektor usw., der sich einen verdrahteten und/oder drahtlosen Datenpfad mit der Rechenvorrichtung210 teilt). - Als ein Beispielbereich kann die anwesenheitsempfindliche Eingabekomponente
204 ein Objekt wie z. B. einen Finger oder einen Stift detektieren, der sich innerhalb zwei Zoll oder weniger von der Anzeigekomponente202 befindet. Die anwesenheitsempfindliche Eingabekomponente204 kann einen Ort (z. B. eine [x,y]-Koordinate) der Anzeigekomponente202 bestimmen, an dem das Objekt detektiert wurde. In einem anderen Beispielbereich kann die anwesenheitsempfindliche Eingabekomponente204 ein Objekt sechs Zoll oder weniger von der Anzeigekomponente202 detektieren und andere Reichweiten sind auch möglich. Die anwesenheitsempfindliche Eingabekomponente204 kann den Ort der Anzeigekomponente202 , der durch den Finger eines Benutzers ausgewählt wird, unter Verwendung von kapazitiven, induktiven und/oder optischen Erkennungstechniken bestimmen. In einigen Beispielen liefert die anwesenheitsempfindliche Eingabekomponente204 auch eine Ausgabe zu einem Benutzer unter Verwendung von taktilen, Audio- oder Videoreizen, wie mit Bezug auf die Anzeigekomponente202 beschrieben. In dem Beispiel von2 kann die PSD212 eine Benutzerschnittstelle als graphische Benutzerschnittstelle darstellen. - Die Lautsprecherkomponente
208 kann einen Lautsprecher umfassen, der in ein Gehäuse der Rechenvorrichtung210 eingebaut ist, und kann in einigen Beispielen ein Lautsprecher sein, der in einen Satz von verdrahteten oder drahtlosen Kopfhörern eingebaut ist, die betriebsfähig mit der Rechenvorrichtung210 gekoppelt sind. Die Mikrophonkomponente206 kann eine akustische Eingabe detektieren, die an oder nahe der UID212 auftritt. Die Mikrophonkomponente206 kann verschiedene Rauschunterdrückungstechniken durchführen, um Hintergrundrauschen zu entfernen und Benutzersprache aus einem detektierten Audiosignal zu isolieren. - Die UID
212 der Rechenvorrichtung210 kann zweidimensionale und/oder dreidimensionale Gesten als Eingabe von einem Benutzer der Rechenvorrichtung210 detektieren. Ein Sensor der UID212 kann beispielsweise die Bewegung eines Benutzers (z. B. Bewegung einer Hand, eines Arms, eines Stifts, eines Griffels usw.) innerhalb eines Schwellenabstandes des Sensors der UID212 detektieren. Die UID212 kann eine zwei- oder dreidimensionale Vektordarstellung der Bewegung bestimmen und die Vektordarstellung mit einer Gesteneingabe korrelieren (z. B. ein Handwinken, ein Kneifen, ein Klatschen, einen Federstrich usw.), die mehrere Dimensionen aufweist. Mit anderen Worten, die UID212 kann eine Geste mit mehreren Dimensionen ohne Anfordern, dass der Benutzer an oder nahe einem Bildschirm oder einer Oberfläche gestikuliert, an der die UID212 Informationen zur Anzeige ausgibt, detektieren. Stattdessen kann die UID212 eine Geste mit mehreren Dimensionen detektieren, die an oder nahe einem Sensor durchgeführt wird, der nahe dem Bildschirm oder der Oberfläche angeordnet sein kann oder nicht, an der die UID212 Informationen zur Anzeige ausgibt. - Ein oder mehrere Prozessoren
240 können eine Funktionalität implementieren und/oder Befehle ausführen, die der Rechenvorrichtung210 zugeordnet sind. Beispiele von Prozessoren240 umfassen Anwendungsprozessoren, Anzeigesteuereinheiten, Hilfsprozessoren, einen oder mehrere Sensornetzknoten und beliebige andere Hardware, die dazu konfiguriert ist, als Prozessor, Verarbeitungseinheit oder Verarbeitungsvorrichtung zu funktionieren. Die Module220 ,222 ,224 ,226 ,230 und282 können durch die Prozessoren240 betriebsfähig sein, um verschiedene Handlungen, Operationen oder Funktionen der Rechenvorrichtung210 durchzuführen. Die Prozessoren240 der Rechenvorrichtung210 können beispielsweise Befehle abrufen und ausführen, die durch die Speichervorrichtungen248 gespeichert werden, die veranlassen, dass die Prozessoren240 die Operationsmodule220 ,222 ,224 ,226 ,230 und282 durchführen. Die Befehle können, wenn sie durch die Prozessoren240 ausgeführt werden, veranlassen, dass die Rechenvorrichtung210 Informationen innerhalb der Speichervorrichtungen248 speichert. - Eine oder mehrere Speichervorrichtungen
248 innerhalb der Rechenvorrichtung210 können Informationen zum Verarbeiten während des Betriebs der Rechenvorrichtung210 speichern (z. B. kann die Rechenvorrichtung210 Daten speichern, auf die durch die Module220 ,222 ,224 ,226 ,230 und282 während der Ausführung auf der Rechenvorrichtung210 zugegriffen wird). In einigen Beispielen sind die Speichervorrichtungen248 ein temporärer Arbeitsspeicher, was bedeutet, dass ein Hauptzweck der Speichervorrichtungen248 keine Langzeitspeicherung ist. Die Speichervorrichtungen248 an der Rechenvorrichtung210 können für die Kurzzeitspeicherung von Informationen als flüchtiger Arbeitsspeicher konfiguriert sein und daher gespeicherte Inhalte nicht beibehalten, wenn sie ausgeschaltet werden. Beispiele von flüchtigen Arbeitsspeichern umfassen Direktzugriffsarbeitsspeicher (RAM), dynamische Direktzugriffsarbeitsspeicher (DRAM), statische Direktzugriffsarbeitsspeicher (SRAM) und andere Formen von flüchtigen Arbeitsspeichern, die auf dem Fachgebiet bekannt sind. - Die Speichervorrichtungen
248 können in einigen Beispielen auch ein oder mehrere computerlesbare Speichermedien umfassen. Die Speichervorrichtungen248 umfassen in einigen Beispielen ein oder mehrere nichtflüchtige computerlesbare Speichermedien. Die Speichervorrichtungen248 können dazu konfiguriert sein, größere Mengen an Informationen zu speichern als typischerweise durch einen flüchtigen Arbeitsspeicher gespeichert werden. Die Speichervorrichtungen248 können ferner für die Langzeitspeicherung von Informationen als nichtflüchtiger Arbeitsspeicherplatz konfiguriert sein und Informationen nach Ein/Aus-Schaltzyklen beibehalten. Beispiele von nichtflüchtigen Arbeitsspeichern umfassen magnetische Festplatten, optische Platten, Disketten, Flash-Arbeitsspeicher oder Formen von elektrisch programmierbaren Arbeitsspeichern (EPROM) oder elektrisch löschbaren und programmierbaren Arbeitsspeichern (EEPROM). Die Speichervorrichtungen248 können Programmbefehle und/oder Informationen (z. B. Daten) speichern, die den Modulen220 ,222 ,224 ,226 ,230 und282 zugeordnet sind. Die Speichervorrichtungen248 können einen Arbeitsspeicher umfassen, der dazu konfiguriert ist, Daten oder andere Informationen zu speichern, die den Modulen220 ,222 ,224 ,226 ,230 und282 zugeordnet sind. - Das Ul-Modul
220 kann die ganze Funktionalität des Ul-Moduls120 der Rechenvorrichtung110 von1 umfassen und kann ähnliche Operationen wie das Ul-Modul120 zum Managen einer Benutzerschnittstelle durchführen, die die Rechenvorrichtung210 an der USD212 beispielsweise zum Erleichtern von Zusammenwirkungen zwischen einem Benutzer der Rechenvorrichtung110 und dem Assistentenmodul222 bereitstellt. Das UI-Modul220 der Rechenvorrichtung210 kann beispielsweise Informationen vom Assistentenmodul222 empfangen, die Befehle zum Ausgeben (z. B. Anzeigen oder Wiedergeben von Audio) einer Assistentenbenutzerschnittstelle (z. B. Benutzerschnittstelle114 ) umfassen. Das UI-Modul220 kann die Informationen vom Assistentenmodul222 über Kommunikationskanäle250 empfangen und die Daten verwenden, um eine Benutzerschnittstelle zu erzeugen. Das Ul-Modul220 kann einen Anzeige- oder hörbaren Ausgabebefehl und zugehörige Daten über die Kommunikationskanäle250 übertragen, um zu veranlassen, dass die UID212 die Benutzerschnittstelle an der UID212 darstellt. - In einigen Beispielen kann das Ul-Modul220 eine Angabe von einer oder mehreren Benutzereingaben empfangen, die an der UID
212 detektiert werden, und kann Informationen über die Benutzereingaben an das Assistentenmodul222 ausgeben. Die UID212 kann beispielsweise eine Spracheingabe von einem Benutzer detektieren und Daten über die Spracheingabe zum Ul-Modul220 senden. - Das Ul-Modul
220 kann eine Angabe der Spracheingabe zum Assistentenmodul222 für die weitere Interpretation senden. Das Assistentenmodul222 kann auf der Basis der Spracheingabe bestimmen, dass die detektierte Spracheingabe eine Benutzeranforderung umfasst, damit das Assistentenmodul222 eine oder mehrere Aufgaben durchführt. - Die Anwendungsmodule
226 stellen alle verschiedenen einzelnen Anwendungen und Dienste dar, die auf der Rechenvorrichtung210 laufen und von dieser zugänglich sind, auf die durch einen Assistenten wie z. B. das Assistentenmodul222 zugegriffen werden kann, um dem Benutzer Informationen bereitzustellen und/oder eine Aufgabe durchzuführen. Ein Benutzer der Rechenvorrichtung210 kann mit einer Benutzerschnittstelle interagieren, die einem oder mehreren Anwendungsmodulen226 zugeordnet ist, um zu veranlassen, dass die Rechenvorrichtung210 eine Funktion durchführt. Zahlreiche Beispiele von Anwendungsmodulen226 können existieren und umfassen eine Fitnessanwendung, eine Kalenderanwendung, eine Suchanwendung, eine Karten- oder Navigationsanwendung, eine Transportdienstanwendung (z. B. eine Bus- oder Zugverfolgungsanwendung), eine Anwendung sozialer Medien, eine Spielanwendung, eine Email-Anwendung, eine Chat- oder Nachrichtenübermittlungsanwendung, eine Internet-Browser-Anwendung und beliebige und alle anderen Anwendungen, die auf der Rechenvorrichtung210 laufen können. - Das Suchmodul
282 der Rechenvorrichtung210 kann integrierte Suchfunktionen im Interesse der Rechenvorrichtung210 durchführen. Das Suchmodul282 kann durch das Ul-Modul220 , eines oder mehrere der Anwendungsmodule226 und/oder das Assistentenmodul222 aufgerufen werden, um Suchoperationen in ihrem Interesse durchzuführen. Wenn es aufgerufen wird, kann das Suchmodul282 Suchfunktionen durchführen, wie z. B. Erzeugen von Suchabfragen und Ausführen von Suchen auf der Basis von erzeugten Suchabfragen über verschiedene lokale und entfernte Informationsquellen. Das Suchmodul282 kann die Ergebnisse von ausgeführten Suchen zur aufrufenden Komponente oder zum aufrufenden Modul liefern. Das heißt, das Suchmodul282 kann Suchergebnisse an das Ul-Modul220 , das Assistentenmodul222 und/oder die Anwendungsmodule226 in Reaktion auf einen Aufrufbefehl ausgeben. - Das Kontextmodul
230 kann Kontextinformationen sammeln, die der Rechenvorrichtung210 zugeordnet sind, um einen Kontext der Rechenvorrichtung210 zu definieren. Insbesondere wird das Kontextmodul210 hauptsächlich durch das Assistentenmodul222 verwendet, um einen Kontext der Rechenvorrichtung210 zu definieren, der die Eigenschaften der physischen und/oder virtuellen Umgebung der Rechenvorrichtung210 und eines Benutzers der Rechenvorrichtung210 zu einer bestimmten Zeit angibt. - Wie in der ganzen Offenbarung verwendet, wird der Begriff „Kontextinformationen“ verwendet, um beliebige Informationen zu beschreiben, die vom Kontextmodul
230 verwendet werden können, um die virtuellen und/oder physischen Umgebungseigenschaften zu definieren, die eine Rechenvorrichtung und der Benutzer der Rechenvorrichtung zu einer bestimmten Zeit erfahren können. Beispiele von Kontextinformationen sind zahlreich und können umfassen: ein Konto, das der Rechenvorrichtung210 zugeordnet ist (z. B. ein Benutzerkonto, bei dem die Rechenvorrichtung210 gegenwärtig angemeldet ist), ein Netz, mit dem die Rechenvorrichtung210 gegenwärtig verbunden ist (z. B. ein Dienstsatzidentifizierer (SSID) eines Wi-Fi-Netzes), Sensorinformationen, die von Sensoren (z. B. Positionssensoren, Beschleunigungsmessern, Gyros, Barometern, Umgebungslichtsensoren, Nähesensoren, Mikrophonen oder irgendeinem anderen Sensor) der Rechenvorrichtung210 erhalten werden, Kommunikationsinformationen (z. B. Kommunikationen auf Textbasis, hörbare Kommunikationen, Videokommunikationen usw.), die durch Kommunikationsmodule der Rechenvorrichtung210 gesendet und empfangen werden, und Anwendungsnutzungsinformationen, die Anwendungen zugeordnet sind, die auf der Rechenvorrichtung210 laufen (z. B. Anwendungsdaten, die Anwendungen zugeordnet sind, Internet-Suchverläufe, Textkommunikationen, Sprach- und Videokommunikationen, Kalenderinformationen, Beiträge von sozialen Medien und verwandte Informationen usw.). Weitere Beispiele von Kontextinformationen umfassen Signale und Informationen, die von Übertragungsvorrichtungen erhalten werden, die sich außerhalb der Rechenvorrichtung210 befinden. Das Kontextmodul230 kann beispielsweise über eine Funk- oder Kommunikationseinheit der Rechenvorrichtung210 Bakeninformationen empfangen, die von externen Baken übertragen werden, die an oder nahe einem physischen Ort eines Händlers angeordnet sind. - Das Assistentenmodul
222 kann die ganze Funktionalität des lokalen Assistentenmoduls122A der Rechenvorrichtung110 von1 umfassen und kann ähnliche Operationen wie das lokale Assistentenmodul122A zum Vorsehen eines Assistenten durchführen. In einigen Beispielen kann das Assistentenmodul222 lokal laufen (z. B. an den Prozessoren240 ), um Assistentenfunktionen bereitzustellen. In einigen Beispielen kann das Assistentenmodul222 als Schnittstelle zu einem entfernten Assistentendienst wirken, der für die Rechenvorrichtung210 zugänglich ist. Das Assistentenmodul222 kann beispielsweise eine Schnittstelle oder Anwendungsprogrammierschnittstelle (API) zum entfernten Assistentenmodul122B des Assistentenserversystems160 von1 sein. - Das Vorrichtungsauswahlmodul
224 kann die ganze Funktionalität des Vorrichtungsauswahlmoduls124A der Rechenvorrichtung110 von1 umfassen und kann ähnliche Operationen wie das Vorrichtungsauswahlmodul124A durchführen, um andere Rechenvorrichtungen zu identifizieren und auszuwählen. In einigen Beispielen kann das Vorrichtungsauswahlmodul224 lokal laufen (z. B. an den Prozessoren240 ), um andere Rechenvorrichtungen zu identifizieren und/oder auszuwählen. In einigen Beispielen kann das Vorrichtungsauswahlmodul224 als Schnittstelle zu einem entfernten Vorrichtungsauswahldienst wirken, der für die Rechenvorrichtung210 zugänglich ist. Das Vorrichtungsauswahlmodul224 kann beispielsweise eine Schnittstelle oder Anwendungsprogrammierschnittstelle (API) zum Vorrichtungsauswahlmodul124B des Assistentenserversystems160 von1 sein. -
3 ist ein Blockdiagramm, das eine Beispielrechenvorrichtung, die so konfiguriert ist, dass sie für die Auswahl durch einen virtuellen Assistenten identifiziert wird, gemäß einem oder mehreren Aspekten der vorliegenden Offenbarung darstellt. Die Rechenvorrichtung380 von3 wird nachstehend als Beispiel einer Rechenvorrichtung der Rechenvorrichtungen180 von1 beschrieben.3 stellt nur ein bestimmtes Beispiel der Rechenvorrichtung380 dar und viele andere Beispiele der Rechenvorrichtung380 können in anderen Fällen verwendet werden und können eine Teilmenge der Komponenten umfassen, die in der Beispielrechenvorrichtung380 enthalten sind, oder können zusätzliche Komponenten umfassen, die in3 nicht gezeigt sind. - Wie im Beispiel von
3 gezeigt, umfasst die Rechenvorrichtung380 eine Benutzerschnittstellenvorrichtung (UID)313 , einen oder mehrere Prozessoren341 , eine oder mehrere Kommunikationseinheiten343 , eine oder mehrere Eingabekomponenten345 , eine oder mehrere Ausgabekomponenten347 und eine oder mehrere Speichervorrichtungen349 . Die UID313 umfasst eine Anzeigekomponente303 , eine anwesenheitsempfindliche Eingabekomponente305 , eine Mikrophonkomponente307 und eine Lautsprecherkomponente309 . Die Speichervorrichtungen349 der Rechenvorrichtung380 umfassen ein Ul-Modul321 , ein Auswahlreaktionsmodul327 und ein Kontextmodul331 . - Die Prozessoren
340 sind analog zu den Prozessoren240 des Rechensystems210 von2 . Die Kommunikationseinheiten342 sind analog zu den Kommunikationseinheiten242 des Rechensystems210 von2 . Die UID313 ist analog zur UID212 des Rechensystems210 von2 . Die Speichervorrichtungen348 sind analog zu den Speichervorrichtungen248 des Rechensystems210 von2 . Die Eingabekomponenten344 sind analog zu den Eingabekomponenten244 des Rechensystems210 von2 . Die Ausgabekomponenten346 sind analog zu den Ausgabekomponenten246 des Rechensystems210 von2 . Die Kommunikationskanäle350 sind analog zu den Kommunikationskanälen250 des Rechensystems210 von2 und können daher jede der Komponenten340 ,342 ,344 ,346 ,313 und318 für Kommunikationen zwischen Komponenten miteinander verbinden. In einigen Beispielen können die Kommunikationskanäle350 einen Systembus, eine Netzverbindung, eine Kommunikationsdatenstruktur zwischen Prozessen oder irgendein anderes Verfahren für die Übermittlung von Daten umfassen. - Das Ul-Modul
321 kann die ganze Funktionalität des Ul-Moduls121 der Rechenvorrichtung180A von1 umfassen und kann ähnliche Operationen wie das Ul-Modul121 durchführen. Das Ul-Modul321 der Rechenvorrichtung380 kann beispielsweise Informationen vom Auswahlreaktionsmodul327 empfangen, die Befehle zum Erfüllen einer Äußerung umfassen (z. B. Anzeigen von Video oder Wiedergeben von Audio). Das Ul-Modul321 kann einen Anzeige- oder hörbaren Ausgabebefehl und zugehörige Daten über die Kommunikationskanäle350 übertragen, um zu veranlassen, dass die UID313 die Benutzerschnittstelle an der UID313 darstellt. - Das Kontextmodul
331 kann dazu konfiguriert sein, Funktionen durchzuführen, die zum Kontextmodul231 der Rechenvorrichtung210 von2 ähnlich sind. Das Kontextmodul331 kann beispielsweise Kontextinformationen sammeln, die der Rechenvorrichtung380 zugeordnet sind, um einen Kontext der Rechenvorrichtung380 zu definieren. In einigen Beispielen kann das Kontextmodul331 eine oder mehrere andere Vorrichtungen hinsichtlich des Kontexts der Rechenvorrichtung380 aktualisieren. Das Kontextmodul331 kann beispielsweise ein Serversystem (z. B. das Assistentenserversystem160 von1 ) hinsichtlich einer oder beider einer Identifikation eines Kontos, das der Rechenvorrichtung380 zugeordnet ist, und einer Identifikation eines Netzes, mit dem die Rechenvorrichtung380 gegenwärtig verbunden ist, aktualisieren. In einigen Beispielen kann das Kontextmodul331 die anderen Vorrichtungen in regelmäßigen Zeitintervallen (d. h. 5 Minuten, 10 Minuten, 30 Minuten, 1 Stunde, 1 Tag) aktualisieren. In einigen Beispielen kann das Kontextmodul331 die anderen Vorrichtungen aktualisieren, wenn der Kontext der Rechenvorrichtung380 sich geändert hat (z. B. wenn die Rechenvorrichtung380 mit einem Netz verbindet oder sich von diesem trennt, wenn die Rechenvorrichtung380 bei einem neuen Konto angemeldet wird). - Das Auswahlreaktionsmodul
327 kann eine oder mehrere Handlungen durchführen, um die Identifikation der Rechenvorrichtung380 zu ermöglichen, um Äußerungen zu erfüllen, die an einer anderen Vorrichtung wie z. B. der Rechenvorrichtung110 von1 oder der Rechenvorrichtung210 von2 gesprochen wird. In einigen Beispielen kann in Reaktion auf das Empfangen einer Anforderung (z. B. vom Assistentenserversystem160 von1 ) das Auswahlreaktionsmodul327 veranlassen, dass die Lautsprecherkomponente309 der UID313 einen Ton aussendet. Wie vorstehend erörtert, kann in einigen Beispielen die Anforderung eine oder mehrere eindeutige Audioeigenschaften (z. B. Frequenz) des auszusendenden Tons identifizieren. In einigen Beispielen kann das Auswahlreaktionsmodul327 veranlassen, dass eine oder mehrere Komponenten der UID313 eine Ausgabe erzeugen (z. B. ein Video anzeigen, graphische Benutzerschnittstellen anzeigen, einen Ton aussenden usw.), um eine Äußerung zu erfüllen, die an einer anderen Vorrichtung gesprochen wird. -
4 ist ein Blockdiagramm, das ein Beispielrechensystem, das dazu konfiguriert ist, einen virtuellen Beispielassistenten auszuführen, gemäß einem oder mehreren Aspekten der vorliegenden Offenbarung darstellt. Das Assistentenserversystem460 von4 wird nachstehend als Beispiel des Assistentenserversystems160 von1 beschrieben.4 stellt nur ein bestimmtes Beispiel des Assistentenserversystems460 dar und viele andere Beispiele des Assistentenserversystems460 können in anderen Fällen verwendet werden und können eine Teilmenge der Komponenten umfassen, die im Beispielassistentenserversystem460 enthalten sind, oder können zusätzliche Komponenten umfassen, die in4 nicht gezeigt sind. - Wie in dem Beispiel von
4 gezeigt, umfasst das Assistentenserversystem460 Benutzer einen oder mehrere Prozessoren440 , eine oder mehrere Kommunikationseinheiten442 und eine oder mehrere Speichervorrichtungen448 . Die Speichervorrichtungen448 umfassen ein Assistentenmodul422 , ein Suchmodul482 , ein Kontextmodul430 und ein Vorrichtungsauswahlmodul424 . - Die Prozessoren
440 sind analog zu den Prozessoren240 des Rechensystems210 von1 . Die Kommunikationseinheiten442 sind analog zu den Kommunikationseinheiten242 des Rechensystems210 von2 . Die Speichervorrichtungen448 sind analog zu den Speichervorrichtungen248 des Rechensystems210 von2 . Die Kommunikationskanäle450 sind analog zu den Kommunikationskanälen250 des Rechensystems210 von2 und können daher jede der Komponenten440 ,442 und448 für Kommunikationen zwischen Komponenten miteinander verbinden. In einigen Beispielen können die Kommunikationskanäle450 einen Systembus, eine Netzverbindung, eine Kommunikationsdatenstruktur zwischen Prozessen oder irgendein anderes Verfahren zum Übermitteln von Daten umfassen. - Das Suchmodul
482 des Assistentenserversystems460 ist zum Suchmodul282 der Rechenvorrichtung210 analog und kann integrierte Suchfunktionen im Interesse des Assistentenserversystems460 durchführen. Das heißt, das Suchmodul482 kann Suchoperationen im Interesse des Assistentenmoduls422 durchführen. In einigen Beispielen kann das Suchmodul482 mit externen Suchsystemen über eine Schnittstelle koppeln, um Suchoperationen im Interesse des Assistentenmoduls422 durchzuführen. Wenn es aufgerufen wird, kann das Suchmodul482 Suchfunktionen durchführen, wie z. B. Erzeugen von Suchabfragen und Ausführen von Suchen auf der Basis von erzeugten Suchabfragen über verschiedene lokale und entfernte Informationsquellen. Das Suchmodul482 kann Ergebnisse von ausgeführten Suchen zur aufrufenden Komponente oder zum aufrufenden Modul liefern. Das heißt, das Suchmodul482 kann Suchergebnisse an das Assistentenmodul422 ausgeben. - Das Kontextmodul
430 des Assistentenserversystems460 ist analog zum Kontextmodul230 der Rechenvorrichtung210 . Das Kontextmodul430 kann Kontextinformationen sammeln, die den Rechenvorrichtungen wie z. B. der Rechenvorrichtung110 und/oder den Rechenvorrichtungen180 von1 , der Rechenvorrichtung210 von2 und/oder der Rechenvorrichtung380 von3 zugeordnet sind, um einen Kontext der Rechenvorrichtung zu definieren. Das Kontextmodul430 kann hauptsächlich durch das Assistentenmodul422 und/oder das Suchmodul482 verwendet werden, um einen Kontext einer Rechenvorrichtung zu definieren, die sich mit einem Dienst über eine Schnittstelle koppelt und auf diesen zugreift, der durch das Assistentenserversystem160 bereitgestellt wird. Der Kontext kann die Eigenschaften der physischen und/oder virtuellen Umgebung der Rechenvorrichtung und eines Benutzers der Rechenvorrichtung zu einer bestimmten Zeit angeben. - Das Assistentenmodul
422 kann die ganze Funktionalität des lokalen Assistentenmoduls122A und des entfernten Assistentenmoduls122B von1 sowie des Assistentenmoduls222 der Rechenvorrichtung210 von2 umfassen. Das Assistentenmodul422 kann ähnliche Operationen wie das entfernte Assistentenmodul122B zum Bereitstellen eines Assistentendienstes durchführen, der über das Assistentenserversystem460 zugänglich ist. Das heißt, das Assistentenmodul422 kann als Schnittstelle zu einem entfernten Assistentendienst wirken, der für eine Rechenvorrichtung zugänglich ist, die über ein Netz mit dem Assistentenserversystem460 kommuniziert. Das Assistentenmodul422 kann beispielsweise eine Schnittstelle oder API zum entfernten Assistentenmodul122B des Assistentenserversystems160 von1 sein. - Das Vorrichtungsauswahlmodul
424 kann die ganze Funktionalität des Vorrichtungsauswahlmoduls124A und des Vorrichtungsauswahlmoduls124B von1 sowie des Vorrichtungsauswahlmoduls224 der Rechenvorrichtung210 von2 umfassen. Das Vorrichtungsauswahlmodul424 kann ähnliche Operationen wie das Vorrichtungsauswahlmodul124B zum Identifizieren und Auswählen von anderen Rechenvorrichtungen durchführen, um gesprochene Äußerungen zu erfüllen. In einigen Beispielen kann das Vorrichtungsauswahlmodul424 eine Schnittstelle oder API zum Vorrichtungsauswahlmodul124B des Assistentenserversystems160 von1 sein. - Im Betrieb kann das Vorrichtungsauswahlmodul
424 eine Liste von Rechenvorrichtungen unterhalten, die auf eine bestimmte Rechenvorrichtung (z. B. die Rechenvorrichtung110 von1 oder die Rechenvorrichtung210 von1 ) bezogen sind. Das Vorrichtungsauswahlmodul424 kann beispielsweise auf der Basis von Kontextinformationen, die durch das Kontextmodul430 gesammelt werden, eine oder mehrere Rechenvorrichtungen identifizieren, die mit einem gleichen Netz wie die bestimmte Rechenvorrichtung verbunden sind (z. B. eine oder mehrere Rechenvorrichtungen, die mit einem Netz mit einem gleichen SSID wie die bestimmte Rechenvorrichtung verbunden sind) und/oder einem gleichen Konto wie die bestimmte Rechenvorrichtung (z. B. einem gleichen Benutzerkonto) zugeordnet sind. - In Reaktion auf das Empfangen einer Angabe, dass der Sprachempfang an der bestimmten Rechenvorrichtung aktiviert wurde, kann das Vorrichtungsauswahlmodul
424 an jede Rechenvorrichtung der identifizierten Rechenvorrichtungen in Bezug auf die bestimmte Rechenvorrichtung eine Anforderung ausgeben, um ein jeweiliges Audiosignal auszusenden. Das Vorrichtungsauswahlmodul424 kann beispielsweise eine jeweilige Frequenz jeder der identifizierten Rechenvorrichtungen in Bezug auf die bestimmte Rechenvorrichtung zuweisen und Angaben der zugewiesenen Frequenzen in den Anforderungen umfassen. - Ein oder mehrere der Audiosignale, die durch die Rechenvorrichtungen ausgesendet werden, können in Audiodaten enthalten sein, die durch ein Mikrophon der bestimmten Rechenvorrichtung erzeugt werden. Die bestimmte Rechenvorrichtung kann die Audiodaten lokal verarbeiten und/oder kann die Audiodaten in das Assistentenserversystem
460 hochladen. Als Teil der Verarbeitung können die bestimmte Rechenvorrichtung und/oder das Assistentenserversystem460 bestimmen, ob die Audiodaten eine oder mehrere der zugewiesenen Frequenzen umfassen. Wenn die Audiodaten eine oder mehrere der zugewiesenen Frequenzen umfassen, können die bestimmte Rechenvorrichtung und/oder das Assistentenserversystem460 bestimmen, dass die Rechenvorrichtungen, die der einen oder den mehreren zugewiesenen Frequenzen zugeordnet sind, für die Äußerungszufriedenstellung geeignet sind. - Die bestimmte Rechenvorrichtung und/oder das Assistentenserversystem
460 können auch die Audiodaten verarbeiten, um eine gesprochene Äußerung zu erkennen (z. B. unter Verwendung von einer oder mehreren Spracherkennungstechniken). Auf der Basis der gesprochenen Äußerung und der Rechenvorrichtungen, die als für die Äußerungserfüllung geeignet bestimmt werden, können die bestimmte Rechenvorrichtung und/oder das Assistentenserversystem460 eine oder mehrere Rechenvorrichtungen auswählen, um die erkannte Äußerung zu erfüllen. Die bestimmte Rechenvorrichtung und/oder das Assistentenserversystem460 können beispielsweise die Rechenvorrichtung(en) auswählen, die am besten geeignet ist (sind), um die Äußerung zu erfüllen. Die bestimmte Rechenvorrichtung und/oder das Assistentenserversystem460 können veranlassen, dass die ausgewählte(n) Rechenvorrichtung(en) die Äußerung erfüllt (erfüllen). -
5 ist ein Ablaufplan, der Beispieloperationen, die durch einen oder mehrere Prozessoren durchgeführt werden, die einen virtuellen Beispielassistenten ausführen, gemäß einem oder mehreren Aspekten der vorliegenden Offenbarung darstellt.5 wird nachstehend im Zusammenhang mit dem System100 von1 beschrieben. Das lokale Assistentenmodul122A und das Vorrichtungsauswahlmodul124A können beispielsweise, während sie auf einem oder mehreren Prozessoren der Rechenvorrichtung110 laufen, eine oder mehrere der Operationen502 -512 gemäß einem oder mehreren Aspekten der vorliegenden Offenbarung durchführen. Und in einigen Beispielen können das entfernte Assistentenmodul122B und das Vorrichtungsauswahlmodul124B , während sie auf einem oder mehreren Prozessoren des Assistentenserversystems160 laufen, eine oder mehrere der Operationen502 - 512 gemäß einem oder mehreren Aspekten der vorliegenden Offenbarung durchführen. Nur für Erläuterungszwecke wird5 nachstehend im Zusammenhang mit der Rechenvorrichtung110 von1 beschrieben. - Im Betrieb kann die Rechenvorrichtung
110 den Sprachempfang aktivieren (502). Ein Benutzer der Rechenvorrichtung110 kann beispielsweise eine Sprachempfangstaste an der Rechenvorrichtung110 drücken oder einen vorbestimmten Aktivierungssatz an der UID112 sprechen, der durch das lokale Assistentenmodul122A empfangen wird. - In Reaktion auf die Aktivierung des Sprachempfangs kann die Rechenvorrichtung
110 veranlassen, dass andere Rechenvorrichtungen jeweilige Audiosignale aussenden (504). Die Rechenvorrichtung110 kann beispielsweise veranlassen, dass eine oder mehrere Rechenvorrichtungen, die auf die Rechenvorrichtung110 bezogen sind, jeweilige Audiosignale aussenden. Eine andere Rechenvorrichtung kann auf die Rechenvorrichtung110 bezogen sein, wenn die andere Rechenvorrichtung mit einem gleichen Netz wie die aktuelle Rechenvorrichtung verbunden ist und/oder einem gleichen Konto (z. B. einem gleichen Benutzerkonto) zugeordnet ist wie die aktuelle Rechenvorrichtung. In einigen Beispielen kann die Rechenvorrichtung110 veranlassen, dass andere Rechenvorrichtungen jeweilige Audiosignale aussenden, durch zumindest Ausgeben einer Angabe, dass der Sprachempfang an der Rechenvorrichtung110 aktiviert wurde. Die Rechenvorrichtung110 kann die Angabe an eine oder beide einer Servervorrichtung und der zugehörigen Rechenvorrichtungen ausgeben. In Beispielen, in denen die Rechenvorrichtung110 die Angabe an die Servervorrichtung ausgibt, kann die Servervorrichtung eine Anforderung, um ein jeweiliges Audiosignal auszusenden, an jede Rechenvorrichtung ausgeben, die als auf die Rechenvorrichtung110 bezogen identifiziert ist. In Beispielen, in denen die Rechenvorrichtung110 die Angabe direkt an die zugehörigen Rechenvorrichtungen ausgibt, kann die Angabe eine Anforderung umfassen, ein jeweiliges Audiosignal auszusenden. - Wie vorstehend erörtert, können die durch die anderen Rechenvorrichtungen ausgesendeten Audiosignale eine oder mehrere eindeutige Eigenschaften aufweisen. Eine oder mehrere der eindeutigen Eigenschaften eines durch eine bestimmte Rechenvorrichtung ausgesendeten Audiosignals können durch eine Anforderung festgelegt sein, die durch die bestimmte Rechenvorrichtung empfangen wird. Die zur bestimmten Rechenvorrichtung gesendete Anforderung kann beispielsweise festlegen, dass die bestimmte Rechenvorrichtung ein Audiosignal mit einer speziellen Frequenz ausgibt. Wie auch vorstehend erörtert, können in einigen Beispielen die Audiosignale über dem Bereich von menschlicher Sprache und/oder des menschlichen Hörens liegen.
- In jedem Fall kann die Rechenvorrichtung
110 Audiodaten empfangen, die durch ein Mikrophon der Rechenvorrichtung110 erzeugt werden (506). Die Rechenvorrichtung110 kann beispielsweise mit einem Mikrophon eine akustische Eingabe (z. B. Audiodaten), die einer gesprochenen Äußerung entspricht, und die Audiosignale, die durch die anderen Rechenvorrichtungen ausgesendet werden, empfangen. - Die Rechenvorrichtung
110 kann auf der Basis der Audiodaten die anderen Rechenvorrichtungen identifizieren (508). Wenn die empfangenen Audiodaten beispielsweise einen jeweiligen Ton umfassen, der durch eine jeweilige Rechenvorrichtung der Rechenvorrichtungen ausgesendet wird, kann die Rechenvorrichtung110 bestimmen, dass die jeweilige Rechenvorrichtung für die Auswahl geeignet ist, um die gesprochene Äußerung zu erfüllen. Wenn die empfangenen Audiodaten keinen jeweiligen Ton umfassen, der durch eine jeweilige Rechenvorrichtung der Rechenvorrichtungen ausgesendet wird, kann die Rechenvorrichtung110 ebenso bestimmen, dass die jeweilige Rechenvorrichtung nicht für die Auswahl geeignet ist, um die gesprochene Äußerung zu erfüllen. - In einigen Beispielen kann die Rechenvorrichtung
110 auf der Basis der Audiodaten identifizieren, ob die anderen Rechenvorrichtungen verfügbar (d. h. innerhalb der Reichweite) sind. In einigen Beispielen kann die Rechenvorrichtung110 zusätzlichen Kontext der anderen Rechenvorrichtungen auf der Basis der Audiodaten bestimmen. Die Rechenvorrichtung110 kann beispielsweise einen ungefähren Abstand zwischen der Rechenvorrichtung110 und jeder der anderen identifizierten Rechenvorrichtungen auf der Basis der Audiodaten bestimmen. In einigen Beispielen kann die Rechenvorrichtung110 die ungefähren Abstände auf der Basis der empfangenen Lautstärke der Töne bestimmen, die durch die anderen Rechenvorrichtungen ausgesendet werden. Wenn beispielsweise die Audiodaten einen ersten Ton mit einer ersten Laustärke und einen zweiten Ton mit einer zweiten Lautstärke umfassen, die niedriger ist als die erste Lautstärke, kann die Rechenvorrichtung110 bestimmen, dass die Rechenvorrichtung, die den ersten Ton ausgesendet hat, näher ist als die Rechenvorrichtung, die den zweiten Ton ausgesendet hat. - Die Rechenvorrichtung
110 kann auf der Basis der Audiodaten eine gesprochene Äußerung bestimmen (510). Die Rechenvorrichtung110 kann beispielsweise eine Spracherkennung durchführen, um eine Abfrage oder eine andere Anforderung, die durch den Benutzer gesprochen wird, zu bestimmen. Wie vorstehend erörtert, kann die Rechenvorrichtung110 in einigen Beispielen gleichzeitig die Spracherkennung und die Identifikation der anderen Rechenvorrichtungen durchführen. - Die Rechenvorrichtung
110 kann aus der Rechenvorrichtung110 und den identifizierten anderen Rechenvorrichtungen eine oder mehrere Rechenvorrichtungen auswählen, um die gesprochene Äußerung zu erfüllen (512). Wenn beispielsweise eine bestimmte Rechenvorrichtung der identifizierten anderen Rechenvorrichtungen besser geeignet ist, um die Benutzeräußerung zu erfüllen, als die Rechenvorrichtung110 , kann die Rechenvorrichtung110 die bestimmte Rechenvorrichtung auswählen, um die Benutzeräußerung zu erfüllen. Als ein Beispiel kann, wenn die Rechenvorrichtung110 keine Anzeige umfasst und die Äußerung mit einer Anzeige besser erfüllt werden würde (z. B. wenn die Benutzeräußerung „Was steht auf meiner Tagesordnung“ ist), die Rechenvorrichtung110 eine Rechenvorrichtung der identifizierten anderen Rechenvorrichtungen auswählen, die eine Anzeige umfasst, um die Äußerung zu erfüllen. Die Äußerung „Was steht auf meiner Tagesordnung“ kann mit einer Anzeige besser erfüllt werden, da eine visuelle Darstellung einer Tagesordnung einfacher zu verstehen sein kann als beispielsweise synthetisierte Sprache, die die Tagesordnung liest. Als anderes Beispiel kann, wenn die Rechenvorrichtung110 eine Anzeige umfasst und die Äußerung mit einer größeren Anzeige besser erfüllt werden würde (z. B. wenn die Benutzeräußerung „Spiel ein Video ab“ ist), die Rechenvorrichtung110 eine Rechenvorrichtung der identifizierten anderen Rechenvorrichtungen auswählen, die eine relativ größere Anzeige umfasst, um die Äußerung zu erfüllen. Die Äußerung „Spiel ein Video ab“ kann mit einer relativ größeren Anzeige besser erfüllt werden, da es für einen Benutzer weniger anstrengend und komfortabler sein kann, das Video auf einer größeren Anzeige (z. B. einem Fernsehgerät) anzusehen. Als anderes Beispiel kann die Rechenvorrichtung110 eine Rechenvorrichtung der identifizierten Rechenvorrichtungen auf der Basis der bestimmten Abstände auswählen. Als anderes Beispiel kann, wenn die identifizierten Vorrichtungen einen drahtlosen Lautsprecher umfassen und eine Erfüllung der Äußerung das Abspielen von Musik beinhaltet, die Rechenvorrichtung110 den drahtlosen Lautsprecher auswählen, um die Musik abzuspielen. - Die Rechenvorrichtung
110 kann bewirken bzw. veranlassen, dass die ausgewählte Rechenvorrichtung die gesprochene Äußerung erfüllt (514). Die Rechenvorrichtung110 kann beispielsweise bewirken bzw. veranlassen, dass die ausgewählte Rechenvorrichtung eine Ausgabe erzeugt (z. B. ein Video anzeigt, graphische Benutzerschnittstellen anzeigt, einen Ton aussendet usw.) in Reaktion auf die Äußerung. In dieser Weise kann die Rechenvorrichtung110 eine Erfüllung von Äußerungen mit höherer Qualität bereitstellen. - Die folgenden nummerierten Beispiele können einen oder mehrere Aspekte der Offenbarung darstellen:
- Beispiel 1. Ein Verfahren, das umfasst: Empfangen von Audiodaten, die durch ein Mikrophon einer aktuellen Rechenvorrichtung erzeugt werden; auf der Basis der Audiodaten Identifizieren von einer oder mehreren Rechenvorrichtungen, die jeweils ein jeweiliges Audiosignal in Reaktion darauf ausgesendet haben, dass der Sprachempfang an der aktuellen Rechenvorrichtung aktiviert wird; und Auswählen entweder der aktuellen Rechenvorrichtung oder einer bestimmten Rechenvorrichtung aus der einen oder den mehreren identifizierten Rechenvorrichtungen, um eine gesprochene Äußerung zu erfüllen, die auf der Basis der Audiodaten bestimmt wird.
- Beispiel 2. Das Verfahren von Beispiel 1, das ferner umfasst: Ausgeben einer Angabe, dass der Sprachempfang an der aktuellen Rechenvorrichtung aktiviert wurde, durch die aktuelle Rechenvorrichtung.
- Beispiel 3. Das Verfahren von Beispiel 2, wobei die aktuelle Rechenvorrichtung mit einem bestimmten Netz verbunden ist und wobei das Ausgeben der Angabe, dass der Sprachempfang an der aktuellen Rechenvorrichtung aktiviert wurde, umfasst: Veranlassen durch die aktuelle Rechenvorrichtung, dass eine oder mehrere andere Rechenvorrichtungen, die mit dem bestimmten Netz verbunden sind, jeweilige Audiosignale aussenden, wobei die eine oder die mehreren anderen Rechenvorrichtungen, die mit dem bestimmten Netz verbunden sind, die eine oder die mehreren identifizierten Rechenvorrichtungen umfassen.
- Beispiel 4. Das Verfahren von Beispiel 3, wobei die Angabe, dass der Sprachempfang an der aktuellen Rechenvorrichtung aktiviert wurde, an eine Servervorrichtung ausgegeben wird, und wobei das Veranlassen, dass die eine oder die mehreren anderen Rechenvorrichtungen, die mit dem bestimmten Netz verbunden sind, die jeweiligen Audiosignale aussenden, umfasst: Veranlassen durch die aktuelle Rechenvorrichtung, dass die Servervorrichtung eine Anforderung an die eine oder die mehreren anderen Rechenvorrichtungen ausgibt, die mit dem bestimmten Netz verbunden sind, um jeweilige Audiosignale auszusenden.
- Beispiel 5. Das Verfahren von irgendeiner Kombination der Beispiele 1-4, wobei die aktuelle Rechenvorrichtung einem bestimmten Benutzerkonto zugeordnet ist, und wobei das Ausgeben der Angabe, dass der Sprachempfang an der aktuellen Rechenvorrichtung aktiviert wurde, umfasst: Veranlassen durch die aktuelle Rechenvorrichtung, dass eine oder mehrere andere Rechenvorrichtungen, die dem bestimmten Benutzerkonto zugeordnet sind, jeweilige Audiosignale aussenden, wobei die eine oder die mehreren anderen Rechenvorrichtungen, die dem bestimmten Benutzerkonto zugeordnet sind, die eine oder die mehreren identifizierten Rechenvorrichtungen umfassen.
- Beispiel 6. Das Verfahren von irgendeiner Kombination der Beispiele 1-5, wobei die Angabe, dass der Sprachempfang an der aktuellen Rechenvorrichtung aktiviert wurde, an eine Servervorrichtung ausgegeben wird, und wobei das Veranlassen, dass die eine oder die mehreren anderen Rechenvorrichtungen, die dem bestimmten Benutzerkonto zugeordnet sind, die jeweiligen Audiosignale aussenden, umfasst: Veranlassen durch die aktuelle Rechenvorrichtung, dass die Servervorrichtung eine Anforderung an die eine oder die mehreren anderen Rechenvorrichtungen ausgibt, die dem bestimmten Benutzerkonto zugeordnet sind, um jeweilige Audiosignale auszusenden.
- Beispiel 7. Das Verfahren von irgendeiner Kombination der Beispiele 1-6, wobei die aktuelle Rechenvorrichtung mit einem bestimmten Netzwerk verbunden ist und einem bestimmten Benutzerkonto zugeordnet ist, und wobei das Ausgeben der Angabe, dass der Sprachempfang an der aktuellen Rechenvorrichtung aktiviert wurde, umfasst: Veranlassen durch die aktuelle Rechenvorrichtung, dass die eine oder die mehreren anderen Rechenvorrichtungen, die mit dem bestimmten Netzwerk verbunden sind, die dem bestimmten Benutzerkonto zugeordnet sind, jeweilige Audiosignale aussenden, wobei die eine oder die mehreren anderen Rechenvorrichtungen, die mit dem bestimmten Netz verbunden sind, die dem bestimmten Benutzerkonto zugeordnet sind, die eine oder die mehreren identifizierten Rechenvorrichtungen umfassen.
- Beispiel 8. Das Verfahren von irgendeiner Kombination der Beispiele 1-7, das ferner umfasst: Identifizieren von einer oder mehreren Rechenvorrichtungen in Bezug auf die aktuelle Rechenvorrichtung durch eine Servervorrichtung; und in Reaktion auf das Empfangen einer Angabe, dass der Sprachempfang an der aktuellen Rechenvorrichtung aktiviert wurde, Ausgeben einer Anforderung, um ein jeweiliges Audiosignal auszusenden, durch die Servervorrichtung und an jede Rechenvorrichtung der einen oder der mehreren identifizierten Rechenvorrichtungen in Bezug auf die aktuelle Rechenvorrichtung.
- Beispiel 9. Das Verfahren von irgendeiner Kombination der Beispiele 1-8, wobei das Identifizieren der einen oder der mehreren Rechenvorrichtungen in Bezug auf die aktuelle Rechenvorrichtung umfasst: Identifizieren von einer oder mehreren Rechenvorrichtungen durch die Servervorrichtung, die: mit dem gleichen Netz wie die aktuelle Rechenvorrichtung verbunden sind; und/oder einem gleichen Benutzerkonto wie die aktuelle Rechenvorrichtung zugeordnet sind.
- Beispiel 10. Das Verfahren von irgendeiner Kombination der Beispiele 1-9, wobei das Identifizieren umfasst: auf der Basis der jeweiligen Audiosignale, die durch die eine oder die mehreren jeweiligen Rechenvorrichtungen ausgesendet werden, Bestimmen einer jeweiligen Nähe von jeder jeweiligen Rechenvorrichtung relativ zur aktuellen Rechenvorrichtung.
- Beispiel 11. Das Verfahren von irgendeiner Kombination der Beispiele 1-10, wobei jedes Audiosignal der jeweiligen Audiosignale eine oder mehrere eindeutige Audioeigenschaften aufweist.
- Beispiel 12. Das Verfahren von irgendeiner Kombination der Beispiele 1-11, wobei die aktuelle Rechenvorrichtung keine Anzeige umfasst, und wobei das Auswählen umfasst: in Reaktion auf das Bestimmen, dass eine Anzeige erforderlich ist, um die gesprochene Äußerung zu erfüllen, Auswählen der bestimmten Rechenvorrichtung aus Rechenvorrichtungen, die in der einen oder den mehreren identifizierten Rechenvorrichtungen enthalten sind, die eine Anzeige umfassen.
- Beispiel 13. Das Verfahren von irgendeiner Kombination der Beispiele 1-12, wobei die aktuelle Rechenvorrichtung eine Anzeige umfasst, und wobei das Auswählen einer Rechenvorrichtung aus der einen oder den mehreren identifizierten Rechenvorrichtungen umfasst: Auswählen der bestimmten Rechenvorrichtung aus den Rechenvorrichtungen, die in der einen oder den mehreren identifizierten Rechenvorrichtungen enthalten sind, die eine Anzeige umfassen, die größer ist als die Anzeige der aktuellen Rechenvorrichtung.
- Beispiel 14. Eine Vorrichtung, die umfasst: ein oder mehrere Mikrophone; und einen oder mehrere Prozessoren, die dazu konfiguriert sind: Audiodaten zu empfangen, die durch ein Mikrophon einer aktuellen Rechenvorrichtung erzeugt werden; auf der Basis der Audiodaten eine oder mehrere Rechenvorrichtungen zu identifizieren, die jeweils ein jeweiliges Audiosignal in Reaktion darauf ausgesendet haben, dass der Sprachempfang an der aktuellen Rechenvorrichtung aktiviert wird; und entweder die aktuelle Rechenvorrichtung oder eine bestimmte Rechenvorrichtung aus der einen oder den mehreren identifizierten Rechenvorrichtungen auszuwählen, um eine gesprochene Äußerung zu erfüllen, die auf der Basis der Audiodaten bestimmt wird.
- Beispiel 15. Die Vorrichtung von Beispiel 14, wobei die Vorrichtung die aktuelle Rechenvorrichtung ist, wobei die aktuelle Rechenvorrichtung ferner eine oder mehrere Kommunikationseinheiten umfasst, und wobei der eine oder die mehreren Prozessoren ferner dazu konfiguriert sind: über die eine oder die mehreren Kommunikationseinheiten eine Angabe auszugeben, dass der Sprachempfang an der aktuellen Rechenvorrichtung aktiviert wurde.
- Beispiel 16. Die Vorrichtung von Beispiel 15, wobei die aktuelle Rechenvorrichtung mit einem bestimmten Netz verbunden ist, und wobei, um die Angabe auszugeben, dass der Sprachempfang an der aktuellen Rechenvorrichtung aktiviert wurde, der eine oder die mehreren Prozessoren dazu konfiguriert sind: zu veranlassen, dass eine oder mehrere andere Rechenvorrichtungen, die mit dem bestimmten Netz verbunden sind, jeweilige Audiosignale aussenden, wobei die eine oder die mehreren anderen Rechenvorrichtungen, die mit dem bestimmten Netz verbunden sind, die eine oder die mehreren identifizierten Rechenvorrichtungen umfassen.
- Beispiel 17. Die Vorrichtung von irgendeiner Kombination der Beispiele 14-16, wobei die aktuelle Rechenvorrichtung einem bestimmten Benutzerkonto zugeordnet ist, und wobei, um eine Angabe auszugeben, dass der Sprachempfang an der aktuellen Rechenvorrichtung aktiviert wurde, der eine oder die mehreren Prozessoren dazu konfiguriert sind: zu veranlassen, dass eine oder mehrere andere Rechenvorrichtungen, die dem bestimmten Benutzerkonto zugeordnet sind, jeweilige Audiosignale aussenden, wobei die eine oder die mehreren anderen Rechenvorrichtungen, die dem bestimmten Benutzerkonto zugeordnet sind, die eine oder die mehreren identifizierten Rechenvorrichtungen umfassen.
- Beispiel 18. Die Vorrichtung von irgendeiner Kombination der Beispiele 14-17, wobei der eine oder die mehreren Prozessoren ferner dazu konfiguriert sind: eine oder mehrere Rechenvorrichtungen in Bezug auf die aktuelle Rechenvorrichtung zu identifizieren; und in Reaktion auf das Bestimmen, dass der Sprachempfang an der aktuellen Rechenvorrichtungen aktiviert wurde, an jede Rechenvorrichtung der einen oder der mehreren identifizierten Rechenvorrichtungen in Bezug auf die aktuelle Rechenvorrichtung eine Anforderung auszugeben, um ein jeweiliges Audiosignal auszusenden.
- Beispiel 19. Die Vorrichtung von irgendeiner Kombination der Beispiele 14-18, wobei, um die eine oder die mehreren Rechenvorrichtungen in Bezug auf die aktuelle Rechenvorrichtung zu identifizieren, der eine oder die mehreren Prozessoren dazu konfiguriert sind: eine oder mehrere Rechenvorrichtungen zu identifizieren, die: mit einem gleichen Netz wie die aktuelle Rechenvorrichtung verbunden sind; und/oder einem gleichen Benutzerkonto wie die aktuelle Rechenvorrichtung zugeordnet sind.
- Beispiel 20. Ein nichttransitorisches computerlesbares Speichermedium, das Befehle speichert, die, wenn sie ausgeführt werden, veranlassen, dass ein oder mehrere Prozessoren einer Rechenvorrichtung: Audiodaten empfangen, die durch ein Mikrophon einer aktuellen Rechenvorrichtung erzeugt werden; auf der Basis der Audiodaten eine oder mehrere Rechenvorrichtungen identifizieren, die jeweils ein jeweiliges Audiosignal in Reaktion darauf ausgesendet haben, dass der Sprachempfang an der aktuellen Rechenvorrichtung aktiviert wird; und entweder die aktuelle Rechenvorrichtung oder eine bestimmte Rechenvorrichtung aus der einen oder den mehreren identifizierten Rechenvorrichtungen auswählen, um eine gesprochene Äußerung zu erfüllen, die auf der Basis der Audiodaten bestimmt wird.
- Beispiel 21. Das nichttransitorische computerlesbare Speichermedium, das ferner Befehle speichert, die veranlassen, dass der eine oder die mehreren Prozessoren das Verfahren von irgendeiner Kombination der Beispiele 1-13 durchführen.
- Beispiel 22. Eine Vorrichtung mit einem Mittel zum Durchführen des Verfahrens von irgendeiner Kombination der Beispiele 1-13.
- In der ganzen Offenbarung werden Beispiele beschrieben, in denen eine Rechenvorrichtung und/oder ein Rechensystem Informationen (z. B. Kontext, Orte, Kommunikationen, Kontakte, Chat-Konversationen, Sprachkonversationen usw.), die einer Rechenvorrichtung und einem Benutzer einer Rechenvorrichtung zugeordnet sind, nur dann analysiert, wenn die Rechenvorrichtung die Erlaubnis vom Benutzer der Rechenvorrichtung empfängt, die Informationen zu analysieren. In nachstehend erörterten Situationen kann, bevor ein Assistent, der an einer Rechenvorrichtung oder einem Rechensystem ausführt, Informationen sammeln oder von diesen Gebrauch machen kann, die einem Benutzer zugeordnet sind, der Benutzer beispielsweise mit einer Gelegenheit versehen werden, eine Eingabe zu liefern, um zu kontrollieren, ob der Assistent (oder andere Programme oder Merkmale der Rechenvorrichtung und/oder des Rechensystems) Benutzerinformationen sammeln oder davon Gebrauch machen können, oder vorzugeben, ob und/oder wie Rechenvorrichtungen und/oder Rechensysteme Inhalt empfangen können, der für den Benutzer relevant sein kann. Außerdem können bestimmte Daten verschlüsselt und/oder in einer oder mehreren Weisen behandelt werden, bevor sie vom Assistenten oder von der darunterliegenden Rechenvorrichtung und/oder vom darunterliegenden Rechensystem gespeichert oder verwendet werden, so dass persönlich identifizierbare Informationen entfernt werden. Die Identität eines Benutzers kann beispielsweise so behandelt werden, dass keine persönlich identifizierbaren Informationen über den Benutzer bestimmt werden können, oder der geographische Ort eines Benutzers kann verallgemeinert werden, wenn Ortsinformationen erhalten werden (wie z. B. hinsichtlich einer Stadt, einer Postleitzahl oder eines Staats im Gegensatz zu einem Koordinatenort oder einer physischen Adresse), so dass ein bestimmter Ort eines Benutzers nicht bestimmt werden kann. Folglich kann der Benutzer die Kontrolle darüber haben, wie Informationen über den Benutzer gesammelt und vom Assistenten und von der darunterliegenden Rechenvorrichtung und vom darunterliegenden Rechensystem verwendet werden, das den Assistenten ausführt
- In einem oder mehreren Beispielen können die beschriebenen Funktionen in Hardware, Software, Firmware oder irgendeiner Kombination davon implementiert werden. Falls sie in Software implementiert werden, können die Funktionen als ein oder mehrere Befehle oder Code auf einem computerlesbaren Medium gespeichert oder über dieses übertragen werden und durch eine Verarbeitungseinheit auf Hardwarebasis ausgeführt werden. Ein computerlesbares Medium kann ein computerlesbares Speichermedium oder computerlesbare Speichermedien umfassen, die einem konkreten Medium entsprechen, wie z. B. Datenspeichermedien oder Kommunikationsmedien, einschließlich irgendeines Mediums, das die Übertragung eines Computerprogramms von einer Stelle zu einer anderen erleichtert, z. B. gemäß einem Kommunikationsprotokoll. Auf diese Weise kann ein computerlesbares Medium im Allgemeinen (
1 ) konkreten computerlesbaren Speichermedien, die nichttransitorisch sind, oder (2) einem Kommunikationsmedium wie z. B. einem Signal oder einer Trägerwelle entsprechen. Datenspeichermedien können beliebige verfügbare Medien sein, auf die durch einen oder mehrere Computer oder einen oder mehrere Prozessoren zugegriffen werden kann, um Befehle, einen Code und/ oder Datenstrukturen zur Implementierung der in dieser Offenbarung beschriebenen Techniken abzurufen. Ein Computerprogrammprodukt kann ein computerlesbares Medium umfassen. - Als Beispiel und nicht zur Begrenzung können solche computerlesbaren Speichermedien RAM, ROM, EEPROM, CD-ROM oder einen anderen optischen Plattenspeicher, magnetischen Plattenspeicher oder andere magnetische Speichervorrichtungen, einen Flash-Speicher oder irgendein anderes Medium umfassen, das verwendet werden kann, um einen gewünschten Programmcode in Form von Befehlen oder Datenstrukturen zu speichern, und auf das durch einen Computer zugegriffen werden kann. Irgendeine Verbindung wird auch zweckmäßig als computerlesbares Medium bezeichnet. Falls beispielsweise Befehle von einer Website, einem Server oder einer anderen entfernten Quelle unter Verwendung eines Koaxialkabels, eines faseroptischen Kabels, eines verdrillten Paars, einer digitalen Teilnehmerleitung (DSL) oder drahtlosen Technologien wie z. B. Infrarot, Funk und Mikrowelle übertragen werden, dann sind das Koaxialkabel, faseroptische Kabel, verdrillte Paar, DSL oder drahtlose Technologien wie z. B. Infrarot, Funk und Mikrowelle in der Definition des Mediums enthalten. Selbstverständlich umfassen jedoch ein computerlesbares Speichermedium und computerlesbare Speichermedien und Datenspeichermedien keine Verbindungen, Trägerwellen, Signale oder andere vorübergehende Medien, sondern sind stattdessen auf nichttransitorische, konkrete Speichermedien gerichtet. Platte und Disk, wie verwendet, umfassen Kompaktdisk (CD), Laserplatte, optische Platte, digitale vielseitige Platte (DVD), Diskette und eine Blu-ray-Platte, wobei Platten gewöhnlich Daten magnetisch wiedergeben, während Disks Daten optisch mit Lasern wiedergeben. Kombinationen der obigen sollten auch innerhalb des Umfangs eines computerlesbaren Mediums enthalten sein.
- Befehle können durch einen oder mehrere Prozessoren ausgeführt werden, wie z. B. einen oder mehrere Digitalsignalprozessoren (DSPs), Universal-Mikroprozessoren, anwendungsspezifische integrierte Schaltungen (ASICs), anwenderprogrammierbare Verknüpfungsfelder (FPGAs) oder eine andere äquivalente integrierte oder diskrete Logikschaltungsanordnung. Folglich kann sich der Begriff „Prozessor“, wie hier verwendet, auf irgendeine der vorangehenden Struktur oder irgendeine andere Struktur beziehen, die zur Implementierung der hier beschriebenen Techniken geeignet ist. Außerdem kann in einigen Aspekten die hier beschriebene Funktionalität innerhalb zweckgebundenen Hardware- und/oder Softwaremodulen vorgesehen sein. Die Techniken könnten auch vollständig in einer oder mehreren Schaltungen oder Logikelementen implementiert werden.
- Die Techniken dieser Offenbarung können in einer breiten Vielfalt von Vorrichtungen oder Geräten implementiert werden, einschließlich eines drahtlosen Mobileteils, einer integrierten Schaltung (IC) oder eines Satzes von ICs (z. B. eines Chipsatzes). Verschiedene Komponenten, Module oder Einheiten sind in dieser Offenbarung beschrieben, um funktionale Aspekte von Vorrichtungen zu betonen, die dazu konfiguriert sind, die offenbarten Techniken durchzuführen, erfordern jedoch nicht notwendigerweise die Ausführung durch unterschiedliche Hardwareeinheiten. Wie vorstehend beschrieben, können vielmehr verschiedene Einheiten in einer Hardwareeinheit kombiniert werden oder durch eine Sammlung von miteinander zusammenarbeitenden Hardwareeinheiten vorgesehen sein, einschließlich eines oder mehrerer Prozessoren, wie vorstehend beschrieben, in Verbindung mit geeigneter Software und/oder Firmware.
- Verschiedene Ausführungsformen wurden beschrieben. Diese und weitere Ausführungsformen sind innerhalb des Schutzbereich der folgenden Schutzansprüche.
Claims (27)
- Batteriebetriebene Vorrichtung, umfassend: ein oder mehrere Mikrophone, eine oder mehrere WiFi-Netzwerkschnittstellen; eine oder mehrere Tasten; einen oder mehrere Prozessoren; und einen Speicher, der Anweisungen speichert, die bei Ausführung den einen oder die mehreren Prozessoren veranlassen: eine Betätigung einer Taste der einen oder mehreren Tasten zu detektieren; und in Reaktion auf die Detektion der Betätigung der Taste: eine Anforderung zu übermitteln, die: eine Rechenvorrichtung veranlasst, ein Vorrichtungsaudiosignal über eine Vorrichtungslautsprecherkomponente der Rechenvorrichtung auszusenden, und eine zusätzliche Rechenvorrichtung veranlasst, ein Zusatzvorrichtung-Audiosignal über eine Zusatzvorrichtung-Lautsprecherkomponente der zusätzlichen Rechenvorrichtung auszusenden, wobei das Vorrichtungsaudiosignal und das Zusatzvorrichtung-Audiosignal jeweils oberhalb eines menschlichen Hörbereichs liegen; das Vorrichtungsaudiosignal und das Zusatzvorrichtung-Audiosignal über eines oder mehrere der Mikrophone zu detektieren; basierend auf der Detektion des Audiosignals und des Zusatzvorrichtung-Audiosignals eine bestimmte Rechenvorrichtung aus der Rechenvorrichtung und der zusätzlichen Rechenvorrichtung auszuwählen; und in Reaktion auf das Auswählen der bestimmten Rechenvorrichtung: Veranlassen der bestimmten Rechenvorrichtung, eine hörbare Ausgabe bereitzustellen.
- Batteriebetriebene Vorrichtung nach
Anspruch 1 , wobei die Anweisungen zum Auswählen der bestimmten Rechenvorrichtung basierend auf der Detektion des Audiosignals und des Zusatzvorrichtung-Audiosignals Anweisungen umfassen, um: basierend auf dem Audiosignal, wie es am batteriebetriebenen Gerät erkannt wird, eine Vorrichtungsnähe der Rechenvorrichtung zur batteriebetriebenen Vorrichtung zu ermitteln; basierend auf dem zusätzlichen Audiosignal, wie es an der batteriebetriebenen Vorrichtung erkannt wird, eine Zusatzvorrichtung-Nähe der zusätzlichen Rechenvorrichtung zur batteriebetriebenen Vorrichtung zu ermitteln; und die bestimmte Rechenvorrichtung aus zumindest der Rechenvorrichtung und der zusätzlichen Rechenvorrichtung basierend auf der Vorrichtungsnähe und der Zusatzvorrichtung-Nähe auszuwählen. - Batteriebetriebene Vorrichtung nach
Anspruch 2 , wobei die Anweisungen zum Ermitteln der Vorrichtungsnähe der Rechenvorrichtung zur batteriebetriebenen Vorrichtung basierend auf dem Audiosignal Anweisungen zum Ermitteln der Vorrichtungsnähe basierend auf einer Audiosignalstärke des Vorrichtungsaudiosignals umfassen. - Batteriebetriebene Vorrichtung nach
Anspruch 3 , wobei die Anweisungen zum Ermitteln der Zusatzvorrichtung-Nähe der zusätzlichen Rechenvorrichtung zur batteriebetriebenen Vorrichtung basierend auf dem Zusatzvorrichtung-Audiosignal Anweisungen zum Ermitteln der Zusatzvorrichtung-Nähe basierend auf einer Zusatzvorrichtung-Audiosignalstärke des Zusatzvorrichtung-Audiosignals umfassen. - Batteriebetriebene Vorrichtung nach
Anspruch 1 , wobei das Vorrichtungsaudiosignal eine Vorrichtungsemissionsfrequenz aufweist, und wobei das Zusatzvorrichtung-Audiosignal eine Zusatzvorrichtung-Emissionsfrequenz aufweist. - Batteriebetriebene Vorrichtung nach
Anspruch 5 , wobei die Vorrichtungsemissionsfrequenz sich von der Zusatzvorrichtung-Emissionsfrequenz unterscheidet. - Batteriebetriebene Vorrichtung nach
Anspruch 1 , wobei die Anweisungen zum Veranlassen der bestimmten Rechenvorrichtung, die hörbare Ausgabe bereitzustellen, Anweisungen umfassen, um: die bestimmte Rechenvorrichtung zu veranlassen, Musik als die hörbare Ausgabe wiederzugeben. - Batteriebetriebene Vorrichtung nach
Anspruch 1 , wobei die Anweisungen zum Übermitteln der Anforderung Anweisungen zum Übermitteln der Anforderung über ein bestimmtes WiFi-Netzwerk und über eine oder mehrere der WiFi-Netzwerkschnittstellen umfassen. - Batteriebetriebene Vorrichtung nach
Anspruch 8 , wobei die batteriebetriebene Vorrichtung, die Rechenvorrichtung und die zusätzliche Rechenvorrichtung über das bestimmte WiFi-Netzwerk verbunden sind. - Batteriebetriebene Vorrichtung nach
Anspruch 1 , wobei die Anforderung ferner eine weitere zusätzliche Rechenvorrichtung veranlasst, ein weiteres Zusatzvorrichtung-Audiosignal über eine weitere Zusatzvorrichtung-Lautsprecherkomponente der weiteren zusätzlichen Rechenvorrichtung auszusenden, wobei das weitere Zusatzvorrichtung-Audiosignal ebenfalls oberhalb des menschlichen Hörbereichs liegt, und wobei die Anweisungen ferner Anweisungen umfassen, um: das weitere Zusatzvorrichtung-Audiosignal über eines oder mehrere der Mikrophone zu detektieren; wobei das Auswählen der bestimmten Rechenvorrichtung ferner auf der Detektion des weiteren Zusatzvorrichtung-Audiosignals basiert und aus zumindest der Rechenvorrichtung, der zusätzlichen Rechenvorrichtung und der weiteren zusätzlichen Rechenvorrichtung erfolgt. - Batteriebetriebene Vorrichtung nach
Anspruch 1 , wobei die Anweisungen zum Übermitteln der Anforderung Anweisungen umfassen, um eine Vorrichtungsanforderung, welche die Rechenvorrichtung veranlasst, das Vorrichtungsaudiosignal auszusenden, zu übermitteln, und eine Zusatzvorrichtungsanforderung, welche die zusätzliche Rechenvorrichtung veranlasst, das Zusatzvorrichtung-Audiosignal auszusenden, zu übermitteln. - Batteriebetriebene Vorrichtung nach
Anspruch 11 , wobei die Vorrichtungsanforderung eine oder mehrere Audioeigenschaften des Vorrichtungsaudiosignals festlegt und wobei die Zusatzvorrichtungsanforderung eine oder mehrere Audioeigenschaften des Zusatzvorrichtung-Audiosignals festlegt. - Batteriebetriebene Vorrichtung nach
Anspruch 12 , wobei die eine oder die mehreren Audioeigenschaften des Vorrichtungsaudiosignals eine Vorrichtungsemissionsfrequenz für das Vorrichtungsaudiosignal umfassen und wobei die eine oder die mehreren Audioeigenschaften des Zusatzvorrichtung-Audiosignals eine Zusatzvorrichtung-Emissionsfrequenz für das Zusatzvorrichtung-Audiosignal umfassen. - Batteriebetriebene Vorrichtung nach
Anspruch 12 , wobei die Vorrichtungsemissionsfrequenz sich von der Zusatzvorrichtung-Emissionsfrequenz unterscheidet. - System von Rechenvorrichtungen, umfassend: zumindest eine erste Rechenvorrichtung, eine zweite Rechenvorrichtung und eine dritte Rechenvorrichtung, die sich jeweils in einer selben physischen Umgebung befinden und die jeweils mit einem bestimmten WiFi-Netzwerk verbunden sind; und wobei die erste Rechenvorrichtung einen Speicher aufweist, auf dem Anweisungen gespeichert sind, die, bei Ausführung, einen oder mehrere Prozessoren veranlassen: eine Betätigung einer Taste zu detektieren; und in Reaktion auf die Detektion der Betätigung der Taste an der ersten Rechenvorrichtung: eine Anforderung zu übermitteln, die: die zweite Rechenvorrichtung veranlasst, ein Zweitvorrichtung-Audiosignal über eine Zweitvorrichtung-Lautsprecherkomponente der zweiten Rechenvorrichtung auszusenden, und die dritte Rechenvorrichtung veranlasst, ein Drittvorrichtung-Audiosignal über eine Drittvorrichtung-Lautsprecherkomponente der dritten Rechenvorrichtung auszusenden, wobei das Zweitvorrichtung-Audiosignal und das Drittvorrichtung-Audiosignal jeweils oberhalb eines menschlichen Hörbereichs liegen; über ein oder mehrere Mikrophone der ersten Rechenvorrichtung das Zweitvorrichtung-Audiosignal und das Drittvorrichtung-Audiosignal zu detektieren; basierend auf der Detektion des Zweitvorrichtung-Audiosignals und des Drittvorrichtung-Audiosignals eine bestimmte Rechenvorrichtung aus zumindest der zweiten Rechenvorrichtung und der dritten Rechenvorrichtung auszuwählen; und in Reaktion auf das Auswählen der bestimmten Rechenvorrichtung: die bestimmte Rechenvorrichtung zu veranlassen, eine hörbare Ausgabe bereitzustellen.
- System von Rechenvorrichtungen nach
Anspruch 15 , wobei die Anweisungen zum Auswählen der bestimmten Rechenvorrichtung basierend auf der Detektion des Zweitvorrichtung-Audiosignals und des Drittvorrichtung-Audiosignals Anweisungen umfassen, um: basierend auf dem Zweitvorrichtung-Audiosignal, wie es an der ersten Rechenvorrichtung erkannt wird, eine Zweitvorrichtung-Nähe der zweiten Rechenvorrichtung zur ersten Rechenvorrichtung zu ermitteln; basierend auf dem Drittvorrichtung-Audiosignal, wie es an der ersten Rechenvorrichtung erkannt wird, eine Drittvorrichtung-Nähe der dritten Rechenvorrichtung zur ersten Rechenvorrichtung zu ermitteln; und basierend auf der Zweitvorrichtung-Nähe und der Drittvorrichtung-Nähe die bestimmte Rechenvorrichtung aus zumindest der zweiten Rechenvorrichtung und der dritten Rechenvorrichtung auszuwählen. - System von Rechenvorrichtungen nach
Anspruch 16 , wobei die Anweisungen zum Ermitteln der Zweitvorrichtung-Nähe der zweiten Rechenvorrichtung zur ersten Rechenvorrichtung basierend auf dem Zweitvorrichtung-Audiosignal Anweisungen umfassen zum Bestimmen der Zweitvorrichtung-Nähe basierend auf einer Audiosignalstärke des Zweitvorrichtung-Audiosignals. - System von Rechenvorrichtungen nach
Anspruch 17 , wobei die Anweisungen zum Bestimmen der Drittvorrichtung-Nähe der dritten Rechenvorrichtung zur ersten Rechenvorrichtung basierend auf dem Drittvorrichtung-Audiosignal Anweisungen umfassen zum Bestimmen der Drittvorrichtung-Nähe basierend auf einer Audiosignalstärke des Drittvorrichtung-Audiosignals. - System von Rechenvorrichtungen nach
Anspruch 15 , wobei das Zweitvorrichtung-Audiosignal eine Zweitvorrichtung-Emissionsfrequenz aufweist, und wobei das Drittvorrichtung-Audiosignal eine Drittvorrichtung-Emissionsfrequenz aufweist. - System von Rechenvorrichtungen nach
Anspruch 19 , wobei die Zweitvorrichtung-Emissionsfrequenz sich von der Drittvorrichtung-Emissionsfrequenz unterscheidet. - System von Rechenvorrichtungen nach
Anspruch 15 , wobei die Anweisungen zum Veranlassen der bestimmten Rechenvorrichtung, die hörbare Ausgabe bereitzustellen, Anweisungen umfassen, um: die bestimmte Rechenvorrichtung zu veranlassen, Musik als die hörbare Ausgabe wiederzugeben. - System von Rechenvorrichtungen nach
Anspruch 15 , wobei die Anweisungen zum Übermitteln der Anforderung Anweisungen umfassen zum Übermitteln der Anforderung über das bestimmte WiFi-Netzwerk. - System von Rechenvorrichtungen nach
Anspruch 15 , wobei die Anweisungen zum Übermitteln der Anforderung Anweisungen umfassen, um: eine Zweitvorrichtungsanforderung zu übermitteln, die die zweite Rechenvorrichtung veranlasst, das Zweitvorrichtung-Audiosignal auszusenden, und eine Drittvorrichtungsanforderung zu übermitteln, welche die dritte Rechenvorrichtung veranlasst, das Drittvorrichtung-Audiosignal auszusenden. - System von Rechenvorrichtungen nach
Anspruch 23 , wobei die Zweitvorrichtungsanforderung eine oder mehrere Audioeigenschaften des Zweitvorrichtung-Audiosignals festlegt und wobei die Drittvorrichtungsanforderung eine oder mehrere Audioeigenschaften des Drittvorrichtung-Audiosignals festlegt. - System von Rechenvorrichtungen nach
Anspruch 24 , wobei die eine oder die mehreren Audioeigenschaften des Zweitvorrichtung-Audiosignals eine Zweitvorrichtung-Emissionsfrequenz für das Zweitvorrichtung-Audiosignal umfassen und wobei die einen oder mehreren Audioeigenschaften des Drittvorrichtung-Audiosignals eine Drittvorrichtung-Emissionsfrequenz für das Drittvorrichtung-Audiosignal umfassen. - System von Rechenvorrichtungen nach
Anspruch 25 , wobei die Zweitvorrichtung-Emissionsfrequenz sich von der Drittvorrichtung-Emissionsfrequenz unterscheidet. - System von Rechenvorrichtungen nach
Anspruch 15 , ferner umfassend: eine vierte Rechenvorrichtung, die sich ebenfalls in derselben physischen Umgebung befindet und die ebenfalls mit dem bestimmten WiFi-Netzwerk verbunden ist, wobei die Anforderung die vierte Rechenvorrichtung ferner veranlasst, ein Viertvorrichtung-Audiosignal über eine Viertvorrichtung-Lautsprecherkomponente der vierten Rechenvorrichtung auszusenden, wobei das Viertvorrichtung-Audiosignal ebenfalls oberhalb des menschlichen Hörbereichs liegt, und wobei die Anweisungen ferner Anweisungen umfassen, um: an der ersten Rechenvorrichtung und über ein oder mehrere Mikrophone der ersten Rechenvorrichtung das Viertvorrichtung-Audiosignal und das Drittvorrichtung-Audiosignal zu detektieren; wobei das Auswählen der bestimmten Rechenvorrichtung ferner auf der Detektion des Viertvorrichtung-Audiosignals basiert und aus zumindest der zweiten Rechenvorrichtung, der dritten Rechenvorrichtung und der vierten Rechenvorrichtung erfolgt.
Applications Claiming Priority (2)
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 |
Publications (1)
Publication Number | Publication Date |
---|---|
DE202017007452U1 true DE202017007452U1 (de) | 2021-09-06 |
Family
ID=60270144
Family Applications (6)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE202017007452.4U Active DE202017007452U1 (de) | 2016-11-18 | 2017-09-25 | Identifikation eines virtuellen Assistenten von nahgelegenen Rechenvorrichtungen |
DE202017007508.3U Active DE202017007508U1 (de) | 2016-11-18 | 2017-09-25 | Identifikation eines virtuellen Assistenten von nahgelegenen Rechenvorrichtungen |
DE202017105810.7U Active DE202017105810U1 (de) | 2016-11-18 | 2017-09-25 | Identifikation eines virtuellen Assistenten von nahgelegenen Rechenvorrichtungen |
DE102017012415.9A Active DE102017012415B4 (de) | 2016-11-18 | 2017-09-25 | Identifikation eines virtuellen Assistenten von nahgelegenen Rechenvorrichtungen |
DE102017122182.4A Ceased DE102017122182A1 (de) | 2016-11-18 | 2017-09-25 | Identifikation eines virtuellen Assistenten von nahgelegenen Rechenvorrichtungen |
DE102017012396.9A Active DE102017012396B3 (de) | 2016-11-18 | 2017-09-25 | Identifikation eines virtuellen Assistenten von nahgelegenenRechenvorrichtungen |
Family Applications After (5)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE202017007508.3U Active DE202017007508U1 (de) | 2016-11-18 | 2017-09-25 | Identifikation eines virtuellen Assistenten von nahgelegenen Rechenvorrichtungen |
DE202017105810.7U Active DE202017105810U1 (de) | 2016-11-18 | 2017-09-25 | Identifikation eines virtuellen Assistenten von nahgelegenen Rechenvorrichtungen |
DE102017012415.9A Active DE102017012415B4 (de) | 2016-11-18 | 2017-09-25 | Identifikation eines virtuellen Assistenten von nahgelegenen Rechenvorrichtungen |
DE102017122182.4A Ceased DE102017122182A1 (de) | 2016-11-18 | 2017-09-25 | Identifikation eines virtuellen Assistenten von nahgelegenen Rechenvorrichtungen |
DE102017012396.9A Active DE102017012396B3 (de) | 2016-11-18 | 2017-09-25 | Identifikation eines virtuellen Assistenten von nahgelegenenRechenvorrichtungen |
Country Status (8)
Country | Link |
---|---|
US (8) | US10332523B2 (de) |
EP (1) | EP3523797B1 (de) |
JP (1) | JP6640430B1 (de) |
KR (5) | KR102278659B1 (de) |
CN (1) | CN108073382B (de) |
DE (6) | DE202017007452U1 (de) |
GB (1) | GB2556993B (de) |
WO (1) | WO2018093563A1 (de) |
Families Citing this family (108)
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 |
US20120309363A1 (en) | 2011-06-03 | 2012-12-06 | Apple Inc. | Triggering notifications associated with tasks 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 |
CN104969289B (zh) | 2013-02-07 | 2021-05-28 | 苹果公司 | 数字助理的语音触发器 |
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 |
EP3937002A1 (de) | 2013-06-09 | 2022-01-12 | Apple Inc. | Vorrichtung, verfahren und grafische benutzeroberfläche für gesprächspersistenz über zwei oder mehrere instanzen eines digitalen assistenten |
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 |
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 |
US9715875B2 (en) | 2014-05-30 | 2017-07-25 | Apple Inc. | Reducing the need for manual start/end-pointing and trigger phrases |
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 |
US10127911B2 (en) | 2014-09-30 | 2018-11-13 | Apple Inc. | Speaker identification and unsupervised speaker adaptation techniques |
US9668121B2 (en) | 2014-09-30 | 2017-05-30 | Apple Inc. | Social reminders |
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 |
US10083688B2 (en) | 2015-05-27 | 2018-09-25 | Apple Inc. | Device voice control for selecting a displayed affordance |
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 |
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 |
US10671428B2 (en) | 2015-09-08 | 2020-06-02 | Apple Inc. | Distributed personal assistant |
US10740384B2 (en) | 2015-09-08 | 2020-08-11 | Apple Inc. | Intelligent automated assistant for media search and playback |
US10747498B2 (en) | 2015-09-08 | 2020-08-18 | Apple Inc. | Zero latency digital assistant |
US10331312B2 (en) | 2015-09-08 | 2019-06-25 | Apple Inc. | Intelligent automated assistant in a media environment |
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 |
US10395654B2 (en) | 2017-05-11 | 2019-08-27 | Apple Inc. | Text normalization based on a data-driven learning network |
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 |
US11301477B2 (en) | 2017-05-12 | 2022-04-12 | Apple Inc. | Feedback analysis of a digital assistant |
DK179496B1 (en) | 2017-05-12 | 2019-01-15 | Apple Inc. | USER-SPECIFIC Acoustic Models |
DK179745B1 (en) | 2017-05-12 | 2019-05-01 | Apple Inc. | SYNCHRONIZATION AND TASK DELEGATION OF A DIGITAL ASSISTANT |
DK201770429A1 (en) | 2017-05-12 | 2018-12-14 | Apple Inc. | LOW-LATENCY INTELLIGENT AUTOMATED ASSISTANT |
DK201770411A1 (en) | 2017-05-15 | 2018-12-20 | Apple Inc. | MULTI-MODAL INTERFACES |
US10311144B2 (en) | 2017-05-16 | 2019-06-04 | Apple Inc. | Emoji word sense disambiguation |
DK179560B1 (en) * | 2017-05-16 | 2019-02-18 | Apple Inc. | FAR-FIELD EXTENSION FOR DIGITAL ASSISTANT SERVICES |
US20180336892A1 (en) | 2017-05-16 | 2018-11-22 | Apple Inc. | Detecting a trigger of a digital assistant |
US20180336275A1 (en) | 2017-05-16 | 2018-11-22 | Apple Inc. | Intelligent automated assistant for media exploration |
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 |
US11145294B2 (en) | 2018-05-07 | 2021-10-12 | Apple Inc. | Intelligent automated assistant for delivering content from user experiences |
US10928918B2 (en) | 2018-05-07 | 2021-02-23 | Apple Inc. | Raise to speak |
DK201870355A1 (en) | 2018-06-01 | 2019-12-16 | Apple Inc. | VIRTUAL ASSISTANT OPERATION IN MULTI-DEVICE ENVIRONMENTS |
DK180639B1 (en) | 2018-06-01 | 2021-11-04 | Apple Inc | DISABILITY OF ATTENTION-ATTENTIVE VIRTUAL ASSISTANT |
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 |
US10944859B2 (en) | 2018-06-03 | 2021-03-09 | Apple Inc. | Accelerated task performance |
KR102574903B1 (ko) | 2018-08-08 | 2023-09-05 | 삼성전자주식회사 | 개인화된 장치 연결을 지원하는 전자 장치 및 그 방법 |
EP4343534A3 (de) | 2018-08-23 | 2024-05-29 | Google Llc | Regelung des ansprechverhaltens eines assistenten je nach den eigenschaften einer multiassistent-umgebung |
US11010561B2 (en) | 2018-09-27 | 2021-05-18 | Apple Inc. | Sentiment prediction from textual data |
US11170166B2 (en) | 2018-09-28 | 2021-11-09 | Apple Inc. | Neural typographical error modeling via generative adversarial networks |
US10839159B2 (en) | 2018-09-28 | 2020-11-17 | Apple Inc. | Named entity normalization in a spoken dialog system |
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 |
US11475884B2 (en) | 2019-05-06 | 2022-10-18 | Apple Inc. | Reducing digital assistant latency when a language is incorrectly determined |
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 |
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 |
DK180129B1 (en) | 2019-05-31 | 2020-06-02 | Apple Inc. | USER ACTIVITY SHORTCUT SUGGESTIONS |
US11496600B2 (en) | 2019-05-31 | 2022-11-08 | Apple Inc. | Remote execution of machine-learned models |
DK201970510A1 (en) | 2019-05-31 | 2021-02-11 | Apple Inc | Voice identification in digital assistant systems |
US11289073B2 (en) | 2019-05-31 | 2022-03-29 | Apple Inc. | Device text to speech |
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 |
US11488406B2 (en) | 2019-09-25 | 2022-11-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 | 北京小米松果电子有限公司 | 响应方法、装置、电子设备及存储介质 |
US11810578B2 (en) | 2020-05-11 | 2023-11-07 | Apple Inc. | Device arbitration for digital assistant-based intercom systems |
US11061543B1 (en) | 2020-05-11 | 2021-07-13 | Apple Inc. | Providing relevant data items based on context |
US11183193B1 (en) | 2020-05-11 | 2021-11-23 | Apple Inc. | Digital assistant hardware abstraction |
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 |
US20230260384A1 (en) * | 2022-02-17 | 2023-08-17 | Tile, Inc. | Unauthorized location information access prevention in a tracking device environment |
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 |
WO2024129103A1 (en) * | 2022-12-15 | 2024-06-20 | Google Llc | Pairing audio data channels based on initiating, using a first client device, playback of media on a second client device |
Family Cites Families (90)
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 |
JP4086280B2 (ja) | 2002-01-29 | 2008-05-14 | 株式会社東芝 | 音声入力システム、音声入力方法及び音声入力プログラム |
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 (de) * | 2004-12-14 | 2006-06-21 | Thomson Multimedia Broadband Belgium | Inhaltswiedergabegerät mit einer berührungsempfindlicher Bildschirm |
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 |
KR100958932B1 (ko) * | 2008-08-19 | 2010-05-19 | 주식회사 에스원 | 3차원 음원 위치 측정 기술을 이용한 침입 감지 장치 및 방법 |
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 (de) * | 2010-02-17 | 2016-07-13 | Nokia Technologies Oy | Verarbeitung einer audioerfassung mehrerer vorrichtungen |
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 (de) * | 2010-06-29 | 2020-10-07 | Brother Kogyo Kabushiki Kaisha | Datenverarbeitungsvorrichtung |
US8359020B2 (en) * | 2010-08-06 | 2013-01-22 | Google Inc. | Automatically monitoring for voice input based on context |
GB2546026B (en) | 2010-10-01 | 2017-08-23 | 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 |
KR101677956B1 (ko) * | 2010-12-10 | 2016-11-21 | 요타 디바이시스 아이피알 리미티드 | 이용자 인터페이스를 갖는 모바일 디바이스 |
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 |
US20140325395A1 (en) * | 2011-11-27 | 2014-10-30 | Yuichiro Itakura | Voice link system |
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 | クラリオン株式会社 | 車載機、および、車載機の表示制御システム |
WO2014064324A1 (en) * | 2012-10-26 | 2014-05-01 | Nokia Corporation | 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 |
EP2949113B1 (de) * | 2013-01-22 | 2018-08-22 | Unify GmbH & Co. KG | Anzeige und manipulation von anrufweiterleitung auf no-reply-timerbei einem angerufenen endgerät |
US10133546B2 (en) * | 2013-03-14 | 2018-11-20 | Amazon Technologies, Inc. | Providing content on multiple devices |
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 |
US9203252B2 (en) * | 2013-11-12 | 2015-12-01 | Google Inc. | Redirecting notifications to a wearable computing device |
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 |
EP3089657A4 (de) * | 2014-02-24 | 2017-09-27 | Sony Corporation | Intelligente tragbare vorrichtungen und verfahren mit aufmerksamkeitsniveau- und arbeitlastmessung |
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 |
US10031722B1 (en) * | 2015-03-17 | 2018-07-24 | Amazon Technologies, Inc. | Grouping devices for voice control |
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 |
-
2016
- 2016-11-18 US US15/355,336 patent/US10332523B2/en active Active
-
2017
- 2017-09-25 DE DE202017007452.4U patent/DE202017007452U1/de active Active
- 2017-09-25 DE DE202017007508.3U patent/DE202017007508U1/de active Active
- 2017-09-25 DE DE202017105810.7U patent/DE202017105810U1/de active Active
- 2017-09-25 DE DE102017012415.9A patent/DE102017012415B4/de active Active
- 2017-09-25 DE DE102017122182.4A patent/DE102017122182A1/de not_active Ceased
- 2017-09-25 DE DE102017012396.9A patent/DE102017012396B3/de active Active
- 2017-09-28 GB GB1715712.4A patent/GB2556993B/en active Active
- 2017-09-28 CN CN201710901158.XA patent/CN108073382B/zh active Active
- 2017-10-31 JP JP2019526534A patent/JP6640430B1/ja active Active
- 2017-10-31 KR KR1020197015790A patent/KR102278659B1/ko active IP Right Grant
- 2017-10-31 EP EP17805016.7A patent/EP3523797B1/de active Active
- 2017-10-31 WO PCT/US2017/059342 patent/WO2018093563A1/en unknown
- 2017-10-31 KR KR1020247005291A patent/KR20240025709A/ko active Application Filing
- 2017-10-31 KR KR1020227022118A patent/KR102552555B1/ko active IP Right Grant
- 2017-10-31 KR KR1020217021766A patent/KR102416384B1/ko active IP Right Grant
- 2017-10-31 KR KR1020237022526A patent/KR102639229B1/ko active IP Right Grant
-
2019
- 2019-05-10 US US16/409,389 patent/US20190267008A1/en not_active Abandoned
-
2021
- 2021-03-15 US US17/201,808 patent/US11087765B2/en active Active
- 2021-08-09 US US17/397,604 patent/US11227600B2/en active Active
- 2021-10-20 US US17/506,323 patent/US11270705B2/en active Active
-
2022
- 2022-03-07 US US17/688,493 patent/US11380331B1/en active Active
- 2022-07-01 US US17/856,536 patent/US11908479B2/en active Active
-
2024
- 2024-02-13 US US18/440,010 patent/US20240185858A1/en active Pending
Also Published As
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE102017012396B3 (de) | Identifikation eines virtuellen Assistenten von nahgelegenenRechenvorrichtungen | |
DE102017120732B4 (de) | Proaktiver virtueller Assistent | |
DE102015000652B4 (de) | Somatosensorische Meldungsalarme | |
DE112016003459B4 (de) | Sprecherkennung | |
DE202017105366U1 (de) | Personalisierung eines virtuellen Assistenten | |
DE102014009871B4 (de) | Vorhersagendes Weiterleiten von Meldungsdaten | |
DE102017121699A1 (de) | Dynamische Erzeugung von angepassten Einführungslernprogrammen für eine Anwendung | |
DE202017105858U1 (de) | Anwendungsprogrammschnittstelle für das Verwalten von Komplikationsdaten | |
DE202017104090U1 (de) | Grafische Tastaturanwendung mit integrierter Suche | |
CN110651325A (zh) | 计算助理的延迟响应 | |
DE102017121697A1 (de) | Steuern von Eingabe und Ausgabe auf mehreren Seiten einer Computervorrichtung | |
DE112016001105T5 (de) | Reagieren von konkurrierenden Vorrichtungen auf Sprachauslöser | |
DE112019006699T5 (de) | Steuerung entfernter vorrichtungen unter verwendung von benutzerschnittstellenvorlagen | |
DE102017122231A1 (de) | Dynamisches Erzeugen benutzerspezifischer Gruppen von Anwendungseinstellungen | |
DE112016002384T5 (de) | Hilfsschicht mit automatisierter Extraktion | |
DE112019000018T5 (de) | Anheben, um zu sprechen | |
DE102017125008A1 (de) | Benutzerzustandvorhersagen zum präsentieren von informationen | |
DE202017106491U1 (de) | Intelligente Einrichtung von Assistent-Diensten | |
DE202017105015U1 (de) | Ausgabe von Inhalt auf der Basis von Interessen von anderen Benutzern |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
R150 | Utility model maintained after payment of first maintenance fee after three years | ||
R207 | Utility model specification | ||
R151 | Utility model maintained after payment of second maintenance fee after six years |