DE102017122182A1 - Identifikation eines virtuellen Assistenten von nahgelegenen Rechenvorrichtungen - Google Patents

Identifikation eines virtuellen Assistenten von nahgelegenen Rechenvorrichtungen Download PDF

Info

Publication number
DE102017122182A1
DE102017122182A1 DE102017122182.4A DE102017122182A DE102017122182A1 DE 102017122182 A1 DE102017122182 A1 DE 102017122182A1 DE 102017122182 A DE102017122182 A DE 102017122182A DE 102017122182 A1 DE102017122182 A1 DE 102017122182A1
Authority
DE
Germany
Prior art keywords
computing device
computing devices
current
current computing
devices
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.)
Ceased
Application number
DE102017122182.4A
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
Publication of DE102017122182A1 publication Critical patent/DE102017122182A1/de
Ceased legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/28Constructional details of speech recognition systems
    • G10L15/30Distributed recognition, e.g. in client-server systems, for mobile phones or network applications
    • 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/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
    • 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 TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L17/00Speaker identification or verification techniques
    • G10L17/22Interactive procedures; Man-machine interfaces
    • G10L17/24Interactive procedures; Man-machine interfaces the user being prompted to utter a password or a predefined phrase
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • G10L2015/221Announcement of recognition results
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • G10L2015/223Execution procedure of a spoken command

Landscapes

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

