DE102017012396B3 - Identifikation eines virtuellen Assistenten von nahgelegenenRechenvorrichtungen - Google Patents

Identifikation eines virtuellen Assistenten von nahgelegenenRechenvorrichtungen Download PDF

Info

Publication number
DE102017012396B3
DE102017012396B3 DE102017012396.9A DE102017012396A DE102017012396B3 DE 102017012396 B3 DE102017012396 B3 DE 102017012396B3 DE 102017012396 A DE102017012396 A DE 102017012396A DE 102017012396 B3 DE102017012396 B3 DE 102017012396B3
Authority
DE
Germany
Prior art keywords
computing device
audio signal
computing
assistant
module
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
Application number
DE102017012396.9A
Other languages
English (en)
Inventor
Jian Wei LEONG
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Google LLC
Original Assignee
Google LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Google LLC filed Critical Google LLC
Application granted granted Critical
Publication of DE102017012396B3 publication Critical patent/DE102017012396B3/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

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

Abstract

Verfahren, umfassend:Detektieren, an einer ersten Rechenvorrichtung (110, 210), die sich in einer physischen Umgebung befindet und die mit einem bestimmten WiFi-Netzwerk (130) verbunden ist, einer Betätigung einer Taste; undin Reaktion auf die Detektion der Betätigung der Taste an der ersten Rechenvorrichtung (110, 210):Übermitteln durch die erste Rechenvorrichtung (110, 210), einer Anforderung, wobei das Übermitteln der Anforderung:eine zweite Rechenvorrichtung (180, 380), die sich ebenfalls in der physischen Umgebung befindet und die ebenfalls mit dem bestimmten WiFi-Netzwerk (130) verbunden ist, veranlasst, ein Zweitvorrichtung-Audiosignal über eine Zweitvorrichtung-Lautsprecherkomponente (308) der zweiten Rechenvorrichtung (180, 380) auszusenden, undeine dritte Rechenvorrichtung (180, 380), die sich ebenfalls in der physischen Umgebung befindet und die ebenfalls mit dem bestimmten WiFi-Netzwerk (130) verbunden ist, veranlasst, ein Drittvorrichtung-Audiosignal über eine Drittvorrichtung-Lautsprecherkomponente (308) der dritten Rechenvorrichtung (180, 380) auszusenden,wobei das Zweitvorrichtung-Audiosignal und das Drittvorrichtung-Audiosignal jeweils oberhalb eines menschlichen Hörbereichs liegen;Detektieren, an der ersten Rechenvorrichtung (110, 210) und über ein oder mehrere Mikrophone (206) der ersten Rechenvorrichtung (110, 210), des Zweitvorrichtung-Audiosignals und des Drittvorrichtung-Audiosignals;Auswählen, basierend auf der Detektion des Zweitvorrichtung-Audiosignals und des Drittvorrichtung-Audiosignals, einer bestimmten Rechenvorrichtung aus zumindest der zweiten Rechenvorrichtung (180, 380) und der dritten Rechenvorrichtung (180, 380); undin Reaktion auf das Auswählen der bestimmten Rechenvorrichtung (180, 380):Veranlassen der bestimmten Rechenvorrichtung (180, 380), eine hörbare Ausgabe bereitzustellen.

