[go: up one dir, main page]

DE102015203372A1 - Begriffsklärung dynamischer befehle - Google Patents

Begriffsklärung dynamischer befehle Download PDF

Info

Publication number
DE102015203372A1
DE102015203372A1 DE102015203372.4A DE102015203372A DE102015203372A1 DE 102015203372 A1 DE102015203372 A1 DE 102015203372A1 DE 102015203372 A DE102015203372 A DE 102015203372A DE 102015203372 A1 DE102015203372 A1 DE 102015203372A1
Authority
DE
Germany
Prior art keywords
computer
application
command
block
grammar
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.)
Pending
Application number
DE102015203372.4A
Other languages
English (en)
Inventor
Elizabeth Halash
Stefan Bankowski
Louis Vincent Bellanca
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.)
Ford Global Technologies LLC
Original Assignee
Ford Global Technologies 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 Ford Global Technologies LLC filed Critical Ford Global Technologies LLC
Publication of DE102015203372A1 publication Critical patent/DE102015203372A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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 OR CALCULATING; 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
    • 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/08Speech classification or search
    • G10L15/18Speech classification or search using natural language modelling
    • G10L15/183Speech classification or search using natural language modelling using context dependencies, e.g. language models
    • G10L15/19Grammatical context, e.g. disambiguation of the recognition hypotheses based on word sequence rules
    • 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
    • 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/26Speech to text systems
    • 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)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Multimedia (AREA)
  • Theoretical Computer Science (AREA)
  • Acoustics & Sound (AREA)
  • Computational Linguistics (AREA)
  • Artificial Intelligence (AREA)
  • General Health & Medical Sciences (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)
  • User Interface Of Digital Computer (AREA)
  • Devices For Executing Special Programs (AREA)
  • Input From Keyboards Or The Like (AREA)

Abstract

Eine erste Rechenvorrichtung registriert eine erste Grammatik, die in einem Festspeicher der ersten Rechenvorrichtung gespeichert ist und die eine Systemgrammatik der ersten Rechenvorrichtung ist. Die erste Rechenvorrichtung registriert weiterhin wenigstens eine mit einer in wenigstens einer zweiten Rechenvorrichtung gespeicherten Anwendung verbundene zweite Grammatik. Eine Eingabe kann einschließlich empfangen werden. Die erste Grammatik wird für den Befehl nach einer Bestimmung, dass die Eingabe als ein Befehl in jeder der ersten Grammatik und der zweiten Grammatik angegeben ist, ausgewählt.

