-
HINTERGRUND
-
Elektronische Geräte, z.B. ein Medienwiedergabegerät, ein Smart-TV, ein Laptop- oder Tablet-Computergerät, ein Smartphone, Kombinationen davon, usw., welche hierin als „Geräte” bezeichnet werden, sind in der Lage, auf Benutzereingaben zu antworten, um Aktionen auszuführen, z.B. Befehlsaktionen, wie etwa das Abspielen von Mediendateien. Gewisse Geräte sind in der Lage, auf Benutzereingaben, wie etwa eine Spracheingabe, eine Gesteneingabe oder Kombinationen davon, zu antworten.
-
Je nach dem Verwendungszusammenhang könnte ein Benutzer eine Eingabe bereitstellen, welche auf mehr als einem Gerät ausgeführt werden kann. Falls sich der Benutzer beispielsweise in einem Zimmer mit zwei oder mehreren Medienwiedergabegeräten befindet, die auf Sprachbefehle antworten, ist jedes der Geräte in der Lage, den vom Benutzer eingegebenen Sprachbefehl zu detektieren, den Inhalt des Befehls zu identifizieren und eine Befehlsaktion als Antwort auf die Benutzereingabe auszuwählen.
-
KURZDARSTELLUNG
-
Kurz gesagt stellt ein Aspekt ein Verfahren bereit, das folgende Schritte umfasst: Empfangen einer Benutzereingabe an einem ersten Gerät; Bestimmen, an dem ersten Gerät, dass ein zweites Gerät in der Lage ist, auf die Benutzereingabe zu antworten; Beschließen, unter Verwendung eines Prozessors, eines Zielgerätes von dem ersten Gerät und dem zweiten Gerät; und Ausführen, unter Verwendung des Zielgerätes, eines Befehls als Antwort auf die Benutzereingabe.
-
Ein anderer Aspekt stellt ein elektronisches Gerät bereit, das Folgendes umfasst: ein Eingabegerät; ein Ausgabegerät; einen Prozessor; und ein Speichergerät, welches Anweisungen speichert, die durch den Prozessor ausführbar sind zum: Empfangen einer Benutzereingabe an dem Eingabegerät; Bestimmen, dass ein zweites Gerät in der Lage ist, auf die Benutzereingabe zu antworten; Beschließen eines Zielgerätes von dem elektronischen Gerät und dem zweiten Gerät; und Ausführen eines Befehls als Antwort auf die Benutzereingabe.
-
Ein weiterer Aspekt stellt ein Produkt bereit, das Folgendes umfasst: ein Speichergerät, das Code speichert, wobei der Code von einem Prozessor ausführbar ist und Folgendes umfasst: Code, der an einem ersten Gerät eine Benutzereingabe empfängt; Code, der an dem ersten Gerät bestimmt, dass ein zweites Gerät in der Lage ist, auf die Benutzereingabe zu antworten; Code, der unter Verwendung eines Prozessors ein Zielgerät von dem ersten Gerät und dem zweiten Gerät bestimmt; und Code, der unter Verwendung des Zielgerätes einen Befehl als Antwort auf die Benutzereingabe ausführt.
-
Das Vorstehende ist eine Zusammenfassung und kann somit Vereinfachungen, Verallgemeinerungen und fehlende Einzelheiten umfassen; folglich wird der Fachmann verstehen, dass die Kurzdarstellung rein erläuternd ist und keineswegs dazu gedacht ist, einschränkend zu sein.
-
Zum besseren Verständnis der Ausführungsformen zusammen mit anderen und weiteren Merkmalen und Vorteilen derselben wird auf die nachstehende Beschreibung in Verbindung mit den beiliegenden Zeichnungen gesehen Bezug genommen. Der Umfang der Erfindung wird in den beiliegenden Ansprüchen ausgewiesen.
-
KURZE BESCHREIBUNG DER VERSCHIEDENEN ANSICHTEN DER ZEICHNUNGEN
-
Es zeigen:
-
1 ein Beispiel der Schaltungen eines Informationshandhabungsgerätes.
-
2 ein anderes Beispiel der Schaltungen eines Informationshandhabungsgerätes.
-
3 ein beispielhaftes Verfahren zum Koordinieren einer Eingabe in mehreren Gerätezusammenhängen.
-
4 eine beispielhafte Verwendungsumgebung.
-
AUSFÜHRLICHE BESCHREIBUNG
-
Es versteht sich ohne Weiteres, dass die Bestandteile der Ausführungsformen, wie sie hierin allgemein beschrieben und in den Figuren abgebildet sind, zusätzlich zu den beschriebenen Ausführungsbeispielen in vielen verschiedenen Konfigurationen angeordnet und ausgelegt sein können. Somit ist die nachstehende ausführlichere Beschreibung der Ausführungsbeispiele, wie in den Figuren dargestellt, nicht dazu gedacht, den Umfang der beanspruchten Ausführungsformen einzuschränken, sondern ist nur für Ausführungsbeispiele stellvertretend.
-
Eine Bezugnahme in der gesamten vorliegenden Beschreibung auf „eine Ausführungsform” (oder ähnliche Ausdrücke) bedeutet, dass ein bestimmtes Merkmal, eine bestimmte Struktur oder ein bestimmtes Kennzeichen, das bzw. die in Verbindung mit der Ausführungsform beschrieben wird, in mindestens einer Ausführungsform enthalten ist. Somit bezieht sich das Vorkommen der Redewendungen „bei einer Ausführungsform” und dergleichen an verschiedenen Stellen in der gesamten vorliegenden Beschreibung nicht unbedingt immer auf die gleiche Ausführungsform.
-
Ferner können die beschriebenen Merkmale, Strukturen oder Kennzeichen in einer beliebigen geeigneten Art in einer oder mehreren Ausführungsformen kombiniert werden. In der nachstehenden Beschreibung werden zahlreiche spezifische Einzelheiten bereitgestellt, um ein gründliches Verständnis der Ausführungsformen bereitzustellen. Der Fachmann auf diesem Gebiet wird jedoch erkennen, dass die diversen Ausführungsformen ohne eine oder mehrere der spezifischen Einzelheiten oder mit anderen Verfahren, Bauteilen, Materialien und so weiter in die Praxis umgesetzt werden können. In anderen Fällen werden hinlänglich bekannte Strukturen, Materialien oder Vorgänge der Übersichtlichkeit halber nicht gezeigt oder ausführlich beschrieben.
-
Wenn mehr als ein Gerät, z.B. innerhalb einer Smart Home Umgebung, in der Lage ist, eine Spracheingabe zu empfangen und daraufhin zu handeln, kann es schwierig sein sicherzustellen, dass das beabsichtigte Gerät dasjenige ist, welches antworten soll. Falls ein Haushalt beispielsweise über zwei Medienwiedergabegeräte verfügt, die auf eine Spracheingabe antworten, z.B. eines im Wohnzimmer und eines in der Küche, bewirkt, wenn ein Benutzer einen Sprachbefehl von einem Standort aus erteilt, an dem die beiden Medienwiedergabegeräte den Sprachbefehl auffangen, dieser Sprachbefehl, dass jedes Medienwiedergabegerät den Sprachbefehl verarbeitet und darauf antwortet. Ferner kann auf Grund des Standorts des Benutzers in Bezug auf die Medienwiedergabegeräte jedes Gerät die Spracheingabe in einen anderen Befehl auflösen.
-
Mit anderen Worten koordinieren sich Geräte, die auf Benutzereingaben antworten, für gewöhnlich nicht gegenseitig. Falls daher ein Gerät eine Spracheingabe empfängt, handelt dieses in Abhängigkeit davon, was es zu hören geglaubt hat, und zwar unabhängig von dem Vorhandensein eines anderen derartigen Gerätes. Ein Benutzer könnte versuchen, dieses Ergebnis zu beeinflussen, z.B. indem er sich einem bestimmten Gerät nähert oder einen Sprachbefehl derart erteilt, dass er wahrscheinlich nur von einem Gerät empfangen wird (z.B. geänderte Richtung und Lautstärke). Ferner könnte ein Benutzer auch verschiedene Weckwörter einstellen. Jede dieser Lösungen erschwert jedoch die Bedienung durch den Benutzer.
-
Entsprechend stellt eine Ausführungsform einen Mechanismus bereit, mit dem sich mehrere Geräte koordinieren können, um auf eine empfangene Benutzereingabe zusammenhängend zu antworten. Die Geräte sind in der Lage, einen Standort und eine Lautstärke der ankommenden Spracheingabe zu bestimmen, wenn sie einen Befehl verarbeiten. Diese Informationen können von einer Ausführungsform verwendet werden, um die Entfernung zu schätzen, in der sich ein Benutzer von einem Gerät befindet. Des Weiteren wird, da die Spracheingabe intern unter Verwendung eines Sprache-zu-Text-Algorithmus übertragen wird, ein Konfidenzfaktor für das Gehörte berechnet. Die mehreren Geräte können dann über ein Netzwerk ihre gegenseitigen Bestimmungen der Entfernung und/oder des Konfidenzfaktors teilen. Dies ermöglicht unter anderen Techniken, dass das Gerät mit der geringsten Entfernung und dem höchsten Konfidenzfaktor als Zielgerät eingestellt wird und auf den Befehl hin handelt.
-
Die Schwellen, welche die Priorität dieser Faktoren (sowie anderer) regieren, können im Verlauf der Zeit erlernt werden, z.B. falls der Benutzer einen Befehl erneut erteilen muss, um das richtige Gleichgewicht zwischen Entfernung und Konfidenz zum Auswählen eines Zielgerätes zu finden. Für den Fall, dass die Sprachschwelle das Konfidenzniveau nicht erreicht, können die mehreren Geräte, welche die Eingabe des Benutzers gleichermaßen (oder nahezu gleichermaßen) detektiert haben, gemäß einer Strategie entscheiden, welches von ihnen antwortet.
-
Die Strategie, um diese Konflikte aufzulösen, kann diverse Formen annehmen. Beispielsweise könnte die Strategie zufallsmäßig eines der Geräte als Zielgerät wählen. Zusätzlich oder alternativ kann die Strategie das Bestimmen eines Zielgerätes durch Berücksichtigen anderer oder sekundärer Faktoren, z.B. das Auswählen eines Zimmers, in dem sich der Benutzer zuletzt befand, das Auswählen eines zuletzt verwendeten Gerätes, usw., umfassen.
-
Die abgebildeten Ausführungsbeispiele werden am besten mit Bezug auf die Figuren verständlich. Die nachstehende Beschreibung ist dazu gedacht, rein beispielhaft zu sein und bildet nur gewisse Ausführungsbeispiele ab.
-
Obwohl diverse andere Schaltkreise, Schaltungen oder Bauteile in Informationshandhabungsgeräten verwendet werden können, umfasst mit Bezug auf die Schaltungen 100 eines Smartphones und/oder Tablets ein in 1 abgebildetes Beispiel ein System-on-Chip Design, welches beispielsweise bei Tablets oder in anderen mobilen Computerplattformen vorzufinden ist. Die Software und der oder die Prozessoren sind in einem einzigen Chip 110 kombiniert. Die Prozessoren umfassen interne arithmetische Einheiten, Register, Cachespeicher, Busse, E/A-Anschlüsse usw., wie es in der Technik wohlbekannt ist. Interne Busse und dergleichen sind von verschiedenen Herstellern abhängig, doch im Wesentlichen können alle Peripheriegeräte (120) an einem einzigen Chip 110 angebracht werden. Die Schaltungen 100 kombinieren den Prozessor, die Speichersteuerung und den E/A-Steuerknoten alle zusammen in einen einzigen Chip 110. Derartige Systeme 100 verwenden typischerweise auch kein SATA oder PCI oder LPC. Übliche Schnittstellen umfassen beispielsweise SDIO und I2C.
-
Es gibt einen oder mehrere Stromverwaltungschips 130, z.B. eine Batterieverwaltungseinheit, BMU, die den Strom verwaltet, wie er beispielsweise über eine aufladbare Batterie 140 zugeführt wird, die durch Anschließen an eine Stromquelle (nicht gezeigt) aufgeladen werden kann. Bei mindestens einer Bauform wird ein einziger Chip, wie etwa 110, verwendet, um eine BIOS-artige Funktionalität und einen DRAM-Speicher bereitzustellen.
-
Das System 100 umfasst typischerweise einen oder mehrere von einem WWAN-Transceiver 150 und einem WLAN-Transceiver 160 zum Anschließen an diverse Netzwerke, wie etwa Telekommunikationsnetzwerke und drahtlose Internet-Geräte, z.B. Zugangspunkten. Für gewöhnlich sind zusätzliche Geräte 120 enthalten, z.B. ein Mikrofon zum Empfangen von Sprachbefehlen, eine Kamera zum Empfangen von Bilddaten, die Gesten umfassen usw. Das System 100 umfasst häufig einen Berührungsbildschirm 170 zum Eingeben und Anzeigen/Wiedergeben von Daten. Das System 100 umfasst typischerweise auch diverse Speichergeräte, beispielsweise einen Flash-Speicher 180 und einen SDRAM 190.
-
2 bildet ein Blockdiagramm eines anderen Beispiels der Schaltkreise, Schaltungen oder Bauteile eines Informationshandhabungsgerätes ab. Das in 2 abgebildete Beispiel kann Computersystemen, wie etwa der THINKPAD-Reihe von PCs, die von Lenovo (US) Inc. aus Morrisville, NC, verkauft wird, oder anderen Geräten entsprechen. Wie es aus der vorliegenden Beschreibung hervorgeht, können die Ausführungsformen andere Merkmale oder nur einige der Merkmale des in 2 abgebildeten Beispiels umfassen.
-
Das Beispiel aus 2 umfasst einen so genannten Chipsatz 210 (eine Gruppe integrierter Schaltungen bzw. Chips, die zusammenarbeiten, Chipsätze) mit einer Architektur, die je nach Hersteller (beispielsweise INTEL, AMD, ARM usw.) unterschiedlich sein kann. INTEL ist ein eingetragenes Warenzeichen von Intel Corporation in den Vereinigten Staaten und anderen Ländern. AMD ist ein eingetragenes Warenzeichen von Advanced Micro Devices, Inc. in den Vereinigten Staaten und anderen Ländern. ARM ist ein nicht eingetragenes Warenzeichen von ARM Holdings plc in den Vereinigten Staaten und anderen Ländern. Die Architektur des Chipsatzes 210 umfasst eine Kern- und Speichersteuerungsgruppe 220 und einen E/A-Steuerknoten 250, der Informationen (beispielsweise Daten, Signale, Befehle usw.) über eine Direct Management Interface (DMI) 242 oder einen Link-Controller 244 austauscht. In 2 ist die DMI 242 eine Chip-zu-Chip-Schnittstelle (gelegentlich auch als Verknüpfung zwischen einer „Northbridge” und einer „Southbridge” bezeichnet). Die Kern- und Speichersteuerungsgruppe 220 umfasst einen oder mehrere Prozessoren 222 (beispielsweise Einzel- oder Mehrkern) und einen Speicher-Steuerknoten 226, die Informationen über einen Front Side Bus (FSB) 224 austauschen; es sei zu beachten, dass die Bauteile der Gruppe 220 in einen Chip integriert sein können, der die herkömmliche „Northbridge-”Architektur ersetzt. Ein oder mehrere Prozessoren 222 umfasst bzw. umfassen interne arithmetische Einheiten, Register, Cachespeicher, Busse, E/A-Anschlüsse usw., wie es in der Technik wohlbekannt ist.
-
In 2 bildet der Speicher-Steuerknoten 226 eine Schnittstelle mit dem Speicher 240 (um beispielsweise eine Unterstützung für eine Art von RAM bereitzustellen, die man als „Systemspeicher” oder „Speicher” bezeichnen kann). Der Speicher-Steuerknoten 226 umfasst ferner eine Niederspannungs-Differenzialsignalisierung-(LVDS)Schnittstelle 232 für ein Anzeigegerät 292 (z.B. einen CRT, einen Flachbildschirm, einen Berührungsbildschirm usw.). Ein Block 238 umfasst eine gewisse Technik, die über die LVDS-Schnittstelle 232 unterstützt werden kann (z.B. serielles digitales Video, HDMI/DVI, DisplayPort). Der Speicher-Steuerknoten 226 umfasst auch eine PCI-Express-Schnittstelle (PCI-E) 234, die diskrete Grafik 236 unterstützen kann.
-
In 2 umfasst der E/A-Steuerknoten 250 eine SATA-Schnittstelle 251 (beispielsweise für HDDs, SDDs, 280 usw.), eine PCI-E-Schnittstelle 252 (beispielsweise für drahtlose Verbindungen 282), eine USB-Schnittstelle 253 (beispielsweise für Geräte 284, wie etwa einen Digitalisierer, eine Tastatur, Mäuse, Kameras, Telefone, Mikrofone, Speichermittel, ein biometrisches Datenaufnahmegerät, andere angeschlossene Geräte usw.), eine Netzwerkschnittstelle 254 (beispielsweise LAN), eine GPIO-Schnittstelle 255, eine LPC-Schnittstelle 270 (für ASICs 271, einen TPM 272, einen Super-E/A 273, einen Firmware-Knoten 274, eine BIOS-Unterstützung 275 sowie diverse Arten von Speichern 276, wie etwa einen ROM 277, einen Flash 278 und einen NVRAM 279), eine Stromverwaltungsschnittstelle 261, eine Taktgeberschnittstelle 262, eine Audioschnittstelle 263 (beispielsweise für die Lautsprecher 294), eine TCO-Schnittstelle 264, eine Systemverwaltungsbus-Schnittstelle 265 und SPI-Flash 266, die ein BIOS 268 und Boot-Code 290 umfassen können. Der E/A-Steuerknoten 250 kann Gigabit-Ethernet-Unterstützung umfassen.
-
Beim Einschalten kann das System konfiguriert sein, um den Boot-Code 290 für das BIOS 268 auszuführen, der in dem SPI-Flash 266 gespeichert ist, und verarbeitet anschließend Daten unter der Kontrolle von einem oder mehreren Betriebssystemen und Anwendungs-Software (beispielsweise im Systemspeicher 240 gespeichert). Ein Betriebssystem kann an einer beliebigen von diversen Stellen gespeichert sein und kann beispielsweise gemäß den Anweisungen des BIOS 268 zugänglich sein. Wie hierin beschrieben, kann ein Gerät eine geringere oder größere Anzahl von Merkmalen umfassen als sie in dem System aus 2 gezeigt werden.
-
Schaltungen von Informationshandhabungsgeräten, wie beispielsweise in 1 oder 2 angesprochen, können bei Geräten verwendet werden, die in einer Smart Home Umgebung vorzufinden sind, wie etwa bei Medienwiedergabegeräten, Smart-TVs und dergleichen. Die Schaltungen und Bauteile, die in diesen Geräten verwendet werden, können je nach deren Zweck variieren. Beispielsweise kann ein Gerät ein Mikrofon und eine Schaltung oder ein Programm zur Sprachverarbeitung umfassen, um eine hörbare Benutzereingabe zu empfangen und einen darin enthaltenen Befehl zu bestimmen. Ähnlich könnte ein anderes Gerät eine Kamera und eine Schaltung oder ein Programm zur Verarbeitung von Gesten umfassen, um Gesteneingaben zu empfangen, die von dem Benutzer ausgeführt werden, und sie mit Befehlsaktionen abzugleichen.
-
Mit Bezug auf 3 ist ein beispielhaftes Verfahren zum Koordinieren von Benutzereingaben zwischen lokalen Geräten abgebildet. Eine Ausführungsform stellt einen Mechanismus bereit, um es zwei (oder mehreren) Geräten zu erlauben, ihre Antworten (bzw. das Fehlen derselben) auf eine Benutzereingabe, auf die sie beide hin handeln können, zu koordinieren.
-
Wie in 3 gezeigt, empfängt das erste Gerät eines Gerätepaars, das in einem intelligenten Zimmer verwendet wird (siehe 4), bei 301 eine Benutzereingabe. Herkömmlicherweise würde das erste Gerät einfach die Benutzereingabe interpretieren, z.B. die Benutzerspracheingabe in Text konvertieren und den Text mit einer Befehlsaktion verknüpfen, und einen gewissen Befehl ausführen. Dies könnte jedoch dazu führen, dass eine Konfliktsituation entsteht, bei der beispielsweise sowohl das erste als auch ein zweites Gerät auf die Eingabe eines Benutzers antworten, z.B. indem sie unabhängig voneinander das gleiche Lied abspielen (und höchstwahrscheinlich zu leicht verschiedenen Zeitpunkten).
-
Somit handelt das erste Gerät nicht sofort, um auf die Eingabe des Benutzers zu antworten. Vielmehr bestimmt das erste Gerät bei 302, ob ein zweites Gerät in der Lage ist, auf die Eingabe des Benutzers zu antworten. Natürlich kann diese Bestimmung, wie mit anderen Schritten, die in den Figuren angesprochen werden, in einer anderen Reihenfolge stattfinden, z.B. bevor die Benutzereingabe empfangen wird. Diese Bestimmung kann auf unterschiedliche Art und Weise erfolgen, wozu das direkte Erfassen und/oder Kommunizieren mit Geräten in der Nähe, das Koordinieren der Kommunikation über ein Cloud- oder vernetztes Gerät, usw. gehören, wie es ferner in Verbindung mit 4 beschrieben wird. Falls das erste Gerät, wie bei 302 bestimmt, das einzige Gerät ist, welches in der Lage ist, auf die Eingabe des Benutzers zu antworten, kann das erste Gerät, wie bei 303 abgebildet, handeln, um auf diese zu antworten.
-
Falls das erste Gerät bestimmt, z.B. erfasst, erfährt usw., dass zusätzlich zu sich selber ein zweites Gerät dazu in der Lage ist, auf die Benutzereingabe zu antworten, erfolgt, wie bei 304 abgebildet, eine Bestimmung, ob es eine Präferenz dafür gibt, dass das zweite Gerät antwortet. Die Bestimmung, dass es eine Präferenz für das zweite Gerät gibt, wie bei 304 abgebildet, könnte das Bestimmen, dass sich das zweite Gerät näher an dem Benutzer befindet als das erste Gerät, das Bestimmen, dass das zweite Gerät die Benutzereingabe mit einem höheren Konfidenzgrad identifiziert hat, das Bestimmen, dass der Benutzer eine Präferenz für das zweite Gerät hat, z.B. angesichts der aktuellen Benutzereingabe (z.B. Art der Eingabe) oder der früheren Eingaben (z.B. Präferenz für ein gewisses Gerät), oder eine Kombination davon umfassen. Eine weitere Beschreibung bezüglich des Bestimmens einer Präferenz für das zweite Gerät (oder gegebenenfalls das erste Gerät) wird in Verbindung mit 4 bereitgestellt.
-
Falls es, wie bei 304 bestimmt, keine Präferenz für das zweite Gerät gibt, kann das erste Gerät, wie bei 305 abgebildet, wieder das Gerät sein, welches auf die Eingabe des Benutzers antwortet, z.B. indem dieses eine Mediendatei abspielt, usw. Falls es jedoch eine Präferenz für das zweite Gerät gibt, beispielsweise weil dieses eine höhere Konfidenz bei der Deutung der Eingabe des Benutzers aufweist, kann das erste Gerät, wie bei 306 abgebildet, bezüglich des Antwortens oder des Handelns auf die Benutzereingabe hin gegenüber dem zweiten Gerät zurücktreten, selbst wenn das erste Gerät die Eingabe empfangen und richtig gedeutet hat.
-
4 bildet eine beispielhafte Umgebung eines Verwendungsfalls ab. Die folgenden Beispiele heben einige spezifische beispielhafte Funktionen hervor, die das in 3 angesprochene allgemeine Verfahren weiterführen.
-
Wie in 4 gezeigt, kann ein Benutzer 403 in einem intelligenten Zimmer (z.B. Küche, Wohnzimmer usw.), das mehr als ein elektronisches Gerät 401, 402 aufweist, welches in der Lage ist, Benutzereingaben zu empfangen und daraufhin zu handeln, einen Befehl erteilen, wie etwa eine Sprachanfrage „Wie ist das Wetter in Berlin?”. Ein erstes Gerät 401 und ein zweites Gerät 402 könnten beide die Sprachanfrage hören, da der Benutzer 403 in der Nähe der beiden Geräte 401, 402 steht. Falls das erste Gerät 401 die Entfernung zum Benutzer auf D1 schätzt, und das zweite Gerät 402 die Entfernung zum Benutzer auf D2 schätzt, wobei D1 < D2, und der Befehl mit der gleichen Konfidenz aufgelöst wird, d.h. C1 = C2, koordinieren sich die beiden Gerät 401, 402, und erteilt das erste Gerät basierend auf der Entfernung die Antwort.
-
Als ein anderes Beispiel kann ein Benutzer 403 den Sprachbefehl „Erzähl mir einen Witz” erteilen. Das erste Gerät 401 und das zweite Gerät 402 hören wieder beide den Sprachbefehl und sind in der Lage zu antworten. Das Gerät 401 könnte schätzen, dass der Benutzer 403 etwa 3 m entfernt ist, D1, und das Gerät 402 könnte schätzen, dass der Benutzer 403 etwa 3,5 m entfernt ist, D2. Auch hier gilt D1 < D2. Das Gerät 402 könnte jedoch den Sprachbefehl mit einer höheren Konfidenz als das Gerät 401 auflösen, d.h. C1 < C2. In diesem Fall könnte das Gerät 402 auf den Sprachbefehl, einen Witz zu erzählen, basierend auf dem Konfidenzniveau antworten.
-
Es sei zu beachten, dass das Gerät 401 und das Gerät 402 sich der gegenseitigen Anwesenheit und/oder Fähigkeiten bewusst sind, z.B. im Hinblick auf die Entfernung zum Benutzer, die Konfidenz beim Identifizieren der Eingabe des Benutzers, usw. Dies kann über eine direkte Kommunikationsverbindung 405 zwischen den Geräten 401, 402, z.B. unter Verwendung einer BLUETOOTH-Verbindung oder eines anderen drahtlosen Kommunikationsmechanismus, lokal erfolgen. Zusätzlich oder alternativ könnten die Geräte 401, 402 ihre Fähigkeiten im Hinblick auf das Mitteilen ihrer Entfernung zum Benutzer 403, ihrer Konfidenz beim Identifizieren der Benutzereingabe usw. über einen entfernten Dienst, z.B. über die Verbindungen 404a, 404b zu einem Cloud-Gerät 406, koordinieren. Beispielsweise könnte jedes Gerät 401, 402 seine Fähigkeiten im Hinblick auf die Entfernung und die Konfidenz beim Antworten auf die Benutzereingabe dem Cloud-Gerät 406 melden, wobei das Cloud-Gerät 406 die Geräte 401, 402 anweist, in einem bestimmten Zusammenhang zu antworten oder abzugeben, oder die Daten bereitstellt, die für jedes Gerät notwendig sind, um zu bestimmen, ob dieses antworten soll.
-
Wie es hierin beschrieben wurde, ermöglicht eine Ausführungsform die Koordination von Kommunikationen zwischen lokalen Geräten, so dass die Geräte eine einzige Antwort auf eine Benutzereingabe, die in der Lage ist, Antworten von mehr als einem Gerät auszulösen, ausgeben können. Dies wird nicht dadurch erreicht, dass der Benutzer belastet wird, damit er das Gerät richtig identifiziert, an welches sich der Befehl richtet, sondern vielmehr durch eine automatisierte Logik, die es den Geräten selber ermöglicht, eventuelle Konfliktsituationen zu identifizieren und aufzulösen.
-
Wie es der Fachmann verstehen wird, können diverse Aspekte als System, Verfahren oder Geräteprogrammprodukt ausgebildet sein. Entsprechend können die Aspekte die Form einer Ausführungsform ganz aus Hardware oder einer Ausführungsform mit Software, die hierin allgemein als „Schaltung”, „Modul” oder „System” bezeichnet wird, annehmen. Ferner können die Aspekte die Form eines Geräteprogrammprodukts annehmen, das als ein oder mehrere gerätelesbare Medien ausgebildet ist, in denen gerätelesbarer Programmcode ausgebildet ist.
-
Es sei zu beachten, dass die hierin beschriebenen diversen Funktionen unter Verwendung von Anweisungen umgesetzt werden können, die auf einem gerätelesbaren Speichermedium gespeichert sind, wie etwa einem Nicht-Signalspeichergerät, die von einem Prozessor ausgeführt werden. Ein Speichergerät kann beispielsweise ein elektronisches, magnetisches, optisches, elektromagnetisches, infrarotes oder Halbleiter-System, -Vorrichtung oder -Gerät oder eine geeignete Kombination derselben sein. Genauere Beispiele eines Speichermediums würden Folgendes umfassen: eine tragbare Computerdiskette, eine Festplatte, einen Arbeitsspeicher (RAM), einen Festwertspeicher (ROM), einen löschbaren programmierbaren Festwertspeicher (EPROM oder Flash-Speicher), eine Lichtleitfaser, eine tragbaren Compact Disk Festwertspeicher (CD-ROM), ein optisches Speichergerät, ein magnetisches Speichergerät oder eine beliebige geeignete Kombination derselben. In Zusammenhang mit der vorliegenden Druckschrift ist ein Speichergerät kein Signal, und umfasst der Begriff „nicht transitorisch” alle Medien außer Signalmedien.
-
Programmcode, der auf einem Speichermedium ausgebildet ist, kann unter Verwendung eines beliebigen geeigneten Mediums, einschließlich ohne Einschränkung drahtlos, drahtgebunden, über Glasfaserkabel, HF usw. oder eine beliebige geeignete Kombination derselben übertragen werden.
-
Programmcode zum Ausführen von Operationen kann in einer beliebigen Kombination von einer oder mehreren Programmiersprachen geschrieben sein. Der Programmcode kann vollständig auf einem einzigen Gerät, teilweise auf einem einzigen Gerät, als selbstständiges Software-Paket, teilweise auf einem einzigen Gerät und teilweise auf einem anderen Gerät oder vollständig auf dem anderen Gerät abgearbeitet werden. In manchen Fällen können die Geräte über eine beliebige Art von Verbindung oder Netzwerk verbunden sein, wozu ein lokales Netzwerk (LAN) oder ein Weitverkehrsnetz (WAN) gehören, oder kann die Verbindung über andere Geräte hergestellt werden (beispielsweise über das Internet unter Verwendung eines Internet Service Providers), über drahtlose Verbindungen, z.B. Nahfeldkommunikation, oder über eine verkabelte Verbindung, wie etwa über eine USB-Verbindung.
-
Es werden hierin Ausführungsbeispiele mit Bezug auf die Figuren beschrieben, die beispielhafte Verfahren, Geräte und Programmprodukte gemäß diversen Ausführungsbeispielen abbilden. Es versteht sich, dass die Aktionen und die Funktionalität mindestens teilweise durch Programmanweisungen umgesetzt werden können. Diese Programmanweisungen können einem Prozessor eines Gerätes, eines speziellen Informationshandhabungsgerätes, oder eines anderen programmierbaren Datenverarbeitungsgerätes bereitgestellt werden, um eine Maschine zu ergeben, so dass die Anweisungen, die über einen Prozessor des Gerätes abgearbeitet werden, die vorgegebenen Funktionen/Aktionen umsetzen.
-
Es sei zu beachten, dass obwohl spezifische Blöcke in den Figuren verwendet werden und eine bestimmte Reihenfolge von Blöcken abgebildet wurde, diese keine einschränkenden Beispiele sind. In bestimmten Zusammenhängen können zwei oder mehrere Blöcke kombiniert werden, kann ein Block in zwei oder mehrere Blöcke unterteilt werden, oder können bestimmte Blöcke je nach Bedarf umgeordnet oder umgestellt werden, da die ausdrücklich abgebildeten Beispiele nur zur Beschreibung verwendet werden und nicht als einschränkend auszulegen sind.
-
Wie sie hierin verwendet wird, kann die Singularform „ein” als die Pluralform „ein oder mehrere” umfassend ausgelegt werden, soweit es nicht eindeutig anderweitig angegeben ist.
-
Die vorliegende Offenbarung wurde zum Zweck der Erläuterung und Beschreibung vorgelegt, ist aber nicht dazu gedacht, erschöpfend oder einschränkend zu sein. Zahlreiche Modifikationen und Variationen werden für den Fachmann ersichtlich sein. Die Ausführungsbeispiele wurden gewählt und beschrieben, um die Grundsätze und die praktische Anwendung zu erklären, und um es anderen Fachleuten zu ermöglichen, die Offenbarung für diverse Ausführungsformen zu verstehen, wie sie für die bestimmte beabsichtigte Verwendung geeignet sind.
-
Obwohl somit hier erläuternde Ausführungsbeispiele mit Bezug auf die beiliegenden Figuren beschrieben wurden, versteht es sich, dass diese Beschreibung nicht einschränkend ist und dass diverse andere Änderungen und Modifikationen hieran vom Fachmann vorgenommen werden können, ohne Geist oder Umfang der Offenbarung zu verlassen.