Description

  • 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. Die US 2013/0183944 A1 offenbart Systeme, Verfahren und Vorrichtungen zum Verbessern von Informationszugang zu und Gerätesteuerung in einer Heimautomatisierungsumgebung. Die US 2012/0084131 A1 offenbart Systeme zum Kommunizieren von Daten zu und von mobilen Vorrichtungen. Die US 2015/0382047 A1 offenbart einen intelligenten automatisierten Assistenten für TV-Benutzer-Interaktionen. Die US 2013/0108076 A1 beschäftigt sich mit einem Videokonferenzsystem, das eine Videokonferenzeinheit aufweist, welche portable Vorrichtungen als Peripheriegeräte für das System verwendet.
  • KURZFASSUNG
  • Während die Erfindung in den nebengeordneten Patentansprüchen definiert ist, werden weitere Aspekte der Erfindung in den untergeordneten Patentansprüchen, den Zeichnungen und der folgenden Beschreibung wiedergegeben. 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 System 100 von 1 umfasst ein Assistentenserversystem 160 in Kommunikation über ein Netz 130 mit einer Rechenvorrichtung 110 und Rechenvorrichtungen 180A -180N (gemeinsam „Rechenvorrichtungen 180“). Obwohl das System 100 als unter dem Assistentenserversystem 160, der Rechenvorrichtung 110 und den Rechenvorrichtungen 180 verteilt gezeigt ist, können in anderen Beispielen die Merkmale und Techniken, die dem System 100 zugeschrieben sind, intern durch lokale Komponenten der Rechenvorrichtung 110 durchgeführt werden. Ebenso kann das Assistentenserversystem 160 bestimmte Komponenten umfassen und verschiedene Techniken durchführen, die ansonsten in der nachstehenden Beschreibung der Rechenvorrichtung 110 und/oder den Rechenvorrichtungen 180 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 Assistentenserversystem 160 kann Daten über das Netz 130 mit der Rechenvorrichtung 110 austauschen, um einen virtuellen Assistentendienst zu schaffen, der für die Rechenvorrichtung 110 zugänglich ist, wenn die Rechenvorrichtung 110 mit dem Netz 130 verbunden ist. Das Assistentenserversystem 160 kann Daten über das Netz 130 mit den Rechenvorrichtungen 180 austauschen, um zu veranlassen, dass eine oder mehrere der Rechenvorrichtungen 180 verschiedene Aktivitäten durchführen. Die Rechenvorrichtung 110 kann Daten über das Netz 130 mit den Rechenvorrichtungen 180 austauschen, um zu veranlassen, dass eine oder mehrere der Rechenvorrichtungen 180 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 Serversystem 160, der Rechenvorrichtung 110 und den Rechenvorrichtungen 180 gesorgt ist. Die Rechenvorrichtung 110, das Assistentenserversystem 160 und die Rechenvorrichtungen 180 können Daten über das Netz 130 unter Verwendung von beliebigen geeigneten Kommunikationstechniken übertragen und empfangen. Die Rechenvorrichtung 110, das Assistentenserversystem 160 und die Rechenvorrichtungen 180 können jeweils betriebsfähig mit dem Netz 130 unter Verwendung von jeweiligen Netzanbindungen gekoppelt sein. Die Anbindungen, die die Rechenvorrichtung 110, das Assistentenserversystem 160 und die Rechenvorrichtungen 180 mit dem Netz 130 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 Netz 130 zu senden und zu empfangen. Das Assistentenserversystem 160 beherbergt (oder schafft zumindest Zugang zu) einen virtuellen Assistentendienst. In einigen Beispielen stellt das Assistentenserversystem 160 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 Rechenvorrichtung 110 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 Netz 130 zu empfangen.
  • Das Assistentenserversystem 160 kann mit der Rechenvorrichtung 110 über das Netz 130 kommunizieren, um der Rechenvorrichtung 110 Zugang zum virtuellen Assistentendienst zu geben, der durch das Assistentenserversystem 160 bereitgestellt wird. Im Verlauf der Bereitstellung der virtuellen Assistentendienste kann das Assistentenserversystem 160 mit einem Suchserversystem (nicht dargestellt) über das Netz 130 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 Assistentenserversystem 160 ein entferntes Assistentenmodul 122B und ein Vorrichtungsauswahlmodul 124B. Die Rechenvorrichtung 110 umfasst eine Benutzerschnittstellenvorrichtung (UID) 112, ein Benutzerschnittstellenmodul (UI-Modul) 120, ein lokales Assistentenmodul 122A und ein Vorrichtungsauswahlmodul 124A. Die Rechenvorrichtungen 180 umfassen jeweils eine UID 113 und ein Ul-Modul 121. Das entfernte Assistentenmodul 122B und das lokale Assistentenmodul 122A können gemeinsam als Assistentenmodule 122 bezeichnet werden. Das Vorrichtungsauswahlmodul 124A und das Vorrichtungsauswahlmodul 124B können gemeinsam als Vorrichtungsauswahlmodule 124 bezeichnet werden.
  • Die Module 120, 121, 122 und 124 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: Rechenvorrichtung 110, Assistentenserversystem 160 und Rechenvorrichtungen 180 befinden und/oder darauf laufen. Die Rechenvorrichtung 110, das Assistentenserversystem 160 und die Rechenvorrichtungen 180 können die Module 120, 121, 122 und 124 mit mehreren Prozessoren oder mehreren Vorrichtungen ausführen. Die Rechenvorrichtung 110, das Assistentenserversystem 160 und die Rechenvorrichtungen 180 können die Module 120, 121, 122 und 124 als virtuelle Maschinen ausführen, die auf darunterliegender Hardware laufen. Die Module 120, 121, 122 und 124 können als ein oder mehrere Dienste eines Betriebssystems oder einer Rechenplattform laufen. Die Module 120, 121, 122 und 124 können als ein oder mehrere ausführbare Programme auf einer Anwendungsschicht einer Rechenplattform laufen.
  • Die UID 112 der Rechenvorrichtung 110 kann als Eingabe- und/oder Ausgabevorrichtung für die Rechenvorrichtung 110 funktionieren. Die UID 112 kann unter Verwendung von verschiedenen Technologien implementiert werden. Die UID 112 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 UID 112 unter Verwendung einer eingebauten Mikrophontechnologie eine Spracheingabe detektieren, die das UI-Modul 120 und/oder das lokale Assistentenmodul 122A zum Erledigen einer Aufgabe verarbeiten. Als anderes Beispiel kann die UID 112 eine anwesenheitsempfindliche Anzeige umfassen, die eine taktile Eingabe von einem Benutzer der Rechenvorrichtung 110 empfangen kann. Die UID 112 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 UID 112 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 UID 112 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 Rechenvorrichtung 110 auszugeben. Die UID 112 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 UID 112 kann eine Benutzerschnittstelle (z. B. Benutzerschnittstelle 114) in Bezug auf einen virtuellen Assistenten darstellen, der durch das lokale Assistentenmodul 122A und/oder das entfernte Assistentenmodul 122B bereitgestellt wird. Die UID 112 kann eine Benutzerschnittstelle in Bezug auf andere Merkmale von Rechenplattformen, Betriebssystemen, Anwendungen und/oder Diensten darstellen, die auf der Rechenvorrichtung 110 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 UID 112 und anderen Komponenten der Rechenvorrichtung 110 managen, einschließlich der Interaktion mit dem Assistentenserversystem 160, um Assistentendienste über die UID 112 bereitzustellen. Das Ul-Modul 120 kann veranlassen, dass die UID 112 eine Benutzerschnittstelle ausgibt, wenn ein Benutzer der Rechenvorrichtung 110 an der UID 112 eine Ausgabe betrachtet und/oder eine Eingabe liefert. Das Ul-Modul 120 und die UID 112 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 Rechenvorrichtung 110 sich an verschiedenen Orten befinden. Das Ul-Modul 120 und die UID 112 können Eingaben, die an der UID 112 detektiert werden, interpretieren und können Informationen über die an der UID 112 detektierten Eingaben zum lokalen Assistentenmodul 122A und/oder zu einer oder mehreren anderen zugehörigen Plattformen, Betriebssystemen, Anwendungen und/oder Diensten weiterleiten, die auf der Rechenvorrichtung 110 laufen, beispielsweise um zu veranlassen, dass die Rechenvorrichtung 110 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 Rechenvorrichtung 110 und/oder einem oder mehreren entfernten Rechensystemen wie z. B. dem Serversystem 160 und den Rechenvorrichtungen 180 laufen. Außerdem kann das Ul-Modul 120 als Vermittler zwischen der einen oder den mehreren zugehörigen Plattformen, Betriebssystemen, Anwendungen und/oder Diensten, die auf der Rechenvorrichtung 110 laufen, und verschiedenen Ausgabevorrichtungen der Rechenvorrichtung 110 (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 Rechenvorrichtung 110 zu erzeugen.
  • Das lokale Assistentenmodul 122A der Rechenvorrichtung 110 und das entfernte Assistentenmodul 122B des Assistentenserversystems 160 können jeweils ähnliche Funktionen, die hier beschrieben werden, zum automatischen Ausführen eines Assistenten durchführen. Das entfernte Assistentenmodul 122B und das Vorrichtungsauswahlmodul 124B stellen Serverseiten- oder Cloud-Implementierungen eines virtuellen Beispielassistenten dar, wohingegen das lokale Assistentenmodul 122A und das Vorrichtungsauswahlmodul 124A 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 Rechenvorrichtung 110 durchführen können. Die Module 122 können diese Aufgaben oder Dienste auf der Basis einer Benutzereingabe (z. B. an der UID 112 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 Rechenvorrichtung 110, am Assistentenserversystem 160 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 Module 122 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 Module 122 können Audiodaten (d. h. vom Ul-Modul 120) empfangen, die durch ein oder mehrere Mikrophone der UID 112 erzeugt werden. Die Module 122 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 Module 122 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-Modul 120 veranlassen, dass die Module 122 den Sprachempfang in Reaktion darauf, dass ein Benutzer eine Sprachempfangstaste an der Rechenvorrichtung 110 drückt, aktivieren.
  • Die Module 122 können Benutzeräußerungen über eine Ausgabe erfüllen, die durch eine oder mehrere Komponenten der Rechenvorrichtung 110 dargestellt wird. Die Module 122 können beispielsweise veranlassen, dass eine oder mehrere Komponenten der UID 112 (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 Module 122 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 Module 122 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 Module 122 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 Rechenvorrichtung 110, 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 Rechenvorrichtung 110 eine batteriebetriebene Vorrichtung sein und die periodische Identifikation kann unnötig Batterieleistung der Rechenvorrichtung 110 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 Rechenvorrichtung 110 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 Rechenvorrichtung 110 aktiviert wird, und weiterhin die Identifikation der anderen Rechenvorrichtungen aktualisieren, während der Sprachempfang an der Rechenvorrichtung 110 aktiviert bleibt. Wenn beispielsweise die Rechenvorrichtung 180A ein Fernsehgerät ist, das in einem Wohnzimmer angeordnet ist, und die Rechenvorrichtung 180B ein Fernsehgerät ist, das in einer Küche angeordnet ist, und der Sprachempfang aktiviert wird, während sich die Rechenvorrichtung 110 im Wohnzimmer befindet, kann der Assistent anfänglich identifizieren, dass die Rechenvorrichtung 180A das am besten geeignete Fernsehgerät ist. Wenn dann die Rechenvorrichtung 110 in die Küche getragen wird, während der Benutzer eine Äußerung spricht, kann der Assistent identifizieren, dass die Rechenvorrichtung 180B 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 Rechenvorrichtung 110 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 Vorrichtungsauswahlmodule 124 können beispielsweise veranlassen, dass die Rechenvorrichtungen 180 jeweilige Töne aussenden (in 1 als Töne 181A -181N dargestellt, gemeinsam „Töne 181“). Das Vorrichtungsauswahlmodul 124A kann beispielsweise eine Nachricht über das Netz 130 zum Vorrichtungsauswahlmodul 124B senden, die angibt, dass der Sprachempfang an der Rechenvorrichtung 110 aktiviert wurde. In Reaktion auf das Empfangen der Nachricht kann das Vorrichtungsauswahlmodul 124B Anforderungen zu den Rechenvorrichtungen 180 senden, um jeweilige Töne 181 auszusenden. Das Vorrichtungsauswahlmodul 124B kann beispielsweise eine Anforderung zur Rechenvorrichtung 180A senden, um einen Ton 181A auszusenden, eine Anforderung zur Rechenvorrichtung 180B senden, um einen Ton 181B auszusenden, und eine Anforderung zur Rechenvorrichtung 180N senden, um einen Ton 181N auszusenden. Die Aussendung eines Tons durch die Rechenvorrichtungen 181A -181N ermöglicht, dass die Rechenvorrichtung 110 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 Vorrichtungsauswahlmodul 124A 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 Rechenvorrichtungen 180 Töne 181 aussenden sollen. Mit anderen Worten kann jeder der Rechenvorrichtungen 180 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önen 181 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öne 181 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 UID 112 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 Rechenvorrichtungen 180 ausgesendet wird, können eines oder beide der Vorrichtungsauswahlmodule 124 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 Ton 181A umfassen, kann das Vorrichtungsauswahlmodul 124A bestimmen, dass die Rechenvorrichtung 180A für die Auswahl geeignet ist, um die gesprochene Äußerung zu erfüllen. Wenn die empfangenen Audiodaten den Ton 181B nicht umfassen, kann das Vorrichtungsauswahlmodul 124A ebenso bestimmen, dass die Rechenvorrichtung 180B 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 Assistentenmodul 122A kann beispielsweise Audiodaten verarbeiten, die durch ein oder mehrere Mikrophone der UID 112 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 Vorrichtungsauswahlmodul 124A kann sich beispielsweise an das lokale Assistentenmodul 122A koppeln, um eine oder mehrere der Rechenvorrichtung 110 und der Rechenvorrichtungen aus den identifizierten Rechenvorrichtungen der Rechenvorrichtungen 180 auszuwählen, die am besten geeignet sind, um die gesprochene Äußerung zu erfüllen. Als ein Beispiel kann, wenn die Rechenvorrichtung 110 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 Vorrichtungsauswahlmodul 124A 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 Rechenvorrichtung 110 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 Vorrichtungsauswahlmodul 124A 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 Vorrichtungsauswahlmodul 124A eine Rechenvorrichtung der identifizierten anderen Rechenvorrichtungen auswählen, die Lautsprecher mit höherer Qualität als die Rechenvorrichtung 110 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 Assistentenmodul 122A veranlassen, dass eine oder mehrere Komponenten der UID 113 (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 Assistentenmodul 122A veranlassen, dass eine Anzeige der UID 113 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 Rechenvorrichtung 110 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 Rechenvorrichtung 110 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 Rechenvorrichtung 210 von 2 wird nachstehend als Beispiel der Rechenvorrichtung 110 von 1 beschrieben. 2 stellt nur ein bestimmtes Beispiel der Rechenvorrichtung 210 dar und viele andere Beispiele der Rechenvorrichtung 210 können in anderen Fällen verwendet werden und können eine Teilmenge der Komponenten umfassen, die in der Beispielrechenvorrichtung 210 enthalten sind, oder können zusätzliche Komponenten umfassen, die in 2 nicht gezeigt sind.
  • Wie im Beispiel von 2 gezeigt, umfasst die Rechenvorrichtung 210 eine Benutzerschnittstellenvorrichtung (USD) 212, einen oder mehrere Prozessoren 240, eine oder mehrere Kommunikationseinheiten 242, eine oder mehrere Eingabekomponenten 244, eine oder mehrere Ausgabekomponenten 246 und eine oder mehrere Speichervorrichtungen 248. Die USD 212 umfasst eine Anzeigekomponente 202, eine anwesenheitsempfindliche Eingabekomponente 204, eine Mikrophonkomponente 206 und eine Lautsprecherkomponente 208. Die Speichervorrichtungen 248 der Rechenvorrichtung 210 umfassen ein Ul-Modul 220, ein Assistentenmodul 222, ein Vorrichtungsauswahlmodul 224, ein Suchmodul 282, ein oder mehrere Anwendungsmodule 226 und ein Kontextmodul 230.
  • Die Kommunikationskanäle 250 können jede der Komponenten 212, 240, 242, 244, 246 und 248 für Kommunikationen zwischen Komponenten (physisch, kommunikativ und/oder betriebsfähig) miteinander verbinden. In einigen Beispielen können die Kommunikationskanäle 250 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 Rechenvorrichtung 210 können mit externen Vorrichtungen (z. B. Assistentenserversystem 160 und/oder Rechenvorrichtungen 180 des Systems 100 von 1) über ein oder mehrere verdrahtete und/oder drahtlose Netze durch Übertragen und/oder Empfangen von Netzsignalen auf einem oder mehreren Netzen (z. B. Netz 130 des Systems 100 von 1) kommunizieren. Beispiele von Kommunikationseinheiten 242 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 Kommunikationseinheiten 242 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 Rechenvorrichtung 210 können eine Eingabe empfangen. Beispiele der Eingabe sind eine taktile, Audio- und Videoeingabe. Die Eingabekomponenten 242 der Rechenvorrichtung 210 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 Eingabekomponenten 242 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 Rechenvorrichtung 210 können eine Ausgabe erzeugen. Beispiele einer Ausgabe sind eine taktile, Audio- und Videoausgabe. Die Ausgabekomponenten 246 der Rechenvorrichtung 210 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 Rechenvorrichtung 210 kann zur UID 112 der Rechenvorrichtung 110 ähnlich sein und umfasst eine Anzeigekomponente 202, eine anwesenheitsempfindliche Eingabekomponente 204, eine Mikrophonkomponente 206 und eine Lautsprecherkomponente 208. Die Anzeigekomponente 202 kann ein Bildschirm sein, an dem Informationen durch die USD 212 angezeigt werden, während die anwesenheitsempfindliche Eingabekomponente 204 ein Objekt an und/oder nahe der Anzeigekomponente 202 detektieren kann. Die Lautsprecherkomponente 208 kann ein Lautsprecher sein, von dem hörbare Informationen durch die UID 212 wiedergegeben werden, während die Mikrophonkomponente 206 eine hörbare Eingabe detektieren kann, die an und/oder nahe der Anzeigekomponente 202 und/oder der Lautsprecherkomponente 208 bereitgestellt wird.
  • Obwohl sie als interne Komponente der Rechenvorrichtung 210 dargestellt ist, kann die UID 212 auch eine externe Komponente darstellen, die sich einen Datenpfad mit der Rechenvorrichtung 210 zum Übertragen und/oder Empfangen einer Eingabe und Ausgabe teilt. In einem Beispiel stellt die UID 212 beispielsweise eine eingebaute Komponente der Rechenvorrichtung 210 dar, die innerhalb der externen Aufmachung der Rechenvorrichtung 210 angeordnet und physisch damit verbunden ist (z. B. ein Bildschirm an einem Mobiltelefon). In einem anderen Beispiel stellt die UID 212 eine externe Komponente der Rechenvorrichtung 210 dar, die außerhalb der Aufmachung oder des Gehäuses der Rechenvorrichtung 210 angeordnet ist und physisch davon getrennt ist (z. B. ein Monitor, ein Projektor usw., der sich einen verdrahteten und/oder drahtlosen Datenpfad mit der Rechenvorrichtung 210 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 Anzeigekomponente 202 befindet. Die anwesenheitsempfindliche Eingabekomponente 204 kann einen Ort (z. B. eine [x,y]-Koordinate) der Anzeigekomponente 202 bestimmen, an dem das Objekt detektiert wurde. In einem anderen Beispielbereich kann die anwesenheitsempfindliche Eingabekomponente 204 ein Objekt sechs Zoll oder weniger von der Anzeigekomponente 202 detektieren und andere Reichweiten sind auch möglich. Die anwesenheitsempfindliche Eingabekomponente 204 kann den Ort der Anzeigekomponente 202, 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 Eingabekomponente 204 auch eine Ausgabe zu einem Benutzer unter Verwendung von taktilen, Audio- oder Videoreizen, wie mit Bezug auf die Anzeigekomponente 202 beschrieben. In dem Beispiel von 2 kann die PSD 212 eine Benutzerschnittstelle als graphische Benutzerschnittstelle darstellen.
  • Die Lautsprecherkomponente 208 kann einen Lautsprecher umfassen, der in ein Gehäuse der Rechenvorrichtung 210 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 Rechenvorrichtung 210 gekoppelt sind. Die Mikrophonkomponente 206 kann eine akustische Eingabe detektieren, die an oder nahe der UID 212 auftritt. Die Mikrophonkomponente 206 kann verschiedene Rauschunterdrückungstechniken durchführen, um Hintergrundrauschen zu entfernen und Benutzersprache aus einem detektierten Audiosignal zu isolieren.
  • Die UID 212 der Rechenvorrichtung 210 kann zweidimensionale und/oder dreidimensionale Gesten als Eingabe von einem Benutzer der Rechenvorrichtung 210 detektieren. Ein Sensor der UID 212 kann beispielsweise die Bewegung eines Benutzers (z. B. Bewegung einer Hand, eines Arms, eines Stifts, eines Griffels usw.) innerhalb eines Schwellenabstandes des Sensors der UID 212 detektieren. Die UID 212 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 UID 212 kann eine Geste mit mehreren Dimensionen ohne Anfordern, dass der Benutzer an oder nahe einem Bildschirm oder einer Oberfläche gestikuliert, an der die UID 212 Informationen zur Anzeige ausgibt, detektieren. Stattdessen kann die UID 212 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 UID 212 Informationen zur Anzeige ausgibt.
  • Ein oder mehrere Prozessoren 240 können eine Funktionalität implementieren und/oder Befehle ausführen, die der Rechenvorrichtung 210 zugeordnet sind. Beispiele von Prozessoren 240 umfassen Anwendungsprozessoren, Anzeigesteuereinheiten, Hilfsprozessoren, einen oder mehrere Sensornetzknoten und beliebige andere Hardware, die dazu konfiguriert ist, als Prozessor, Verarbeitungseinheit oder Verarbeitungsvorrichtung zu funktionieren. Die Module 220, 222, 224, 226, 230 und 282 können durch die Prozessoren 240 betriebsfähig sein, um verschiedene Handlungen, Operationen oder Funktionen der Rechenvorrichtung 210 durchzuführen. Die Prozessoren 240 der Rechenvorrichtung 210 können beispielsweise Befehle abrufen und ausführen, die durch die Speichervorrichtungen 248 gespeichert werden, die veranlassen, dass die Prozessoren 240 die Operationsmodule 220, 222, 224, 226, 230 und 282 durchführen. Die Befehle können, wenn sie durch die Prozessoren 240 ausgeführt werden, veranlassen, dass die Rechenvorrichtung 210 Informationen innerhalb der Speichervorrichtungen 248 speichert.
  • Eine oder mehrere Speichervorrichtungen 248 innerhalb der Rechenvorrichtung 210 können Informationen zum Verarbeiten während des Betriebs der Rechenvorrichtung 210 speichern (z. B. kann die Rechenvorrichtung 210 Daten speichern, auf die durch die Module 220, 222, 224, 226, 230 und 282 während der Ausführung auf der Rechenvorrichtung 210 zugegriffen wird). In einigen Beispielen sind die Speichervorrichtungen 248 ein temporärer Arbeitsspeicher, was bedeutet, dass ein Hauptzweck der Speichervorrichtungen 248 keine Langzeitspeicherung ist. Die Speichervorrichtungen 248 an der Rechenvorrichtung 210 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 Speichervorrichtungen 248 umfassen in einigen Beispielen ein oder mehrere nichtflüchtige computerlesbare Speichermedien. Die Speichervorrichtungen 248 können dazu konfiguriert sein, größere Mengen an Informationen zu speichern als typischerweise durch einen flüchtigen Arbeitsspeicher gespeichert werden. Die Speichervorrichtungen 248 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 Speichervorrichtungen 248 können Programmbefehle und/oder Informationen (z. B. Daten) speichern, die den Modulen 220, 222, 224, 226, 230 und 282 zugeordnet sind. Die Speichervorrichtungen 248 können einen Arbeitsspeicher umfassen, der dazu konfiguriert ist, Daten oder andere Informationen zu speichern, die den Modulen 220, 222, 224, 226, 230 und 282 zugeordnet sind.
  • Das Ul-Modul 220 kann die ganze Funktionalität des Ul-Moduls 120 der Rechenvorrichtung 110 von 1 umfassen und kann ähnliche Operationen wie das Ul-Modul 120 zum Managen einer Benutzerschnittstelle durchführen, die die Rechenvorrichtung 210 an der USD 212 beispielsweise zum Erleichtern von Zusammenwirkungen zwischen einem Benutzer der Rechenvorrichtung 110 und dem Assistentenmodul 222 bereitstellt. Das UI-Modul 220 der Rechenvorrichtung 210 kann beispielsweise Informationen vom Assistentenmodul 222 empfangen, die Befehle zum Ausgeben (z. B. Anzeigen oder Wiedergeben von Audio) einer Assistentenbenutzerschnittstelle (z. B. Benutzerschnittstelle 114) umfassen. Das UI-Modul 220 kann die Informationen vom Assistentenmodul 222 über Kommunikationskanäle 250 empfangen und die Daten verwenden, um eine Benutzerschnittstelle zu erzeugen. Das Ul-Modul 220 kann einen Anzeige- oder hörbaren Ausgabebefehl und zugehörige Daten über die Kommunikationskanäle 250 übertragen, um zu veranlassen, dass die UID 212 die Benutzerschnittstelle an der UID 212 darstellt.
  • In einigen Beispielen kann das UI-Modul220 eine Angabe von einer oder mehreren Benutzereingaben empfangen, die an der UID 212 detektiert werden, und kann Informationen über die Benutzereingaben an das Assistentenmodul 222 ausgeben. Die UID 212 kann beispielsweise eine Spracheingabe von einem Benutzer detektieren und Daten über die Spracheingabe zum Ul-Modul 220 senden.
  • Das Ul-Modul 220 kann eine Angabe der Spracheingabe zum Assistentenmodul 222 für die weitere Interpretation senden. Das Assistentenmodul 222 kann auf der Basis der Spracheingabe bestimmen, dass die detektierte Spracheingabe eine Benutzeranforderung umfasst, damit das Assistentenmodul 222 eine oder mehrere Aufgaben durchführt.
  • Die Anwendungsmodule 226 stellen alle verschiedenen einzelnen Anwendungen und Dienste dar, die auf der Rechenvorrichtung 210 laufen und von dieser zugänglich sind, auf die durch einen Assistenten wie z. B. das Assistentenmodul 222 zugegriffen werden kann, um dem Benutzer Informationen bereitzustellen und/oder eine Aufgabe durchzuführen. Ein Benutzer der Rechenvorrichtung 210 kann mit einer Benutzerschnittstelle interagieren, die einem oder mehreren Anwendungsmodulen 226 zugeordnet ist, um zu veranlassen, dass die Rechenvorrichtung 210 eine Funktion durchführt. Zahlreiche Beispiele von Anwendungsmodulen 226 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 Rechenvorrichtung 210 laufen können.
  • Das Suchmodul 282 der Rechenvorrichtung 210 kann integrierte Suchfunktionen im Interesse der Rechenvorrichtung 210 durchführen. Das Suchmodul 282 kann durch das Ul-Modul 220, eines oder mehrere der Anwendungsmodule 226 und/oder das Assistentenmodul 222 aufgerufen werden, um Suchoperationen in ihrem Interesse durchzuführen. Wenn es aufgerufen wird, kann das Suchmodul 282 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 Suchmodul 282 kann die Ergebnisse von ausgeführten Suchen zur aufrufenden Komponente oder zum aufrufenden Modul liefern. Das heißt, das Suchmodul 282 kann Suchergebnisse an das Ul-Modul 220, das Assistentenmodul 222 und/oder die Anwendungsmodule 226 in Reaktion auf einen Aufrufbefehl ausgeben.
  • Das Kontextmodul 230 kann Kontextinformationen sammeln, die der Rechenvorrichtung 210 zugeordnet sind, um einen Kontext der Rechenvorrichtung 210 zu definieren. Insbesondere wird das Kontextmodul 210 hauptsächlich durch das Assistentenmodul 222 verwendet, um einen Kontext der Rechenvorrichtung 210 zu definieren, der die Eigenschaften der physischen und/oder virtuellen Umgebung der Rechenvorrichtung 210 und eines Benutzers der Rechenvorrichtung 210 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 Rechenvorrichtung 210 zugeordnet ist (z. B. ein Benutzerkonto, bei dem die Rechenvorrichtung 210 gegenwärtig angemeldet ist), ein Netz, mit dem die Rechenvorrichtung 210 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 Rechenvorrichtung 210 erhalten werden, Kommunikationsinformationen (z. B. Kommunikationen auf Textbasis, hörbare Kommunikationen, Videokommunikationen usw.), die durch Kommunikationsmodule der Rechenvorrichtung 210 gesendet und empfangen werden, und Anwendungsnutzungsinformationen, die Anwendungen zugeordnet sind, die auf der Rechenvorrichtung 210 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 Rechenvorrichtung 210 befinden. Das Kontextmodul 230 kann beispielsweise über eine Funk- oder Kommunikationseinheit der Rechenvorrichtung 210 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 Assistentenmoduls 122A der Rechenvorrichtung 110 von 1 umfassen und kann ähnliche Operationen wie das lokale Assistentenmodul 122A zum Vorsehen eines Assistenten durchführen. In einigen Beispielen kann das Assistentenmodul 222 lokal laufen (z. B. an den Prozessoren 240), um Assistentenfunktionen bereitzustellen. In einigen Beispielen kann das Assistentenmodul 222 als Schnittstelle zu einem entfernten Assistentendienst wirken, der für die Rechenvorrichtung 210 zugänglich ist. Das Assistentenmodul 222 kann beispielsweise eine Schnittstelle oder Anwendungsprogrammierschnittstelle (API) zum entfernten Assistentenmodul 122B des Assistentenserversystems 160 von 1 sein.
  • Das Vorrichtungsauswahlmodul 224 kann die ganze Funktionalität des Vorrichtungsauswahlmoduls 124A der Rechenvorrichtung 110 von 1 umfassen und kann ähnliche Operationen wie das Vorrichtungsauswahlmodul 124A durchführen, um andere Rechenvorrichtungen zu identifizieren und auszuwählen. In einigen Beispielen kann das Vorrichtungsauswahlmodul 224 lokal laufen (z. B. an den Prozessoren 240), um andere Rechenvorrichtungen zu identifizieren und/oder auszuwählen. In einigen Beispielen kann das Vorrichtungsauswahlmodul 224 als Schnittstelle zu einem entfernten Vorrichtungsauswahldienst wirken, der für die Rechenvorrichtung 210 zugänglich ist. Das Vorrichtungsauswahlmodul 224 kann beispielsweise eine Schnittstelle oder Anwendungsprogrammierschnittstelle (API) zum Vorrichtungsauswahlmodul 124B des Assistentenserversystems 160 von 1 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 Rechenvorrichtung 380 von 3 wird nachstehend als Beispiel einer Rechenvorrichtung der Rechenvorrichtungen 180 von 1 beschrieben. 3 stellt nur ein bestimmtes Beispiel der Rechenvorrichtung 380 dar und viele andere Beispiele der Rechenvorrichtung 380 können in anderen Fällen verwendet werden und können eine Teilmenge der Komponenten umfassen, die in der Beispielrechenvorrichtung 380 enthalten sind, oder können zusätzliche Komponenten umfassen, die in 3 nicht gezeigt sind.
  • Wie im Beispiel von 3 gezeigt, umfasst die Rechenvorrichtung 380 eine Benutzerschnittstellenvorrichtung (UID) 313, einen oder mehrere Prozessoren 341, eine oder mehrere Kommunikationseinheiten 343, eine oder mehrere Eingabekomponenten 345, eine oder mehrere Ausgabekomponenten 347 und eine oder mehrere Speichervorrichtungen 349. Die UID 313 umfasst eine Anzeigekomponente 303, eine anwesenheitsempfindliche Eingabekomponente 305, eine Mikrophonkomponente 307 und eine Lautsprecherkomponente 309. Die Speichervorrichtungen 349 der Rechenvorrichtung 380 umfassen ein Ul-Modul 321, ein Auswahlreaktionsmodul 327 und ein Kontextmodul 331.
  • Die Prozessoren 340 sind analog zu den Prozessoren 240 des Rechensystems 210 von 2. Die Kommunikationseinheiten 342 sind analog zu den Kommunikationseinheiten 242 des Rechensystems 210 von 2. Die UID 313 ist analog zur UID 212 des Rechensystems 210 von 2. Die Speichervorrichtungen 348 sind analog zu den Speichervorrichtungen 248 des Rechensystems 210 von 2. Die Eingabekomponenten 344 sind analog zu den Eingabekomponenten 244 des Rechensystems 210 von 2. Die Ausgabekomponenten 346 sind analog zu den Ausgabekomponenten 246 des Rechensystems 210 von 2. Die Kommunikationskanäle 350 sind analog zu den Kommunikationskanälen 250 des Rechensystems 210 von 2 und können daher jede der Komponenten 340, 342, 344, 346, 313 und 318 für Kommunikationen zwischen Komponenten miteinander verbinden. In einigen Beispielen können die Kommunikationskanäle 350 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-Moduls 121 der Rechenvorrichtung 180A von 1 umfassen und kann ähnliche Operationen wie das Ul-Modul 121 durchführen. Das Ul-Modul 321 der Rechenvorrichtung 380 kann beispielsweise Informationen vom Auswahlreaktionsmodul 327 empfangen, die Befehle zum Erfüllen einer Äußerung umfassen (z. B. Anzeigen von Video oder Wiedergeben von Audio). Das Ul-Modul 321 kann einen Anzeige- oder hörbaren Ausgabebefehl und zugehörige Daten über die Kommunikationskanäle 350 übertragen, um zu veranlassen, dass die UID 313 die Benutzerschnittstelle an der UID 313 darstellt.
  • Das Kontextmodul 331 kann dazu konfiguriert sein, Funktionen durchzuführen, die zum Kontextmodul 231 der Rechenvorrichtung 210 von 2 ähnlich sind. Das Kontextmodul 331 kann beispielsweise Kontextinformationen sammeln, die der Rechenvorrichtung 380 zugeordnet sind, um einen Kontext der Rechenvorrichtung 380 zu definieren. In einigen Beispielen kann das Kontextmodul 331 eine oder mehrere andere Vorrichtungen hinsichtlich des Kontexts der Rechenvorrichtung 380 aktualisieren. Das Kontextmodul 331 kann beispielsweise ein Serversystem (z. B. das Assistentenserversystem 160 von 1) hinsichtlich einer oder beider einer Identifikation eines Kontos, das der Rechenvorrichtung 380 zugeordnet ist, und einer Identifikation eines Netzes, mit dem die Rechenvorrichtung 380 gegenwärtig verbunden ist, aktualisieren. In einigen Beispielen kann das Kontextmodul 331 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 Kontextmodul 331 die anderen Vorrichtungen aktualisieren, wenn der Kontext der Rechenvorrichtung 380 sich geändert hat (z. B. wenn die Rechenvorrichtung 380 mit einem Netz verbindet oder sich von diesem trennt, wenn die Rechenvorrichtung 380 bei einem neuen Konto angemeldet wird).
  • Das Auswahlreaktionsmodul 327 kann eine oder mehrere Handlungen durchführen, um die Identifikation der Rechenvorrichtung 380 zu ermöglichen, um Äußerungen zu erfüllen, die an einer anderen Vorrichtung wie z. B. der Rechenvorrichtung 110 von 1 oder der Rechenvorrichtung 210 von 2 gesprochen wird. In einigen Beispielen kann in Reaktion auf das Empfangen einer Anforderung (z. B. vom Assistentenserversystem 160 von 1) das Auswahlreaktionsmodul 327 veranlassen, dass die Lautsprecherkomponente 309 der UID 313 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 Auswahlreaktionsmodul 327 veranlassen, dass eine oder mehrere Komponenten der UID 313 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 Assistentenserversystem 460 von 4 wird nachstehend als Beispiel des Assistentenserversystems 160 von 1 beschrieben. 4 stellt nur ein bestimmtes Beispiel des Assistentenserversystems 460 dar und viele andere Beispiele des Assistentenserversystems 460 können in anderen Fällen verwendet werden und können eine Teilmenge der Komponenten umfassen, die im Beispielassistentenserversystem 460 enthalten sind, oder können zusätzliche Komponenten umfassen, die in 4 nicht gezeigt sind.
  • Wie in dem Beispiel von 4 gezeigt, umfasst das Assistentenserversystem 460 Benutzer einen oder mehrere Prozessoren 440, eine oder mehrere Kommunikationseinheiten 442 und eine oder mehrere Speichervorrichtungen 448. Die Speichervorrichtungen 448 umfassen ein Assistentenmodul 422, ein Suchmodul 482, ein Kontextmodul 430 und ein Vorrichtungsauswahlmodul 424.
  • Die Prozessoren 440 sind analog zu den Prozessoren 240 des Rechensystems 210 von 1. Die Kommunikationseinheiten 442 sind analog zu den Kommunikationseinheiten 242 des Rechensystems 210 von 2. Die Speichervorrichtungen 448 sind analog zu den Speichervorrichtungen 248 des Rechensystems 210 von 2. Die Kommunikationskanäle 450 sind analog zu den Kommunikationskanälen 250 des Rechensystems 210 von 2 und können daher jede der Komponenten 440, 442 und 448 für Kommunikationen zwischen Komponenten miteinander verbinden. In einigen Beispielen können die Kommunikationskanäle 450 einen Systembus, eine Netzverbindung, eine Kommunikationsdatenstruktur zwischen Prozessen oder irgendein anderes Verfahren zum Übermitteln von Daten umfassen.
  • Das Suchmodul 482 des Assistentenserversystems 460 ist zum Suchmodul 282 der Rechenvorrichtung 210 analog und kann integrierte Suchfunktionen im Interesse des Assistentenserversystems 460 durchführen. Das heißt, das Suchmodul 482 kann Suchoperationen im Interesse des Assistentenmoduls 422 durchführen. In einigen Beispielen kann das Suchmodul 482 mit externen Suchsystemen über eine Schnittstelle koppeln, um Suchoperationen im Interesse des Assistentenmoduls 422 durchzuführen. Wenn es aufgerufen wird, kann das Suchmodul 482 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 Suchmodul 482 kann Ergebnisse von ausgeführten Suchen zur aufrufenden Komponente oder zum aufrufenden Modul liefern. Das heißt, das Suchmodul 482 kann Suchergebnisse an das Assistentenmodul 422 ausgeben.
  • Das Kontextmodul 430 des Assistentenserversystems 460 ist analog zum Kontextmodul 230 der Rechenvorrichtung 210. Das Kontextmodul 430 kann Kontextinformationen sammeln, die den Rechenvorrichtungen wie z. B. der Rechenvorrichtung 110 und/oder den Rechenvorrichtungen 180 von 1, der Rechenvorrichtung 210 von 2 und/oder der Rechenvorrichtung 380 von 3 zugeordnet sind, um einen Kontext der Rechenvorrichtung zu definieren. Das Kontextmodul 430 kann hauptsächlich durch das Assistentenmodul 422 und/oder das Suchmodul 482 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 Assistentenserversystem 160 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 Assistentenmoduls 122A und des entfernten Assistentenmoduls 122B von 1 sowie des Assistentenmoduls 222 der Rechenvorrichtung 210 von 2 umfassen. Das Assistentenmodul 422 kann ähnliche Operationen wie das entfernte Assistentenmodul 122B zum Bereitstellen eines Assistentendienstes durchführen, der über das Assistentenserversystem 460 zugänglich ist. Das heißt, das Assistentenmodul 422 kann als Schnittstelle zu einem entfernten Assistentendienst wirken, der für eine Rechenvorrichtung zugänglich ist, die über ein Netz mit dem Assistentenserversystem 460 kommuniziert. Das Assistentenmodul 422 kann beispielsweise eine Schnittstelle oder API zum entfernten Assistentenmodul 122B des Assistentenserversystems 160 von 1 sein.
  • Das Vorrichtungsauswahlmodul 424 kann die ganze Funktionalität des Vorrichtungsauswahlmoduls 124A und des Vorrichtungsauswahlmoduls 124B von 1 sowie des Vorrichtungsauswahlmoduls 224 der Rechenvorrichtung 210 von 2 umfassen. Das Vorrichtungsauswahlmodul 424 kann ähnliche Operationen wie das Vorrichtungsauswahlmodul 124B zum Identifizieren und Auswählen von anderen Rechenvorrichtungen durchführen, um gesprochene Äußerungen zu erfüllen. In einigen Beispielen kann das Vorrichtungsauswahlmodul 424 eine Schnittstelle oder API zum Vorrichtungsauswahlmodul 124B des Assistentenserversystems 160 von 1 sein.
  • Im Betrieb kann das Vorrichtungsauswahlmodul 424 eine Liste von Rechenvorrichtungen unterhalten, die auf eine bestimmte Rechenvorrichtung (z. B. die Rechenvorrichtung 110 von 1 oder die Rechenvorrichtung 210 von 1) bezogen sind. Das Vorrichtungsauswahlmodul 424 kann beispielsweise auf der Basis von Kontextinformationen, die durch das Kontextmodul 430 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 Vorrichtungsauswahlmodul 424 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 Assistentenserversystem 460 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 Assistentenserversystem 460 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 Assistentenserversystem 460 eine oder mehrere Rechenvorrichtungen auswählen, um die erkannte Äußerung zu erfüllen. Die bestimmte Rechenvorrichtung und/oder das Assistentenserversystem 460 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 Assistentenserversystem 460 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 System 100 von 1 beschrieben. Das lokale Assistentenmodul 122A und das Vorrichtungsauswahlmodul 124A können beispielsweise, während sie auf einem oder mehreren Prozessoren der Rechenvorrichtung 110 laufen, eine oder mehrere der Operationen 502 -512 gemäß einem oder mehreren Aspekten der vorliegenden Offenbarung durchführen. Und in einigen Beispielen können das entfernte Assistentenmodul 122B und das Vorrichtungsauswahlmodul 124B, während sie auf einem oder mehreren Prozessoren des Assistentenserversystems 160 laufen, eine oder mehrere der Operationen 502 - 512 gemäß einem oder mehreren Aspekten der vorliegenden Offenbarung durchführen. Nur für Erläuterungszwecke wird 5 nachstehend im Zusammenhang mit der Rechenvorrichtung 110 von 1 beschrieben.
  • Im Betrieb kann die Rechenvorrichtung 110 den Sprachempfang aktivieren (502). Ein Benutzer der Rechenvorrichtung 110 kann beispielsweise eine Sprachempfangstaste an der Rechenvorrichtung 110 drücken oder einen vorbestimmten Aktivierungssatz an der UID 112 sprechen, der durch das lokale Assistentenmodul 122A empfangen wird.
  • In Reaktion auf die Aktivierung des Sprachempfangs kann die Rechenvorrichtung 110 veranlassen, dass andere Rechenvorrichtungen jeweilige Audiosignale aussenden (504). Die Rechenvorrichtung 110 kann beispielsweise veranlassen, dass eine oder mehrere Rechenvorrichtungen, die auf die Rechenvorrichtung 110 bezogen sind, jeweilige Audiosignale aussenden. Eine andere Rechenvorrichtung kann auf die Rechenvorrichtung 110 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 Rechenvorrichtung 110 veranlassen, dass andere Rechenvorrichtungen jeweilige Audiosignale aussenden, durch zumindest Ausgeben einer Angabe, dass der Sprachempfang an der Rechenvorrichtung 110 aktiviert wurde. Die Rechenvorrichtung 110 kann die Angabe an eine oder beide einer Servervorrichtung und der zugehörigen Rechenvorrichtungen ausgeben. In Beispielen, in denen die Rechenvorrichtung 110 die Angabe an die Servervorrichtung ausgibt, kann die Servervorrichtung eine Anforderung, um ein jeweiliges Audiosignal auszusenden, an jede Rechenvorrichtung ausgeben, die als auf die Rechenvorrichtung 110 bezogen identifiziert ist. In Beispielen, in denen die Rechenvorrichtung 110 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 Rechenvorrichtung 110 erzeugt werden (506). Die Rechenvorrichtung 110 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 Rechenvorrichtung 110 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 Rechenvorrichtung 110 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 Rechenvorrichtung 110 zusätzlichen Kontext der anderen Rechenvorrichtungen auf der Basis der Audiodaten bestimmen. Die Rechenvorrichtung 110 kann beispielsweise einen ungefähren Abstand zwischen der Rechenvorrichtung 110 und jeder der anderen identifizierten Rechenvorrichtungen auf der Basis der Audiodaten bestimmen. In einigen Beispielen kann die Rechenvorrichtung 110 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 Rechenvorrichtung 110 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 Rechenvorrichtung 110 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 Rechenvorrichtung 110 in einigen Beispielen gleichzeitig die Spracherkennung und die Identifikation der anderen Rechenvorrichtungen durchführen.
  • Die Rechenvorrichtung 110 kann aus der Rechenvorrichtung 110 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 Rechenvorrichtung 110, kann die Rechenvorrichtung 110 die bestimmte Rechenvorrichtung auswählen, um die Benutzeräußerung zu erfüllen. Als ein Beispiel kann, wenn die Rechenvorrichtung 110 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 Rechenvorrichtung 110 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 Rechenvorrichtung 110 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 Rechenvorrichtung 110 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 Rechenvorrichtung 110 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 Rechenvorrichtung 110 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 Rechenvorrichtung 110 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 Rechenvorrichtung 110 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 Patentansprüche.

Claims (24)

  1. Verfahren, umfassend: Detektieren, an einer ersten Rechenvorrichtung (110, 210), die sich in einer physischen Umgebung befindet und die mit einem bestimmten WiFi-Netzwerk (130) verbunden ist, einer Betätigung einer Taste; und in Reaktion auf die Detektion der Betätigung der Taste an der ersten Rechenvorrichtung (110, 210): Übermitteln durch die erste Rechenvorrichtung (110, 210), einer Anforderung, wobei das Übermitteln der Anforderung: eine zweite Rechenvorrichtung (180, 380), die sich ebenfalls in der physischen Umgebung befindet und die ebenfalls mit dem bestimmten WiFi-Netzwerk (130) verbunden ist, veranlasst, ein Zweitvorrichtung-Audiosignal über eine Zweitvorrichtung-Lautsprecherkomponente (308) der zweiten Rechenvorrichtung (180, 380) auszusenden, und eine dritte Rechenvorrichtung (180, 380), die sich ebenfalls in der physischen Umgebung befindet und die ebenfalls mit dem bestimmten WiFi-Netzwerk (130) verbunden ist, veranlasst, ein Drittvorrichtung-Audiosignal über eine Drittvorrichtung-Lautsprecherkomponente (308) der dritten Rechenvorrichtung (180, 380) auszusenden, wobei das Zweitvorrichtung-Audiosignal und das Drittvorrichtung-Audiosignal jeweils oberhalb eines menschlichen Hörbereichs liegen; Detektieren, an der ersten Rechenvorrichtung (110, 210) und über ein oder mehrere Mikrophone (206) der ersten Rechenvorrichtung (110, 210), des Zweitvorrichtung-Audiosignals und des Drittvorrichtung-Audiosignals; Auswählen, basierend auf der Detektion des Zweitvorrichtung-Audiosignals und des Drittvorrichtung-Audiosignals, einer bestimmten Rechenvorrichtung aus zumindest der zweiten Rechenvorrichtung (180, 380) und der dritten Rechenvorrichtung (180, 380); und in Reaktion auf das Auswählen der bestimmten Rechenvorrichtung (180, 380): Veranlassen der bestimmten Rechenvorrichtung (180, 380), eine hörbare Ausgabe bereitzustellen.
  2. Verfahren nach Anspruch 1, wobei das Auswählen der bestimmten Rechenvorrichtung (180, 380) basierend auf der Detektion des Zweitvorrichtung-Audiosignals und des Drittvorrichtung-Audiosignals umfasst: Ermitteln, basierend auf dem Zweitvorrichtung-Audiosignal, wie es an der ersten Rechenvorrichtung erkannt wird, einer Zweitvorrichtung-Nähe der zweiten Rechenvorrichtung (180, 380) zur ersten Rechenvorrichtung (110, 210); Ermitteln, basierend auf dem Drittvorrichtung-Audiosignal, wie es an der ersten Rechenvorrichtung (110, 210) erkannt wird, einer Drittvorrichtung-Nähe der dritten Rechenvorrichtung (180, 380) zur ersten Rechenvorrichtung (110, 210); und Auswählen der bestimmten Rechenvorrichtung aus zumindest der zweiten Rechenvorrichtung (180, 380) und der dritten Rechenvorrichtung (180, 380) basierend auf der Zweitvorrichtung-Nähe und der Drittvorrichtung-Nähe.
  3. Verfahren nach Anspruch 2, wobei das Ermitteln der Zweitvorrichtung-Nähe der zweiten Rechenvorrichtung (180, 380) zur ersten Rechenvorrichtung (110, 210) basierend auf dem Zweitvorrichtung-Audiosignal auf einer Zweitvorrichtung-Audiosignalstärke des Zweitvorrichtung-Audiosignals basiert.
  4. Verfahren nach Anspruch 3, wobei das Ermitteln der Drittvorrichtung-Nähe der dritten Rechenvorrichtung (180, 380) zur ersten Rechenvorrichtung (110, 210) basierend auf dem Drittvorrichtung-Audiosignal auf einer Drittvorrichtung-Audiosignalstärke des Drittvorrichtung-Audiosignals basiert.
  5. Verfahren nach Anspruch 1, wobei das Zweitvorrichtung-Audiosignal eine Zweitvorrichtung-Emissionsfrequenz aufweist, und wobei das Drittvorrichtung-Audiosignal eine Drittvorrichtung-Emissionsfrequenz aufweist.
  6. Verfahren nach Anspruch 5, wobei sich die Zweitvorrichtung-Emissionsfrequenz von der Drittvorrichtung-Emissionsfrequenz unterscheidet.
  7. Verfahren nach Anspruch 1, wobei das Veranlassen der bestimmten Rechenvorrichtung (180, 380), die hörbare Ausgabe bereitzustellen, umfasst: Veranlassen der bestimmten Rechenvorrichtung (180, 380) Musik als die hörbare Ausgabe wiederzugeben.
  8. Verfahren nach Anspruch 1, wobei das Übermitteln der Anforderung über das bestimmte WiFi-Netzwerk (130) erfolgt.
  9. Verfahren nach Anspruch 1, wobei das Übermitteln der Anforderung ferner eine vierte Rechenvorrichtung (180, 380), die sich ebenfalls in der physischen Umgebung befindet und das ebenfalls mit dem bestimmten WiFi-Netzwerk (130) verbunden ist, veranlasst, ein Viertvorrichtung-Audiosignal über eine Viertvorrichtung-Lautsprecherkomponente (308) der vierten Rechenvorrichtung (180, 380) auszusenden, wobei das Viertvorrichtung-Audiosignal ebenfalls oberhalb des menschlichen Hörbereichs liegt, und ferner umfassend: Detektieren, an der ersten Rechenvorrichtung (110, 210) und über eines oder mehrere der Mikrophone (206) der ersten Rechenvorrichtung (110, 210), des Viertvorrichtung-Audiosignals und des Drittvorrichtung-Audiosignals; wobei das Auswählen der bestimmten Rechenvorrichtung ferner auf der Detektion des Viertvorrichtung-Audiosignals basiert und aus zumindest der zweiten Rechenvorrichtung (180, 380), der dritten Rechenvorrichtung (180, 380) und der vierten Rechenvorrichtung (180, 380) erfolgt.
  10. Verfahren nach Anspruch 1, wobei das Übermitteln der Anforderung umfasst: Übermitteln einer Zweitvorrichtung-Anforderung, welche die zweite Rechenvorrichtung (180, 380) veranlasst, das Zweitvorrichtung-Audiosignal auszusenden, und Übermitteln einer Drittvorrichtung-Anforderung, welche die dritte Rechenvorrichtung (180, 380) veranlasst, das Drittvorrichtung-Audiosignal auszusenden.
  11. Verfahren nach Anspruch 10, wobei die Zweitvorrichtung-Anforderung eine oder mehrere Audioeigenschaften des Zweitvorrichtung-Audiosignals festlegen und wobei die Drittvorrichtung-Anforderung eine oder mehrere Audioeigenschaften des Drittvorrichtung-Audiosignals festlegt.
  12. Verfahren nach Anspruch 11, wobei die eine oder mehreren Audioeigenschaften des Zweitvorrichtung-Audiosignals eine Zweitvorrichtung-Emissionsfrequenz für das Zweitvorrichtung-Audiosignal umfassen und wobei die eine oder mehreren Audioeigenschaften des Drittvorrichtung-Audiosignals eine Drittvorrichtung-Emissionsfrequenz für das Drittvorrichtung-Audiosignal umfassen.
  13. Verfahren nach Anspruch 12, wobei die Zweitvorrichtung-Emissionsfrequenz sich von der Drittvorrichtung-Emissionsfrequenz unterscheidet.
  14. Batteriebetriebene Vorrichtung (110, 210), umfassend: ein oder mehrere Mikrophone (206), eine oder mehrere WiFi-Netzwerkschnittstellen; eine oder mehrere Tasten; einen oder mehrere Prozessoren (240); und einen Speicher (248), der Anweisungen speichert, die bei Ausführung den einen oder die mehreren Prozessoren (240) 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 (180, 380) veranlasst, ein Vorrichtungsaudiosignal über eine Vorrichtungslautsprecherkomponente der Rechenvorrichtung (180, 380) auszusenden, und eine zusätzliche Rechenvorrichtung (180, 380) veranlasst, ein Zusatzvorrichtung-Audiosignal über eine Zusatzvorrichtung-Lautsprecherkomponente (308) der zusätzlichen Rechenvorrichtung (180, 380) 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 (206) zu detektieren; basierend auf der Detektion des Audiosignals und des Zusatzvorrichtung-Audiosignals eine bestimmte Rechenvorrichtung (180, 380) aus der Rechenvorrichtung (180, 380) und der zusätzlichen Rechenvorrichtung (180, 380) auszuwählen; und in Reaktion auf das Auswählen der bestimmten Rechenvorrichtung (180, 380): Veranlassen der bestimmten Rechenvorrichtung (180, 380), eine hörbare Ausgabe bereitzustellen.
  15. Batteriebetriebene Vorrichtung (110, 210) nach Anspruch 14, wobei die Anweisungen zum Auswählen der bestimmten Rechenvorrichtung (180, 380) basierend auf der Detektion des Audiosignals und des Zusatzvorrichtung-Audiosignals Anweisungen umfassen, um: basierend auf dem Audiosignal, wie es an der batteriebetriebenen Vorrichtung (110, 210) erkannt wird, eine Vorrichtungsnähe der Rechenvorrichtung (180, 380) zur batteriebetriebenen Vorrichtung (110, 210) zu ermitteln; basierend auf dem zusätzlichen Audiosignal, wie es an der batteriebetriebenen Vorrichtung (110, 210) erkannt wird, eine Zusatzvorrichtung-Nähe der zusätzlichen Rechenvorrichtung (180, 380) zur batteriebetriebenen Vorrichtung (110, 210) zu ermitteln; und die bestimmte Rechenvorrichtung (180, 380) aus zumindest der Rechenvorrichtung (180, 380) und der zusätzlichen Rechenvorrichtung (180, 380) basierend auf der Vorrichtungsnähe und der Zusatzvorrichtung-Nähe auszuwählen.
  16. Batteriebetriebene Vorrichtung (110, 210) nach Anspruch 15, wobei die Anweisungen zum Ermitteln der Vorrichtungsnähe der Rechenvorrichtung (180, 380) zur batteriebetriebenen Vorrichtung (110, 210) basierend auf dem Audiosignal Anweisungen zum Ermitteln der Vorrichtungsnähe basierend auf einer Audiosignalstärke des Vorrichtungsaudiosignals umfassen.
  17. Batteriebetriebene Vorrichtung (110, 210) nach Anspruch 16, wobei die Anweisungen zum Ermitteln der Zusatzvorrichtung-Nähe der zusätzlichen Rechenvorrichtung (180, 380) zur batteriebetriebenen Vorrichtung (110, 210) basierend auf dem Zusatzvorrichtung-Audiosignal Anweisungen zum Ermitteln der Zusatzvorrichtung-Nähe basierend auf einer Zusatzvorrichtung-Audiosignalstärke des Zusatzvorrichtung-Audiosignals umfassen.
  18. Batteriebetriebene Vorrichtung (110, 210) nach Anspruch 14, wobei die Anweisungen zum Veranlassen der bestimmten Rechenvorrichtung (180, 380), die hörbare Ausgabe bereitzustellen, Anweisungen umfassen, um: die bestimmte Rechenvorrichtung (180, 380) zu veranlassen, Musik als die hörbare Ausgabe wiederzugeben.
  19. Batteriebetriebene Vorrichtung (110, 210) nach Anspruch 14, wobei die Anweisungen zum Übermitteln der Anforderung Anweisungen zum Übermitteln der Anforderung über ein bestimmtes WiFi-Netzwerk (130) und über eine oder mehrere der WiFi-Netzwerkschnittstellen umfassen.
  20. Batteriebetriebene Vorrichtung (110, 210) nach Anspruch 19, wobei die batteriebetriebene Vorrichtung (110, 210), die Rechenvorrichtung (180, 380) und die zusätzliche Rechenvorrichtung (180, 380) über das bestimmte WiFi-Netzwerk (130) verbunden sind.
  21. Batteriebetriebene Vorrichtung (110, 210) nach Anspruch 14, wobei die Anforderung ferner eine weitere zusätzliche Rechenvorrichtung (180, 380) veranlasst, ein weiteres Zusatzvorrichtung-Audiosignal über eine weitere Zusatzvorrichtung-Lautsprecherkomponente (308) der weiteren zusätzlichen Rechenvorrichtung (180, 380) 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 (206) zu detektieren; wobei das Auswählen der bestimmten Rechenvorrichtung (180, 380) ferner auf der Detektion des weiteren Zusatzvorrichtung-Audiosignals basiert und aus zumindest der Rechenvorrichtung (180, 380), der zusätzlichen Rechenvorrichtung (180, 380) und der weiteren zusätzlichen Rechenvorrichtung (180, 380) erfolgt.
  22. System (100) von Rechenvorrichtungen, umfassend: zumindest eine erste Rechenvorrichtung (110, 210), eine zweite Rechenvorrichtung (180, 380) und eine dritte Rechenvorrichtung (180, 380), die sich jeweils in einer selben physischen Umgebung befinden und die jeweils mit einem bestimmten WiFi-Netzwerk (130) verbunden sind; und wobei die erste Rechenvorrichtung (110, 210) einen Speicher (248) aufweist, auf dem Anweisungen gespeichert sind, die, bei Ausführung, einen oder mehrere Prozessoren (240) veranlassen: eine Betätigung einer Taste zu detektieren; und in Reaktion auf die Detektion der Betätigung der Taste an der ersten Rechenvorrichtung (110, 210): eine Anforderung zu übermitteln, die: die zweite Rechenvorrichtung (180, 380) veranlasst, ein Zweitvorrichtung-Audiosignal über eine Zweitvorrichtung-Lautsprecherkomponente (308) der zweiten Rechenvorrichtung (180, 380) auszusenden, und die dritte Rechenvorrichtung (180, 380) veranlasst, ein Drittvorrichtung-Audiosignal über eine Drittvorrichtung-Lautsprecherkomponente (308) der dritten Rechenvorrichtung auszusenden, wobei das Zweitvorrichtung-Audiosignal und das Drittvorrichtung-Audiosignaljeweils oberhalb eines menschlichen Hörbereichs liegen; über ein oder mehrere Mikrophone (206) der ersten Rechenvorrichtung (110, 210) das Zweitvorrichtung-Audiosignal und das Drittvorrichtung-Audiosignal zu detektieren; basierend auf der Detektion des Zweitvorrichtung-Audiosignals und des Drittvorrichtung-Audiosignals eine bestimmte Rechenvorrichtung (180, 380) aus zumindest der zweiten Rechenvorrichtung (180, 380) und der dritten Rechenvorrichtung (180, 380) auszuwählen; und in Reaktion auf das Auswählen der bestimmten Rechenvorrichtung (180, 380): die bestimmte Rechenvorrichtung (180, 380) zu veranlassen, eine hörbare Ausgabe bereitzustellen.
  23. System (100) von Rechenvorrichtungen nach Anspruch 22, wobei die Anweisungen zum Auswählen der bestimmten Rechenvorrichtung (180, 380) 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 (110, 210) erkannt wird, eine Zweitvorrichtung-Nähe der zweiten Rechenvorrichtung (180, 380) zur ersten Rechenvorrichtung (110, 210) zu ermitteln; basierend auf dem Drittvorrichtung-Audiosignal, wie es an der ersten Rechenvorrichtung (110, 210) erkannt wird, eine Drittvorrichtung-Nähe der dritten Rechenvorrichtung zur ersten Rechenvorrichtung (110, 210) zu ermitteln; und basierend auf der Zweitvorrichtung-Nähe und der Drittvorrichtung-Nähe die bestimmte Rechenvorrichtung (180, 380) aus zumindest der zweiten Rechenvorrichtung (180, 380) und der dritten Rechenvorrichtung (180, 380) auszuwählen.
  24. System (100) von Rechenvorrichtungen nach Anspruch 22, ferner umfassend: eine vierte Rechenvorrichtung (180, 380), die sich ebenfalls in derselben physischen Umgebung befindet und die ebenfalls mit dem bestimmten WiFi-Netzwerk (130) verbunden ist, wobei die Anforderung die vierte Rechenvorrichtung (180, 380) ferner veranlasst, ein Viertvorrichtung-Audiosignal über eine Viertvorrichtung-Lautsprecherkomponente (308) der vierten Rechenvorrichtung (180, 380) auszusenden, wobei das Viertvorrichtung-Audiosignal ebenfalls oberhalb des menschlichen Hörbereichs liegt, und wobei die Anweisungen ferner Anweisungen umfassen, um: an der ersten Rechenvorrichtung (110, 210) und über ein oder mehrere Mikrophone (206) der ersten Rechenvorrichtung (110, 210) das Viertvorrichtung-Audiosignal und das Drittvorrichtung-Audiosignal zu detektieren; wobei das Auswählen der bestimmten Rechenvorrichtung (180, 380) ferner auf der Detektion des Viertvorrichtung-Audiosignals basiert und aus zumindest der zweiten Rechenvorrichtung (180, 380), der dritten Rechenvorrichtung (180, 380) und der vierten Rechenvorrichtung (180, 380) erfolgt.
DE102017012396.9A 2016-11-18 2017-09-25 Identifikation eines virtuellen Assistenten von nahgelegenenRechenvorrichtungen Active DE102017012396B3 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US15/355,336 2016-11-18
US15/355,336 US10332523B2 (en) 2016-11-18 2016-11-18 Virtual assistant identification of nearby computing devices

Publications (1)

Publication Number Publication Date
DE102017012396B3 true DE102017012396B3 (de) 2022-05-25

Family

ID=60270144

Family Applications (6)

Application Number Title Priority Date Filing Date
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
DE102017012415.9A Active DE102017012415B4 (de) 2016-11-18 2017-09-25 Identifikation eines virtuellen Assistenten von nahgelegenen Rechenvorrichtungen
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

Family Applications Before (1)

Application Number Title Priority Date Filing Date
DE102017122182.4A Ceased DE102017122182A1 (de) 2016-11-18 2017-09-25 Identifikation eines virtuellen Assistenten von nahgelegenen Rechenvorrichtungen

Family Applications After (4)

Application Number Title Priority Date Filing Date
DE102017012415.9A Active DE102017012415B4 (de) 2016-11-18 2017-09-25 Identifikation eines virtuellen Assistenten von nahgelegenen Rechenvorrichtungen
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

Country Status (8)

Country Link
US (7) US10332523B2 (de)
EP (1) EP3523797B1 (de)
JP (1) JP6640430B1 (de)
KR (5) KR102416384B1 (de)
CN (1) CN108073382B (de)
DE (6) DE102017122182A1 (de)
GB (1) GB2556993B (de)
WO (1) WO2018093563A1 (de)

Families Citing this family (103)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8677377B2 (en) 2005-09-08 2014-03-18 Apple Inc. Method and apparatus for building an intelligent automated assistant
US9318108B2 (en) 2010-01-18 2016-04-19 Apple Inc. Intelligent automated assistant
US8977255B2 (en) 2007-04-03 2015-03-10 Apple Inc. Method and system for operating a multi-function portable electronic device using voice-activation
US8676904B2 (en) 2008-10-02 2014-03-18 Apple Inc. Electronic devices with voice command and contextual data processing capabilities
US20120311585A1 (en) 2011-06-03 2012-12-06 Apple Inc. Organizing task items that represent tasks to perform
US10276170B2 (en) 2010-01-18 2019-04-30 Apple Inc. Intelligent automated assistant
US8682667B2 (en) 2010-02-25 2014-03-25 Apple Inc. User profiling for selecting user specific voice input processing information
US10417037B2 (en) 2012-05-15 2019-09-17 Apple Inc. Systems and methods for integrating third party services with a digital assistant
US10199051B2 (en) 2013-02-07 2019-02-05 Apple Inc. Voice trigger for a digital assistant
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
US10176167B2 (en) 2013-06-09 2019-01-08 Apple Inc. System and method for inferring user intent from speech inputs
CN110442699A (zh) 2013-06-09 2019-11-12 苹果公司 操作数字助理的方法、计算机可读介质、电子设备和系统
US10296160B2 (en) 2013-12-06 2019-05-21 Apple Inc. Method for extracting salient dialog usage from live data
US9430463B2 (en) 2014-05-30 2016-08-30 Apple Inc. Exemplar-based natural language processing
US9633004B2 (en) 2014-05-30 2017-04-25 Apple Inc. Better resolution when referencing to concepts
EP3480811A1 (de) 2014-05-30 2019-05-08 Apple Inc. Verfahren zur eingabe von mehreren befehlen mit einer einzigen äusserung
US10170123B2 (en) 2014-05-30 2019-01-01 Apple Inc. Intelligent assistant for home automation
US9715875B2 (en) 2014-05-30 2017-07-25 Apple Inc. Reducing the need for manual start/end-pointing and trigger phrases
US9338493B2 (en) 2014-06-30 2016-05-10 Apple Inc. Intelligent automated assistant for TV user interactions
US9668121B2 (en) 2014-09-30 2017-05-30 Apple Inc. Social reminders
US10127911B2 (en) 2014-09-30 2018-11-13 Apple Inc. Speaker identification and unsupervised speaker adaptation techniques
US10152299B2 (en) 2015-03-06 2018-12-11 Apple Inc. Reducing response latency of intelligent automated assistants
US9886953B2 (en) 2015-03-08 2018-02-06 Apple Inc. Virtual assistant activation
US9721566B2 (en) 2015-03-08 2017-08-01 Apple Inc. Competing devices responding to voice triggers
US10460227B2 (en) 2015-05-15 2019-10-29 Apple Inc. Virtual assistant in a communication session
US10200824B2 (en) 2015-05-27 2019-02-05 Apple Inc. Systems and methods for proactively identifying and surfacing relevant content on a touch-sensitive device
US10083688B2 (en) 2015-05-27 2018-09-25 Apple Inc. Device voice control for selecting a displayed affordance
US9578173B2 (en) 2015-06-05 2017-02-21 Apple Inc. Virtual assistant aided communication with 3rd party service in a communication session
US20160378747A1 (en) 2015-06-29 2016-12-29 Apple Inc. Virtual assistant for media playback
US10740384B2 (en) 2015-09-08 2020-08-11 Apple Inc. Intelligent automated assistant for media search and playback
US10747498B2 (en) 2015-09-08 2020-08-18 Apple Inc. Zero latency digital assistant
US10671428B2 (en) 2015-09-08 2020-06-02 Apple Inc. Distributed personal 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
US10467510B2 (en) * 2017-02-14 2019-11-05 Microsoft Technology Licensing, Llc Intelligent assistant
US10438584B2 (en) * 2017-04-07 2019-10-08 Google Llc Multi-user virtual assistant for verbal device control
DK201770383A1 (en) 2017-05-09 2018-12-14 Apple Inc. USER INTERFACE FOR CORRECTING RECOGNITION ERRORS
US10726832B2 (en) 2017-05-11 2020-07-28 Apple Inc. Maintaining privacy of personal information
DK180048B1 (en) 2017-05-11 2020-02-04 Apple Inc. MAINTAINING THE DATA PROTECTION OF PERSONAL INFORMATION
US10395654B2 (en) 2017-05-11 2019-08-27 Apple Inc. Text normalization based on a data-driven learning network
DK179745B1 (en) 2017-05-12 2019-05-01 Apple Inc. SYNCHRONIZATION AND TASK DELEGATION OF A DIGITAL ASSISTANT
DK201770428A1 (en) 2017-05-12 2019-02-18 Apple Inc. LOW-LATENCY INTELLIGENT AUTOMATED ASSISTANT
DK179496B1 (en) 2017-05-12 2019-01-15 Apple Inc. USER-SPECIFIC Acoustic Models
US11301477B2 (en) 2017-05-12 2022-04-12 Apple Inc. Feedback analysis of a digital assistant
US10311144B2 (en) 2017-05-16 2019-06-04 Apple Inc. Emoji word sense disambiguation
US20180336892A1 (en) 2017-05-16 2018-11-22 Apple Inc. Detecting a trigger of a digital assistant
DK179549B1 (en) 2017-05-16 2019-02-12 Apple Inc. FAR-FIELD EXTENSION FOR DIGITAL ASSISTANT SERVICES
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
US10928918B2 (en) 2018-05-07 2021-02-23 Apple Inc. Raise to speak
US11145294B2 (en) 2018-05-07 2021-10-12 Apple Inc. Intelligent automated assistant for delivering content from user experiences
DK201870355A1 (en) 2018-06-01 2019-12-16 Apple Inc. VIRTUAL ASSISTANT OPERATION IN MULTI-DEVICE ENVIRONMENTS
US10892996B2 (en) 2018-06-01 2021-01-12 Apple Inc. Variable latency device coordination
DK179822B1 (da) 2018-06-01 2019-07-12 Apple Inc. Voice interaction at a primary device to access call functionality of a companion device
DK180639B1 (en) 2018-06-01 2021-11-04 Apple Inc DISABILITY OF ATTENTION-ATTENTIVE VIRTUAL ASSISTANT
US11076039B2 (en) 2018-06-03 2021-07-27 Apple Inc. Accelerated task performance
KR102574903B1 (ko) 2018-08-08 2023-09-05 삼성전자주식회사 개인화된 장치 연결을 지원하는 전자 장치 및 그 방법
EP3642837B1 (de) 2018-08-23 2024-03-13 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
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
US11170166B2 (en) 2018-09-28 2021-11-09 Apple Inc. Neural typographical error modeling via generative adversarial networks
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
US11949677B2 (en) * 2019-04-23 2024-04-02 Microsoft Technology Licensing, Llc Resource access based on audio signal
US11316867B2 (en) 2019-04-23 2022-04-26 Microsoft Technology Licensing, Llc Generated audio signal granting access to resource
US11423908B2 (en) 2019-05-06 2022-08-23 Apple Inc. Interpreting spoken requests
DK201970509A1 (en) 2019-05-06 2021-01-15 Apple Inc Spoken notifications
US11307752B2 (en) 2019-05-06 2022-04-19 Apple Inc. User configurable task triggers
US11475884B2 (en) 2019-05-06 2022-10-18 Apple Inc. Reducing digital assistant latency when a language is incorrectly determined
US11140099B2 (en) * 2019-05-21 2021-10-05 Apple Inc. Providing message response suggestions
US11056114B2 (en) 2019-05-30 2021-07-06 International Business Machines Corporation Voice response interfacing with multiple smart devices of different types
DK201970510A1 (en) 2019-05-31 2021-02-11 Apple Inc Voice identification in digital assistant systems
US11496600B2 (en) 2019-05-31 2022-11-08 Apple Inc. Remote execution of machine-learned models
DK180129B1 (en) 2019-05-31 2020-06-02 Apple Inc. USER ACTIVITY SHORTCUT SUGGESTIONS
US11289073B2 (en) 2019-05-31 2022-03-29 Apple Inc. Device text to speech
US11360641B2 (en) 2019-06-01 2022-06-14 Apple Inc. Increasing the relevance of new available information
US11468890B2 (en) 2019-06-01 2022-10-11 Apple Inc. Methods and user interfaces for voice-based control of electronic devices
WO2021056255A1 (en) 2019-09-25 2021-04-01 Apple Inc. Text detection using global geometry estimators
US11665013B1 (en) * 2019-12-13 2023-05-30 Amazon Technologies, Inc. Output device selection
CN111312239B (zh) * 2020-01-20 2023-09-26 北京小米松果电子有限公司 响应方法、装置、电子设备及存储介质
US11061543B1 (en) 2020-05-11 2021-07-13 Apple Inc. Providing relevant data items based on context
US11043220B1 (en) 2020-05-11 2021-06-22 Apple Inc. Digital assistant hardware abstraction
US11810578B2 (en) 2020-05-11 2023-11-07 Apple Inc. Device arbitration for digital assistant-based intercom systems
US11755276B2 (en) 2020-05-12 2023-09-12 Apple Inc. Reducing description length based on confidence
US11490204B2 (en) 2020-07-20 2022-11-01 Apple Inc. Multi-device audio adjustment coordination
US11438683B2 (en) 2020-07-21 2022-09-06 Apple Inc. User identification using headphones
US11886281B2 (en) 2021-08-13 2024-01-30 Bank Of America Corporation Artificial intelligence engine providing automated error resolution
US11915698B1 (en) * 2021-09-29 2024-02-27 Amazon Technologies, Inc. Sound source localization

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120084131A1 (en) 2010-10-01 2012-04-05 Ucl Business Plc Data communication system
US20130108076A1 (en) 2011-10-27 2013-05-02 Polycom, Inc. Compensating for Different Audio Clocks Between Devices Using Ultrasonic Beacon
US20130183944A1 (en) 2012-01-12 2013-07-18 Sensory, Incorporated Information Access and Device Control Using Mobile Phones and Audio in the Home Environment
US20150382047A1 (en) 2014-06-30 2015-12-31 Apple Inc. Intelligent automated assistant for tv user interactions

Family Cites Families (86)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6069621A (en) 1994-05-10 2000-05-30 Schupak; Donald Distributed computer system for providing audio, video, and information signals to plural modules throughout a home
US5623652A (en) * 1994-07-25 1997-04-22 Apple Computer, Inc. Method and apparatus for searching for information in a network and for controlling the display of searchable information on display devices in the network
US5625697A (en) 1995-05-08 1997-04-29 Lucent Technologies Inc. Microphone selection process for use in a multiple microphone voice actuated switching system
US5867223A (en) * 1995-07-17 1999-02-02 Gateway 2000, Inc. System for assigning multichannel audio signals to independent wireless audio output devices
US6169789B1 (en) * 1996-12-16 2001-01-02 Sanjay K. Rao Intelligent keyboard system
US6038614A (en) 1998-01-05 2000-03-14 Gateway 2000, Inc. Active volume control with hot key
US6185535B1 (en) * 1998-10-16 2001-02-06 Telefonaktiebolaget Lm Ericsson (Publ) Voice control of a user interface to service applications
US8271287B1 (en) * 2000-01-14 2012-09-18 Alcatel Lucent Voice command remote control system
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
US9332346B2 (en) * 2010-02-17 2016-05-03 Nokia Technologies Oy Processing of multi-device audio capture
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
US20130051572A1 (en) 2010-12-08 2013-02-28 Creative Technology Ltd Method for optimizing reproduction of audio signals from an apparatus for audio reproduction
BR112013014402A2 (pt) * 2010-12-10 2019-09-24 Yota Devices Ipr Ltd dispositivo móvel com interface de usuário
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
KR101659674B1 (ko) * 2011-11-27 2016-09-30 가부시키가이샤 시너지드라이브 보이스 링크 시스템
US9084058B2 (en) 2011-12-29 2015-07-14 Sonos, Inc. Sound field calibration using listener localization
JP5944689B2 (ja) 2012-02-22 2016-07-05 クラリオン株式会社 車載機、および、車載機の表示制御システム
US20150228274A1 (en) * 2012-10-26 2015-08-13 Nokia Technologies Oy Multi-Device Speech Recognition
US9082413B2 (en) * 2012-11-02 2015-07-14 International Business Machines Corporation Electronic transaction authentication based on sound proximity
US9875741B2 (en) * 2013-03-15 2018-01-23 Google Llc Selective speech recognition for chat and digital personal assistant systems
US9264801B2 (en) 2012-12-04 2016-02-16 Storz Endoskop Produktions Gmbh System and method for pairing a command device incorporating a microphone to a remotely controlled medical system
US9271111B2 (en) * 2012-12-14 2016-02-23 Amazon Technologies, Inc. Response endpoint selection
US20140172140A1 (en) * 2012-12-17 2014-06-19 Lookout Inc. Method and apparatus for cross device audio sharing
WO2014116198A1 (en) * 2013-01-22 2014-07-31 Unify Gmbh & Co. Kg Display and manipulate call forwarding on no reply timer in called terminal
US10133546B2 (en) * 2013-03-14 2018-11-20 Amazon Technologies, Inc. Providing content on multiple devices
JP2016517139A (ja) * 2013-03-15 2016-06-09 アプライド マテリアルズ インコーポレイテッドApplied Materials,Incorporated バッテリ活物質生産用途向けの高固体割合スラリの材料スプレー堆積のための装置
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
CN105980008B (zh) * 2014-02-24 2019-04-12 索尼公司 用于智能可穿戴设备的身体位置优化和生物信号反馈
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
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

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120084131A1 (en) 2010-10-01 2012-04-05 Ucl Business Plc Data communication system
US20130108076A1 (en) 2011-10-27 2013-05-02 Polycom, Inc. Compensating for Different Audio Clocks Between Devices Using Ultrasonic Beacon
US20130183944A1 (en) 2012-01-12 2013-07-18 Sensory, Incorporated Information Access and Device Control Using Mobile Phones and Audio in the Home Environment
US20150382047A1 (en) 2014-06-30 2015-12-31 Apple Inc. Intelligent automated assistant for tv user interactions

Also Published As

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

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
DE202017105670U1 (de) Dynamische Erzeugung von angepassten Einführungslernprogrammen für eine Anwendung
DE202017105676U1 (de) Erzeugen von Gruppenempfehlungen durch einen virtuellen Assistenten
DE102014009871B4 (de) Vorhersagendes Weiterleiten von Meldungsdaten
DE102017108324A1 (de) Grafische Tastaturanwendung mit integrierter Suche
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
DE102017125008A1 (de) Benutzerzustandvorhersagen zum präsentieren von informationen
DE102017125082A1 (de) Intelligente einrichtung von assistent-diensten
DE202017105015U1 (de) Ausgabe von Inhalt auf der Basis von Interessen von anderen Benutzern
DE112019007634T5 (de) Kontext-Bewusster Flugzeugmodus

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R129 Divisional application from

Ref document number: 102017122182

Country of ref document: DE

R016 Response to examination communication
R018 Grant decision by examination section/examining division
R020 Patent grant now final