Description

  • Eine erste Rechenvorrichtung kann zum Empfangen einer Eingabe einschließlich von durch die Rechenvorrichtung und/oder eine oder mehrere zweite Rechenvorrichtungen auszuführenden Befehlen eingerichtet sein. Jedoch können Befehle, die durch die erste Rechenvorrichtung und eine oder mehrere der zweiten Rechenvorrichtungen empfangen werden zusammenstoßen oder in Konflikt geraten. Leider mangelt es an Mechanismen zum Behandeln solcher Konflikte. In der Tat mangelt es allgemein an Mechanismen zum Behandeln, z.B. Priorisieren von widersprüchlichen Grammatiken.
  • 1 ist ein Blockschaltbild eines beispielhaften Systems zum Verwalten mehrerer Vorrichtungen.
  • 2 ist ein Diagramm eines beispielhaften Verfahrens zur Begriffsklärung von in einer zentralen Rechenvorrichtung empfangenen Befehlen.
  • 3 ist ein Diagramm eines beispielhaften Verfahrens zum Registrieren einer Anwendungsgrammatik in einem zentralen Computer, der zum Verwalten mehrerer Vorrichtungen eingerichtet ist.
  • 4 ist ein Diagramm eines beispielhaften Verfahrens zum Auswählen einer Vorrichtung zum Ausführen eines in einem zentralen Computer empfangenen Befehls, der zum Verwalten mehrerer Vorrichtungen eingerichtet ist.
  • 5 ist ein Diagramm eines beispielhaften Verfahrens zum Auswählen einer Instanz einer Anwendung zum Ausführen eines in einem zentralen Computer empfangenen Befehls, der zum Verwalten mehrerer Vorrichtungen eingerichtet ist.
  • 1 ist ein Blockschaltbild eines beispielhaften Systems 100 zum Verwalten mehrerer Vorrichtungen 150, die kommunikationstechnisch an einen zentralen Computer 105 angekoppelt sind. Die Vorrichtungen 150 sind allgemein in der Nähe voneinander, z.B. enthalten an einem gemeinsamen Ort wie beispielsweise in einem Raum in einem Gebäude oder wie in einer beispielhaften Ausführung in einem Fahrzeug 101. Beispielsweise sind in einer beispielhaften Ausführung die Vorrichtungen 150 alle genügend nahe an dem zentralen Computer 105, so dass leistungsarme drahtlose Kommunikationen zwischen den Vorrichtungen 150 und dem Computer 105 möglich sind, z.B. unter Verwendung einer bekannten Technik wie beispielsweise Bluetooth oder dergleichen.
  • Der Computer 105 umfasst allgemein eine Mensch-Maschine-Schnittstelle (HMI – Human Machine Interface) 110 zum Bereitstellen einer Ausgabe, z.B. Text, Bildern, Ton usw. für einen Benutzer wie auch zum Empfangen einer Benutzereingabe, z.B. über Sprachbefehl, Auswahl an einer Eingangsvorrichtung wie beispielsweise einem Tastschirm usw. In einer beispielhaften Ausführung wird von einem Benutzer eine wörtliche Eingabe, d.h. Ton-Eingabe über die HMI 110 dem Computer 105 bereitgestellt. Eine durch einen Prozessor des Computers 105 ausgeführte Sprachsteuerungsanwendung (VCA – Voice Control Application) 115 erkennt und interpretiert die wörtliche Eingabe gemäß einer Systemgrammatik 120 und/oder einer oder mehreren Anwendungsgrammatiken 125.
  • Jedoch können verschiedene Grammatiken 120, 125 ähnliche oder gleiche Wörter und/oder zum Bereitstellen von Befehlen für den Computer 105, eine oder mehrere Vorrichtungen 150 und/oder eine oder mehrere auf einer Rechenvorrichtung 105 oder 150 ablaufende Anwendungen benutzte Ausdrücke umfassen. Dementsprechend kann der Computer 105 wie unten ausführlich beschrieben zum Identifizieren von Anwendungsgrammatiken 125 und zum Auflösen von Konflikten zwischen der Systemgrammatik 120 des Computers 105 und einer oder mehreren Anwendungsgrammatiken 125 wie auch Konflikten, die zwischen Anwendungsgrammatiken 125 entstehen können, eingerichtet sein. Weiterhin kann der Computer 105 in dem Falle, wo ein Befehl in mehreren Grammatiken 120, 125 enthalten ist, zum Identifizieren einer Vorrichtung 150 eingerichtet sein, an die der Befehl zu richten ist.
  • Ein zentraler Computer 105, z.B. in einem Fahrzeug 101 enthalten, umfasst allgemein einen Prozessor und einen Speicher, wobei der Speicher eine oder mehrere Formen von computerlesbaren Medien umfasst, allgemein umfassend flüchtige und nichtflüchtige Speicher und das Speichern von Anweisungen, die durch den Prozessor zum Durchführen verschiedener Operationen, einschließlich wie hier offenbart, ausführbar sind. Der Speicher des Computers 105 speichert weiterhin allgemein Anweisungen, die durch den Prozessor des Computers 105 ausführbar sind, umfassend die VCA 115. Zusätzlich umfasst der Speicher des Computers 105 allgemein eine Systemgrammatik 120 wie auch eine oder mehrere Anwendungsgrammatiken 125 für eine oder mehrere im Computer 105 enthaltene Anwendungen. Zusätzlich kann der Speicher des Computers 105, z.B. ein flüchtiger oder nicht dauerhafter oder nicht beständiger Speicher, eine oder mehrere von einer oder mehreren Vorrichtungen 150 empfangene Anwendungsgrammatiken 125 speichern.
  • Dementsprechend ist der Computer 105 wie weiter unten beschrieben zum Empfangen der einen oder mehreren Anwendungsgrammatiken 125, zum Bestimmen, ob die Grammatiken 120, 125 in Konflikt stehen und/oder zum Auflösen von Konflikten, die entstehen, wenn der Computer 105 einen Befehl empfängt, z.B. über die HMI 110 interpretiert durch die VCA 115, wo der Befehl nach mehr als einer der Grammatiken 120, 125 interpretiert werden kann, eingerichtet.
  • Der Computer 105 ist allgemein für Kommunikationen auf einem CAN-Bus (CAN – Steuerungsbereichsnetz) oder dergleichen eingerichtet. Zusätzlich kann der Computer 105 zum Kommunizieren mit einer oder mehreren Vorrichtungen 150, z.B. über verschiedene drahtgebundene und/oder drahtlose Vernetzungstechniken wie beispielsweise Bluetooth, ein USB- oder Mikro-USB-Kabel (USB = Universal Serial Bus) usw., eingerichtet sein. Weiterhin kann der Computer 105 die HMI 110 umfassen oder daran angekoppelt sein.
  • Im Allgemeinen empfängt die HMI 110 eine dem Computer 105 bereitgestellte Eingabe und zeigt eine Ausgabe an. Eine HMI 110 kann eine Vielzahl von Mechanismen umfassen, z.B. eine Eingangsvorrichtung wie beispielsweise einen Tastschirm, eine Tastatur, ein Tastenfeld, ein Mikrofon usw. Weiterhin umfasst eine HMI 110 allgemein Ausgangsmechanismen wie beispielsweise einen Anzeigebildschirm, Lautsprecher usw.
  • Die VCA 115 kann zum Interpretieren oder Decodieren von Tönen zum Identifizieren von Phonemen oder dergleichen benutzt werden, und Wörtern daraus, die ein Befehl oder Befehle für auf dem Computer 105 und/oder einer oder mehreren Benutzervorrichtungen 150 ausgeführte Softwareanwendung sein können. Im Allgemeinen wird die VCA 115 zusammen mit einem Ereignismonitor oder dergleichen zum Erkennen und Empfangen einer Toneingabe als ein fortlaufender oder Hintergrundvorgang im Computer 105 betrieben. Das heißt es sind Mechanismen zum Erkennen und Parsing, Interpretieren oder Decodieren einer Toneingabe bekannt.
  • Sobald die VCA 115 ein Wort oder dem Computer 105 als Befehl bereitgestellte Wörter bestimmt hat, kann eine Grammatik 120, 125 zum Bestimmen einer zu unternehmenden Handlung basierend auf dem Befehl benutzt werden. Beispielhafte Daten, die in einer Grammatik 120, 125 enthalten sein können, sind unten in Tabelle 1 bzw. 2 gezeigt. Beispiele einer zum Interpretieren eines Befehls benutzten Grammatik 120, 125 umfassen einen Befehl, der interpretiert wird, die Ausführung einer bestimmten Anwendung auf einer bestimmten Vorrichtung 150 zum Unternehmen einer Handlung über den Computer 105 zu veranlassen, z.B. einen Telefonanruf zu tätigen, eine Funkstation zu ändern, die Klimasteuerung eines Fahrzeugs 101 einzustellen, eine Anwendung einzusetzen usw. Weiterhin kann wie oben besprochen ein Befehl in mehreren Grammatiken 120, 125 dupliziert sein, wobei der Computer 105 eingerichtet ist zum Bestimmen, welche der möglichen Grammatiken 120, 125 anzuwenden ist, zum Bestimmen einer zu unternehmenden Handlung basierend auf dem Befehl.
  • Im Allgemeinen umfasst der Begriff „Grammatik“ so wie er hier benutzt wird eine Definition eines Satzes zulässiger Befehle für eine Softwareanwendung, wie beispielsweise eine auf einer Vorrichtung 150 ausgeführte Anwendung oder eine auf dem Computer 105 ausgeführte Hintergrund- oder Überwachungsanwendung, die z.B. eine Eingabe, z.B. Sprachbefehle, über die HMI 110 empfängt und durch die VCA 115 interpretiert wird. Dementsprechend kann eine Grammtik 120, 125 einen Satz Regeln zum Parsen von Sprachbefehlen und zum Zuweisen eines Sprachbefehls zu einer Handlung in einer Computersoftware umfassen, z.B. zum Realisieren einer Anwendung, zum Unternehmen einer Handlung, z.B. in einer Musikanwendung zum Spielen, Aussetzen, Wiederaufnehmen usw. In einigen Fällen können Regeln in einer Grammatik 120 einfach einen Satz Befehle, z.B. Einzelwörter oder Ausdrücke, und jeweilige mit jedem der Befehle verbundene Handlungen identifizieren. Kompliziertere Grammatiken sind möglich, z.B. wo eine Regel angibt, dass ein erstes Wort eine erste Bedeutung bezeichnet, z.B. einer ersten Handlung zugeordnet ist, wenn ihm ein zweites Wort folgt, und eine zweite Bedeutung bezeichnet, z.B. mit einer zweiten Handlung verbunden ist, wenn ihm ein drittes Wort folgt.
  • Die Systemgrammatik 120 ist allgemein in einem dauerhaften und/oder nichtflüchtigen Speicher des Computers 105 gespeichert. Die Systemgrammatik 120 wird zum Bestimmen einer in oder durch den Computer 105 zu unternehmenden Handlung oder von Handlungen basierend auf gewissen Befehlen wie angegeben in der Grammatik 120 benutzt. Die Grammatik 120 wird als eine Systemgrammatik 120 bzw. „Systemebene“ bezeichnet, da sie Befehle, die auf ein Betriebssystem, eine Hintergrundereignisbearbeitungseinrichtung oder dergleichen angewandt werden, betrifft, die auf dem Computer 105 ablaufen, gegenüber einer Anwendung oder Anwendungen die auf dem Computer 105 und/oder einer oder mehreren Vorrichtungen 150 ablaufen. Gewisse der Befehle in einer Grammatik 120 können für die Grammatik 120 reserviert sein. Das heißt wenn ein Befehl in einer Grammatik 120 reserviert ist, selbst wenn dieser Befehl in einer Grammatik 125 für eine Anwendung erscheint, wird der Befehl als ein Befehl auf Systemebene für den Computer 105 ausgelegt.
  • Eine Anwendungsgrammatik 125 kann in Anweisungen und/oder Daten enthalten sein, die eine in einer Vorrichtung 150 oder dem Computer 105 gespeicherte und darauf ausgeführte Anwendung umfassen. Dementsprechend betrifft eine Anwendungsgrammatik 125 eine auf dem Computer 105 oder einer Vorrichtung 150 ausgeführte einzige Anwendung. Eine Anwendungsgrammatik 125 oder ein Teil derselben kann für den Computer 105 bereitgestellt werden, wodurch der Computer 105 bestimmen kann, wann Befehle in der Anwendungsgrammatik 125 aufgerufen werden, und kann Konflikte lösen, die zwischen der Systemgrammatik 120 und einer Anwendungsgrammatik 125 entstehen können, oder zwischen einer ersten Anwendungsgrammatik 125 und einer oder mehreren zweiten Anwendungsgrammatiken 125.
  • Dementsprechend speichert zusätzlich zum Speichern von Grammatiken 120, 125 ein Speicher des Computers 105 allgemein Regeln zum Auswählen einer Vorrichtung und/oder Anwendung zum Empfangen eines Befehls und zum Priorisieren und/oder Auflösen von Konflikten zwischen Vorrichtungen, Anwendungen und/oder Grammatiken 120, 125. Beispiele von zum Angeben solcher Regeln benutzten Daten sind unten in Tabellen 1–4 bereitgestellt.
  • Eine Benutzervorrichtung 150 kann eine beliebige einer Vielzahl von Rechenvorrichtungen sein, einschließlich eines Prozessors und eines Speichers wie auch von Kommunikationsfähigkeiten. Beispielsweise kann die Benutzervorrichtung 150 ein tragbarer Computer, Tabletcomputer, intelligentes Telefon usw. sein, der bzw. das Fähigkeiten für drahtgebundene oder drahtlose Kommunikationen beispielsweise unter Verwendung von IEEE 802.11, Bluetooth und/oder Zellularfunkkommunikationsprotokollen, USB (Universal Serial Bus), Mikro-USB usw. umfasst. Weiterhin kann die Benutzervorrichtung 150 solche Kommunikationsfähigkeiten zum Kommunizieren über das Netz 120 und auch direkt mit dem Fahrzeugcomputer 105, z.B. unter Verwendung von Bluetooth benutzen.
  • Wie oben erwähnt können eine oder mehrere computerlesbare Medien, z.B. flüchtige und/oder nichtflüchtige, dauerhafte und/oder nichtdauerhafte usw. durch den Computer 105 zum Speichern verschiedener Daten benutzt werden. Beispielsweise kann der Computer 105 Grammatiken 120, 125 speichern.
  • Ein Teil einer beispielhaften Grammatik 120 wird unten in der Tabelle 1 bereitgestellt.
    Befehls-ID Befehl Erläuterung
    1 „Wähle <10-ziffrige Telefonnummer> Wählen einer angeforderten Telefonnummer mit einer mit dem Computer 105 verbundenen Telefonvorrichtung 150
    2 „Radio aus” Ein durch den Computer 105 gesteuertes Radio ausschalten
    3 „Navigieren zu <Straßenadresse>” Einen Weg zu der angegebenen Straßenadresse in einem im Computer 105 enthaltenen Navigationsmodul bestimmen
    4 „<Anwendungsname>” Eine Anwendung mit dem angegebenen Namen aktivieren
    5 „<Anwendungsname> verlassen Ausführung einer Anwendung mit dem angegebenen Namen beenden
    Tabelle 1
  • Ein Teil einer beispielhaften Grammatik 125 wird unten in Tabelle 2 bereitgestellt.
    Befehls-ID Befehl Erläuterung
    10 Spiele <Liedername> Lied mit dem erwünschten Namen spielen
    11 „Pause” Wiedergabe von Toninhalt anhalten
    12 „Letzte Spur” Wiedergabe einer vorigen Spur
    13 „Nächste Spur” Wiedergabe einer nächsten Spur
    Tabelle 2
  • Der Computer 105 kann Anwendungen verfolgen, die im Computer 105 und/oder einer oder mehreren Vorrichtungen 150 ausgeführt werden können. Die Tabelle 3 unten stellt ein Beispiel von Daten bereit, die durch einen Computer 105 zum Kennzeichnen und Verfolgen von Anwendungen geführt werden können.
    Anw. ID Anw.- Name Anw.- Zustand Grammatik-ID Vorr.- Name
    175 Verkehr 1 17 Lous.-Tel.
    245 Pandora 1 231 Stefans- iPOD
    242 Slacker 2 323 Bobs-USB
    239 Wetter 1 6543 Eds-iPOD
    240 Stitcher 2 2314 Meine Vorr.
    241 BioCycle 2 NULL Meine Vorr.
    246 Pandora 1 231 Zentral rechner
    Tabelle 3
  • Die Anw.-ID-Spalte stellt eine Kennung für jede registrierte Anwendung bereit, wobei die Anw.-Name-Spalte den Namen jeder jeweiligen Anwendung bereitstellt. Man beachte, dass ein Anwendungsname wiederholt werden kann, da eine gleiche Anwendung auf mehr als einer Vorrichtung 150 und/oder dem Zentralrechner 105 und einer oder mehreren Vorrichtungen 150 enthalten sein kann. Die Grammatik-ID, d.h. Grammatikkennung, stellt eine Kennung für die Systemgrammatik 120 oder eine Anwendungsgrammatik 125 bereit. Dementsprechend könnte eine weitere Tabellen- oder Datenstruktur im Computer 105 jeweilige Grammatikkennungen mit Tabellen oder anderen Datenstrukturen verbinden, die jeweilige Grammatiken 120, 125 speichern. Im Allgemeinen können Daten wie in der Tabelle 3 gezeigt dementsprechend zum Kennzeichnen möglicher Grammatiken 120, 125 benutzt werden, die aufzurufen sind, wenn ein Befehl, z.B. zum Aktivieren einer Anwendung oder zum Durchführen irgendeiner Operation im Computer 105 oder einer Vorrichtung 150, z.B. über eine Anwendung, empfangen wird.
  • Der Computer 105 kann weiterhin Daten speichern, die einen Zustand einer Anwendung hinsichtlich einer Benutzeroberfläche widerspiegeln, z.B. der HMI 110. Beispielsweise könnte der Computer 105 im Speicher eine Tabelle mit einer Anw.-ID-Spalte führen, z.B. der in Tabelle 3 oben gezeigten Anw.-ID, wodurch der Computer 105 einen in einer Anwendungstabelle oder Datenstruktur gezeigten Anwendungszustand mit einer Anwendung verbinden könnte, über die Daten in einer Tabelle oder in Datenstrukturen wie in der Tabelle 3 gezeigt geführt werden. Weiterhin könnte der Computer 105 eine Spalte umfassen, die einen „HMI-Pegel“ oder „HMI-Zustand“ oder dergleichen anzeigt, d.h. eine Anw.-ID mit einem HMI-Pegel verbindet. Die Tabelle 4 unten stellt ein Beispiel einer HMI-Pegel-Tabelle bereit.
    Anw.-ID HMI- Pegel
    175 3
    245 2
    242 0
    239 1
    240 1
    241 0
    Tabelle 4
  • Im Allgemeinen könnte ein HMI-Pegel oder -Zustand einen beliebigen einer Vielzahl von Werten aufweisen, z.B. in einer Ausführung bedeutet ein Wert 0 oder nein, dass ein Anwendung nicht gestartet oder aktiviert worden ist, z.B. überhaupt nicht im Computer 105 oder einer Vorrichtung 150 läuft. Ein Wert 1 könnte bedeuten, dass die Anwendung im Hintergrund läuft, d.h. gestartet worden ist, aber weder eine Eingabe empfängt noch eine Ausgabe über die HMI 110 liefert. Ein Wert 2 könnte bedeuten, dass die Anwendung einen begrenzten Zustand aufweist, z.B. begrenzte Ausgabe wie beispielsweise Ton liefert aber keine Ausgabe auf einem Anzeigebildschirm der HMI 110, oder wenn eine Ausgabe auf dem Anzeigebildschirm der HMI 110 bereitgestellt wird, ist die Ausgabe auf eine Statusleiste, eine Ikone oder dergleichen begrenzt. Ein Wert 3 könnte bedeuten, dass die Anwendung einen vollen oder hochwertigen Zustand aufweist, z.B. Ausgabe über mehrere Mechanismen der HMI 110 bereitstellt, z.B. Bild und Ton. In einer Ausführung nur eine Anwendung zu einer Zeit sie auf einem „vollen“ Pegel sein und gleicherweise kann nur eine Anwendung zu jeder Zeit auf einem „begrenzten“ Pegel sein, während mehrere Anwendungen auf einem „Hintergrund“-Pegel sein könnten. Es ist jedoch auch möglich, dass mehrere Anwendungen zu einer Zeit auf einem begrenzten Pegel liegen oder sogar mehrere Anwendungen auf einem vollen Pegel zu einer Zeit liegen.
  • 2 ist ein Diagramm eines beispielhaften Verfahrens 200 zur Begriffsklärung von in einer zentralen Rechenvorrichtung empfangenen Befehlen. Das Verfahren 200 beginnt in einem Block 205, in dem der Computer 105, z.B. wenn er eingeschaltet wird, bestimmt, ob eine oder mehrere Vorrichtungen 150 erkannt werden. Zum Beispiel, wie oben erwähnt, könnte eine Bluetooth-Verbindung oder dergleichen erkannt werden und/oder es kann eine Vorrichtung 150 physikalisch, z.B. über eine USB- oder Mikro-USB-Verbindung oder dergleichen, mit dem Computer 105 verbunden werden.
  • Wenn keine Vorrichtungen 150 erkannt werden, dann endet das Verfahren 200. Ansonsten schreitet das Verfahren 200 zu einem Block 210 fort.
  • Im Block 210 registriert der Computer 105 jede der im Block 205 erkannten Vorrichtungen. Beispielsweise kann der Computer 105 eine Tabelle oder sonstige Datenstruktur führen, die erkannte Vorrichtungen 105 identifizieren, unter Verwendung einer Vorrichtungskennung, wie beispielsweise eines Vorrichtungsnamens wie in Tabelle 3 oben gezeigt usw. Weiterhin bestimmt der Computer 105 allgemein eine Anwendung oder Anwendungen, die auf jeder Vorrichtung 150 ablaufen und/oder zum Ablaufen verfügbar sind. Eine solche Bestimmung umfasst allgemein Erlangen eines Anwendungsnamens, der zusammen mit einer durch den Computer 105 erzeugten einmaligen oder im Wesentlichen einmaligen Kennung, wie oben in Tabelle 3 gezeigt, gespeichert werden kann. Das Verfahren 200 schreitet dann zu einem Block 215 fort.
  • Im Block 215 speichert der Computer 105 Daten bezüglich registrierter Vorrichtungen und/oder Anwendungen, wie oben hinsichtlich der Blöcke 205, 210 besprochen. Beispielsweise wird eine Grammatik 120 dauerhaft im Computer 105 gespeichert, wie oben besprochen, aber eine oder mehrere Grammatiken 125 können dem Computer 105 bereitgestellt werden, z.B. im Block 210, basierend wenigstens teilweise auf einer im Block 205 identifizierten Vorrichtung oder Vorrichtungen 150. Dementsprechend kann eine oder können mehrere Grammatiken 125 registriert und mindestens teilweise in einem Speicher des Computers 105 basierend auf einer Vorrichtung oder Vorrichtungen 150 und/oder Anwendungen auf einer jeweiligen Vorrichtung 150 gespeichert werden. Weiterhin kann der Computer 105 Daten betreffs Vorrichtungen 150, jeweilige Anwendungen darauf, Grammatiken 120, 125 jeweils anwendbar auf Anwendungen auf den Computer 105 oder einer Vorrichtung 150 usw., z.B. wie oben in Tabelle 3 dargestellt, speichern. 3, unten ausführlich besprochen, zeigt einen beispielhaften Vorgang 300, mit dem Elemente einer Grammatik 125 durch den Computer 105 registriert werden können.
  • Im Block 220 wartet der Computer 105 auf einen Befehl über die HMI 110, z.B. einen Sprachbefehl. Die VCA 115 kann als Hintergrundverfahren im Computer 105 ablaufen, das überprüft, um zu bestimmen, ob ein Sprachbefehl empfangen wird, und den Befehl interpretiert, z.B. unter Verwendung bekannter Spracherkennungsverfahren wie oben beschrieben. Dementsprechend bestimmt im Block 225 der Computer 105, ob ein Befehl empfangen worden ist. Wenn nicht, dann schreitet das Verfahren 200 zu einem Block 230 fort. Wenn ja, dann schreitet das Verfahren 200 zu einem Block 235 fort.
  • Im Block 230 bestimmt der Computer 105, ob das Verfahren 200 fortgeführt werden sollte. Beispielsweise könnte das Verfahren 200 abgeschlossen werden, da der Computer 105 ausgeschaltet wird, da keine Vorrichtungen 150 erkannt werden usw. Wenn das Verfahren 200 nicht fortgeführt werden sollte, dann endet das Verfahren 200. Ansonsten kehrt das Verfahren 200 zum Block 220 zurück. Es ist zu beachten, dass der Computer 105 eine zusätzliche Vorrichtung 150 erkennen könnte, in welchem Fall das Verfahren 200 zum Block 210 zurückkehren könnte, obwohl nicht in 2 dargestellt. Weiterhin könnte der Computer 105 erkennen, dass eine vorher erkannte Vorrichtung 150 nicht länger erkannt wurde, in welchem Fall der Computer 105 die nicht länger erkannte Vorrichtung 150 wie auch Aufzeichnungen von Anwendungen darauf und zugehörige Grammatiken 125 aus Daten entfernen könnte, die wie oben beschrieben gespeichert wurden.
  • Der Block 235 kann dem Block 225 folgen. Im Block 235 bestimmt der Computer 105, ob ein Konflikt, z.B. eine Zweideutigkeit, hinsichtlich des Empfangenen Befehls besteht. Zum Beispiel kann der empfangene Befehl Ausführung einer auf mehr als einer Vorrichtung 150 oder auf dem Computer 105 und wenigstens einer Vorrichtung 150 gefundenen Anwendung anfordern. Weiterhin kann beispielsweise der empfangene Befehl in mehr als einer Grammatik 120, 125 gefunden werden. Dementsprechend muss der Computer 105, ehe der empfangene Befehl ausgeführt werden kann, eine Vorrichtung 150 bestimmen, auf der der Befehl auszuführen ist und/oder eine Grammatik 120, 125, nach der der Befehl auszuführen ist. Man beachte, dass in einigen Ausführungen gewisse Befehle durch eine Grammatik 120 des Computers 105 reserviert sein können, wodurch, selbst wenn ein solcher Befehl Zweideutigkeit darstellt, die Zweideutigkeit vom Computer 105 außerachtgelassen wird und eine Grammatik 120 befolgt wird. In jedem Fall wird, wenn eine Zweideutigkeit hinsichtlich des empfangenen Befehls besteht, ein Block 240 als Nächstes ausgeführt. Ansonsten schreitet das Verfahren 200 zu einem Block 245 fort.
  • In einem Block 240, der dem Block 235 folgen kann, wird der empfangene Befehl vom Computer 105 disambiguiert. Beispielhafte Verfahren, mit denen ein Befehl disambiguiert werden kann, werden unten hinsichtlich der 3, 4 und 5 besprochen.
  • Nach dem Block 235 oder dem Block 240 veranlasst der Computer 105 in einem Block 245 die Ausführung des empfangenen Befehls. Beispielsweise kann der Befehl einer zutreffenden Vorrichtung 154 zur Ausführung in einer Anwendung, zur Realisierung einer Anwendung usw. bereitgestellt werden. Alternativ kann der Befehl einer Prozessoranwendung im Computer 105 bereitgestellt werden. Nach dem Block 245 kehrt das Verfahren 200 zum Block 230 zurück.
  • 3 ist ein Diagramm eines beispielhaften Verfahrens 300 zum Registrieren einer Anwendungsgrammatik im zentralen Computer 105, der zum Verwalten mehrerer Vorrichtungen 105 eingerichtet ist. Das Verfahren 300 beginnt in einem Block 305, in dem ein Element der Grammatik 125 gegen die Systemgrammatik des Computers 105 und eine oder mehrere andere Grammatiken 125 von anderen Vorrichtungen 105, sofern vorhanden, überprüft wird.
  • Als Nächstes bestimmt der Computer 105 in einem Block 310, ob irgendein Konflikt oder eine Zweideutigkeit zwischen dem in Block 305 überprüften Element der Grammatik 125 und irgendeiner anderen Grammatik 120, 125 besteht. Beispielsweise kann das Element ein Befehl sein, der auch in einer anderen Grammatik 120, 125 erscheint, kann ein Name einer Anwendung auf mehreren Vorrichtungen 125 sein usw. In jedem Fall schreitet das Verfahren 300, wenn kein Konflikt erkannt wird, zu einem unten besprochenen Block 325 fort. Wenn jedoch ein Konflikt oder eine Zweideutigkeit erkannt wird, dann wird ein Block 315 als Nächstes ausgeführt. Im Block 315 bestimmt der Computer 105, ob der erkannte Konflikt aufgelöst werden kann. Wenn beispielsweise ein Wort oder Ausdruck in einer Grammatik 125 mit einem reservierten Wort oder Ausdruck in der Systemgrammatik 120 des Computers 105 in Konflikt steht, dann kann der Konflikt nicht aufgelöst werden. Anders gesagt ist ein Wort oder Ausdruck in einer Grammatik 125, der einem Wort oder Ausdruck in einer Systemgrammatik 120 entspricht, nicht zulässig und kann vom Computer 105 nicht in Betracht gezogen werden, wenn eine Eingabe empfangen wird, z.B. über die VCA 115.
  • Wenn der Konflikt nicht aufgelöst werden kann, dann wird als Nächstes der Block 320 ausgeführt. Ansonsten wird ein Block 330 als Nächstes ausgeführt.
  • Im Block 320 wird der widersprüchliche Befehl aus der Grammatik 125 vom Computer 105 zurückgewiesen. Beispielsweise kann der Computer 105 den Befehl einfach nicht registrieren oder erkennen. Nach dem Block 320 schreitet das Verfahren 300 zu einem Block 325 fort.
  • Im Block 325 bestimmt der Computer 105, ob die überprüfte Grammatik 125 weitere Elemente aufweist, z.B. für Befehle benutzte, zu überprüfende Wörter oder Ausdrücke. Wenn ja, dann kehrt das Verfahren 300 zum Block 305 zurück. Ansonsten endet das Verfahren 300 nach dem Block 325.
  • Im Block 330, der dem oben beschriebenen Block 315 folgen kann, registriert der Computer 105, nachdem er im Block 315 bestimmt hat, dass ein Konflikt, der im Block 315 erkannt wurde, aufgelöst werden könnte, den Befehl. Beispielsweise könnte der Befehl in einem Speicher des Computers 105 wie hinsichtlich der einen oder mehreren obigen Tabellen beschrieben gespeichert werden. Nach dem Block 330 schreitet das Verfahren 300 zum Block 325 fort.
  • 4 ist ein Diagramm eines beispielhaften Verfahrens 400 zum Auswählen einer Vorrichtung zum Ausführen eines Befehls empfangen in einem zentralen Computer, der zum Verwalten mehrerer Vorrichtungen eingerichtet ist. Das Verfahren 400 beginnt in einem Block 405, wenn der Computer 105 einen Befehl empfängt, von dem bestimmt wird, dass er Zugang zu einer Anwendung mit Instanzen auf mehreren jeweiligen Vorrichtungen 150 und/oder dem Computer 105 anfordert. Beispielsweise könnte der Computer 105 einen Befehl für „Pandora“ empfangen, wo eine Anwendung dieses Namens auf dem Computer 105 wie auch einer Vorrichtung 150 enthalten ist. Gleicherweise könnte die Anwendung „Pandora“ auch auf zwei, drei usw. Vorrichtungen 150 enthalten sein.
  • Als Nächstes fordert der Computer 105 in einem Block 410 eine Benutzereingabe betreffs welche Instanz der angeforderten Anwendung angesteuert werden sollte, allgemein welche Rechenvorrichtung 105, 150 angesteuert werden sollte, an.
  • Beispielsweise könnte der Computer 105 eine Tonnachricht bereitstellen, die den Benutzer bittet, einen Namen der Vorrichtung auszusprechen, eine Nummer für jeweilige Vorrichtungen auszusprechen usw. Alternativ oder zusätzlich könnte der Computer 105 eine Liste von Vorrichtungen auf einem Tastbildschirm oder dergleichen zur Benutzerauswahl anzeigen, z.B. wie in Tabelle 5 gezeigt; eine solche Auswahl könnte durch Aussprechen eines Namens oder einer Nummer der Vorrichtung wie oben erläutert stattfinden, oder durch Berühren eines Namens oder einer Nummer der gewünschten Vorrichtung.
    Vorrichtungs- Nr. Name
    1 Fahrzeugcomputer
    2 Bobs iPod
    3 Marys Android-Telefon
    4 Jills iPad
  • Nach dem Block 410 bestimmt der Computer 105 in einem Block 415, ob die im Block 410 angeforderte Eingabe empfangen worden ist, z.B. kann der Computer 105 mit einer Zeitsperre (Timeout) oder dergleichen konfiguriert sein, z.B. 15 Sekunden, 30 Sekunden, 1 Minute usw., in der erwartet wird, dass ein Benutzer die Eingabe bereitstellt. Wenn die Eingabe nicht empfangen wird, z.B. bei einer beliebigen Zeitsperrendauer, dann schreitet das Verfahren 400 zu einem Block 420 fort. Ansonsten wird eine Eingabe empfangen, die eine Vorrichtung angibt, auf der eine Anwendung angesteuert werden soll, und das Verfahren 400 schreitet zu einem Block 425 fort.
  • Im Block 420 trifft der Computer 105 eine Vorgabeauswahl einer Rechenvorrichtung 105, 150, auf der eine Anwendung anzusteuern ist. Beispielsweise kann der Computer 105 sich selbst als Vorgabeauswahl verwenden. Alternativ oder zusätzlich kann ein Benutzer eine nach Vorgabe zu benutzende Vorrichtung 150 angeben. In jedem Fall schreitet das Verfahren 400 nach dem Block 420 zu einem Block 425 fort.
  • Im Block 425 stellt der Computer 105 einen Befehl zum Ansteuern der angeforderten Anwendung einer in einem der Blöcke 415, 420, wie oben beschrieben angegebenen Vorrichtung bereit. Nach dem Block 425 endet das Verfahren 400.
  • 5 ist ein Diagramm eines beispielhaften Verfahrens 500 zum Auswählen einer Instanz einer Anwendung zum Ausführen eines Befehls, der in einem zentralen Computer empfangen wurde, der zum Verwalten mehrerer Vorrichtungen eingerichtet ist. Das Verfahren 500 beginnt in einem Block 505, in dem der Computer 105 einen Befehl empfängt, z.B. über die HMI 110 in der VCA 115, wie oben beschrieben.
  • Als Nächstes bestimmt der Computer 105 in einem Block 510, ob der im Block 505 empfangene Befehl für mehrere Anwendungen auf einer oder mehreren Rechenvorrichtungen 105, 150 registriert ist. Wenn nicht, dann endet das Verfahren 500. Ansonsten schreitet die Steuerung zu einem Block 515 fort.
  • Im Block 515 identifiziert der Computer 105 eine Anwendung zum Empfangen des Befehls. Zum Beispiel kann der Computer 105 eine Tabelle oder sonstige Datenstruktur ähnlich der oben hinsichtlich der Tabelle 4 dargestellten benutzen. Das heißt nachdem der Computer 105 zwei oder mehr den Grammatiken 120, 125 zugeordnete Anwendungen, einschließlich des angeforderten Befehls, identifiziert hat, priorisiert er die zwei oder mehr Anwendungen. Beispielsweise kann ein HMI-Zustand oder -Pegel oder dergleichen, wie oben betreffs der Tabelle 4 besprochen, für jede Anwendung identifiziert werden. Eine Anwendung mit einem HMI-Pegel mit der höchsten Priorität kann dann zum Empfangen des Befehls ausgewählt werden.
  • Als Nächstes sendet der Computer 105 in einem Block 520 den im Block 505 angeforderten Befehl zu der im Block 510 bestimmten Anwendung, z.B. im Computer 105 oder einer Vorrichtung 150. Nach dem Block 520 endet das Verfahren 500.
  • Rechenvorrichtungen, wie die hier besprochenen, umfassen allgemein jeweils durch eine oder mehrere Rechenvorrichtungen, wie die oben identifizierten, ausführbare Anweisungen, und zum Ausführen von Blöcken oder Schritten von oben beschriebenen Verfahren. Beispielsweise können oben besprochene Prozessblöcke als computerausführbare Anweisungen ausgeführt sein.
  • Computerausführbare Anweisungen können aus Computerprogrammen zusammengestellt oder interpretiert werden, die unter Verwendung einer Vielzahl von Programmierungssprachen und/oder -techniken erstellt worden sind, einschließlich ohne Begrenzung von und entweder für sich oder in Kombination Java™, C, C++, Visual Basic, Java Script, Perl, HTML usw. Im Allgemeinen empfängt ein Prozessor (z.B. ein Mikroprozessor) Anweisungen, z.B. aus einem Speicher, einem computerlesbaren Medium usw. und führt diese Anweisungen aus, wodurch er ein oder mehrere Verfahren durchführt, einschließlich eines oder mehrerer der hier beschriebenen Verfahren. Solche Anweisungen und sonstige Daten können unter Verwendung einer Vielzahl von computerlesbaren Medien gespeichert und übertragen werden. Eine Datei in einer Rechenvorrichtung ist allgemein eine Sammlung von auf einem computerlesbaren Medium, wie beispielsweise einem Speichermedium, einem Direktzugriffsspeicher usw., gespeicherten Daten.
  • Ein computerlesbares Medium umfasst jedes Medium, das an der Bereitstellung von Daten (z.B. Anweisungen) teilnimmt, die durch einen Computer gelesen werden können. Ein solches Medium kann viele Formen annehmen, einschließlich von aber nicht begrenzt auf nichtflüchtige Medien, flüchtige Medien usw. Nichtflüchtige Medien umfassen beispielsweise optische oder magnetische Platten und einen sonstigen dauerhaften Speicher. Flüchtige Medien umfassen einen dynamischen Direktzugriffsspeicher (DRAM – Dynamic Random Access Memory), der typischerweise einen Hauptspeicher bildet. Gebräuchliche Formen computerlesbarer Medien umfassen beispielsweise eine Floppy-Disk, eine Diskette, eine Festplatte, ein Magnetband, jedes andere magnetische Medium, eine CD-ROM, eine DVD, jedes andere optische Medium, Lochkarten, ein Papierband, jedes sonstige physikalische Medium mit Lochmustern, einen RAM, einen PROM, einen EPROM, einen FLASH-EEPROM, jeden sonstigen Speicher-Chip oder -Einsatz oder jedes andere Medium, aus dem ein Computer auslesen kann.
  • In den Zeichnungen zeigen die gleichen Bezugsziffern die gleichen Elemente an. Weiterhin könnten einige oder alle dieser Elemente geändert werden. Hinsichtlich der hier beschriebenen Medien, Vorgänge, Systeme, Verfahren usw. versteht es sich, dass obwohl die Schritte solcher Vorgänge usw. als nach einer gewissen geordneten Reihenfolge stattfindend beschrieben worden sind, solche Vorgänge ausgeübt werden könnten, indem die beschriebenen Schritte in einer anderen Reihenfolge durchgeführt werden, als der hier beschriebenen Reihenfolge. Weiterhin versteht es sich, dass gewisse Schritte gleichzeitig durchgeführt werden könnten, dass andere Schritte zugefügt werden könnten oder dass gewisse hier beschriebene Schritte weggelassen werden könnten. Anders gesagt werden die Beschreibungen von Vorgängen hier zum Zweck der Darstellung gewisser Ausführungsformen bereitgestellt und sollten auf keine Weise als die beanspruchte Erfindung begrenzend aufgefasst werden.
  • Dementsprechend versteht es sich, dass die obige Beschreibung erläuternd und nicht beschränkend sein soll. Dem Fachmann würden beim Lesen der obigen Beschreibung viele andere Ausführungsformen und Anwendungen als die bereitgestellten Beispiele offenbar sein. Der Schutzumfang der Erfindung sollte nicht unter Bezugnahme auf die obige Beschreibung bestimmt werden, sondern sollte stattdessen unter Bezugnahme auf die beiliegenden Ansprüche bestimmt werden, zusammen mit dem vollen Schutzumfang von Entsprechungen, zu denen diese Ansprüche berechtigt sind. Es wird vorausgesehen und ist beabsichtigt, dass zukünftige Entwicklungen in den hier besprochenen Techniken stattfinden werden und dass die offenbarten Systeme und Verfahren in solchen zukünftigen Ausführungsformen aufgenommen werden. Zusammengefasst versteht es sich, dass die Erfindung der Abänderung und Veränderung fähig ist und nur durch die nachfolgenden Ansprüche begrenzt wird.
  • Allen in den Ansprüchen benutzten Begriffen soll ihre breiteste sinnvolle Auslegung und ihre gewöhnlichen Bedeutungen erteilt werden, so wie sie vom Fachmann verstanden werden, sofern nicht eine ausdrückliche gegensätzliche Angabe hier geliefert wird. Insbesondere sollte Verwendung der Singularartikel wie beispielsweise „ein“, „der“, usw. so aufgefasst werden, dass sie ein oder mehrere der angezeigten Elemente aufführt, sofern ein Anspruch keine ausdrückliche gegensätzliche Begrenzung aufführt.
  • Bezugszeichenliste
  • Fig. 2
  • 205
    Vorrichtung(en) erkennen?
    210
    Vorrichtung(en)/Anwendung(en) registrieren
    215
    Vorrichtungs-/Anwendungsdaten speichern
    220
    auf Befehl warten
    225
    Befehl empfangen?
    230
    weiter?
    235
    Konflikt?
    240
    Begriffsklärung durchführen
    245
    Befehl ausführen
  • ZITATE ENTHALTEN IN DER BESCHREIBUNG
  • Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
  • Zitierte Nicht-Patentliteratur
    • IEEE 802.11 [0020]

