-
Anwendungsgebiet
-
Die
folgende Erfindung betrifft ein Verfahren zum Ausdehnen bzw. Erweitern
der Funktionsfähigkeiten von
tragbaren, elektronischen Vorrichtungen mit nutzerfreundlichen Modi
von dem Typ, in dem eine Hostvorrichtung mit einem Schnellverbindungsfunktionserweiterungsmodul
verbunden ist.
-
Die
Erfindung betrifft weiterhin eine tragbare, elektronische Vorrichtung,
die erweiterte Funktionen in einem nutzerfreundlichen Modus hat.
-
Wie
es bestens bekannt ist, haben die Entwicklungen elektronischer Computervorrichtungen
dazu geführt,
in einem kleinen Raum eine Anzahl von Funktionen zusammenzulegen,
die in der Vergangenheit nur durch Tischcomputer geleistet werden
konnten. Viele Funktionen, z.B. Tagebuch, Berechnung, Kommunikation,
Planungsfunktionen, werden nun durch eine Anzahl von Geräten (z.B.
palmar bzw. hohlhändige
und handgehaltene Computer, mobile Telefone, Organisierer) bereitgestellt,
die für
einen Betrieb ausgelegt sind, während
sie in der Hand gehalten werden.
-
Mit
Palmtop-Vorrichtungen werden Daten und/oder Befehle zum Ausführen von
Operationen, die von einem Nutzer nachgefragt werden, durch Drücken von
Tasten oder durch einen Touchscreen bzw. Berührungsbildschirm eingegeben.
Die kritischste Betrachtung bei der Auslegung von Palmtop-Vorrichtungen
ist die Schnittstelle mit dem Nutzer. Damit die erhältlichen
Funktionen von dem Nutzer vollständig
für die
Arbeit bzw. den Betrieb gesetzt werden können, ist es notwendig, das
der Nutzer in die Lage versetzt wird, das Wesentliche ihrer Aktivierung
zu erfassen, ohne dass er durch lange Schulungseinheiten gehen muss.
Denn ungleich Standardcomputern müssen diese Vorrichtungen oft
mit einem abgelenkten Nutzer zusammenarbeiten, wie es der Fall eines
zellulären
Telefons sein kann, das in einer Bahnstation mit vielen Menschen
betrieben wird, oder sie müssen
oft schnell bzw. sofort antworten, wenn Sprachnotizen bzw. Voice-Notizen
oder geschriebene Notizen eingegeben werden sollen. Dem System einige
Minuten für
eine Wiederinitialisierung zu lassen, wie es oft bei Tischcomputern
notwendig ist, würde
in diesen Fällen
undenkbar sein.
-
In
diesem Zusammenhang werden diese Palmtop-Vorrichtungen sicher schneller
und bequemer bei der Verwendung, wenn eine Anwendung durch Sprachnachrichten
aufgerufen wird oder eine Sequenz von Daten durch Sprachnachrichten
eingegeben wird.
-
Eine
frühere
Lösung
zum Bereitstellen dieser Merkmale ist in dem US Patent Nr. 5,602,963
offenbart, wo ein sogenannter, persönlicher Organisierer beschrieben
ist, der durch Sprache bzw. Sprechen befehligt werden kann.
-
Eine
weitere sprachbefehligte Vorrichtung ist in dem US Patent Nr. 6,061,651
offenbart, worin ein System auf die Erkennung eines Stimmenpulses über einem
gegebenen Schwellenwert aktiviert wird.
-
Zusätzlich zu
der Einfachheit der Aktivierung und der Steuerung verfolgt die Industrie
von Palmtop-Elektronikvorrichtungen die Erweiterung der Funktionen
eines eigenen Unterstützungssystems,
das eine Anzahl von diskreten Funktionen innerhalb einem begrenzten
Bereich leistet. Eine Anforderung des Nutzers besteht jedoch darin,
dass alle zusätzlichen
Funktionen vollständig
identifizierbar sein sollen, schnell zu installieren sein sollen
und bei Bedarf ohne Überlappen
des Unterstützungssystems
betreibbar sein sollen.
-
Eine
Lösung
zum Erfüllen
dieser Anforderungen ist in dem US Patent Nr. 5,133,076 offenbart,
das einen Erweiterungsmodul für
einen Palmtop-Computer bereitstellt.
-
Ein
weiterer älterer
Vorschlag ist das Patent Nr. 5,432,938, das ein Verfahren zum automatischen
Aktivieren eines Funktionserweiterungsmoduls durch Einsetzen in
eine Computereinheit bereitstellt.
-
Diese
Erfindung betrifft das oben umrissene Gebiet und ist primär darauf
ausgerichtet, ein Verfahren zum Verwalten zusätzlicher Module für eine Basisvorrichtung
vom Palmtop-Typ bereitzustellen.
-
Das
zugrundeliegende, technische Problem dieser Erfindung besteht darin,
ein Verfahren zum Implementieren zusätzlicher Funktionen innerhalb
eines Unterstützungssystems
bereitzustellen, insbesondere innerhalb einer Palmtop-Elektronikvorrichtung,
mit Merkmalen, die geeignet sind, vorgegebene Anwendungen, die nicht
ursprünglich
in dem Unterstützungssystem
vorgesehen sind, für
eine verbesserte Systemanwendbarkeit und Nutzerzufriedenheit schnell
einzurichten bzw. zu konfigurieren und zu verwenden.
-
Überblick über die
Erfindung
-
Die
Grundlage auf der die vorliegende Erfindung steht, ist das Aufteilen
des technischen Problems auf eine Serie von Unterproblemen, die
sich an die Schnittstellenkopplung eines Unterstützungssystems mit einem hinzugefügten Modul
richten, der das System mit zusätzlichen,
funktionalen Fähigkeiten
effektiv ergänzt.
Die Unterprobleme werden identifiziert und einzeln durch die nachfolgende
Sequenz von Schritten gelöst:
- – Erkennen
von vorhandenen Anwendungen in der grundlegenden Referenzvorrichtung;
- – Überprüfen einer
zusätzlichen
Funktion des ergänzenden
Moduls auf Kompatibilität
mit den existierenden Anwendungen;
- – Auffinden
der Klasse von Befehlen, der die zusätzliche Funktion zugeordnet
ist;
- – Zusammenwirken
mit dem Nutzer, um notwendige Informationen bezüglich der zusätzlichen
Funktion zu erhalten;
- – Einrichten
des Systems für
das Empfangen und Interpretieren der zusätzlichen Funktion; und
- – Halten
der Einrichtung bzw. Installation, die in dem Speicher gespeichert
wird, und ihr Abrufen jedes Mal, wenn die Basisvorrichtung und der
ergänzende
Modul eingeschaltet werden.
-
Auf
der Basis dieses Prinzips wird das technische Problem durch ein
Verfahren gelöst,
wie es zuvor angegeben wurde und wie es im Anspruch 1 definiert
ist.
-
Die
Erfindung betrifft auch eine Vorrichtung, wie sie im Anspruch 5
angegeben und definiert ist.
-
Die
Merkmale und Vorteile des Verfahrens gemäß der vorliegenden Erfindung
sind aus der nachfolgenden detaillierten Beschreibung einer Ausführungsform
davon ersichtlich, die ein nicht beschränkendes Beispiel unter Bezugnahme
auf die beiliegenden Zeichnungen angibt.
-
In
den Zeichnungen:
-
Kurzbeschreibung der Zeichnungen
-
1 ist
ein schematisches Flussdiagramm für das Verfahren zum Schnittstellenkoppeln
einer elektronischen Hostvorrichtung mit einem Modul, um die funktionellen
Fähigkeiten
der Hostvorrichtung gemäß der Erfindung
zu erweitern;
-
2 ist
ein Blockdiagramm, das schematisch den Aufbau der elektronischen
Hostvorrichtung und den Aufbau des Erweiterungsmoduls zeigt;
-
3 zeigt
schematisch im Detail den Aufbau eines Moduls, der mit einer elektronischen
Hostvorrichtung verbunden ist;
-
4 ist
ein schematisches Flussdiagramm für eine exemplarische Anwendung;
und
-
5 ist
eine Tabelle, die die Übereinstimmung
eines Anweisungsbefehls mit einer entsprechenden Aktion einer gegebenen
Anwendung erläutert,
wie sie durch den Modul computer, der in 3 gezeigt
ist, ermöglicht
wird.
-
Detaillierte
Beschreibung
-
In
den beiliegenden Zeichnungen, insbesondere mit Bezug auf das Beispiel,
das in 1 gezeigt ist, ist ein tragbarer Typ, z.B. Palmtop,
von elektronischer Hostvorrichtung, die in Übereinstimmung mit dem erfinderischen
Verfahren betrieben wird, im allgemeinen mit 1 in schematischer
Form gezeigt.
-
Die
Vorrichtung 1 kann ein Handgelenkorganizer, ein Zellulartelefon
oder ein Palmtop-Computer, z.B. das "Visor" Modell von Handspring, sein, auf dem
das OS Betriebssystem installiert ist.
-
Vorteilhafterweise
enthält
die Vorrichtung 1 einen Mikroprozessor 2 und eine
Speichereinheit 3. Diese internen Komponenten sind durch
einen internen Bus 4 miteinander verbunden, der auch mit
einer Nutzerschnittstelle 5 verbindet.
-
Die
Vorrichtung 1 enthält
weiterhin einen Stecker 6, der für eine schnelle Verbindung
mit einem zugehörigen
Stecker 7 an einem separaten Modul 8 ausgelegt
ist.
-
Der
Modul 8 ist im wesentlichen ein Erweiterungsboard bzw.
eine Erweiterungskarte, die dafür
ausgelegt ist, die Funktionen der Vorrichtung 1 auszudehnen
bzw. zu erweitern, und die für
eine lösbare
Verbindung mit der Vorrichtung 1 durch Ineinanderstecken
der Stecker 6 und 7 ausgelegt ist.
-
Der
Modul 8 enthält
mindestens einen Mikrocontroller 9 und einen Speicher 10.
Umgebungsschnittstellensensoren 11 sind auch vorgesehen.
Die Komponenten 9, 10 und 11 sind durch
einen internen Bus des Moduls 8 untereinander verbunden,
wobei der Bus durch gedruckte Schaltungsleitungen der Erweiterungskarte
bereitgestellt werden kann.
-
Um
die verschiedenen Aspekte der vorliegenden Erfindung erläutern zu
können,
wird davon ausgegangen, dass die Vorrichtung 1 ein gewöhnlicher
Palmtop-Computer ist und dass die Erweiterungskarte ein Modul ist,
das die Vorrichtung 1 für
die Stimmenbefehlannahme anpasst.
-
Unter
diesen Annahmen und gemäß dem Flussdiagramm
von 2 wird die Sprach- bzw. Stimmenbefehlsfunktion
aktiviert, indem nur die speziell bereitgestellte Karte bzw. Leiterplatte
in den Erweiterungsschlitz eingesetzt wird. Diese Karte kann unabhängig jene
Anwendungen unterscheiden, die mit ihren funktionalen Eigenschaften
bzw. Fähigkeiten übereinstimmen,
um das System für
die Annahme von Stimmenbefehlen einzurichten und um die Palmtop-Computeranwendungen
konsistent mit den ausgeübten
Stimmenbefehlen zu steuern, ohne dass der Nutzer irgendwelche Installationen
ausführen
muss.
-
Auch
die Konfiguration und der momentane Zustand können in einem Speicher für ein schnelleres Systemeinrichten
gespeichert sein, wenn die Karte zu beliebigen späteren Gelegenheiten
eingesetzt wird.
-
Durch
Entfernen der vorstehend erläuterten
Karte durch Einsetzen einer anderen, die unterschiedliche Funktionen
bereitstellt, z.B. Merkmalserkennung, wird der Palmtop-Computer
in Übereinstimmung
mit der neu eingesetzten Erweiterungskarte rekonfiguriert.
-
Um
das Verfahren der vorliegenden Erfindung zu verkörpern, sollte die erfinderische
Vorrichtung die nachfolgenden Erfordernisse einhalten:
- 1. Enthalte mindestens einen Erweiterungsmodul 8, der
eine Funktion der Wahl bereitstellt, Vervollständige alles, was die Funktionserweiterung
erfordern kann (Stromversorgung, Sensoren usw.), wobei der Modul mit
einer gewöhnlichen,
tragbaren Hostvorrichtung 1 durch eine Schnittstelle 6, 7 verbunden
sein kann, die ein bestimmtes Protokoll hat; wobei der Modul 8 wirksam
beim Erweitern der Funktionen und dem Potential der Vorrichtung 1 ist;
- 2. Die Vorrichtung 1 und der Modul 8 sollten
ein miteinander verbundenes Ganzes ausbilden, das durch seine Software-
und Hardwarekomponenten dafür
ausgelegt ist:
– externe
Anforderungszeichen bzw. Anforderungen zu erhalten, um seine Funktionen
durchzuführen;
– diese
Anforderungszeichen zu wandeln und auf diese Anforderungszeichen
durch Aktivieren von Operationen zu antworten; später konsistente
Signale gemäß den Protokollen
zu senden, die kompatibel mit dem Computersystem der Hostvorrichtung 1 sind;
– die Software
auf ein Einstecken in die Hostvorrichtung 1 hin selbst
zu aktivieren und zu installieren und die Software auf ein Herausziehen
aus der Hostvorrichtung 1 hin zu entfernen:
– sei unabhängig von
den existierenden Anwendungen; und
– sei unabhängig von der existierenden
Hardware; wobei der Modul 8 und die Hostvorrichtung 1 physisch nur
mittels ihrer physischen Schnittstellen 6, 7 miteinander
verbunden sind.
-
In
dem Fall des vorhergehenden Beispiels sollte ein System, das eine
Sprachbefehlsmodul aufweist, der mit dem Palmtop-Computer verbunden ist, durch die nachfolgenden
Schritte hindurchgehen:
- – Aufnehmen von Audiosequenzen,
die Sprachnachrichten bzw. Sprechnachrichten enthalten; und
- – auf
das Erkennen einer Sprachnachricht hin, Ausgeben eines Code oder
mehrerer Code des Kommunikationsprotokolls an die Hostvorrichtung,
das zwischen den beiden Vorrichtungen eingerichtet ist, gemäß dem übermittelten
Sprachbefehl.
-
Das
Verfahren der vorliegenden Erfindung umfasst eine Sequenz von Schritten,
die hier nachfolgend in Form des Schnittstellenprotokolls zwischen
der Hostvorrichtung 1 und dem Erweiterungsmodul 8 aufgelistet sind.
In diesen Schritten des Verfahrens:
- – erkennen
sich der Funktionserweiterungsmodul und die Hostvorrichtung gegenseitig
bei jeder Installation;
- – auf
das Installieren des Moduls in der Hostvorrichtung zum erstenmal
wird das Folgende automatisch ausgeführt:
- – Auflisten
der Anwendungen bzw. Applikationen, die in der Hostvorrichtung resident
sind;
- – Überprüfen auf
Anwendbarkeit der Erweiterung für
jede Anwendung (z.B. würde
ein Verwaltungstyp von Programm keine Audio erweiterung erfordern);
- – Herausfinden
der Modi für
jede Anwendung, die verwendet werden müssen, um die Erweiterung (z.B.
Auflistbefehle, die erweitert werden können, oder Implementieren neuer
Quellen) und mögliche
Nutzerschnittstellen implementieren zu können. Dieser Schritt kann beim
erstmaligen Aufrufen einer Anwendung ausgeführt werden;
- – Herausfinden
oder Aufbauen eines "Verzeichnisses" der Übereinstimmung
bzw. Entsprechung zwischen dem Minimum der Funktionen, die durch
die Erweiterungsvorrichtung geleistet werden können, und dem Minimum der Funktionen,
die durch die Anwendung in der Hostvorrichtung erforderlich sind;
- – dem
Nutzer wird erlaubt, die verfügbare
Erweiterung zu aktivieren;
- – wenn
ein Auswahl für
eine gegebene Anwendung bereitgestellt wird:
- – Herausfinden
der Komponenten des "Verzeichnisses
der Funktionen" aus
den Sätzen,
die mit den anderen Anwendungen verbunden sind, welche in der Erweiterung
enthalten sind, die durch den ergänzenden Modul ermöglicht wird;
- – optionales
Anfordern eines Trainings oder einer Überprüfung in dem eingegebenen Verzeichnis;
- – Warnen
des Nutzers vor der Erweiterung, die verfügbar ist, unter Verwendung
eines Bild- oder Audiosignals;
- – Aktivieren
der Erweiterung auf Anforderung durch den Nutzer;
- – das
Nachfolgende wird gespeichert:
- – die
Konfiguration;
- – das "Funktionsverzeichnis" für jede Erweiterung;
- – der
gegenwärtige
Zustand jeder aktivierten Anwendung.
-
Jeder
Schritt des Verfahrens gemäß der Erfindung
wird nachfolgend im Detail unter der Annahme eines Startzustands
beschrieben, in dem der Erweiterungsmodul 8 in die Hostvorrichtung 1 eingesteckt
oder mit der Hostvorrichtung 1 schnell verbunden wird,
um ein Ganzes auszubilden.
-
Die
Einsteckaktion, Schritt F1 in 1, aktiviert
eine "Aktivierungs" Prozedur in dem
Betriebssystem der Hostvorrichtung 1, in dem ein (hoch/niedrig)
Logiksignal von vorgegebenen Stiften des verbundenen Moduls gelesen
wird. Dieses Logiksignal aktiviert einen Abschnitt des Betriebssystems,
der das Vorhandensein irgendwelcher Programme und/oder Anwendungen
in einem vorher gesetzten Speicherraum, der für Erweiterungsboards reserviert
ist, überprüft.
-
Z.B.
gibt es in dem Handspring Visor Palmtop-Computer, der das Palm OS
Betriebssystem verwendet, zwei Signale für die angegebene Verbindung
einer Erweiterungskarte zum Durchführen zweier Funktionen:
- (A) Eingeben eines Interrupts in den Palmtop-Computer,
um die CPU auf die ausgeführte
Verbindung hinzuweisen;
- (B) Aktivieren der Stromversorgung für die Karte für ihren
Betrieb.
-
Zur
gleichen Zeit, wenn die Anwendung durch das Betriebssystem der Hostvorrichtung
(Schritt F2) aktiviert wird, werden auch die Komponenten innerhalb
des Erweiterungsmoduls aktiviert und sind nun bereit, die Anwendung
zu implementieren.
-
In
dem Zusammenhang des vorstehenden Beispiels sucht das Betriebssystem
auf das Einführen
des Moduls oder der Karte hin nach einer Anwendung, die gegebene
Eigenschaften hat, in dem Speicherraum, der für die Karte (Schritt F3) reserviert
ist. Wenn eine solche Anwendung existiert, wird die momentane Ausführung unterbrochen
und die Anwendung der Karte wird stattdessen ausgeführt. Die
Anwendung würde
die notwendigen Prozeduren enthalten, um die Kartenkomponenten zu
aktivieren und sie für
die Verwendung durch den Palmtop-Computer einzurichten.
-
Die
gegenwärtig
aktive Anwendung startet entweder das Lesen aus dem Speicherraum
in dem Hostcomputer oder fordert von dem Hostbetriebssystem eine
Liste der Anwendungen an, die resident in der Hostvorrichtung 1 sind,
wie unter Schritt F4 in 1 spezifiziert ist.
-
Eine
Liste der Quellen, die mit jeder verfügbaren Anwendung verbunden
sind, kann somit erhalten werden (Graphikobjekte, z.B. Formulare,
Schalter usw.) und die Informationsgegenstände, die die erweiterte Anwendung
verwenden kann, können
abgelitten werden. Die Schritte F5 und F6 sind exemplarisch für Operationen,
die auf die Verifizierung des Funktionserweiterungsmodus gerichtet
sind und den Modus des Interfacekoppelns des Moduls 8 mit
der Vorrichtung 1 definieren.
-
Z.B.,
wenn ein Formular identifiziert wird, das eine Kopfnachricht ("Wollen Sie den Betrieb
bestätigen?") trägt und eine
mögliche
Bestätigung
("OK") trägt, erhält ein Sprachsynthesesystem
die Informationen, die durch die Inhalte der Nachricht bereitgestellt
werden, und ein Stimmenbefehlssystem bzw. Sprachbefehlssystem erhält die Informationen über die
Bestätigung,
die gegeben wird.
-
Diese
Informationsgegenstände
werden in eine Tabelle eingetragen, die hier als "Verzeichnis" der Korrespondenz
bzw. Entsprechung zwischen den Quellen, die durch die Anwendung
verwendet werden und den Operationen bezeichnet wird, die von der
Erweiterungsvorrichtung benötigt
werden, Schritt F7.
-
Zudem
müssen
einige Softwarealgorithmen eingerichtet werden, die Anforderungen
an das Betriebssystem anhalten bzw. festhalten und noch einmal die
Anforderung für
die Aktion für
den Erweiterungsmodul senden oder umgekehrt eine Aktion durch den
Erweiterungsmodul festhalten und dem Betriebssystem die durchgeführte Aktion
mitteilen, als wäre
die Letztere durch einen "nhaber"-Softwareabschnitt
ausgeführt
worden.
-
Nach
dem Überprüfen aller
Anwendungen, die in dem System (Schritte F5, F6 und F7) vorhanden sind,
und nach dem Erzeugen einer Entsprechungstabelle für jede Anwendung
deren Funktionen durch den installierten Modul "erweitert" werden können, wird das System wie hier
nachfolgend spezifiziert.
-
In
dem Erweiterungsmodul 8:
- – ein Lade-
und Verbindungsprogramm zum Laden in das Hostsystem und zum Verbinden
mit dem Hostsystem;
- – ein
Erweiterungskartenüberprüfungsprogramm;
und
- – eine
API (Applikation Programming Interface = Anwendungsprogrammierschnittstelle)
für die
Karte, um mit dem Betriebssystem der Hostvorrichtung einen Dialog
durchzuführen.
-
In
der Hostvorrichtung;
- – Korrespondenztabellen zwischen
den Anwendungen und den Befehlen von der installierten Vorrichtung; und
- – einen
Betriebssystemweg zum Anhalten der Funktionen, die erweitert werden.
-
Eine
Nachricht oder eine Lichtanzeige an dem Board oder in Alternative
ein Symbol, das an das Anwendungssymbol auf der Hauptseite angehängt wird,
benachrichtigen den Nutzer darüber,
dass die Erweiterung verfügbar
ist, Schritt F8.
-
Sobald
ein Programm, das durch die Erweiterung beeinflusst wird, aktiviert
wird, wird der Modul 8, der mit der tragbaren Vorrichtung 1 verbunden
ist, aktiviert, um sie bereit zu machen, die angeforderten Funktionen durchzuführen, Schritt
F9.
-
Auf
die Beendigung der Anwendung hin oder, wenn die Karte bzw. das Board
oder der Modul entfernt werden, werden bestimmte Operationen durchgeführt, um
den momentanen Zustand des Systems zu sichern, so dass es sofort
wieder hergestellt werden kann, wenn die Karte zurück eingesetzt
wird, und die Informationen über
die Korrespondenzverzeichnisse können
gesichert werden, Schritt F10.
-
Die
Modi zum Verbinden und Betreiben eines Spracherkennungsmoduls werden
nachfolgend nur beispielhaft erläutert,
wobei der Modul mit einem Handspring Visor Modell von Palmtop-Computer
verbunden ist, in dem ein Palm OS Betriebssystem installiert ist
und der die Zusatzfunktionskarten mittels einer mechanischen/elektrischen
Verbindung (Federkarten- Erweiterungsschlitz) aufnehmen kann, die
physisch identisch mit einer PCMCIA-Verbindung sind und sich an
der Rückseite
der Vorrichtung befindet.
-
Die
nachfolgenden Signale sind aus den Signalen, die am besten diese
Verbindung charakterisieren:
CD1, CD2 – Modul-Detektierer: Dies sind
Verbindungsdetektoren, die dem Palmtop-Computer anzeigen, dass eine
Karte in den Erweiterungsschlitz eingesteckt worden ist;
CS0,
CS1-Chipauswähler:
Diese steuern den Zugang zu den beiden adressierbaren Bereichen,
die die Erweiterungskarten verwenden können; und
IRQ-Interruptanforderungen:
ein Signal, dass von der Karte ausgeht, wenn Dienste des Palmtop-Computers angefordert
werden.
-
Verfügbar für die Verwendung
mit dem Erweiterungsmodul ist eine API (Anwendungsprogrammierte Schnittstelle)
die den Betrieb an dem Hostbetriebssystem des jeweiligen Computers
ermöglicht.
Diese API ist wirksam bei der Verwaltung der Karteninstallation,
der Aktivierung irgendwelcher residenter Anwendungen und bei den
Ereignissen bzw. Vorgängen,
die von dem Board ausgehen.
-
Weiterhin
wird eine Spracherkennungskarte 15 angenommen, das alle
Erkennungsschritte selbst ausführen
kann und mit einer kompatiblen Verbindung zu dem vorstehenden Palmtop-Computer
versehen ist.
-
Diese
Karte kann zumindest die nachfolgenden Komponenten, die schematisch
in 3 gezeigt sind, enthalten:
- – einen
nichtflüchtigen
Speicher 16, bevorzugt einen Flash-Typ, der die Karteneinrichtungsprogramme
und die notwendigen APIs für
einen Dialog mit dem Hostcomputer enthält. In einer Datenbank sind
Sprachmerkmale und optionale Tabellen für die Entsprechung für die grundlegenden
Anwendungen gespeichert;
- – einen
flüchtigen
Arbeitsspeicher 17, bevorzugt einen RAM-Typ;
- – eine
Spracherkennungskerneinheit 18;
- – einen
Interruptsteuerblock 19;
- – eine
Datenaquirierungseinrichtung, insbesondere eine Mikrofonleitung 20 und
einen zugehörigen
Vorprozessor 21; und
- – I/O-Schnittstellenvorrichtungen
(USB, I2C).
-
In
dem residenten Speicher 16 der Karte 15 sind alle
Spracherkennungsaktivierungsprozeduren gespeichert, die durch das
Einsetzen der Karte 15 in den Erweiterungsschlitz bzw.
-schacht aktiviert werden und verfügbar gemacht werden. Das Nachfolgende
ist spezifisch erforderlich:
- – eine FPGA-Lade-
und Aktivierungsprozedur, um die Verbindungen und Protokolle zwischen
dem Computer und der Karte einrichten zu können;
- – eine
Spracherkennungssystemaktivierungsprozedur, um das System einzurichten,
indem es in einen Wartezustand versetzt wird, und um es auf Anforderung
zu aktivieren;
- – eine
Interruptverwaltungsprozedur durch Lesen der Entsprechungstabellen
zwischen Sprachbefehlen und den Softwareaktionen und durch Aktivieren
dieser Aktionen; und
- – eine
Steuerprozedur, die wirksam ist, die vorstehenden Soft
warekomponenten
zu verwalten und ihre Aktivierung durch verschiedene Schritte zu
führen.
-
Nun
wird das Palm OS Betriebssystem betrachtet, das in dem Palmtop-Computer
resident ist: dieses Betriebssystem ist Host für mehrere Anwendungen. Unter
Verwendung geeigneter Softwaremodule können seine Charakteristiken
bezüglich
der Nutzerschnittstelle für
jede Anwendung, die in dem Computer enthalten ist, extrahiert werden.
Diese Eigenschaften können
durch ihre verbundenen Quellenmodule wiedergegeben werden. Quellen
heißen
hier jene Softwareabschnitte, die durch das Betriebssystem vorher
gesetzt werden und mit dem Nutzer durch die Eingangs/Ausgangseinheiten
zusammenarbeitet.
-
Nachfolgend
wird ein Beispiel für
Anwendungsquellen gegeben:
-
-
-
Unter
Verwendung einer geeigneten Befehlssequenz werden die vorstehenden
Quellen durch das Programm angehalten bzw. gehalten, das die Tabelle
der Korrespondenz für
den Spracherkenner einrichtet. Diese Quellen, die einen entsprechenden
Stimmenbefehl (in dem vorstehenden Beispiel sind diese die Quellen,
die mit BUTTONS gekennzeichnet sind, in anderen Fällen können diese
Elemente in einer Liste sein) zuführen können oder damit beliefert werden
können,
werden dann identifiziert. Gemäß dem Quellentyp
wird ein Patch bzw. eine Korrektur benötigter Softwarefunktionen,
um die Quelle zu elmulieren, aufgebaut und eine Sache bzw. ein Objekt
in der Tabelle der spezifischen Korrespondenz der momentanen Anwendung
wird erzeugt, die den Aufbau jeder Quelle umfasst.
-
5 zeigt
diese Art von Übereinstimmung
in Tabellenform.
-
Auf
das Einsetzen der Karte hin finden die nachfolgenden Aktionen in
dem Erweiterungsschlitz des Palmtop-Computers statt.
- 1. Sobald die Moduldetektionssignale (CD1, CD2), die das Einsetzen
bestätigen,
festgehalten bzw. erfasst werden, sucht das Palm-OS-Betriebssystem
den ersten Block (wird identifiziert durch das Signal CS0) nach der
Verfügbarkeit
eines Speicherplatzes ab, der für
die Erweiterungskarte reserviert ist, und sucht nach dem Vorhandensein
irgendwelcher Anwendungen.
- 2. Nach dem Auffinden einer Anwendung, die die Worterkennerinstallation
betrifft, kopiert das Betriebssystem diese Anwendung in den internen
Speicher und führt
ihre Inhalte aus.
- 3. Eine Suche unter den residenten Anwendungen wird auch gestattet,
um jene zu finden, die eine Entsprechungstabelle haben, die bereits
verfügbar
ist. Gemäß dem Aufbau
der gegebenen Parameter, die durch den Nutzer bewirkt werden, ist
das System nun in der Lage, die anderen Anwendungen abzutasten,
um sie für
das Führen
durch Stimmbefehle verfügbar
zu machen, die neue Korrespondenztabellen initialisieren.
- 4. Um eine Anwendung zu aktivieren, erzeugt das System eine
Aktivierungsanforderung für
die Erweiterungskarte, die zugehörige
Daten zuführt.
Das Modul wird eingerichtet, um einen Sprachbefehl empfangen zu
können.
- 5. Wenn der Befehl erkannt wird, gibt der Modul den Index (in
der Korrespondenztabelle) des Wortes an das System zurück, das
erkannt worden ist. Der Haltealgorithmus erzeugt dann Befehle, wie
sie für
den Zusammenhang der gegenwärtigen
Anwendung geeignet sind.
- 6. Und, wenn eine weitere Anwendung aufgerufen wird, werden
die Datenbanken, die mit der vorhergehenden Anwendung verbunden
sind, geschlossen, wobei der Zustand der vorhergehenden Anwendung
optional gesichert wird, und die Prozedur wird vom Schritt 4 oben
wieder aufgenommen.
-
Im
Beispiel eines Moduls, der dafür
ausgelegt ist, die Funktionen der elektronischen Basisvorrichtung bezüglich einer
Sprachbefehlsaquirierung zu erweitern, wird nachfolgend ein Bereich
der möglichen
Szenarien für
die Implementation einer Schnittstelle zwischen dem Modul und der
Vorrichtung mittels Beispielen erläutert. Es wird ein Modul angenommen,
das an eine gewöhnlichen,
tragbaren Vorrichtung angebracht ist und eine Serie von Standardanwendungen
enthält,
die nicht von dem Nutzer modifiziert werden.
-
Es
wird weiterhin von einer Gruppe von modifizierbaren Anwendungen,
d.h. geeigneten Anwendungen für
die Erweiterung, z.B. unter Verwendung einer Softwarschnittstelle,
ausgegangen, die aufweist:
- – den Erhalt einer Datenbank
von notwendigen Befehlen für
die Erweiterung;
- – einen
Verbindungskanal für
die Vorrichtung; und ein Akquisitionssystem.
-
Es
wird nun eine Anzahl von Ausdrücken
betrachtet, die nützlich
sind, um die Aspekte der Erfindung klarer zu verstehen, wie sie
in der beispielhaften Anwendung auftreten.
-
"Kontext" umfasst in der Umgebung
einer tragbaren Vorrichtung, was der Nutzer wahrnehmen kann, z.B.
Anzeigezeichen, LEDs oder andere Signale, und die Gruppe von Befehlen,
die zu der Zeit erhältlich
sind, entweder Sprachbefehle oder Befehle unterschiedlicher Natur
zusammen mit einer jeweiligen Gruppe von ausführbaren Aktionen.
-
"Mikrokontext" bedeutet einen Zustand
der Anwendung, der in dem Kontext vorhanden ist und in dem nur einige
der Aktionen in der vorgesehenen Gruppe ausführbar sind.
-
"Rückkopplung" bedeutet die Ausführung eines Befehls. Z.B. würden bei
dem Ereignis, dass die Nachricht zurückgewiesen wird oder die Vorrichtung
nicht erkannt wird (und auch in dem Fall einer Nachricht, die zurückgegeben
wird und die nicht in der dBase bzw. Datenbank enthalten ist oder
inkonsistent mit dem momentanen Mikrokontext ist), keine Aktionen
ausgeführt
werden.
-
"Grammatik" bedeutet den Körper von
Befehlen, die für
die Anwendungen verfügbar
sind. Eine aktive Grammatik ist ein Untersatz von notwendigen Befehlen
in einem gegebenen Kontext und umfasst eine Gruppe von allgemeinen
(kontextunabhängigen)
Befehlen und eine Gruppe von spezifischen Befehlen für eine gegebene
Anwendung.
-
Diese
Gruppen von Befehlen sind in einer Datenbank enthalten, wie nachfolgend
unter der Überschrift Szenerie
1 erläutert
wird.
-
Szenerie
1: Geführte
Akquisition von Datenbanken für
den Spracherkenner
- – Eine kontextunabhängige Datenbank
existiert, die die Befehle enthält,
welche allen Anwendungen gemeinsam sind. Beispiel:
[ok, neu,
Details, annulliere, lösche,
hin weisen, Graffiti, next, zurück,
zeige, Priorität,
Ausgang, usw.]
- – Einige
Datenbanken existieren, die einigen Anwendungen gemeinsam sind.
- Beispiel:
numerisch: (calc, Kalender, Uhr, usw.)
[0,
1, 2,..., 10, 11, 12] editieren:
[rückgängig machen, abschneiden, kopieren,
einsetzen, aus wählen,
Tastatur]
- – Wenn
die grundlegenden Anwendungen berücksichtigt werden, kann es
ungefähr
zehn Kontexte geben, wobei jeder eine Gruppe von mindestens zwanzig
Sprachbefehlen hat.
- – Datenbankakquisitionsfluss
-
Szenerie
2: Anpassung an den Sprecher
- – Es wird
eine vorher existierende Datenbank betrachtet.
- – Es
ist möglich,
einen Online-Erfassungsmodus zu aktivieren oder zu deaktivieren.
- – Wenn
ein Befehl ausgegeben wird, treten die folgenden Situationen auf:
- – Erkennung
tritt auf.
- – Der
letzte Befehl wird gespeichert.
- – Ein
weiterer Befehl wird empfangen und erkannt.
- – Wenn
der Onlineerfassungsmodus aktiv ist und der letzte Befehl den vorhergehenden
Befehl bestätigt (z.B.
er ist weder ein Lösch-
noch ein Exit-Befehl), dann wird der gespeicherte Befehl für die Datenbank erfasst.
-
Szenerie
3:
Erzeugung einer Datenbank für einen Kontext optional durch
Extrahieren von Daten aus unterschiedlichen Kontexten.
-
Dies
ist ein Verfahren zum Schnittstellenkoppeln mit einer Softwareanwendung,
die eine Spracherkennung verwenden kann oder nicht verwenden kann,
und in dem:
- – bei der ersten Installation
der Anwendung automatisch der Schnittstellenkopplungsmodus, der
für die
Anwendung erforderlich ist, und das "Verzeichnis der Befehle", das die mit ihm
zusammenhängen,
angegeben werden;
- – der
Nutzer in die Lage versetzt wird, den Schnittstellenkopplungsmodus
auszuwählen;
- – wenn
der Sprachbefehl ausgewählt
wird, dann
- – werden
die Komponenten des "Befehlsverzeichnisses" in dem Satz der
Sprachbefehle, die zu den anderen sprachaktivierbaren Anwendungen
gehören,
ausfindig gemacht;
- – wird
eine Anforderung optional zum Trainieren in dem eingetragenen Verzeichnis übermittelt.
-
Das
Befehlsverzeichnis ist eine Datenbank, die mit einer Anwendung (z.B.
durch einen konsistenten Namen) verbunden ist und einen Satz von
Befehlen enthält,
die spezifisch für
die Anwendung sind und bereits existieren oder durch einen Sprachbefehlerfassungsschritt
erzeugt werden.
-
Die
Integration in den Datenbankaufbau kann (bei der ersten Installation)
durch Ableiten der einzelnen Befehle des gleichen Typs aus den anderen,
existierenden Datenbanken und durch Durchführen einer Offline-Erfassung.
Für den
Rest von ihnen würde
der Nutzer zu einer normalen Erfassung bzw. Akquisition (siehe Szenerie
1) aufgefordert werden.
-
Die
Sprachnachrichten, die den angeforderten Befehlen entsprechen, können von
einem linguistischen Standpunkt aus unkorreliert sein, außer sie
verlieren ihre semantische Bedeutung durch den Nutzer. Wenn der
Nutzer z.B. auswählt,
die Befehle durch eine unterschiedliche Sprache zu der Sprache des
Vorrichtungssystems zu interpretieren, kann er oder sie dies unter
der Bedingung machen, dass die Konsistenz zwischen der Sprachnachricht
und dem angeforderten Befehl aufrecht erhalten wird. Z.B:
Angeforderter
Befehl: "OK" → gesprochen: "va bene"
Angeforderter
Befehl: "SHOW" → gesprochen: "mostra".
-
In
allen Fällen
sollten die Zweideutigkeit (unterschiedliche Worte befördern den
gleichen Begriff), die zögerliche
Aussprache und Unterscheidungseigenschaften (Worte mit unterschiedlichen
Bedeutungen, aber der gleichen Aussprache) der Sprache beim Auswählen der
Sprechbefehle berücksichtigt
werden.
-
Szenerie
4: Eine Sequenzsammelinformation über eine Anwendung und das
Erfassen von Sprechbefehlen (verbunden mit der Szenerie 3) und nachfolgende
Korrektur für
das Betriebssystem, um die Sprechbefehle mit der Anwendung zu synchronisieren.
-
Das
System ist in der Lage:
- – eine Liste von Anwendungen
in dem Palmtop-Computer anzuzeigen, die keine entsprechenden Stimmbefehlsdatenbank
haben;
- – die
Auswahl einer Anwendung aus der Liste zu ermöglichen;
- – die
Anwendungsquellen zu erhalten, die unter anderem die Liste der Befehle
enthalten, die durch Sprache eingegeben werden; und
- – eine
Trainingsdatenbank aufzubauen, die von der Anwendung abhängt und
die Stimmenbefehlliste enthält,
wie in Szenerie 1.
-
Das
Korrekturprogramm bzw. Patch-Programm des Betriebssystems sollte
in der Lage sein:
- – die Identifikation der Anwendung,
die von dem Nutzer nachgefragt wird, aufzufinden;
- – die
Datenbank zu finden, die zu der Anwendung gehört; und
- – die
Informationen von dem Spracherkennungssystem festzuhalten und äquivalente
Ereignisse zum Aneinanderreihen in die Ereignisse zu erzeugen, die
von der gegenwärtigen
Anwendung bearbeitet werden.
-
Szenerie
5: Aktivieren der Betriebssystemkorrektur beim Aufrufen einer gewöhnlichen
Anwendung Das System sollte in der Lage sein, die Anforderung zum
Aktivieren einer Anwendung festzuhalten und durch ein Programm:
- – zu
verifizieren, dass die aktivierte Anwendung durch Sprachbefehle
bzw. Sprechbefehle geführt
werden kann;
- – wenn
notwendig, anzufordern, dass eine Datenbank durch Aktivierung durch
Sprachbefehle erzeugt wird;
- – die
Erkennungsvorrichtung mit den Adressen der Datenbanken (kontextabhängig und
kontextunabhängig),
die mit der Anmeldung verbunden sind, zu versehen;
- – die
Erkennungsvorrichtung (versetze sie in einen Wartezustand zum Warten
auf Befehle) zu aktivieren; und
- – die
Anwendung zu starten.
-
Datenbank:
Sie
enthält
das "Befehlsverzeichnis", das mit einem Kontext
oder einem Satz von Kontexten verbunden ist. Es muss eine Datenbank
für jeden
Kontext vorhanden sein.
-
Eine
einsprachige Korrespondenz existiert zwischen der Datenbank im Palmtop-Computer
und der Datenbank, die mit dem gleichen Kontext verbunden ist, aber
in der Erkennungsvorrichtung enthalten ist.
-
Sie
umfasst:
- – "vervollständigtes" Kennzeichen, das
angibt, dass der gesamte Befehlssatz erfasst wird;
- – optional
eine Liste von Kontexten, die in der Datenbank enthalten sind;
- – ein
Online-Erfassungsmodus-Kennzeichen, das angibt, ob die Datenbank
freigegeben ist, neue Sprachnachrichten online zu erhalten, die
den Befehlen entsprechen, die sie enthält;
- – Anzeigen über die
entsprechende Datenbank in der Erkennungsdatenbank (Startadresse,
Endadresse); und
- – eine
Liste von spezifischen Steuerungen für die betrachtete Anwendung
oder die Klasse von Aktionen, die von unterschiedlichen Kontexten
verwendet werden, um zu zeigen:
- – den
Namen des angeforderten Befehls (Kennzeichnung);
- – das
Vorhandensein des Erkenners in der Datenbank; und
- – eine
entsprechende Sequenz von Aktionen (Befehlen, die durch das Betriebssystem
erwirkt werden, um den angeforderten Befehl auszuführen).
-
4 zeigt
schematisch einen exemplarischen Anwendungsfluss. Kommunikationskanäle und Kennzeichen
Freigeben der Erkennung:
- – verifiziert den Zustand der
Erkennungsvorrichtung,
- – identifiziert
den Kontext,
- – aktiviert
das Erfassungs- und Erkennungsfreigabe-Kennzeichen für die Vorrichtung.
-
Gestapelte
Befehlssequenzen:
- – speichern die Sequenz von
Befehlen, die zuletzt ausgeführt
wurden, und ermöglichen,
dass sie verfolgt werden,
- – ermöglichen
eine optionale Online-Akquisition.
-
Erkennungsanerkennungskennzeichen
-
Datenadressierung
↑/↓ Ort der
kontextabhängigen
Datenbank
↑/↓ Ort der
kontextunabhängigen
Datenbanken
↑/↓ Adresse
des erkannten Wortes oder der Mitgliedsklasse
↑/↓ Adresse
des Bereichs der Wörter,
die zu einer Klasse gehören.