Abstract

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 entweder der aktuellen Rechenvorrichtung oder einer speziellen 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.

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 bewirken, 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.
  • ZUSAMMENFASSUNG
  • 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). In Reaktion darauf, dass ein Sprachempfang aktiviert wird, kann beispielsweise eine aktuelle Rechenvorrichtung bewirken, 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 spezielle Rechenvorrichtung der identifizierten anderen Rechenvorrichtungen besser geeignet ist, um die Benutzeräußerung zu erfüllen, als die aktuelle Rechenvorrichtung, kann der Assistent die spezielle 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 speziellen 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 spezielle 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, bewirken, 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 spezielle 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 speziellen 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 bewirken, 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 bewirken, dass eine oder mehrere der Rechenvorrichtungen 180 verschiedene Aktivitäten durchführen.
  • Das Netz 130 kann einen oder mehrere Netzknoten, Netzkoppler, 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 individuelle 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 Thermostaten 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 für das Versehen eines Benutzers des virtuellen Assistentendiensts mit Informationen zu erhalten, 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 UI-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 der Rechenvorrichtung 110, des Assistentenserversystems 160 oder der Rechenvorrichtungen 180 befinden und/oder daran ausführen. 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 an zugrundeliegender Hardware ausführen. Die Module 120, 121, 122 und 124 können als ein oder mehrere Dienste eines Betriebssystems oder einer Rechenplattform ausführen. Die Module 120, 121, 122 und 124 können als ein oder mehrere ausführbare Programme auf einer Anwendungsschicht einer Rechenplattform ausführen.
  • 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. Die UID 112 kann beispielsweise 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 an der Rechenvorrichtung 110 ausführen und/oder von dieser zugänglich sind (z. B. Email, Chat, Online-Dienste, Telefon, Spielen usw.).
  • Das Ul-Modul 120 kann Benutzerzusammenwirkungen mit der UID 112 und anderen Komponenten der Rechenvorrichtung 110 managen, einschließlich der Zusammenwirkung mit dem Assistentenserversystem 160, um Assistentendienste über die UID 112 bereitzustellen. Das UI-Modul 120 kann bewirken, 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 zusammenwirkt, 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 an der Rechenvorrichtung 110 ausführen, beispielsweise um zu bewirken, 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 an der Rechenvorrichtung 110 und/oder einem oder mehreren entfernten Rechensystemen wie z. B. dem Serversystem 160 und den Rechenvorrichtungen 180 ausführen. Außerdem kann das UI-Modul 120 als Vermittler zwischen der einen oder den mehreren zugehörigen Plattformen, Betriebssystemen, Anwendungen und/oder Diensten, die an der Rechenvorrichtung 110 ausführen, 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 entferne 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 auszuführen, 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 UI-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 bewirken, 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 bewirken, 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 Bewirken, 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 spezielle Rechenvorrichtung der identifizierten anderen Rechenvorrichtungen besser geeignet ist, um die Benutzeräußerung zu erfüllen, als die Rechenvorrichtung 110, kann der Assistent die spezielle 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 bewirken, 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, jeder der Rechenvorrichtungen 180 kann eine unterschiedliche Aussendefrequenz zugewiesen werden. In einigen Beispielen können die Frequenzen über typischen Frequenzen von menschlicher Sprache (z. B. über 300 Hz) liegen. In dieser Weise kann der Assistent besser zwischen den Tönen 181 und der gesprochenen Äußerung unterscheiden können. In einigen Beispielen können die Frequenzen über dem Bereich des menschlichen Hörens (z. B. über 20 kHz) liegen. In dieser 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 beispielsweise mit dem lokalen Assistentenmodul 122A über eine Schnittstelle 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. In dieser Weise kann der Assistent eine Erfüllung von Äußerungen mit höherer Qualität bereitstellen.
  • Der Assistent kann bewirken, 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 bewirken, 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 bewirken, 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 spezielles 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 UI-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 (physikalisch, 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 Netzschnittstellenkare (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 physikalisch 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 physikalisch 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 bewirken, 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, bewirken, 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 an 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 UI-Moduls 120 der Rechenvorrichtung 110 von 1 umfassen und kann ähnliche Operationen wie das UI-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 UI-Modul 220 kann einen Anzeige- oder hörbaren Ausgabebefehl und zugehörige Daten über die Kommunikationskanäle 250 übertragen, um zu bewirken, 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 UI-Modul 220 senden.
  • Das UI-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 individuellen Anwendungen und Dienste dar, die an der Rechenvorrichtung 210 ausführen und von dieser zugänglich sind, auf die durch einen Assistenten wie z. B. das Assistentenmodul 222 zugegriffen werden kann, um den Benutzer mit Informationen zu versehen und/oder eine Aufgabe durchzuführen. Ein Benutzer der Rechenvorrichtung 210 kann mit einer Benutzerschnittstelle zusammenwirken, die einem oder mehreren Anwendungsmodulen 226 zugeordnet ist, um zu bewirken, 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 an der Rechenvorrichtung 210 ausführen können.
  • Das Suchmodul 282 der Rechenvorrichtung 210 kann integrierte Suchfunktionen im Interesse der Rechenvorrichtung 210 durchführen. Das Suchmodul 282 kann durch das UI-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 UI-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 physikalischen und/oder virtuellen Umgebung der Rechenvorrichtung 210 und eines Benutzers der Rechenvorrichtung 210 zu einer speziellen 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 physikalischen Umgebungseigenschaften zu definieren, die eine Rechenvorrichtung und der Benutzer der Rechenvorrichtung zu einer speziellen 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 an der Rechenvorrichtung 210 ausführen (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 physikalischen 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 ausführen (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 ausführen (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 spezielles 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 UI-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 UI-Modul 321 kann die ganze Funktionalität des UI-Moduls 121 der Rechenvorrichtung 180A von 1 umfassen und kann ähnliche Operationen wie das UI-Modul 121 durchführen. Das UI-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 UI-Modul 321 kann einen Anzeige- oder hörbaren Ausgabebefehl und zugehörige Daten über die Kommunikationskanäle 350 übertragen, um zu bewirken, 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 bewirken, 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 bewirken, 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 spezielles 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 mit einem Dienst über eine Schnittstelle koppelt und auf diesen zugreift, der durch das Assistentenserversystem 160 bereitgestellt wird. Der Kontext kann die Eigenschaften der physikalischen und/oder virtuellen Umgebung der Rechenvorrichtung und eines Benutzers der Rechenvorrichtung zu einer speziellen 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 spezielle 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 spezielle Rechenvorrichtung verbunden sind (z. B. eine oder mehrere Rechenvorrichtungen, die mit einem Netz mit einem gleichen SSID wie die spezielle Rechenvorrichtung verbunden sind) und/oder einem gleichen Konto wie die spezielle Rechenvorrichtung (z. B. einem gleichen Benutzerkonto) zugeordnet sind.
  • In Reaktion auf das Empfangen einer Angabe, dass der Sprachempfang an der speziellen Rechenvorrichtung aktiviert wurde, kann das Vorrichtungsauswahlmodul 424 an jede Rechenvorrichtung der identifizierten Rechenvorrichtungen in Bezug auf die spezielle 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 spezielle 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 speziellen Rechenvorrichtung erzeugt werden. Die spezielle Rechenvorrichtung kann die Audiodaten lokal verarbeiten und/oder kann die Audiodaten in das Assistentenserversystem 460 hochladen. Als Teil der Verarbeitung können die spezielle 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 spezielle 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 spezielle 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 spezielle Rechenvorrichtung und/oder das Assistentenserversystem 460 eine oder mehrere Rechenvorrichtungen auswählen, um die erkannte Äußerung zu erfüllen. Die spezielle 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 spezielle Rechenvorrichtung und/oder das Assistentenserversystem 460 können bewirken, 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 an einem oder mehreren Prozessoren der Rechenvorrichtung 110 ausführen, 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 an einem oder mehreren Prozessoren des Assistentenserversystems 160 ausführen, 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 bewirken, dass andere Rechenvorrichtungen jeweilige Audiosignale aussenden (504). Die Rechenvorrichtung 110 kann beispielsweise bewirken, 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 bewirken, 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 spezielle Rechenvorrichtung ausgesendeten Audiosignals können durch eine Anforderung festgelegt sein, die durch die spezielle Rechenvorrichtung empfangen wird. Die zur speziellen Rechenvorrichtung gesendete Anforderung kann beispielsweise festlegen, dass die spezielle 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 spezielle 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 spezielle 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, dass die ausgewählte Rechenvorrichtung die gesprochene Äußerung erfüllt (514). Die Rechenvorrichtung 110 kann beispielsweise bewirken, 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 speziellen 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 speziellen Netz verbunden ist und wobei das Ausgeben der Angabe, dass der Sprachempfang an der aktuellen Rechenvorrichtung aktiviert wurde, umfasst: Bewirken durch die aktuelle Rechenvorrichtung, dass eine oder mehrere andere Rechenvorrichtungen, die mit dem speziellen Netz verbunden sind, jeweilige Audiosignale aussenden, wobei die eine oder die mehreren anderen Rechenvorrichtungen, die mit dem speziellen 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 Bewirken, dass die eine oder die mehreren anderen Rechenvorrichtungen, die mit dem speziellen Netz verbunden sind, die jeweiligen Audiosignale aussenden, umfasst: Bewirken durch die aktuelle Rechenvorrichtung, dass die Servervorrichtung eine Anforderung an die eine oder die mehreren anderen Rechenvorrichtungen ausgibt, die mit dem speziellen Netz verbunden sind, um jeweilige Audiosignale auszusenden.
  • Beispiel 5. Das Verfahren von irgendeiner Kombination der Beispiele 1-4, wobei die aktuelle Rechenvorrichtung einem speziellen Benutzerkonto zugeordnet ist, und wobei das Ausgeben der Angabe, dass der Sprachempfang an der aktuellen Rechenvorrichtung aktiviert wurde, umfasst: Bewirken durch die aktuelle Rechenvorrichtung, dass eine oder mehrere andere Rechenvorrichtungen, die dem speziellen Benutzerkonto zugeordnet sind, jeweilige Audiosignale aussenden, wobei die eine oder die mehreren anderen Rechenvorrichtungen, die dem speziellen 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 Bewirken, dass die eine oder die mehreren anderen Rechenvorrichtungen, die dem speziellen Benutzerkonto zugeordnet sind, die jeweiligen Audiosignale aussenden, umfasst: Bewirken durch die aktuelle Rechenvorrichtung, dass die Servervorrichtung eine Anforderung an die eine oder die mehreren anderen Rechenvorrichtungen ausgibt, die dem speziellen Benutzerkonto zugeordnet sind, um jeweilige Audiosignale auszusenden.
  • Beispiel 7. Das Verfahren von irgendeiner Kombination der Beispiele 1-6, wobei die aktuelle Rechenvorrichtung mit einem speziellen Netz verbunden ist und einem speziellen Benutzerkonto zugeordnet ist, und wobei das Ausgeben der Angabe, dass der Sprachempfang an der aktuellen Rechenvorrichtung aktiviert wurde, umfasst: Bewirken durch die aktuelle Rechenvorrichtung, dass die eine oder die mehreren anderen Rechenvorrichtungen, die mit dem speziellen Netzwerk verbunden sind, die dem speziellen Benutzerkonto zugeordnet sind, jeweilige Audiosignale aussenden, wobei die eine oder die mehreren anderen Rechenvorrichtungen, die mit dem speziellen Netz verbunden sind, die dem speziellen 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 speziellen 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 speziellen 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 spezielle 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 speziellen 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 bewirken, dass eine oder mehrere andere Rechenvorrichtungen, die mit dem speziellen Netz verbunden sind, jeweilige Audiosignale aussenden, wobei die eine oder die mehreren anderen Rechenvorrichtungen, die mit dem speziellen 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 speziellen 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 bewirken, dass eine oder mehrere andere Rechenvorrichtungen, die dem speziellen Benutzerkonto zugeordnet sind, jeweilige Audiosignale aussenden, wobei die eine oder die mehreren anderen Rechenvorrichtungen, die dem speziellen 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, bewirken, 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 spezielle 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 bewirken, 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 zugrundeliegenden Rechenvorrichtung und/oder vom zugrundeliegenden 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 physikalischen Adresse), so dass ein spezieller 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 zugrundeliegenden Rechenvorrichtung und vom zugrundeliegenden 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. In dieser 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 Vielfaltl 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 andere Ausführungsformen liegen innerhalb des Schutzbereichs der folgenden Ansprüche.

Claims (20)

  1. 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 speziellen 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.
  2. Verfahren nach Anspruch 1, das ferner umfasst: Ausgeben einer Angabe, dass der Sprachempfang an der aktuellen Rechenvorrichtung aktiviert wurde, durch die aktuelle Rechenvorrichtung.
  3. Verfahren nach Anspruch 2, wobei die aktuelle Rechenvorrichtung mit einem speziellen Netz verbunden ist, und wobei das Ausgeben der Angabe, dass der Sprachempfang an der aktuellen Rechenvorrichtung aktiviert wurde, umfasst: Bewirken durch die aktuelle Rechenvorrichtung, dass eine oder mehrere andere Rechenvorrichtungen, die mit dem speziellen Netz verbunden sind, jeweilige Audiosignale aussenden, wobei die eine oder die mehreren anderen Rechenvorrichtungen, die mit dem speziellen Netz verbunden sind, die eine oder die mehreren identifizierten Rechenvorrichtungen umfassen.
  4. Verfahren nach Anspruch 3, wobei die Angabe, dass der Sprachempfang an der aktuellen Rechenvorrichtung aktiviert wurde, an eine Servervorrichtung ausgegeben wird, und wobei das Bewirken, dass die eine oder die mehreren anderen Rechenvorrichtungen, die mit dem speziellen Netz verbunden sind, die jeweiligen Audiosignale aussenden, umfasst: Bewirken durch die aktuelle Rechenvorrichtung, dass die Servervorrichtung eine Anforderung an die eine oder die mehreren anderen Rechenvorrichtungen ausgibt, die mit dem speziellen Netz verbunden sind, um jeweilige Audiosignale auszusenden.
  5. Verfahren nach einem der Ansprüche 1-4, wobei die aktuelle Rechenvorrichtung einem speziellen Benutzerkonto zugeordnet ist, und wobei das Ausgeben der Angabe, dass der Sprachempfang an der aktuellen Rechenvorrichtung aktiviert wurde, umfasst: Bewirken durch die aktuelle Rechenvorrichtung, dass eine oder mehrere andere Rechenvorrichtungen, die dem speziellen Benutzerkonto zugeordnet sind, jeweilige Audiosignale aussenden, wobei die eine oder die mehreren anderen Rechenvorrichtungen, die dem speziellen Benutzerkonto zugeordnet sind, die eine oder die mehreren identifizierten Rechenvorrichtungen umfassen.
  6. Verfahren nach Anspruch 5, wobei die Angabe, dass der Sprachempfang an der aktuellen Rechenvorrichtung aktiviert wurde, an eine Servervorrichtung ausgegeben wird, und wobei das Bewirken, dass die eine oder die mehreren anderen Rechenvorrichtungen, die dem speziellen Benutzerkonto zugeordnet sind, die jeweiligen Audiosignale aussenden, umfasst: Bewirken durch die aktuelle Rechenvorrichtung, dass die Servervorrichtung eine Anforderung an die eine oder die mehreren anderen Rechenvorrichtungen ausgibt, die dem speziellen Benutzerkonto zugeordnet sind, um jeweilige Audiosignale auszusenden.
  7. Verfahren nach einem der Ansprüche 1-6, wobei die aktuelle Rechenvorrichtung mit einem speziellen Netz verbunden ist und einem speziellen Benutzerkonto zugeordnet ist, und wobei das Ausgeben der Angabe, dass der Sprachempfang an der aktuellen Rechenvorrichtung aktiviert wurde umfasst: Bewirken durch die aktuelle Rechenvorrichtung, dass eine oder mehrere andere Rechenvorrichtungen, die mit dem speziellen Netz verbunden sind, die dem speziellen Benutzerkonto zugeordnet sind, jeweilige Audiosignale aussenden, wobei die eine oder die mehreren anderen Rechenvorrichtungen, die mit dem speziellen Netz verbunden sind, die dem speziellen Benutzerkonto zugeordnet sind, die eine oder die mehreren identifizierten Rechenvorrichtungen umfassen.
  8. Verfahren nach einem der Ansprüche 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 an jede Rechenvorrichtung der einen oder der mehreren identifizierten Rechenvorrichtungen in Bezug auf die aktuelle Rechenvorrichtung.
  9. Verfahren nach Anspruch 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 einem gleichen Netz wie die aktuelle Rechenvorrichtung verbunden sind; und/oder einem gleichen Benutzerkonto wie die aktuelle Rechenvorrichtung zugeordnet sind.
  10. Verfahren nach einem der Ansprüche 1-9, wobei das Identifizieren umfasst: Bestimmen einer jeweiligen Nähe von jeder jeweiligen Rechenvorrichtung relativ zur aktuellen Rechenvorrichtung auf der Basis der jeweiligen Audiosignale, die durch die eine oder die mehreren jeweiligen Rechenvorrichtungen ausgesendet werden.
  11. Verfahren nach einem der Ansprüche 1-10, wobei jedes Audiosignal der jeweiligen Audiosignale eine oder mehrere eindeutige Audioeigenschaften aufweist.
  12. Verfahren nach einem der Ansprüche 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 speziellen Rechenvorrichtung aus Rechenvorrichtungen, die in der einen oder den mehreren identifizierten Rechenvorrichtungen enthalten sind, die eine Anzeige umfassen.
  13. Verfahren nach einem der Ansprüche 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 speziellen Rechenvorrichtung aus 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.
  14. 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 spezielle 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.
  15. Vorrichtung nach Anspruch 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.
  16. Vorrichtung nach Anspruch 15, wobei die aktuelle Rechenvorrichtung mit einem speziellen 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 bewirken, dass eine oder mehrere andere Rechenvorrichtungen, die mit dem speziellen Netz verbunden sind, jeweilige Audiosignale aussenden, wobei die eine oder die mehreren anderen Rechenvorrichtungen, die mit dem speziellen Netz verbunden sind, die eine oder die mehreren identifizierten Rechenvorrichtungen umfassen.
  17. Vorrichtung nach einem der Ansprüche 14-16, wobei die aktuelle Rechenvorrichtung einem speziellen Benutzerkonto zugeordnet 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 bewirken, dass eine oder mehrere andere Rechenvorrichtungen, die dem speziellen Benutzerkonto zugeordnet sind, jeweilige Audiosignale aussenden, wobei die eine oder die mehreren anderen Rechenvorrichtungen, die dem speziellen Benutzerkonto zugeordnet sind, die eine oder die mehreren identifizierten Rechenvorrichtungen umfassen.
  18. Vorrichtung nach einem der Ansprüche 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 Rechenvorrichtung aktiviert wurde, an jede Rechenvorrichtung der einen oder der mehreren identifizierten Rechenvorrichtungen in Bezug auf die aktuelle Rechenvorrichtung eine Anforderung auszugeben, ein jeweiliges Audiosignal auszusenden.
  19. Vorrichtung nach Anspruch 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.
  20. Nichttransitorisches computerlesbares Speichermedium, das Befehle speichert, die, wenn sie ausgeführt werden, bewirken, 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 spezielle 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.
DE102017122182.4A 2016-11-18 2017-09-25 Identifikation eines virtuellen Assistenten von nahgelegenen Rechenvorrichtungen Ceased DE102017122182A1 (de)

Applications Claiming Priority (2)

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

Publications (1)

Publication Number Publication Date
DE102017122182A1 true DE102017122182A1 (de) 2018-05-24

Family

ID=60270144

Family Applications (6)

Application Number Title Priority Date Filing Date
DE102017012396.9A Active DE102017012396B3 (de) 2016-11-18 2017-09-25 Identifikation eines virtuellen Assistenten von nahgelegenenRechenvorrichtungen
DE202017007452.4U Active DE202017007452U1 (de) 2016-11-18 2017-09-25 Identifikation eines virtuellen Assistenten von nahgelegenen Rechenvorrichtungen
DE102017122182.4A Ceased DE102017122182A1 (de) 2016-11-18 2017-09-25 Identifikation eines virtuellen Assistenten von nahgelegenen Rechenvorrichtungen
DE202017007508.3U Active DE202017007508U1 (de) 2016-11-18 2017-09-25 Identifikation eines virtuellen Assistenten von nahgelegenen Rechenvorrichtungen
DE202017105810.7U Active DE202017105810U1 (de) 2016-11-18 2017-09-25 Identifikation eines virtuellen Assistenten von nahgelegenen Rechenvorrichtungen
DE102017012415.9A Active DE102017012415B4 (de) 2016-11-18 2017-09-25 Identifikation eines virtuellen Assistenten von nahgelegenen Rechenvorrichtungen

Family Applications Before (2)

Application Number Title Priority Date Filing Date
DE102017012396.9A Active DE102017012396B3 (de) 2016-11-18 2017-09-25 Identifikation eines virtuellen Assistenten von nahgelegenenRechenvorrichtungen
DE202017007452.4U Active DE202017007452U1 (de) 2016-11-18 2017-09-25 Identifikation eines virtuellen Assistenten von nahgelegenen Rechenvorrichtungen

Family Applications After (3)

Application Number Title Priority Date Filing Date
DE202017007508.3U Active DE202017007508U1 (de) 2016-11-18 2017-09-25 Identifikation eines virtuellen Assistenten von nahgelegenen Rechenvorrichtungen
DE202017105810.7U Active DE202017105810U1 (de) 2016-11-18 2017-09-25 Identifikation eines virtuellen Assistenten von nahgelegenen Rechenvorrichtungen
DE102017012415.9A Active DE102017012415B4 (de) 2016-11-18 2017-09-25 Identifikation eines virtuellen Assistenten von nahgelegenen Rechenvorrichtungen

Country Status (8)

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

Families Citing this family (106)

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

Family Cites Families (90)

* 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
EP2537350A4 (de) * 2010-02-17 2016-07-13 Nokia Technologies Oy Verarbeitung einer audioerfassung mehrerer vorrichtungen
US8656081B2 (en) * 2010-03-12 2014-02-18 The United States Of America As Represented By The Secretary Of The Navy System and method for coordinating control of an output device by multiple control consoles
US8635066B2 (en) 2010-04-14 2014-01-21 T-Mobile Usa, Inc. Camera-assisted noise cancellation and speech recognition
KR101712666B1 (ko) * 2010-05-14 2017-03-06 엘지전자 주식회사 전자 기기 및 전자 기기의 컨텐츠 공유 방법
US8789131B2 (en) * 2010-05-14 2014-07-22 Lg Electronics Inc. Electronic device and method of sharing contents thereof with other devices
EP2402860B1 (de) * 2010-06-29 2020-10-07 Brother Kogyo Kabushiki Kaisha Datenverarbeitungsvorrichtung
US8359020B2 (en) * 2010-08-06 2013-01-22 Google Inc. Automatically monitoring for voice input based on context
GB2484140B (en) 2010-10-01 2017-07-12 Asio Ltd Data communication system
US20130051572A1 (en) 2010-12-08 2013-02-28 Creative Technology Ltd Method for optimizing reproduction of audio signals from an apparatus for audio reproduction
WO2012078079A2 (en) * 2010-12-10 2012-06-14 Yota Devices Ipr Ltd Mobile device with user interface
US8903892B2 (en) * 2011-05-19 2014-12-02 Oasys Healthcare Corporation Software based system for control of devices
US20160277808A1 (en) * 2011-08-08 2016-09-22 Lei Yu System and method for interactive second screen
US8996753B2 (en) 2011-10-07 2015-03-31 Qualcomm Incorporated Mobile device peripheral device location and connection
US9491404B2 (en) 2011-10-27 2016-11-08 Polycom, Inc. Compensating for different audio clocks between devices using ultrasonic beacon
KR101659674B1 (ko) * 2011-11-27 2016-09-30 가부시키가이샤 시너지드라이브 보이스 링크 시스템
US9084058B2 (en) 2011-12-29 2015-07-14 Sonos, Inc. Sound field calibration using listener localization
US8825020B2 (en) 2012-01-12 2014-09-02 Sensory, Incorporated Information access and device control using mobile phones and audio in the home environment
JP5944689B2 (ja) 2012-02-22 2016-07-05 クラリオン株式会社 車載機、および、車載機の表示制御システム
US20150228274A1 (en) * 2012-10-26 2015-08-13 Nokia Technologies Oy Multi-Device Speech Recognition
US9082413B2 (en) * 2012-11-02 2015-07-14 International Business Machines Corporation Electronic transaction authentication based on sound proximity
US9875741B2 (en) * 2013-03-15 2018-01-23 Google Llc Selective speech recognition for chat and digital personal assistant systems
US9264801B2 (en) 2012-12-04 2016-02-16 Storz Endoskop Produktions Gmbh System and method for pairing a command device incorporating a microphone to a remotely controlled medical system
US9271111B2 (en) * 2012-12-14 2016-02-23 Amazon Technologies, Inc. Response endpoint selection
US20140172140A1 (en) * 2012-12-17 2014-06-19 Lookout Inc. Method and apparatus for cross device audio sharing
US9860386B2 (en) * 2013-01-22 2018-01-02 Unify Gmbh & Co. Kg Communication apparatus and method
US10133546B2 (en) * 2013-03-14 2018-11-20 Amazon Technologies, Inc. Providing content on multiple devices
WO2014149695A1 (en) * 2013-03-15 2014-09-25 Applied Materials, Inc. Apparatus for material spray deposition of high solid percentage slurries for battery active material manufacture applications
US9491033B1 (en) 2013-04-22 2016-11-08 Amazon Technologies, Inc. Automatic content transfer
US20140331145A1 (en) * 2013-05-06 2014-11-06 Nvidia Corporation Enhancing a remote desktop with meta-information
US9575720B2 (en) * 2013-07-31 2017-02-21 Google Inc. Visual confirmation for a recognized voice-initiated action
US20150074524A1 (en) * 2013-09-10 2015-03-12 Lenovo (Singapore) Pte. Ltd. Management of virtual assistant action items
US9203252B2 (en) * 2013-11-12 2015-12-01 Google Inc. Redirecting notifications to a wearable computing device
US9564128B2 (en) 2013-12-09 2017-02-07 Qualcomm Incorporated Controlling a speech recognition process of a computing device
US20150172878A1 (en) 2013-12-12 2015-06-18 Aliphcom Acoustic environments and awareness user interfaces for media devices
KR101924702B1 (ko) * 2014-02-24 2019-02-20 소니 주식회사 다른 디바이스들에서의 기능들을 활성화하기 위해 착용형 디바이스들로부터 감각 정보를 취득하기 위한 스마트 착용형 디바이스 및 방법
US10878721B2 (en) * 2014-02-28 2020-12-29 Ultratec, Inc. Semiautomated relay method and apparatus
JP6358847B2 (ja) * 2014-05-14 2018-07-18 オリンパス株式会社 表示処理装置および撮像装置
US9632748B2 (en) 2014-06-24 2017-04-25 Google Inc. Device designation for audio input monitoring
US9338493B2 (en) * 2014-06-30 2016-05-10 Apple Inc. Intelligent automated assistant for TV user interactions
JP6482911B2 (ja) * 2014-07-01 2019-03-13 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America 機器制御方法および電気機器
US10045105B2 (en) * 2014-08-12 2018-08-07 Bose Corporation Wireless communication between endpoint devices
US10002115B1 (en) * 2014-09-29 2018-06-19 Amazon Technologies, Inc. Hybrid rendering of a web page
US9318107B1 (en) * 2014-10-09 2016-04-19 Google Inc. Hotword detection on multiple devices
US9588721B2 (en) * 2014-10-16 2017-03-07 Seiko Epson Corporation Print control device, printing system, and control method of a print control device
US9558527B2 (en) * 2014-10-24 2017-01-31 Dell Products L.P. Systems and methods for orchestrating external graphics
US9646163B2 (en) * 2014-11-14 2017-05-09 Getgo, Inc. Communicating data between client devices using a hybrid connection having a regular communications pathway and a highly confidential communications pathway
US9812126B2 (en) 2014-11-28 2017-11-07 Microsoft Technology Licensing, Llc Device arbitration for listening devices
US9552816B2 (en) * 2014-12-19 2017-01-24 Amazon Technologies, Inc. Application focus in speech-based systems
US9811312B2 (en) 2014-12-22 2017-11-07 Intel Corporation Connected device voice command support
GB2538935A (en) * 2015-02-26 2016-12-07 Piksel Inc Linking devices
US10453461B1 (en) * 2015-03-17 2019-10-22 Amazon Technologies, Inc. Remote execution of secondary-device drivers
WO2016154426A1 (en) * 2015-03-26 2016-09-29 Wal-Mart Stores, Inc. System and methods for a multi-display collaboration environment
US9591148B2 (en) 2015-04-07 2017-03-07 Cisco Technology, Inc. Detecting proximity of devices based on transmission of inaudible sound signatures in the speech band
US9807045B2 (en) * 2015-06-10 2017-10-31 Google Inc. Contextually driven messaging system
US10025447B1 (en) * 2015-06-19 2018-07-17 Amazon Technologies, Inc. Multi-device user interface
US20160379638A1 (en) * 2015-06-26 2016-12-29 Amazon Technologies, Inc. Input speech quality matching
US9875081B2 (en) * 2015-09-21 2018-01-23 Amazon Technologies, Inc. Device selection for providing a response
US10469997B2 (en) * 2016-02-26 2019-11-05 Microsoft Technology Licensing, Llc Detecting a wireless signal based on context
US9584653B1 (en) * 2016-04-10 2017-02-28 Philip Scott Lyren Smartphone with user interface to externally localize telephone calls
US9841943B1 (en) * 2016-06-06 2017-12-12 Google Llc Creation and control of channels that provide access to content from various audio-provider services
US10462219B2 (en) * 2016-08-10 2019-10-29 Iboss, Inc. Distributed network security system providing isolation of customer data
US9972320B2 (en) * 2016-08-24 2018-05-15 Google Llc Hotword detection on multiple devices
US10580404B2 (en) * 2016-09-01 2020-03-03 Amazon Technologies, Inc. Indicator for voice-based communications
US10228725B2 (en) * 2016-09-30 2019-03-12 Intel IP Corporation Flexible band wearable electronic device
US10332523B2 (en) 2016-11-18 2019-06-25 Google Llc Virtual assistant identification of nearby computing devices

Also Published As

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

Similar Documents

Publication Publication Date Title
DE102017012415B4 (de) Identifikation eines virtuellen Assistenten von nahgelegenen Rechenvorrichtungen
DE112016003459B4 (de) Sprecherkennung
DE102017120732A1 (de) Proaktiver virtueller Assistent
DE102017121699A1 (de) Dynamische Erzeugung von angepassten Einführungslernprogrammen für eine Anwendung
DE102014009871B4 (de) Vorhersagendes Weiterleiten von Meldungsdaten
DE112014003653B4 (de) Automatisch aktivierende intelligente Antworten auf der Grundlage von Aktivitäten von entfernt angeordneten Vorrichtungen
DE202017105858U1 (de) Anwendungsprogrammschnittstelle für das Verwalten von Komplikationsdaten
CN110651325A (zh) 计算助理的延迟响应
DE202017103860U1 (de) Kontextabhängige Task-Shortcuts
DE112016001105T5 (de) Reagieren von konkurrierenden Vorrichtungen auf Sprachauslöser
DE112014002747T5 (de) Vorrichtung, Verfahren und grafische Benutzerschnittstelle zum Ermöglichen einer Konversationspersistenz über zwei oder mehr Instanzen eines digitalen Assistenten
DE112019006699T5 (de) Steuerung entfernter vorrichtungen unter verwendung von benutzerschnittstellenvorlagen
DE102017122231A1 (de) Dynamisches Erzeugen benutzerspezifischer Gruppen von Anwendungseinstellungen
DE202017106467U1 (de) Benutzerzustandvorhersagen zum Präsentieren von Informationen
DE112016002588T5 (de) Kontextgetriebenes nachrichtenübermittlungssystem
DE112016002384T5 (de) Hilfsschicht mit automatisierter Extraktion
DE102017125082A1 (de) Intelligente einrichtung von assistent-diensten
CN111159344A (zh) 机器人应答方法、装置、设备及存储介质
DE102023102142A1 (de) Konversationelle ki-plattform mit extraktiver fragenbeantwortung
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
R138 Derivation of utility model

Ref document number: 202017007452

Country of ref document: DE

R082 Change of representative

Representative=s name: VENNER SHIPLEY LLP, DE

Representative=s name: BETTEN & RESCH PATENT- UND RECHTSANWAELTE PART, DE

R082 Change of representative

Representative=s name: VENNER SHIPLEY LLP, DE

R130 Divisional application to

Ref document number: 102017012415

Country of ref document: DE

Ref document number: 102017012396

Country of ref document: DE

R130 Divisional application to

Ref document number: 102017012415

Country of ref document: DE

Ref document number: 102017012396

Country of ref document: DE

R002 Refusal decision in examination/registration proceedings
R003 Refusal decision now final