Claims (10)

  1. System umfassend einen Computer, wobei der Computer einen Prozessor und einen Speicher umfasst, wobei der Computer eingerichtet ist zum: Empfangen einer Eingabe umfassend wenigstens ein Wort; Bestimmen, dass die Eingabe als ein Befehl in einer Vielzahl von Grammatiken angegeben ist, wobei jeder der zwei oder mehr Grammatiken mit einer jeweiligen Anwendung in einer Vielzahl von Anwendungen verbunden ist; Auswählen einer der Anwendungen, auf die der Befehl entsprechend einem Zustand der Anwendung hinsichtlich einer mit der Anwendung verbundenen Mensch-Maschinen-Schnittstelle anzuwenden ist; und Bereitstellen des Befehls für die ausgewählte der Anwendungen.
  2. System nach Anspruch 1, wobei jede der Anwendungen auf einer Rechenvorrichtung enthalten ist, die vom Computer getrennt ist.
  3. System nach Anspruch 2, wobei der Computer weiterhin eingerichtet ist zum Auswählen des Computers und/oder einer der getrennten Vorrichtungen zum Empfangen des Befehls basierend auf einer Benutzereingabe.
  4. System nach Anspruch 1, wobei die Eingabe eine Spracheingabe ist.
  5. System nach Anspruch 1, wobei sich der Computer in einem Fahrzeug befindet.
  6. In einem Computer implementiertes Verfahren umfassend: Empfangen einer Eingabe umfassend wenigstens ein Wort; Bestimmen, dass die Eingabe als ein Befehl in einer Vielzahl von Grammatiken angegeben ist, wobei jede der zwei oder mehr Grammatiken mit einer jeweiligen Anwendung in einer Vielzahl von Anwendungen verbunden ist; Auswählen einer der Anwendungen, auf die der Befehl gemäß einem Zustand der Anwendung hinsichtlich einer mit der Anwendung verbundenen Mensch-Maschinen-Schnittstelle anzuwenden ist; und Bereitstellen des Befehls für die ausgewählte der Anwendungen.
  7. Verfahren nach Anspruch 6, wobei jede der Anwendungen auf einer Rechenvorrichtung enthalten ist, die sich getrennt vom Computer befindet.
  8. Verfahren nach Anspruch 7, wobei der Computer weiterhin eingerichtet ist zum Auswählen des Computers und/oder einer der getrennten Vorrichtungen zum Empfangen des Befehls basierend auf einer Benutzereingabe.
  9. Verfahren nach Anspruch 6, wobei die Eingabe eine Spracheingabe ist.
  10. Verfahren nach Anspruch 6, wobei der Computer sich in einem Fahrzeug befindet.
