-
GEBIET
-
Die vorliegende Anmeldung betrifft im Allgemeinen das situationsabhängige Aufheben der Weckwortaktivierung einer Sprachbefehlseingabe in einen Computer.
-
HINTERGRUND
-
Zusätzlich zu der Verwendung von bedienbaren Tasten können Weckwörter notwendig sein, um eine Spracheingabe in Computern zu aktivieren. Die Notwendigkeit, dass der Benutzer das Weckwort ausspricht, kann jedoch unpraktisch sein.
-
KURZDARSTELLUNG
-
Wie es hierin verstanden wird, können Weckwörter in manchen Situationen hilfreich jedoch in anderen nicht hilfreich sein.
-
Entsprechend umfasst bei einem Aspekt ein Gerät einen Prozessor, ein Mikrofon, auf das der Prozessor zugreifen kann, und ein Speichergerät, auf das der Prozessor zugreifen kann. Das Speichergerät enthält Anweisungen, die durch den Prozessor ausführbar sind, um in Reaktion auf eine erste Sensoreingabe, die eine erste Situation angibt, den Empfang eines vorbestimmten Weckwortes zu benötigen, das über das Mikrofon empfangen wird, um die Sprachbefehlseingabe zu aktivieren. Die Anweisungen sind auch ausführbar, um in Reaktion auf eine zweite Sensoreingabe, die eine zweite Situation angibt, die Notwendigkeit, ein vorbestimmtes Weckwort über das Mikrofon zu empfangen, um eine Sprachbefehlseingabe zu aktivieren, aufzuheben und stattdessen Befehle, die über das mindestens eine Mikrofon empfangen werden, sofort zu verarbeiten, ohne zuerst das Weckwort zu empfangen.
-
Bei einigen Beispielen stammt die Sensoreingabe von mindestens einer Kamera. Bei einigen Beispielen stammt die Sensoreingabe von mindestens einem Mikrofon. Bei anderen Beispielen stammt die Sensoreingabe von mindestens einem Bluetooth-Empfänger. Bei noch anderen Beispielen stammt die Sensoreingabe von mindestens einem Bewegungssensor. Bei noch anderen Ausführungsformen stammt die Sensoreingabe von mindestens einem Fahrzeugbelegungssensor. Die Sensoreingabe kann von einer Kombination von zwei beliebigen oder mehreren der obigen Sensoren stammen.
-
Bei einem anderen Aspekt umfasst ein computerlesbares Speichermedium, das kein transitorisches Signal ist, Anweisungen, die durch einen Prozessor ausführbar sind, um ein Signal von mindestens einem Sensor zu empfangen, um zu bestimmen, ob das Signal die Anwesenheit von mehreren Personen angibt, um eine Weckwortaktivierung der Sprachbefehlseingabe in Reaktion auf eine Bestimmung, dass das Signal die Anwesenheit von mehreren Personen angibt, zu ermöglichen, und um eine Weckwortaktivierung der Sprachbefehlseingabe in Reaktion auf eine Bestimmung, dass das Signal keine Anwesenheit von mehreren Personen angibt, zu deaktivieren.
-
Bei noch einem anderen Aspekt umfasst ein Verfahren das Empfangen mindestens eines Signals von mindestens einem Sensor und basierend auf der Analyse des mindestens einen Signals das situationsabhängige Aufheben der Notwendigkeit des Empfangens eines Weckwortes, um eine Sprachbefehlseingabe für einen Computer zu aktivieren.
-
Die Einzelheiten der vorliegenden Grundsätze, sowohl bezüglich ihres Aufbaus als auch ihrer Funktionsweise, sind am besten mit Bezug auf die beiliegenden Zeichnungen zu verstehen, in denen sich die gleichen Bezugszeichen auf die gleichen Teile beziehen.
-
KURZE BESCHREIBUNG DER ZEICHNUNGEN
-
Es zeigen:
-
1 ein Blockdiagramm eines beispielhaften Systems gemäß den vorliegenden Grundsätzen;
-
2 ein Blockdiagramm eines Netzwerks von Geräten gemäß den vorliegenden Grundsätzen;
-
3 bis 7 Ablaufschemata einer beispielhaften Logik, die mit den vorliegenden Grundsätzen übereinstimmt; und
-
8 eine beispielhafte Benutzerschnittstelle, die in Übereinstimmung mit den vorliegenden Grundsätzen verwendet werden kann.
-
AUSFÜHRLICHE BESCHREIBUNG
-
Mit Bezug auf beliebige hier besprochene Computersysteme kann ein System Server- und Client-Bestandteile umfassen, die über ein Netzwerk verbunden sind, so dass Daten zwischen den Client- und Server-Bestandteilen ausgetauscht werden können. Die Client-Bestandteile können eine oder mehrere Computergeräte umfassen, wozu Fernseher (z.B. Smart-TVs, internetaktivierte TVs), Computer, wie etwa Desktop-, Laptop- und Tablet-Computer, so genannte konvertierbare Geräte (die z.B. eine Tablet-Konfiguration und eine Laptop-Konfiguration aufweisen) und andere mobile Geräte, einschließlich Smartphones, gehören. Diese Client-Geräte können als nicht einschränkende Beispiele Betriebssysteme von Apple, Google oder Microsoft verwenden. Es kann ein Unix- oder ähnliches Betriebssystem, wie etwa Linux, verwendet werden. Diese Betriebssysteme können einen oder mehrere Browser ausführen, wie etwa einen Browser, der von Microsoft oder Google oder Mozilla hergestellt wird, oder ein anderes Browser-Programm, das auf Web-Anwendungen zugreifen kann, die von den Internet-Servern über ein Netzwerk, wie etwa das Internet, ein lokales Intranet oder ein virtuelles privates Netzwerk, gehostet werden.
-
Wie sie hierin verwendet werden, beziehen sich die Anweisungen auf computerumgesetzte Schritte zum Verarbeiten von Informationen in dem System. Die Anweisungen können als Software, Firmware oder Hardware umgesetzt werden; daher werden erläuternde Bauteile, Blöcke, Module, Schaltungen und Schritte im Hinblick auf ihre Funktionalität dargelegt.
-
Ein Prozessor kann ein beliebiger herkömmlicher universeller Einzel- oder Mehr-Chip-Prozessor sein, der eine Logik anhand von diversen Leitungen, wie etwa Adressleitungen, Datenleitungen und Steuerleitungen, und Registern und Schieberegistern ausführen kann. Des Weiteren können beliebige hierin beschriebene logische Blöcke, Module und Schaltungen zusätzlich zu einem universellen Prozessor, in oder durch einen digitalen Signalprozessor (DSP), einem Field Programmable Gate-Array (FPGA) oder einer anderen logischen Geräten, wie etwa einer anwendungsspezifischen integrierten Schaltung (ASIC), einer diskreten Gatter- oder Transistorlogik, diskreten Hardware-Bauteilen oder einer beliebigen Kombination davon, die ausgelegt ist, um die hier beschriebenen Funktionen auszuführen, umgesetzt oder ausgeführt werden. Ein Prozessor kann durch einen Controller oder eine Zustandsmaschine oder eine Kombination von Computergeräten umgesetzt werden.
-
Jede Software und/oder alle Anwendungen, die hierin anhand von Ablaufschemata und/oder Benutzerschnittstellen beschrieben werden, kann bzw. können diverse Teilroutinen, Prozeduren usw. umfassen. Es versteht sich, dass die Logik, die offenbart wird, wie sie z.B. von einem Modul ausgeführt wird, auf andere Software-Module umverteilt und/oder zu einem einzigen Modul kombiniert und/oder als gemeinsam nutzbare Bibliothek zur Verfügung gestellt werden kann.
-
Wenn sie als Software umgesetzt wird, kann eine Logik in einer geeigneten Sprache verfasst sein, wie etwa ohne Einschränkung in C+ oder C++, und kann in einem computerlesbaren Speichermedium (das beispielsweise vielleicht kein vorübergehendes Signal ist), wie etwa einem Arbeitsspeicher (RAM), einem Festwertspeicher (ROM), einem elektrisch löschbaren programmierbaren Festwertspeicher (EEPROM), einem Compact-Disk Festwertspeicher (CD-ROM) oder einer anderen optischen Plattenspeichergeräten, wie etwa einer Digital Versatile Disk (DVD), einem Magnetplattenspeichergerät oder anderen magnetischen Speichergeräten, wozu auswechselbare USB-Sticks usw. gehören, gespeichert sein oder darüber übertragen werden. Eine Verbindung kann ein computerlesbares Medium herstellen. Diese Verbindungen können zum Beispiel fest verdrahtete Kabel umfassen, zu denen Glasfaserkabel und Koaxialdrähte und Kabel mit verdrillten Aderpaaren gehören. Diese Verbindungen können drahtlose Kommunikationsverbindungen umfassen, wozu Infrarot und Funk gehören.
-
Bei einem Beispiel kann ein Prozessor über seine Eingangsleitungen auf Informationen von einem Datenspeichergerät, wie etwa von dem computerlesbaren Speichermedium, zugreifen, und/oder kann der Prozessor drahtlos auf Informationen von einem Internet-Server aus zugreifen, indem er einen drahtlosen Transceiver aktiviert, um Daten zu senden und zu empfangen. Die Daten werden typischerweise durch Schaltungen zwischen der Antenne und den Registern des Prozessors, wenn sie empfangen werden, von analogen zu digitalen Signalen, und wenn sie gesendet werden, von digitalen zu analogen Signalen umgewandelt. Der Prozessor verarbeitet dann die Daten durch seine Schieberegister, um berechnete Daten auf Ausgangsleitungen auszugeben, um die berechneten Daten an dem Gerät vorzulegen.
-
Die Bauteile, die in einer Ausführungsform enthalten sind, können in anderen Ausführungsformen in einer beliebigen geeigneten Kombination verwendet werden. Beispielsweise können beliebige der diversen hier beschriebenen und/oder in den Figuren abgebildeten Bauteile kombiniert, ausgetauscht werden oder von anderen Ausführungsformen ausgeschlossen sein.
-
„Ein System, das mindestens eines von A, B und C aufweist” (ebenso „ein System, das mindestens eines von A, B oder C aufweist” und „ein System, das mindestens eines von A, B, C aufweist”) umfasst Systeme, die A alleine, B alleine, C alleine, A und B zusammen, A und C zusammen, B und C zusammen und/oder A, B und C zusammen aufweisen, usw.
-
„Ein System, das eines oder mehrere von A, B und C aufweist” (ebenso „ein System, das eines oder mehrere von A, B oder C aufweist” und „ein System, das eines oder mehrere von A, B, C aufweist”) umfasst Systeme, die A alleine, B alleine, C alleine, A und B zusammen, A und C zusammen, B und C zusammen und/oder A, B und C zusammen aufweisen, usw.
-
Der Begriff „Schaltung” oder „Schaltungen” kann in der Kurzdarstellung, der Beschreibung und/oder den Ansprüchen verwendet werden. Wie es in der Technik wohlbekannt ist, umfasst der Begriff „Schaltungen” alle Ebenen der verfügbaren Integration, z.B. von diskreten logischen Schaltungen bis hin zur höchsten Ebene der Schaltungsintegration, wie etwa VLSI, und umfasst programmierbare logische Komponenten, die programmiert sind, um die Funktionen einer Ausführungsform auszuführen, sowie universelle oder spezifische Prozessoren, die mit Anweisungen programmiert sind, um diese Funktionen auszuführen.
-
Nun insbesondere mit Bezug auf 1 zeigt diese ein beispielhaftes Blockdiagramm eines Informationshandhabungssystems und/oder eines Computersystems 100. Es sei zu beachten, dass bei einigen Ausführungsformen das System 100 ein Desktop-Computersystem, wie etwa eines der PC-Reihe ThinkCentre® oder ThinkPad®, die von Lenovo (US) Inc. aus Morrisville, NC, verkauft wird, oder ein Arbeitsstationscomputer, wie etwa die Reihe von konvertierbaren Computern YogaTM oder eine ThinkStation®, die von Lenovo (US) Inc. aus Morrisville, NC, verkauft wird, sein kann; wie es jedoch aus der vorliegenden Beschreibung hervorgeht, kann ein Client-Gerät, ein Server oder eine andere Maschine gemäß den vorliegenden Grundsätzen andere Merkmale oder nur einige der Merkmale des Systems 100 umfassen. Auch kann das System 100 z.B. eine Spielkonsole, wie etwa eine XBOX® oder Playstation®, sein. Oder das System 100 kann ein Funktelefon, einen Notebook-Computer oder ein anderes tragbares Computergerät umfassen.
-
Wie in 1 gezeigt, umfasst das System 100 einen so genannten Chipsatz 110. Ein Chipsatz bezieht sich auf eine Gruppe von integrierten Schaltungen bzw. Chips, die ausgelegt sind, um zusammen zu arbeiten. Die Chipsätze werden gewöhnlich als Einzelprodukt vermarktet (siehe z.B. die Chipsätze, die unter den Markennamen INTEL®, AMD® usw. vermarktet werden).
-
Bei dem Beispiel aus 1 weist der Chipsatz 110 eine bestimmte Architektur auf, die je nach Marke oder Hersteller einigermaßen variieren kann. Die Architektur des Chipsatzes 110 umfasst eine Kern- und Speichersteuerungsgruppe 120 und einen E/A-Steuerknoten 150, die Informationen (beispielsweise Daten, Signale, Befehle usw.) über eine Direct Management Interface oder Direct Media Interface (DMI) 142 oder einen Link-Controller 144 austauschen. Bei dem Beispiel aus 1 ist die DMI 142 eine Chip-zu-Chip-Schnittstelle (gelegentlich auch als Verknüpfung zwischen einer „Northbridge” und einer „Southbridge” bezeichnet).
-
Die Kern- und Speichersteuerungsgruppe 120 umfasst einen oder mehrere Prozessoren 122 (beispielsweise Einzel- oder Mehrkern usw.) und einen Speicher-Steuerknoten 126, die Informationen über einen Front Side Bus (FSB) 124 austauschen. Wie hier beschrieben, können diverse Komponenten der Kern- und Speichersteuerungsgruppe 120 zu einem einzigen Prozessorchip integriert sein, um beispielsweise einen Chip zu erstellen, der die herkömmliche Architektur nach Art einer „Northbridge” ersetzt.
-
Der Speicher-Steuerknoten 126 bildet eine Schnittstelle mit dem Speicher 140. Beispielsweise kann der Speicher-Steuerknoten 126 Unterstützung für einen DDR-SDRAM-Speicher (z.B. DDR, DDR2, DDR3 usw.) bereitstellen. Im Allgemeinen ist der Speicher 140 eine Art von Arbeitsspeicher (RAM). Er wird häufig als „Systemspeicher” bezeichnet.
-
Der Speicher-Steuerknoten 126 umfasst ferner eine Niederspannungs-Differenzialsignalisierungs-(LVDS)Schnittstelle 132. Die LVDS 132 kann eine so genannte LVDS-Anzeigeschnittstelle (LDI) zur Unterstützung eines Anzeigegerätes 192 (z.B. einer CRT, eines Flachbildschirms, eines Projektors, einer berührungsaktivierten Anzeige usw.) sein. Ein Block 138 umfasst einige Beispiele von Techniken, die über die LVDS-Schnittstelle 132 unterstützt werden können (z.B. serielles digitales Video, HDMI/DVI, DisplayPort). Der Speicher-Steuerknoten 126 umfasst auch eine oder mehrere PCI-Express-Schnittstellen (PCI-E) 134, beispielsweise zur Unterstützung der diskreten Grafik 136. Die diskrete Grafik, die eine PCI-E-Schnittstelle verwendet, hat sich zu einem alternativen Lösungsansatz für einen beschleunigten Grafikanschluss (AGP) entwickelt. Beispielsweise kann der Speicher-Steuerknoten 126 einen 16-spurigen (x16) PCI-E-Anschluss für eine externe Grafikkarte auf PCI-E-Basis umfassen (einschließlich z.B. einer oder mehrerer GPUs). Ein beispielhaftes System kann AGP oder PCI-E zur Unterstützung der Grafik umfassen.
-
Bei den Beispielen, bei denen er verwendet wird, kann der E/A-Steuerknoten 150 diverse Schnittstellen umfassen. Das Beispiel aus 1 umfasst eine SATA-Schnittstelle 151, eine oder mehrere PCI-E-Schnittstellen 152 (wahlweise eine oder mehrere ältere PCI-Schnittstellen), eine oder mehrere USB-Schnittstellen 153, eine LAN-Schnittstelle 154 (ganz allgemein eine Netzwerkschnittstelle zur Kommunikation über mindestens ein Netzwerk, wie etwa das Internet, ein WAN, ein LAM usw. unter der Leitung des oder der Prozessoren 122), eine universelle E/A-Schnittstelle (GPIO) 155, eine Schnittstelle 170 mit geringer Stiftanzahl (LPC), eine Energieverwaltungsschnittstelle 161, eine Taktgeberschnittstelle 162, eine Audioschnittstelle 163 (z.B. für Lautsprecher 194, um Audiomaterial auszugeben), eine Gesamtbetriebskosten-(TCO)Schnittstelle 164, eine Systemverwaltungsbus-Schnittstelle (z.B. eine serielle Multimaster-Computerbusschnittstelle) 165 und eine serielle periphere Flash-Speicher-/Controller-Schnittstelle (SPI-Flash) 166, die bei dem Beispiel aus 1 das BIOS 168 und den Boot-Code 190 umfasst. Mit Bezug auf die Netzwerkverbindungen kann der E/A-Steuerknoten 150 integrierte Gigabit-Ethernet-Controller-Leitungen umfassen, die mit einem PCI-E-Schnittstellenanschluss gemultiplext sind. Andere Netzwerkmerkmale können unabhängig von einer PCI-E-Schnittstelle funktionieren.
-
Die Schnittstellen des E/A-Steuerknotens 150 können die Kommunikation mit diversen Geräten, Netzwerken usw. bereitstellen. Beispielsweise stellt die SATA-Schnittstelle 151, wenn sie verwendet wird, das Lesen, das Schreiben oder das Lesen und Schreiben von Informationen auf einem oder mehreren Laufwerken 180 bereit, wie etwa auf HDDs, SDDs oder einer Kombination davon, doch auf jeden Fall versteht es sich, dass die Laufwerke 180 z.B. greifbare computerlesbare Speichermedien sind, die keine vorübergehenden Signale sein können. Der E/A-Steuerknoten 150 kann auch eine weiterentwickelte Host-Controller-Schnittstelle (AHCI) umfassen, um ein oder mehrere Laufwerke 180 zu unterstützen. Die PCI-E-Schnittstelle 152 ermöglicht drahtlose Verbindungen 182 zu den Geräten, Netzwerken usw. Die USB-Schnittstelle 153 stellt Eingabegeräte 184, wie etwa Tastaturen (KB), Mäuse, und diverse andere Geräte (z.B. Kameras, Telefone, Speichergeräte, Medienwiedergabegeräte usw.) bereit. Andere Eingabegeräte können Fahrzeugbelegungssensoren umfassen, wie etwa Sitzsensoren, die auf das erfasste Gewicht reagieren, ein Signal erzeugen, das angibt, dass eine Person auf dem Sitz Platz genommen hat. In diesem Fall kann das Signal an ein Motorsteuermodul (ECM) eines Fahrzeugs gesendet werden und von dem ECM gemäß der nachstehenden Diskussion verwendet werden, um eine Weckwort-Spracheingabe zu aktivieren und zu deaktivieren, oder kann das ECM das Signal beispielsweise über Bluetooth an den Prozessor eines CE-Gerätes senden, um es dem CE-Geräteprozessor zu ermöglichen die Weckwortsteuerung gemäß den nachstehenden Grundsätzen zu aktivieren und zu deaktivieren.
-
Das Eingabegerät 184 kann beispielsweise auch ein Mikrofon zum Empfangen einer Spracheingabe, ein Infrarot-(IR)Sensor, der bei einigen Beispielen als Bewegungssensorsystem ausgebildet sein kann, und/oder eine Wärmebildkamera zur Verwendung gemäß den vorliegenden Grundsätzen sein.
-
Bei dem Beispiel aus 1 stellt die LPC-Schnittstelle 170 die Verwendung einer oder mehrerer ASICs 171, eines Trusted Platform Modules (TPM) 172, eines Super-E/A 173, eines Firmware-Hubs 174, einer BIOS-Unterstützung 175 sowie diverse Arten von Speicher 176 bereit, wie etwa ROM 177, Flash 178 und nichtflüchtigen RAM (NVRAM) 179. Mit Bezug auf das TPM 172 kann dieses Modul in Form eines Chips vorliegen, der verwendet werden kann, um Software- und Hardware-Geräte zu authentifizieren. Beispielsweise kann ein TPM in der Lage sein, eine Plattformauthentifizierung auszuführen, und kann verwendet werden, um zu überprüfen, dass ein System, das Zugang sucht, das erwartete System ist.
-
Beim Einschalten kann das System 100 konfiguriert sein, um den Boot-Code 190 für das BIOS 168 auszuführen, der in dem SPI-Flash 166 gespeichert ist, und verarbeitet anschließend Daten unter der Kontrolle von einem oder mehreren Betriebssystemen und Anwendungs-Software (wie beispielsweise im Systemspeicher 140 gespeichert). Ein Betriebssystem kann an einer beliebigen von diversen Stellen gespeichert sein und kann beispielsweise gemäß den Anweisungen des BIOS 168 zugänglich sein.
-
Ferner kann das System 100 auch mindestens einen Batteriesatz 191 umfassen, der mindestens eine Batterie umfasst. Der Batteriesatz 191 kann in zylindrischer Form oder in Beutelform vorliegen und kann eine Lithium-Ionen-Batterie sein. Der Batteriesatz 191 ist elektrisch mit dem System 100 gekoppelt und versorgt dieses mit Energie und kann auch mit mindestens einem drahtlosen Ladungsempfänger 193 elektrisch gekoppelt sein, der konfiguriert ist, um eine drahtlose Ladung über ein Magnetfeld von einem drahtlosen Ladungssender (nicht gezeigt) unter Verwendung beispielsweise von induktiven drahtlosen Ladeprinzipien und/oder resonant induktiven Kopplungsprinzipien zu empfangen. Somit kann der Empfänger 193 mehrere Spulen 195 umfassen. Die Spulen 195 können jeweils mindestens einen Draht umfassen, der um einen Magneten herum angeordnet ist, und können konfiguriert sein, um Energie von dem drahtlosen Ladungssender über das magnetische/ elektromagnetische Feld zu empfangen, das durch den Sender erstellt wird, wenn er aktiviert ist. Der Empfänger 193 kann auch mindestens eine Schaltung 197 umfassen (bei einigen Ausführungsformen kann nur eine Schaltung enthalten sein, während bei anderen Ausführungsformen mehrere Schaltungen enthalten sein können), die konfiguriert ist, um von den Spulen 195 Strom zu empfangen und mindestens eines auszuführen von: Bereitstellen von Strom für das System 100, um es mit Energie zu versorgen, und Bereitstellen von Strom für den Batteriesatz 191, um mindestens eine Batterie in dem Satz 191 aufzuladen. Die Schaltung 197 kann eine Rx-Schaltung sein, und/oder die Schaltung 197 kann einen oder mehrere von Wandlern, Reglern und/oder Kommunikationsgeräte umfassen.
-
Zudem kann das System 100 ein Gyroskop 192, um die Ausrichtung des Systems 100 zu erfassen und/oder zu messen und dem Prozessor 122 eine diesbezügliche Eingabe bereitzustellen, einen Beschleunigungsmesser 196, um eine Beschleunigung und/oder Bewegung des Systems 100 zu erfassen und dem Prozessor 122 eine diesbezügliche Eingabe bereitzustellen, und eine Kamera 198, um ein oder mehrere Bilder zu sammeln und dem Prozessor 122 eine diesbezügliche Eingabe bereitzustellen, umfassen. Die Kamera kann eine Wärmebildkamera, eine digitale Kamera, wie etwa eine Webcam, eine dreidimensionale (3D) Kamera und/oder eine Kamera, die anderweitig in das System 100 integriert ist und durch den Prozessor 122 steuerbar ist, um Fotos/Bilder und/oder Videomaterial aufzunehmen, sein. Ferner kann das System 100 noch einen GPS-Transceiver 199 umfassen, der konfiguriert ist, um geografische Positionsinformationen von mindestens einem Satelliten zu empfangen und die Informationen dem Prozessor 122 bereitzustellen. Es versteht sich jedoch, dass ein anderer geeigneter Positionsempfänger als ein GPS-Empfänger gemäß den vorliegenden Grundsätzen verwendet werden kann, um den Standort des Systems 100 zu bestimmen.
-
Es versteht sich, dass ein beispielhaftes Client-Gerät oder eine andere Maschine/ ein anderer Computer eine kleinere oder größere Anzahl von Merkmalen als in dem System 100 aus 1 gezeigt umfassen kann. Auf jeden Fall versteht es sich, dass mindestens basierend auf dem Vorstehenden das System 100 konfiguriert ist, um die vorliegenden Grundsätze umzusetzen.
-
Nun werden mit Bezug auf 2 beispielhafte Geräte gezeigt, die über ein Netzwerk 200, wie etwa das Internet, gemäß den vorliegenden Grundsätzen kommunizieren. Es versteht sich, dass jede der mit Bezug auf 2 beschriebenen Geräte mindestens einige der Merkmale, Bauteile und/oder Elemente des zuvor beschriebenen Systems 100 umfassen kann.
-
2 zeigt einen Notebook-Computer und/oder einen konvertierbaren Computer 202, einen Desktop-Computer 204, ein tragbares Gerät 206, wie etwa eine intelligente Armbanduhr, ein Smart-TV (TV) 208, ein Smartphone 210, einen Tablet-Computer 212 und einen Server 214, wie etwa einen Internet-Server, der eine schwarmausgelagerte Speicherung bereitstellen kann, die für die Geräte 202 bis 212 zugänglich ist.
-
Wie ebenfalls in 2 gezeigt, ist ein drahtloser Ladungssender 216 konfiguriert, um einem drahtlosen Ladungsempfänger eine drahtlose Ladung über ein Magnetfeld bereitzustellen, beispielsweise unter Verwendung von induktiven drahtlosen Ladungsprinzipien und/oder resonant induktiven Kopplungsprinzipien. Somit kann der drahtlose Ladungssender 216 mindestens eine Spule umfassen und kann in eine Wandsteckdose oder eine andere Energiequelle eingesteckt (z.B. damit leitend gekoppelt) werden. Es versteht sich, dass die Geräte 202 bis 216 konfiguriert sind, um über das Netzwerk 200 miteinander zu kommunizieren.
-
3 bis 7 bilden eine beispielhafte Logik ab, die als Anweisungen in einem Computerspeicher zur Ausführung derselben durch einen der zuvor beschriebenen Prozessoren umgesetzt werden kann.
-
Nun mit Bezug auf 3 wird in Block 300 ein Sensorsignal von einer Kamera, wie etwa der zuvor beschriebenen Kamera, empfangen. Das Sensorsignal kann ein oder mehrere Bilder von Gesichtern umfassen. An der Entscheidungsraute 302 wird bestimmt, ob das Signal angibt, dass mehrere Personen anwesend sind. Dies kann dadurch erfolgen, dass eine Bilderkennungs-Engine an dem Signal ausgeführt wird, um zu bestimmen, wie viele Gesichter sich in dem Bild befinden. Das Vorliegen von mehreren Gesichtern kann zu einem „Ja-”Ergebnis führen. Bei einigen Ausführungsformen kann der Test ferner das Bestimmen unter Verwendung eines Bildes eines spezifischen Benutzers des Gerätes, das während einer Initialisierungsphase in den Gerätespeicher geladen wird, ob andere Personen als der spezifische Benutzer anwesend sind, umfassen. Bei einer derartigen Ausführungsform kann der Test ferner das Ableiten umfassen, ob sich eines der anderen Gesichter in einer vorbestimmten Reichweite von dem spezifischen Benutzer befindet, beispielsweise indem eine absolute Größe der anderen Gesichter mit Bezug auf die Größe des Gesichts des Benutzers, wie sie von der Kamera abgebildet werden, bestimmt wird. Nur wenn abgeleitet wird, dass sich eine andere Person in der vorbestimmten Reichweite von dem spezifischen Benutzer befindet, wird ein „Ja-”Ergebnis zurückgegeben.
-
Falls die Entscheidung an der Raute 302 ein „Nein-”Ergebnis zurückgibt, kann die Logik mit Block 304 fortfahren, um eventuelle Sprachbefehle auszuführen, die über das Mikrofon des Gerätes empfangen werden, ohne zuerst den Empfang des Weckwortes zu benötigen. Es versteht sich, dass Sprachsignale unter Verwendung einer Spracherkennungs-Engine zu Befehlen verarbeitet werden.
-
Falls dagegen ein „Ja-”Ergebnis an der Raute 302 zurückgegeben wird, kann sich die Logik zu Block 306 begeben, um die Ausführung von Sprachsignalen, die über das Mikrofon empfangen werden, als Befehle zu deaktivieren, wenn nicht ein vorbestimmtes Weckwort, das von dem Hersteller eingestellt oder von dem Benutzer während der Initialisierung eingerichtet werden kann, zuerst empfangen wird, und zwar typischerweise innerhalb eines vorbestimmten Prologzeitraums von beispielsweise mehreren Sekunden, bevor anschließende Sprachbefehle empfangen werden. Diese Sprachsignale können trotzdem aufgezeichnet werden, werden jedoch nicht als Befehle ausgeführt, wenn das Weckwort nicht innerhalb des Prologzeitraums empfangen wird.
-
Nun wird mit Bezug auf 4 in Block 400 ein Sensorsignal von einem Mikrofon, wie etwa dem zuvor beschriebenen Mikrofon, empfangen. Das Sensorsignal kann ein oder mehrere Stimmen umfassen. An der Entscheidungsraute 402 wird bestimmt, ob das Signal angibt, dass mehrere Personen anwesend sind. Dies kann dadurch erfolgen, dass eine Spracherkennungs-Engine an dem Signal ausgeführt wird, um zu bestimmen, wie viele Stimmen sich in dem Bild befinden. Das Vorliegen von mehreren Stimmen kann zu einem „Ja-”Ergebnis führen. Bei einigen Ausführungsformen kann der Test ferner das Bestimmen unter Verwendung eines Stimmenfingerabdrucks eines spezifischen Benutzers des Gerätes, der während einer Initialisierungsphase in den Gerätespeicher geladen wird, ob andere Personen als der spezifische Benutzer anwesend sind, umfassen. Bei einer derartigen Ausführungsform kann der Test ferner das Ableiten umfassen, ob sich eine der anderen Stimmen in einer vorbestimmten Reichweite von dem spezifischen Benutzer befindet, beispielsweise indem eine absolute Amplitude der Lautstärke der anderen Stimmen oder eine relative Amplitude der anderen Stimmen mit Bezug auf die Amplitude der Stimme des Benutzers bestimmt wird. Nur wenn abgeleitet wird, dass sich eine andere Person in der vorbestimmten Reichweite von dem spezifischen Benutzer befindet, wird ein „Ja-”Ergebnis zurückgegeben.
-
Falls die Entscheidung an der Raute 402 ein „Nein-”Ergebnis zurückgibt, kann die Logik mit Block 404 fortfahren, um eventuelle Sprachbefehle auszuführen, die über das Mikrofon des Gerätes empfangen werden, ohne zuerst den Empfang des Weckwortes zu benötigen. Falls dagegen ein „Ja-”Ergebnis an der Raute 402 zurückgegeben wird, kann sich die Logik zu Block 406 begeben, um die Ausführung von Sprachsignalen, die über das Mikrofon empfangen werden, als Befehle zu deaktivieren, wenn nicht ein vorbestimmtes Weckwort, das von dem Hersteller eingestellt oder von dem Benutzer während der Initialisierung eingerichtet werden kann, zuerst empfangen wird, und zwar typischerweise innerhalb eines vorbestimmten Prologzeitraums von beispielsweise mehreren Sekunden, bevor anschließende Sprachbefehle empfangen werden. Diese Sprachsignale können trotzdem aufgezeichnet werden, werden jedoch nicht als Befehle ausgeführt, wenn das Weckwort nicht innerhalb des Prologzeitraums empfangen wird.
-
Nun wird mit Bezug auf 5 in Block 500 ein Sensorsignal von einem Bluetooth-Empfänger empfangen, der mit dem Gerät verknüpft ist. Das Sensorsignal kann ein oder mehrere Bluetooth-Kopplungssignale umfassen. An der Entscheidungsraute 502 wird bestimmt, ob das Signal angibt, dass mehrere Personen anwesend sind. Dies kann dadurch erfolgen, dass bestimmt wird, ob das Gerät mit einem anderen Gerät gekoppelt ist. Das Vorliegen eines anderen gekoppelten Gerätes kann zu einem „Ja-”Ergebnis führen. Bei einigen Ausführungsformen kann der Test ferner das Ableiten umfassen, ob sich eine der anderen Personen in einer vorbestimmten Reichweite von dem spezifischen Benutzer befindet, indem beispielsweise eine Bluetooth-Signalstärke von einem Gerät bestimmt wird, das mit dem Gerät gekoppelt ist, welches die Logik in 5 ausführt. Nur wenn abgeleitet wird, dass sich eine andere Person (die ihr gekoppeltes Gerät als Proxy verwendet) in der vorbestimmten Reichweite von dem spezifischen Benutzer befindet, wird ein „Ja-”Ergebnis zurückgegeben.
-
Falls die Entscheidung an der Raute 502 ein „Nein-”Ergebnis zurückgibt, kann die Logik mit Block 504 fortfahren, um eventuelle Sprachbefehle auszuführen, die über das Mikrofon des Gerätes empfangen werden, ohne zuerst den Empfang des Weckwortes zu benötigen. Falls dagegen ein „Ja-”Ergebnis an der Raute 502 zurückgegeben wird, kann sich die Logik zu Block 506 begeben, um die Ausführung von Sprachsignalen, die über das Mikrofon empfangen werden, als Befehle zu deaktivieren, wenn nicht ein vorbestimmtes Weckwort, das von dem Hersteller eingestellt oder von dem Benutzer während der Initialisierung eingerichtet werden kann, zuerst empfangen wird, und zwar typischerweise innerhalb eines vorbestimmten Prologzeitraums von beispielsweise mehreren Sekunden, bevor anschließende Sprachbefehle empfangen werden. Diese Sprachsignale können trotzdem aufgezeichnet werden, werden jedoch nicht als Befehle ausgeführt, wenn das Weckwort nicht innerhalb des Prologzeitraums empfangen wird.
-
Nun wird mit Bezug auf 6 in Block 600 ein Sensorsignal von einem Fahrzeugbelegungssensor empfangen, das entweder über beispielsweise ein ECM, mit dem der Prozessor des Gerätes, welches die Logik ausführt, gekoppelt ist, oder wenn das ECM selber die Logik ausführt, von dem Belegungssensor, der typischerweise an einem Sitz des Fahrzeugs montiert ist, weitergeleitet wird. An der Entscheidungsraute 504 wird bestimmt, ob das Signal angibt, dass mehrere Personen anwesend sind. Dies kann dadurch erfolgen, dass bestimmt wird, ob mehrere Belegungssensoren angeben, dass Personen anwesend sind. Die Anwesenheit einer anderen Person kann zu einem „Ja-”Ergebnis führen.
-
Bei einigen Ausführungsformen kann der Test ferner das Ableiten umfassen, ob sich eine der anderen Personen in einer vorbestimmten Reichweite von dem spezifischen Benutzer befindet, indem z.B. die Position des Sitzes, auf dem der Benutzer des Gerätes, welches die Anweisungen ausführt, sitzt und die Position der Sitze, die mit Belegungssensoren verknüpft sind, die angeben, dass Personen darauf sitzen, bestimmt werden. Falls der Benutzer beispielsweise fährt und die anderen Belegungssensoren nur Personen auf den Rücksitzen angeben, kann ein „Nein-”Ergebnis zurückgegeben werden, wohingegen falls der Beifahrerbelegungssensor angibt, dass eine Person darauf sitzt, ein „Ja-”Ergebnis zurückgegeben werden kann. Nur wenn abgeleitet wird, dass sich eine andere Person (wobei ihr Belegungssensor als Proxy verwendet wird) in der vorbestimmten Reichweite von dem spezifischen Benutzer befindet, wird ein „Ja-”Ergebnis zurückgegeben.
-
Falls die Entscheidung an der Raute 602 ein „Nein-”Ergebnis zurückgibt, kann die Logik mit Block 604 fortfahren, um eventuelle Sprachbefehle auszuführen, die über das Mikrofon des Gerätes empfangen werden, ohne zuerst den Empfang des Weckwortes zu benötigen. Falls dagegen ein „Ja-”Ergebnis an der Raute 602 zurückgegeben wird, kann sich die Logik zu Block 606 begeben, um die Ausführung von Sprachsignalen, die über das Mikrofon empfangen werden, als Befehle zu deaktivieren, wenn nicht ein vorbestimmtes Weckwort, das von dem Hersteller eingestellt oder von dem Benutzer während der Initialisierung eingerichtet werden kann, zuerst empfangen wird, und zwar typischerweise innerhalb eines vorbestimmten Prologzeitraums von beispielsweise mehreren Sekunden, bevor anschließende Sprachbefehle empfangen werden. Diese Sprachsignale können trotzdem aufgezeichnet werden, werden jedoch nicht als Befehle ausgeführt, wenn das Weckwort nicht innerhalb des Prologzeitraums empfangen wird.
-
Nun wird mit Bezug auf 7 in Block 700 ein Sensorsignal von einem Bewegungssensor, wie etwa dem zuvor beschriebenen Bewegungssensor, empfangen. Das Signal kann Informationen umfassen, dass sich ein oder mehrere Objekte in der Nähe des Sensors bewegt bzw. bewegen. An der Entscheidungsraute 702 wird bestimmt, ob das Signal angibt, dass mehrere Personen anwesend sind. Dies kann dadurch erfolgen, dass bestimmt wird, wie viele Objekte in Bewegung erfasst werden. Das Vorliegen von mehreren Objekten kann zu einem „Ja-”Ergebnis führen.
-
Bei einigen Ausführungsformen kann der Test ferner das Bestimmen, ob andere Objekte als der spezifische Benutzer vorhanden sind, umfassen. Bei einer derartigen Ausführungsform kann der Test ferner das Ableiten umfassen, ob sich eines der anderen Objekte in einer vorbestimmten Reichweite von dem spezifischen Benutzer befindet, beispielsweise indem eine absolute Größe der anderen Objekte oder eine relative Größe der anderen Objekte mit Bezug auf die Größe des Objekts des Benutzers bestimmt wird. Nur wenn abgeleitet wird, dass sich eine andere Person in der vorbestimmten Reichweite von dem spezifischen Benutzer befindet, wird ein „Ja-”Ergebnis zurückgegeben.
-
Falls die Entscheidung an der Raute 702 ein „Nein-”Ergebnis zurückgibt, kann die Logik mit Block 704 fortfahren, um eventuelle Sprachbefehle auszuführen, die über das Mikrofon des Gerätes empfangen werden, ohne zuerst den Empfang des Weckwortes zu benötigen. Falls dagegen ein „Ja-”Ergebnis an der Raute 702 zurückgegeben wird, kann sich die Logik zu Block 706 begeben, um die Ausführung von Sprachsignalen, die über das Mikrofon empfangen werden, als Befehle zu deaktivieren, wenn nicht ein vorbestimmtes Weckwort, das von dem Hersteller eingestellt oder von dem Benutzer während der Initialisierung eingerichtet werden kann, zuerst empfangen wird, und zwar typischerweise innerhalb eines vorbestimmten Prologzeitraums von beispielsweise mehreren Sekunden, bevor anschließende Sprachbefehle empfangen werden. Diese Sprachsignale können trotzdem aufgezeichnet werden, werden jedoch nicht als Befehle ausgeführt, wenn das Weckwort nicht innerhalb des Prologzeitraums empfangen wird.
-
Es sei zu beachten, dass andere Situationen als die zuvor beschriebenen verwendet werden können, um automatisch die Weckwort-Initialisierung der Sprachbefehlseingabe zu aktivieren und zu deaktivieren. Beispielsweise kann man an gewissen Tageszeiten (beispielsweise um Mitternacht) davon ausgehen, dass der Benutzer alleine anzufinden ist, wobei die Weckwort-Initialisierung deaktiviert wird und alle Sprachsignale, die von dem Gerät empfangen werden, als Sprachbefehle behandelt werden, ohne zuerst das Weckwort empfangen zu müssen. An anderen Tageszeiten (beispielsweise mittags) kann man davon ausgehen, dass der Benutzer in Begleitung anzufinden ist, wobei die Weckwort-Initialisierung für eine Sprachbefehlseingabe aktiviert wird.
-
Oder die Positionen, wie sie von dem GPS-Empfänger des Gerätes bestimmt werden, können verwendet werden, um automatisch die Weckwort-Initialisierung der Sprachbefehlseingabe zu aktivieren und zu deaktivieren. Beispielsweise können bestimmte Positionen, wie etwa Bürogebäude, bedeuten, dass der spezifische Benutzer nicht allein ist, wodurch die Weckwort-Initialisierung der Sprachbefehlseingabe aktiviert wird, wohingegen andere Positionen, wie etwa die Wohnung des spezifischen Benutzers, zu einem automatischen Deaktivieren der Weckwort-Initialisierung führen können, wobei alle Sprachsignale, die von dem Gerät empfangen werden, als Sprachbefehle behandelt werden, ohne zuerst das Weckwort empfangen zu müssen.
-
8 zeigt, dass der Benutzer die Wahl haben kann, die zuvor beschriebene situationsabhängige Weckwortaktivierung unter Verwendung einer Benutzerschnittstelle (UI) 800 anzunehmen oder nicht. Wie gezeigt, kann die UI 800 einen Nein-Auswahlschalter 802 umfassen, um die Verwendung der automatischen Weckwortaktivierung basierend auf der Situation abzulehnen. Die UI 800 kann auch einen Ja-Auswahlschalter 804 umfassen, um die Verwendung der automatischen Weckwortaktivierung basierend auf einer Situation, wie etwa einer der zuvor besprochenen Situationen, anzunehmen. Falls Ja ausgewählt wird, kann ein Indikator 806 den Benutzer auffordern, einen Initialisierungsparameter, wie etwa die Stimme oder ein Bild des Benutzers, für die zuvor beschriebenen Zwecke einzugeben.
-
Bevor zum Schluss gekommen wird, versteht es sich, dass obwohl eine Software-Anwendung zum Umsetzen der vorliegenden Grundsätze mit einem Gerät, wie etwa dem System 100, verkauft werden kann, die vorliegenden Grundsätze in Fällen anwendbar sind, bei denen eine derartige Anwendung von einem Server auf ein Gerät über ein Netzwerk, wie etwa das Internet, heruntergeladen wird. Ferner sind die vorliegenden Grundsätze in Fällen anwendbar, bei denen eine derartige Anwendung auf einem computerlesbaren Speichermedium enthalten ist, das verkauft und/oder bereitgestellt wird, wobei das computerlesbare Speichermedium kein transitorisches Signal und/oder ein Signal an sich ist.
-
Obwohl das spezielle SITUATIONSABHÄNGIGE AUFHEBEN EINES WECKWORTES ZUM AKTIVIEREN EINER SPRACHBEFEHLSEINGABE hierin ausführlich gezeigt und beschrieben wird, versteht es sich, dass der Gegenstand, der in der vorliegenden Anmeldung enthalten ist, nur durch die Ansprüche eingeschränkt ist.