-
Bisher können vorinstallierte Programme
in mobilen Geräten
nur anhand der enthaltenen Eingabegeräte bedient werden, was anhand
der gegebenen Möglichkeiten
zumeist umständlich,
langwierig und nur in ruhendem Zustand des Bedieners möglich ist.
Als Eingabegeräte
fungieren dabei beispielsweise virtuelle Tastaturen oder Miniaturtasten.
-
Bei mobilen Telefonen existiert zur
Texteingabe in der Regel nur ein Ziffernblock, durch den unter mehrmaligem
Drücken
der Tasten ein entsprechender Buchstabe eingegeben und auf dem Display dargestellt
wird.
-
Bei Personal Digital Assistants (PDAs)
gibt es oft zwei unterschiedliche Eingabemöglichkeiten. Einerseits die
Stifteingabe über
eine virtuelle Tastatur, welche im Display eingeblendet wird, oder
die Handschrifterkennung, welche meistens als alternative Eingabe
für die
virtuelle Tastatur verwendet wird. Bei etwas größeren Geräten findet teilweise auch eine
miniaturisierte Hardwaretastatur Anwendung. Welches Eingabeverfahren
verwendet wird, entscheidet der Hersteller des Gerätes. Die
hier beschriebenen Eingabemöglichkeiten
sind in den am Markt erhältlichen
PDAs integriert.
-
Bei Web-Pads/SIM-Pads existiert ebenfalls nur
eine virtuelle Tastatur und eine Handschrifterkennung. Diese Geräte unterscheiden
sich von den PDAs nur dadurch, dass ihr Bildschirm und/oder Touchscreen
um einiges größer ist.
-
Davon ausgehend liegt der Erfindung
die Aufgabe zugrunde, eine Möglichkeit
zur Eingabe, insbesondere von Text, in auf kleinen mobilen Endgeräten vorinstallierte
Anwendungen anzugeben.
-
Diese Aufgabe wird durch die in den
unabhängigen
Patentansprüchen
angegebenen Erfindungen gelöst.
Vorteilhafte Ausgestaltungen ergeben sich aus den Unteransprüchen.
-
Dementsprechend befindet sich in
einem Verfahren zur Spracherkennung eine Anwendung, die auf einem
Betriebssystem abläuft,
in einem Zustand, in dem ihr vom Betriebssystem Texteinheiten zuführbar sind.
Es wird ein Sprachsignal eingegeben und von einer Spracherkennungseinheit
in Texteinheiten umgewandelt. Die Texteinheiten werden dem Betriebssystem übergeben.
Danach werden die Texteinheiten vom Betriebssystem der Anwendung
zugeführt.
-
Vorzugsweise ist das Betriebssystem
ein nachrichtenbasiertes Betriebssystem und die Texteinheiten werden
der Anwendung als Nachricht zugeführt.
-
Die Texteinheiten enthalten beispielsweise Buchstaben.
-
Zusätzlich zu den Texteinheiten
können Kommandos
als Sprachsignal eingegeben, von der Spracherkennungseinheit erkannt
und der Anwendung zugeführt
werden. Dadurch lässt
sich die Anwendung weiterhin steuern.
-
Das Verfahren läuft insbesondere auf einem mobilen
Endgerät
mit einer oder mehreren vorinstallierten Anwendungen ab.
-
Eine Anordnung, die eingerichtet
ist, eines der geschilderten Verfahren auszuführen, lässt sich zum Beispiel durch
Programmieren und Einrichten einer Datenverarbeitungsanlage mit
zu den genannten Verfahrensschritten gehörigen Mitteln realisieren.
-
Ein Programmprodukt für eine Datenverarbeitungsanlage,
das Codeabschnitte enthält,
mit denen eines der geschilderten Verfahren auf der Datenverarbeitungsanlage
ausgeführt
werden kann, lässt sich
durch geeignete Implementierung des Verfahrens in einer Programmiersprache
und Übersetzung in
von der Datenverarbeitungsanlage ausführbaren Code ausführen. Die
Codeabschnitte werden hierzu gespeichert. Dabei wird unter einem
Programmprodukt das Programm als handelbares Produkt verstanden.
Es kann in beliebiger Form vorliegen, so zum Beispiel auf Papier,
einem computerlesbaren Datenträger
oder über
ein Netz verteilt.
-
Weitere Vorteile und Merkmale der
Erfindung ergeben sich aus der Beschreibung eines Ausführungsbeispiels
anhand der Figur, die ein Verfahren zur Spracherkennung anhand eines
Ablaufdiagramms darstellt.
-
Um das dem Verfahren grundlegende
Problem darzustellen, folgt als erstes ein Ausführungsbeispiel. Im Beispiel
erfolgt die Bedienung eines herkömmlichen
PDAs unter dem Betriebssystem Windows CE. Heutzutage ist es möglich, Programme
auf dem PDA durch ein vorgegebenes Vokabular anhand automatischer
Spracherkennung zu starten. Im Beispiel wird auf diese Weise das
Programm "Kontakte-Neueintrag" gestartet, um zur
Eingabemaske eines neuen Kontaktes zu gelangen. Der Cursor steht dann
automatisch im Eingabefeld des Namens. An diesem Punkt wird deutlich,
dass für
die Erstellung eines Kontaktes keine wortbasierte Spracherkennung verwendet
werden kann, da aufgrund des großen Wortschatzes der Ressourcen-
und CPU-Verbrauch eine
Realisierung auf mobilen Geräten
schwierig bzw. unmöglich
macht. Um dem Benutzer dennoch die Möglichkeit zur Erstellung eines
individuellen Kontaktes zu ermöglichen,
wird anstatt eines wortbasierten Spracherkenners ein Buchstabier-Erkenner verwendet,
welcher zusätzlich
mit einigen Sprachkommandowörtern
ergänzt
wurde. Nun werden die vom Benutzer einzutragenden Namen/Worte buchstabiert.
Nachdem die Erkennung abgeschlossen ist, kann der Fensterfocus vom
bisherigen Eingabefeld zum nachfolgenden per Sprachkommando, beispielsweise "next", verschoben werden.
Dieser Vorgang wiederholt sich nun für alle Eingabefelder. Nachdem
vom Benutzer alle gewünschten
Daten eingegeben wurden, kann der neue Datensatz beispielsweise
durch das Kommando "save" der Datenbank des
Geräts
hinzugefügt
werden.
-
Um dieses Verfahren auf einem Endgerät, welches
ein nachrichtengesteuertes Betriebssystem wie etwa Windows, Unix,
Windows CE, Epoc besitz, zu realisieren, ist lediglich eine zusätzliche,
speziell ausgeprägte
Spracherkennungsanwendung erforderlich. Diese Spracherkennungsanwendung
läuft im Hintergrund,
steuert den Spracherkenner und sendet die erkannten Buchstaben per
Betriebssystem spezifischen Nachrichten zum aktiven Fensterfocus
der Vordergrund-Anwendung.
Dabei ist kein Wissen über die
Vordergrund-Anwendung
erforderlich. Dadurch ist dieses Verfahren für beliebige Anwendungen anwendbar,
welche mit Texteingabe arbeiten.
-
Das hier beschriebene Verfahren nutzt
also die bestehenden Kommunikationsschnittstellen der Programme
mit dem Betriebssystem auf dem Gerät aus.
-
Als nächstes wird ein Verfahren zur
Spracherkennung beschrieben. Um die folgende Beschreibung besser
mit der Figur vergleichen zu können,
sind die einzelnen Schritte mit Bezugszeichen versehen.
-
Schritt 1: Es wird die im Betriebssystem
derzeit aktivierte Anwendung abgefragt. Am Beispiel Windows ist
der Rückgabewert
ein Fensterhandle. Als nächstes
wird in
-
Schritt 2: Wird abgefragt, welches
Fenster der aktiven Anwendung den Eingabefocus (Cursor) besitzt.
Wiederum am Beispiel Windows kann dies mit GetFocus durchgeführt werden.
Hierbei ist der Rückgabewert
das Handle auf das Fenster, welches den Eingabecursor beinhaltet.
-
Schritt 3: Nun sind alle Vorarbeiten
geleistet und die Anwendung befindet sich im Idle-Modus. In diesem
Modus wird überwacht,
ob sich das aktive Fenster oder das Fenster mit dem Eingabefocus ändert. Durch
den Druck der PTT (Push to Talk)-Taste wird der Spracherkenner gestartet.
-
Schritt 4: In diesem Schritt wird
der automatische Spracherkenner wieder gestoppt, da ein gültiges Erkennungsresultat
vorliegt. Es können
einzelne Buchstaben und Kommandos erkannt werden. Handelt es sich
um eine Fehlerkennung, wird zum Schritt 3 zurückgesprungen.
-
Schritt 5: Wird ein Buchstabe erkannt,
wird der korrespondierende KeyCode wie bei den Tastaturcodes einer
gebräuchlichen
Tastatur an das Fenster mit dem Eingabefocus gesendet. Am Beispiel Windows
funktioniert dies beispielsweise mit SendMessage.
-
Schritt 6: Dadurch wird das erkannte
Kommando in das Feld mit dem Focus eingetragen.
-
Schritt 7: Wird innerhalb von Schritt
4 ein Kommando erkannt, wird dieses interpretiert und der entsprechende
KeyCode an die aktive Anwendung geschickt.
-
Schritt 8: Hier wurde das Kommando "next" erkannt, welches
den Fensterfocus zum nächsten Eingabefeld
schiebt. Am Beispiel Windows kann dies durch das Senden des Tabulator-Tasten-KeyCodes erzielt
werden.
-
Schritt 9: Löschen des Inhalts des aktiven Feldes
mit dem Kommando "empty". In Windows kann
dies mit dem Senden des KeyCodes für Backspace erreicht werden,
bis das Feld leer ist.
-
Schritt 10: Das Kommando "back" wird wie unter Schritt
9 beschrieben durchgeführt.
Es wird aber lediglich einmal der KeyCode für Backspace gesendet.
-
Schritt 11: Durch das erkannte Kommando Speichern "save", was am Beispiel
Windows CE durch Senden des Okay-Codes "Enter" durchgeführt wird,
werden die eingetragenen Daten in die Datenbank eingetragen.
-
Unter Schritt 8 kann neben "next" auch "previous" erkannt werden,
um zum vorherigen Eingabefeld zu gelangen (KeyCode Shift + Tabulator).
-
Das Verfahren wurde anhand reiner
Spracherkennung vorgestellt. Allerdings kann dieses Texteingabeverfahren
auch mit anderen internen oder externen Eingabegeräten bzw.
bei der Kombination von verschiedenen Eingabegeräten zum Einsatz kommen. Eine
interessante Lösung
für die Übertragung
von Text in das mobile Gerät
wäre die
Verwendung eines Scanner-Stifts kombiniert mit der Spracherkennung.
Mittels Scanner-Stift wird der Text übertragen und per Sprachkommandos
werden die zusätzlichen
Steueranweisungen gegeben, beispielsweise "next" für nächstes Feld, "save" für Abspeichern
etc.
-
Den vorgestellten Verfahren sind
folgende Vorteile gemein:
- – Sie funktionieren bei allen
nachrichtengesteuerten Betriebssystemen (Windows, Unix, Windows CE,
Symbian OS etc.),
- – sie
ermöglichen
eine schnelle und natürliche Texteingabe
gegenüber
herkömmlichen
Eingabemöglichkeiten,
- – es
können
sämtliche
Textfelder einer Anwendung via Sprache oder anderem Eingabegerät vom Benutzer
ausgeführt
werden,
- – durch
das Buchstabieren können
alle erdenklichen Worte erstellt werden,
- – durch
andere Eingabegeräte
kann Text 1 : 1 übernommen
werden,
- – das
Verfahren kann im dynamischen Zustand, also während der Fortbewegung des
Benutzers, bedient werden,
- – eine
einfache Bedienung ist auch für
körperlich Behinderte
möglich.
-
Der Nachweis einer Verwendung des
Verfahrens ist sehr einfach. Es muss lediglich ausprobiert werden,
ob ein eigenhändig
erstelltes Programm nach der Installation per Sprache bearbeitet
werden kann.