DE102015203372.4A 2014-02-27 2015-02-25 Begriffsklärung dynamischer befehle Pending DE102015203372A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US14/191,833 US9495959B2 (en) 2014-02-27 2014-02-27 Disambiguation of dynamic commands
US14/191,833 2014-02-27

Publications (1)

Publication Number Publication Date
DE102015203372A1 true DE102015203372A1 (de) 2015-08-27

Family

ID=52876152

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102015203372.4A Pending DE102015203372A1 (de) 2014-02-27 2015-02-25 Begriffsklärung dynamischer befehle

Country Status (6)

Country Link
US (1) US9495959B2 (de)
CN (1) CN104881276B (de)
DE (1) DE102015203372A1 (de)
GB (1) GB2524882A (de)
MX (1) MX347136B (de)
RU (1) RU2672000C2 (de)

Families Citing this family (129)

* 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
US10002189B2 (en) 2007-12-20 2018-06-19 Apple Inc. Method and apparatus for searching using an active ontology
US9330720B2 (en) 2008-01-03 2016-05-03 Apple Inc. Methods and apparatus for altering audio output signals
US20100030549A1 (en) 2008-07-31 2010-02-04 Lee Michael M Mobile device having human language translation capability with positional feedback
US8676904B2 (en) 2008-10-02 2014-03-18 Apple Inc. Electronic devices with voice command and contextual data processing capabilities
US20120311585A1 (en) 2011-06-03 2012-12-06 Apple Inc. Organizing task items that represent tasks to perform
US11592723B2 (en) 2009-12-22 2023-02-28 View, Inc. Automated commissioning of controllers in a window network
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
US8731939B1 (en) 2010-08-06 2014-05-20 Google Inc. Routing queries based on carrier phrase registration
US9262612B2 (en) 2011-03-21 2016-02-16 Apple Inc. Device access using voice authentication
US10057736B2 (en) 2011-06-03 2018-08-21 Apple Inc. Active transport based notifications
US10134385B2 (en) 2012-03-02 2018-11-20 Apple Inc. Systems and methods for name pronunciation
US12400651B2 (en) * 2012-04-13 2025-08-26 View Operating Corporation Controlling optically-switchable devices
US10417037B2 (en) 2012-05-15 2019-09-17 Apple Inc. Systems and methods for integrating third party services with a digital assistant
US9536528B2 (en) 2012-07-03 2017-01-03 Google Inc. Determining hotword suitability
JP2016508007A (ja) 2013-02-07 2016-03-10 アップル インコーポレイテッド デジタルアシスタントのためのボイストリガ
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
WO2014197335A1 (en) 2013-06-08 2014-12-11 Apple Inc. Interpreting and acting upon commands that involve sharing information with remote devices
US10176167B2 (en) 2013-06-09 2019-01-08 Apple Inc. System and method for inferring user intent from speech inputs
HK1223708A1 (zh) 2013-06-09 2017-08-04 Apple Inc. 用於实现跨数字助理的两个或更多个实例的会话持续性的设备、方法、和图形用户界面
US10791216B2 (en) 2013-08-06 2020-09-29 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
KR102336168B1 (ko) 2014-03-05 2021-12-07 뷰, 인크. 스위칭가능한 광 디바이스들 및 제어기들을 포함하는 사이트들 모니터링
US9633004B2 (en) 2014-05-30 2017-04-25 Apple Inc. Better resolution when referencing to concepts
US9430463B2 (en) 2014-05-30 2016-08-30 Apple Inc. Exemplar-based natural language processing
US9715875B2 (en) 2014-05-30 2017-07-25 Apple Inc. Reducing the need for manual start/end-pointing and trigger phrases
US10170123B2 (en) 2014-05-30 2019-01-01 Apple Inc. Intelligent assistant for home automation
TWI566107B (zh) 2014-05-30 2017-01-11 蘋果公司 用於處理多部分語音命令之方法、非暫時性電腦可讀儲存媒體及電子裝置
US9338493B2 (en) 2014-06-30 2016-05-10 Apple Inc. Intelligent automated assistant for TV user interactions
US9818400B2 (en) 2014-09-11 2017-11-14 Apple Inc. Method and apparatus for discovering trending terms in speech requests
US10127911B2 (en) 2014-09-30 2018-11-13 Apple Inc. Speaker identification and unsupervised speaker adaptation techniques
US9668121B2 (en) 2014-09-30 2017-05-30 Apple Inc. Social reminders
US10074360B2 (en) 2014-09-30 2018-09-11 Apple Inc. Providing an indication of the suitability of speech recognition
US20160133255A1 (en) * 2014-11-12 2016-05-12 Dsp Group Ltd. Voice trigger sensor
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
US10671428B2 (en) 2015-09-08 2020-06-02 Apple Inc. Distributed personal assistant
US10740384B2 (en) 2015-09-08 2020-08-11 Apple Inc. Intelligent automated assistant for media search and playback
US10331312B2 (en) 2015-09-08 2019-06-25 Apple Inc. Intelligent automated assistant in a media environment
US10747498B2 (en) 2015-09-08 2020-08-18 Apple Inc. Zero latency digital assistant
US10379808B1 (en) * 2015-09-29 2019-08-13 Amazon Technologies, Inc. Audio associating of computing devices
US11587559B2 (en) * 2015-09-30 2023-02-21 Apple Inc. Intelligent device identification
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
US10049668B2 (en) 2015-12-02 2018-08-14 Apple Inc. Applying neural network language models to weighted finite state transducers for automatic speech recognition
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
US10049663B2 (en) 2016-06-08 2018-08-14 Apple, Inc. Intelligent automated assistant for media exploration
US12223282B2 (en) 2016-06-09 2025-02-11 Apple Inc. Intelligent automated assistant in a home environment
US10586535B2 (en) 2016-06-10 2020-03-10 Apple Inc. Intelligent digital assistant in a multi-tasking environment
DK179415B1 (en) 2016-06-11 2018-06-14 Apple Inc Intelligent device arbitration and control
DK201670540A1 (en) 2016-06-11 2018-01-08 Apple Inc Application integration with a digital assistant
US12197817B2 (en) 2016-06-11 2025-01-14 Apple Inc. Intelligent device arbitration and control
US10474753B2 (en) 2016-09-07 2019-11-12 Apple Inc. Language identification using recurrent neural networks
US10043516B2 (en) 2016-09-23 2018-08-07 Apple Inc. Intelligent automated assistant
US11204787B2 (en) 2017-01-09 2021-12-21 Apple Inc. Application integration with a digital assistant
US10431217B2 (en) 2017-02-15 2019-10-01 Amazon Technologies, Inc. Audio playback device that dynamically switches between receiving audio data from a soft access point and receiving audio data from a local access point
US10839795B2 (en) * 2017-02-15 2020-11-17 Amazon Technologies, Inc. Implicit target selection for multiple audio playback devices in an environment
US10264358B2 (en) 2017-02-15 2019-04-16 Amazon Technologies, Inc. Selection of master device for synchronized audio
DK201770383A1 (en) 2017-05-09 2018-12-14 Apple Inc. USER INTERFACE FOR CORRECTING RECOGNITION ERRORS
US10417266B2 (en) 2017-05-09 2019-09-17 Apple Inc. Context-aware ranking of intelligent response suggestions
US10395654B2 (en) 2017-05-11 2019-08-27 Apple Inc. Text normalization based on a data-driven learning network
US10726832B2 (en) 2017-05-11 2020-07-28 Apple Inc. Maintaining privacy of personal information
DK180048B1 (en) 2017-05-11 2020-02-04 Apple Inc. MAINTAINING THE DATA PROTECTION OF PERSONAL INFORMATION
DK179496B1 (en) 2017-05-12 2019-01-15 Apple Inc. USER-SPECIFIC Acoustic Models
US11301477B2 (en) 2017-05-12 2022-04-12 Apple Inc. Feedback analysis of a digital assistant
DK179745B1 (en) 2017-05-12 2019-05-01 Apple Inc. SYNCHRONIZATION AND TASK DELEGATION OF A DIGITAL ASSISTANT
DK201770428A1 (en) 2017-05-12 2019-02-18 Apple Inc. LOW-LATENCY INTELLIGENT AUTOMATED ASSISTANT
DK201770411A1 (en) 2017-05-15 2018-12-20 Apple Inc. Multi-modal interfaces
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
US10311144B2 (en) 2017-05-16 2019-06-04 Apple Inc. Emoji word sense disambiguation
US10403278B2 (en) 2017-05-16 2019-09-03 Apple Inc. Methods and systems for phonetic matching in digital assistant services
US20180336275A1 (en) 2017-05-16 2018-11-22 Apple Inc. Intelligent automated assistant for media exploration
US10657328B2 (en) 2017-06-02 2020-05-19 Apple Inc. Multi-task recurrent neural network architecture for efficient morphology handling in neural language modeling
US10445429B2 (en) 2017-09-21 2019-10-15 Apple Inc. Natural language understanding using vocabularies with compressed serialized tries
US10755051B2 (en) 2017-09-29 2020-08-25 Apple Inc. Rule-based natural language processing
US10636424B2 (en) 2017-11-30 2020-04-28 Apple Inc. Multi-turn canned dialog
TWI651714B (zh) * 2017-12-22 2019-02-21 隆宸星股份有限公司 語音選項選擇系統與方法以及使用其之智慧型機器人
US10733982B2 (en) 2018-01-08 2020-08-04 Apple Inc. Multi-directional dialog
US10733375B2 (en) 2018-01-31 2020-08-04 Apple Inc. Knowledge-based framework for improving natural language understanding
US10789959B2 (en) 2018-03-02 2020-09-29 Apple Inc. Training speaker recognition models for digital assistants
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
US10909331B2 (en) 2018-03-30 2021-02-02 Apple Inc. Implicit identification of translation payload with neural machine translation
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
US10984780B2 (en) 2018-05-21 2021-04-20 Apple Inc. Global semantic word embeddings using bi-directional recurrent neural networks
DK179822B1 (da) 2018-06-01 2019-07-12 Apple Inc. Voice interaction at a primary device to access call functionality of a companion device
US11386266B2 (en) 2018-06-01 2022-07-12 Apple Inc. Text correction
DK201870355A1 (en) 2018-06-01 2019-12-16 Apple Inc. VIRTUAL ASSISTANT OPERATION IN MULTI-DEVICE ENVIRONMENTS
US10892996B2 (en) 2018-06-01 2021-01-12 Apple Inc. Variable latency device coordination
DK180639B1 (en) 2018-06-01 2021-11-04 Apple Inc DISABILITY OF ATTENTION-ATTENTIVE VIRTUAL ASSISTANT
US10504518B1 (en) 2018-06-03 2019-12-10 Apple Inc. Accelerated task performance
US10672392B2 (en) * 2018-07-23 2020-06-02 Motorola Solutions, Inc. Device, system and method for causing an output device to provide information for voice command functionality
US11010561B2 (en) 2018-09-27 2021-05-18 Apple Inc. Sentiment prediction from textual data
US10839159B2 (en) 2018-09-28 2020-11-17 Apple Inc. Named entity normalization in a spoken dialog system
US11462215B2 (en) 2018-09-28 2022-10-04 Apple Inc. Multi-modal inputs for voice commands
US11170166B2 (en) 2018-09-28 2021-11-09 Apple Inc. Neural typographical error modeling via generative adversarial networks
US11475898B2 (en) 2018-10-26 2022-10-18 Apple Inc. Low-latency multi-speaker speech recognition
US11638059B2 (en) 2019-01-04 2023-04-25 Apple Inc. Content playback on multiple devices
US11348573B2 (en) 2019-03-18 2022-05-31 Apple Inc. Multimodality in digital assistant systems
US11475884B2 (en) 2019-05-06 2022-10-18 Apple Inc. Reducing digital assistant latency when a language is incorrectly determined
US11307752B2 (en) 2019-05-06 2022-04-19 Apple Inc. User configurable task triggers
DK201970509A1 (en) 2019-05-06 2021-01-15 Apple Inc Spoken notifications
US11423908B2 (en) 2019-05-06 2022-08-23 Apple Inc. Interpreting spoken requests
US11140099B2 (en) 2019-05-21 2021-10-05 Apple Inc. Providing message response suggestions
US11289073B2 (en) 2019-05-31 2022-03-29 Apple Inc. Device text to speech
US11496600B2 (en) 2019-05-31 2022-11-08 Apple Inc. Remote execution of machine-learned models
DK201970510A1 (en) 2019-05-31 2021-02-11 Apple Inc Voice identification in digital assistant systems
DK180129B1 (en) 2019-05-31 2020-06-02 Apple Inc. User activity shortcut suggestions
US11227599B2 (en) 2019-06-01 2022-01-18 Apple Inc. Methods and user interfaces for voice-based control of electronic devices
US11360641B2 (en) 2019-06-01 2022-06-14 Apple Inc. Increasing the relevance of new available information
US11488406B2 (en) 2019-09-25 2022-11-01 Apple Inc. Text detection using global geometry estimators
US11061543B1 (en) 2020-05-11 2021-07-13 Apple Inc. Providing relevant data items based on context
US12301635B2 (en) 2020-05-11 2025-05-13 Apple Inc. Digital assistant hardware abstraction
US11038934B1 (en) 2020-05-11 2021-06-15 Apple Inc. Digital assistant hardware abstraction
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

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040139049A1 (en) * 1996-08-22 2004-07-15 Wgrs Licensing Company, Llc Unified geographic database and method of creating, maintaining and using the same
US6230138B1 (en) 2000-06-28 2001-05-08 Visteon Global Technologies, Inc. Method and apparatus for controlling multiple speech engines in an in-vehicle speech recognition system
US6839896B2 (en) * 2001-06-29 2005-01-04 International Business Machines Corporation System and method for providing dialog management and arbitration in a multi-modal environment
US6985865B1 (en) * 2001-09-26 2006-01-10 Sprint Spectrum L.P. Method and system for enhanced response to voice commands in a voice command platform
JP4107093B2 (ja) * 2003-01-30 2008-06-25 株式会社日立製作所 対話型端末装置及び対話アプリケーション提供方法
US7302392B1 (en) * 2003-10-07 2007-11-27 Sprint Spectrum L.P. Voice browser with weighting of browser-level grammar to enhance usability
US8942985B2 (en) * 2004-11-16 2015-01-27 Microsoft Corporation Centralized method and system for clarifying voice commands
US7904300B2 (en) 2005-08-10 2011-03-08 Nuance Communications, Inc. Supporting multiple speech enabled user interface consoles within a motor vehicle
US8065146B2 (en) * 2006-07-12 2011-11-22 Microsoft Corporation Detecting an answering machine using speech recognition
US8234120B2 (en) * 2006-07-26 2012-07-31 Nuance Communications, Inc. Performing a safety analysis for user-defined voice commands to ensure that the voice commands do not cause speech recognition ambiguities
US7899673B2 (en) * 2006-08-09 2011-03-01 Microsoft Corporation Automatic pruning of grammars in a multi-application speech recognition interface
US8165886B1 (en) * 2007-10-04 2012-04-24 Great Northern Research LLC Speech interface system and method for control and interaction with applications on a computing system
US9123341B2 (en) 2009-03-18 2015-09-01 Robert Bosch Gmbh System and method for multi-modal input synchronization and disambiguation
CN102243889B (zh) * 2010-05-13 2014-12-17 北京三星通信技术研究有限公司 基于用户输入来执行应用程序的移动终端及其方法
US20140244259A1 (en) * 2011-12-29 2014-08-28 Barbara Rosario Speech recognition utilizing a dynamic set of grammar elements
US20140358553A1 (en) * 2013-06-04 2014-12-04 Richard John Helmke Voice command for control of automation systems

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
IEEE 802.11

Also Published As

Publication number Publication date
MX2015002413A (es) 2015-08-26
CN104881276A (zh) 2015-09-02
US20150243283A1 (en) 2015-08-27
RU2672000C2 (ru) 2018-11-08
RU2015106668A (ru) 2016-09-20
CN104881276B (zh) 2020-09-01
MX347136B (es) 2017-04-17
GB2524882A (en) 2015-10-07
US9495959B2 (en) 2016-11-15
GB201503219D0 (en) 2015-04-15

Similar Documents

Publication Publication Date Title
DE102015203372A1 (de) Begriffsklärung dynamischer befehle
DE102014109122A1 (de) Systeme und Verfahren für ergebnisbezogene Arbitrierung in Sprachdialogsystemen
DE102015100900A1 (de) Einstellen einer Spracherkennung unter Verwendung einer Kontextinformation
DE102019119171A1 (de) Spracherkennung für fahrzeugsprachbefehle
DE102014109121B4 (de) Systeme und Verfahren zur Arbitrierung eines Sprachdialogdienstes
DE102011054197B4 (de) Selektive Übertragung von Sprachdaten
DE102018111900A1 (de) Systeme und Verfahren zum Bestimmen eines Reaktionshinweises für einen digitalen Assistenten basierend auf einem Kontext
DE112018006101T5 (de) Dynamische Anmeldung einer benutzerdefinierten Aufweck-Schlüsselphrase für ein sprachfähiges Computersystem
DE112016004863T5 (de) Parametersammlung und automatische Dialogerzeugung in Dialogsystemen
DE102019122935A1 (de) Verfahren und vorrichtungen zum zuweisen einer arbeitslast an einen beschleuniger unter verwendung von maschinenlernen
DE202017105741U1 (de) Automatisierte Sprachaussprachezuteilung
DE102009002402A1 (de) Einrichtung, Verfahren und Programm in einem Fahrzeug
DE112008001656T5 (de) Hinzufügen virtueller Merkmale über Zubehörteile der realen Welt
DE102017115936A1 (de) Systeme und Verfahren zum Aktivieren eines Sprachassistenten und Bereitstellen eines Indikators, dass der Sprachassistent Hilfe zu leisten hat
DE102018213549A1 (de) Verfahren und vorrichtungen zum breitstellen von zugriffsautorisierung auf benutzerebene für cloud-basierte feldprogrammierbare gate-arrays
DE102016219134B4 (de) Verfahren zum Zugriff auf ein fahrzeugexternes elektronisches Gerät
DE112015006831T5 (de) Dynamisches Akustikmodell für Fahrzeug
DE102018114453A1 (de) Interaktive Sessions
DE102012016539A1 (de) Konfigurationstechnik für ein Steuergerät mit miteinander kommunizierenden Anwendungen
DE102017115933A1 (de) Koordinieren einer Eingabe an mehreren lokalen Geräten
DE112013002539T5 (de) Validierung mobiler Einheiten
DE102014225562A1 (de) Verfahren zum automatischen Ausführen wenigstens einer Fahrfunktion eines Kraftfahrzeuges
DE102014117343B4 (de) Erfassen einer Pause in einer akustischen Eingabe in ein Gerät
DE102015106280A1 (de) Systeme und Verfahren zum Kompensieren von Sprachartefakten in Spracherkennungssystemen
DE102018111896A1 (de) Bereitstellen einer Ausgabe, die mit einem Dialekt verknüpft ist

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R082 Change of representative

Representative=s name: ETL IP PATENTANWALTSGESELLSCHAFT MBH, DE

Representative=s name: ETL IP PATENT- UND RECHTSANWALTSGESELLSCHAFT M, DE

R016 Response to examination communication