DE3752294T2 - Computer system with handwritten keyboardless data entry - Google Patents
Computer system with handwritten keyboardless data entryInfo
- Publication number
- DE3752294T2 DE3752294T2 DE3752294T DE3752294T DE3752294T2 DE 3752294 T2 DE3752294 T2 DE 3752294T2 DE 3752294 T DE3752294 T DE 3752294T DE 3752294 T DE3752294 T DE 3752294T DE 3752294 T2 DE3752294 T2 DE 3752294T2
- Authority
- DE
- Germany
- Prior art keywords
- symbol
- handwritten
- symbols
- window
- display
- 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.)
- Expired - Lifetime
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/03—Arrangements for converting the position or the displacement of a member into a coded form
- G06F3/041—Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Position Input By Displaying (AREA)
- User Interface Of Digital Computer (AREA)
- Character Discrimination (AREA)
Description
Die vorliegende Erfindung betrifft im allgemeinen ein Verfahren und eine Vorrichtung zur tastaturlosen Eingabe für einen Computer, und in Kombination mit einer Zentraleinheit ein Computersystem mit tastaturloser Eingabe. Die vorliegende Erfindung kann insbesondere in einem Informationsspeicher-, -bearbeitungs- und - übertragungsgerät ausgeführt werden, bei dem Text, Daten, Computerbefehle und -funktionen durch Schreiben alphanumerischer oder sonstiger Zeichen und Symbole mit der Hand mit einem stiftähnlichen Pen auf einem Ein-/Ausgabe- (E/A)-Bildschirm eingegeben werden können. In einer bevorzugten Ausgestaltung beinhaltet der E/A-Bildschirm einen transparenten Berührungsbildschirm, der über einer im wesentlichen flachen Ausgabeanzeige eingebaut ist. Die vorliegende Erfindung kann in einer bevorzugten Ausgestaltung in einem eigenständigen Computersystem oder in einem Peripheriegerät für einen Hauptrechner ausgeführt werden.The present invention relates generally to a method and apparatus for keyboardless input for a computer, and in combination with a central processing unit, to a computer system with keyboardless input. The present invention may be particularly embodied in an information storage, manipulation and transmission device in which text, data, computer commands and functions may be entered by writing alphanumeric or other characters and symbols by hand with a pen-like stylus on an input/output (I/O) screen. In a preferred embodiment, the I/O screen includes a transparent touch screen mounted above a substantially flat output display. The present invention may be embodied in a preferred embodiment in a stand-alone computer system or in a peripheral device for a host computer.
Es stehen heute große Mengen an Informationen und hochentwickelter Anwendungssoftware auf konventionellen Tastaturcomputern zur Verfügung. Wir haben erkannt, daß die Nützlichkeit dieser Informationen und Anwendungssoftware erheblich erhöht werden könnte, wenn es möglich wäre, durch unmittelbares Schreiben auf normale Weise auf einer flachen Anzeige Text und Daten einzugeben und Anwendungssoftware zu bearbeiten. Es besteht somit Bedarf daran, die Nützlichkeit von Computertechnologie auf die Benutzung durch nicht tastaturorientierte Einzelpersonen zu erweitern. Eine Art und Weise, dieses Problem anzugehen, besteht darin, ein tastaturloses Eingabesystem zu verwenden, wie zum Beispiel einen Berührungsbildschirm. Mit konventionellen Eingabegeräten dieser Art ist eine genaue und ausführliche Eingabe innerhalb eines Echtzeitrahmens mit hoher Auflösung auf eine Weise, die dem Benutzer vertraut und geläufig ist, jedoch nicht leicht.There are now vast amounts of information and sophisticated application software available on conventional keyboard computers. We have recognized that the usefulness of this information and application software could be greatly increased if it were possible to enter text and data and edit application software by directly typing in the normal manner on a flat display. There is thus a need to extend the usefulness of computer technology to use by non-keyboard oriented individuals. One way to address this problem is to use a keyboardless input system, such as a touch screen. However, with conventional input devices of this type, accurate and detailed input within a real-time, high-resolution frame in a manner that is familiar and comfortable to the user is not easy.
Ein bekannter Typ von tastaturlosem Eingabesystem arbeitet mit Handschrifterkennung, um handgeschriebene Textzeichen einzugeben, wie beispielsweise im US-Patent Nr. US-A-3,487,731 (Frank) beschrieben ist.One known type of keyboardless input system uses handwriting recognition to enter handwritten text characters, as described, for example, in U.S. Patent No. US-A-3,487,731 (Frank).
Das US-Patent Nr. 4,491,960 von Brown beschreibt ein Erkennungssystem für handgeschriebene Symbole, bei dem eine Anordnung von Bildpunkten in der Form einer Rasterlinienabtastung in segmentorientierte Listen konvertiert wird, die gefiltert und komprimiert werden, so daß topologische Merkmale entstehen, die dann mit einem Logikbaum-Entscheidungsmechanismus analysiert werden.U.S. Patent No. 4,491,960 to Brown describes a handwritten symbol recognition system in which an array of pixels in the form of a raster line scan is converted into segment-oriented lists that are filtered and compressed to produce topological features that are then analyzed using a logic tree decision mechanism.
Das US-Patent Nr. 4,262,281 von Buckle et al offenbart ein Handschrifterkennungsgerät. Die offenbarte Ausgestaltung ist für die Verwendung mit einem Hauptrechner vorgesehen und wendet keine koinzidente Anzeigetechnologie an.U.S. Patent No. 4,262,281 to Buckle et al. discloses a handwriting recognition device. The disclosed design is intended for use with a host computer and does not employ coincident display technology.
Das US-Patent Nr. 4,475,239 von Van Raamsdonk offenbart eine Texteditierungsvorrichtung. Das Patent '239 zieht die Verwendung von Papier als Medium für die Eingabe von Editierfunktionen vor und erfordert eine konventionelle Tastatur für die Eingabe von Text.U.S. Patent No. 4,475,239 to Van Raamsdonk discloses a text editing device. The '239 patent prefers the use of paper as the medium for entering editing functions and requires a conventional keyboard for entering text.
Das US-Patent Nr. 4,521,909 von Wang zeigt ein Erkennungssystem für Strukturen auf zwei Ebenen. Das System ist für die Verwendung mit einem optischen Instrument vorgesehen.Wang's U.S. Patent No. 4,521,909 shows a two-plane structure detection system. The system is intended for use with an optical instrument.
Das US-Patent Nr. 4,520,357 von Castlebeery et al offenbart ein elektroskopisches Informationsanzeige- und -eingabesystem mit einem Schreibpen. Die offenbarte Ausgestaltung beansprucht nicht, die Geschwindigkeit oder Genauigkeit zu haben, die die Erkennung handgeschriebener Zeichen zulassen würde.U.S. Patent No. 4,520,357 to Castlebeery et al. discloses an electroscopic information display and input system using a writing pen. The disclosed design does not claim to have the speed or accuracy that would allow recognition of handwritten characters.
Das US-Patent Nr. 4,318,096 von Pepper lehrt die Verwendung eines leitenden Pen. Das Patent '096 betrifft, graphisches Design und ermöglicht die Änderung von Linienbreite und -intensität durch Aufbringen von Druck auf den Pen, wobei die Ergebnisse auf einem konventionellen CRT-Bildschirm angezeigt werden. Das US-Patent 4,055,726 von Turner und das US-Patent Nr. 4,055,726 von Turner et al offenbaren zwei Verfahren für die elektronische Positionserfassung durch die Verwendung eines Prüfkopfes.US Patent No. 4,318,096 to Pepper teaches the use of a conductive pen. The '096 patent relates to graphic design and allows the change of line width and intensity by applying pressure to the pen, with the results displayed on a conventional CRT screen. U.S. Patent 4,055,726 to Turner and U.S. Patent No. 4,055,726 to Turner et al. disclose two methods for electronic position sensing through the use of a probe.
Ein Erkennungsprogramm für handgeschriebene Zeichen nach dem Stand der Technik ist in einem Artikel von P. G. Moulton et al mit dem Titel "Graphical input/output for the Character Recognition Program" (graphische Ein-/Ausgabe für das Zeichenerkennungsprogramm) beschrieben, veröffentlicht in Marconi Review, Bd. 34, Nr. 181, 1971, Great Baddow, GB, auf den Seiten 113 bis 120. Das Programm wird von einem Computer ausgeführt, der mit einem Schwarz-Weiß- Kathodenstrahlröhren-(CRT)-Display gekoppelt ist, auf dem ein helles Rechteck (als Zeichenmatrix bezeichnet) angezeigt wird. Ein Benutzer kann mit einem hellen Stift handgeschriebene Zeichen in das helle Rechteck zeichnen. Wenn die Zeichnung fertig ist, dann wird ein Befehl "END" eingegeben, und das handgeschriebene Zeichen wird dem Erkennungsprogramm als Daten präsentiert, das versucht, die Daten in ein entsprechendes Schriftartsymbol umzuwandeln und das Ergebnis auf der Anzeige unterhalb der Zeichenmatrix anzeigt.A prior art handwritten character recognition program is described in an article by P. G. Moulton et al entitled "Graphical input/output for the Character Recognition Program" published in Marconi Review, Vol. 34, No. 181, 1971, Great Baddow, UK, pages 113 to 120. The program is run by a computer coupled to a black and white cathode ray tube (CRT) display on which a bright rectangle (called a character matrix) is displayed. A user can use a bright pen to draw handwritten characters in the bright rectangle. When the drawing is complete, an "END" command is entered and the handwritten character is presented as data to the recognition program, which attempts to convert the data into an appropriate font symbol and displays the result on the display below the character matrix.
Verschiedene Benutzeroberflächentechniken des Standes der Technik sind in einem Artikel von D. Canfield Smith et al mit dem Titel "Designing the Star User Interface" (Entwerfen der Stern-Benutzeroberfläche) beschrieben, veröffentlicht in BYTE, April 1992, von BYTE Publications Inc. Das Sternsystem war ein Mehrfunktionssystem, das Dokumenterstellung, Datenverarbeitung und elektronische Ablage, Versand und Ausdruck kombinierte. Es wurde mit einer Maus zum Auswählen von Text und zum Erstellen, Rollen und Löschen von Fenstern je nach der Position eines mausgesteuerten Cursors auf einer Anzeige gesteuert, wenn eine Taste auf der Maus gedrückt wurde. Für die Dateneingabe wurde eine Tastatur benutzt.Various prior art user interface techniques are described in an article by D. Canfield Smith et al entitled "Designing the Star User Interface" published in BYTE, April 1992, by BYTE Publications Inc. The Star system was a multi-function system that combined document creation, data processing and electronic filing, mailing and printing. It was controlled with a mouse for selecting text and for creating, scrolling and deleting windows depending on the position of a mouse-driven cursor on a display when a button on the mouse was pressed. For the A keyboard was used to enter data.
Die vorliegende Erfindung ist in den beiliegenden unabhängigen Ansprüchen definiert, auf die nunmehr Bezug genommen werden sollte. Vorteilhafte Merkmale der Erfindung sind in den abhängigen Ansprüchen dargelegt.The present invention is defined in the accompanying independent claims, to which reference should now be made. Advantageous features of the invention are set out in the dependent claims.
In einer bevorzugten Ausgestaltung kann die Erfindung, die nachfolgend ausführlicher unter Bezugnahme auf die Zeichnungen beschrieben wird, in einem einzigartigen, tastaturlosen Computersystem ausgeführt werden, das die Fähigkeit hat, handgeschriebene Symbole oder graphische Zeichen zu erkennen und anzuzeigen und zu bewirken, daß der Computer Schriftartsymbole oder graphische Symbole anzeigt und Editierfunktionen oder Befehle gemäß Editiersymbolen schnell, leicht und zu angemessenen Kosten ausführt.In a preferred embodiment, the invention, which is described in more detail below with reference to the drawings, can be embodied in a unique keyboardless computer system having the ability to recognize and display handwritten symbols or graphic characters and to cause the computer to display font symbols or graphic symbols and to perform editing functions or commands according to editing symbols quickly, easily and at a reasonable cost.
Dieses tastaturlose Computersystem beinhaltet vorzugsweise ein Computergehäuse mit einer flachen Anzeigetafel, auf der ein Benutzer mit einem Pen "schreiben" kann, und hat die Fähigkeit, auf der Tafel mit dem Pen handgeschriebene Symbole zu erkennen und sie in angezeigte Schriftartsymbole umzuwandeln und/oder Editierfunktionen mit Editiersymbolen auszuführen, und dies alles mit einem Minimum an technischer Komplexität für den Benutzer. Wenn die gewünschten Informationen und die Anwendungssoftware auf dem tastaturlosen, tragbaren Computer geladen sind, dann können Informationen und Software benutzt und bearbeitet werden, ohne daß Fertigkeiten oder Kenntnisse in bezug auf moderne Computer oder andere Datenquellen notwendig wären.This keyboardless computer system preferably includes a computer case with a flat display panel on which a user can "write" with a pen, and has the ability to recognize symbols handwritten on the panel with the pen and convert them into displayed font symbols and/or perform editing functions with editing symbols, all with a minimum of technical complexity for the user. Once the desired information and application software are loaded onto the keyboardless portable computer, the information and software can be used and manipulated without requiring any skill or knowledge of modern computers or other data sources.
Die Bedienerfreundlichkeit der Eingabetechnologie der Vorrichtung erhöht vorteilhafterweise die Nützlichkeit des Computers für tastaturorientierte Einzelpersonen.The ease of use of the device's input technology advantageously increases the computer's usefulness for keyboard-oriented individuals.
Aufgrund der Tragbarkeit kann sie auch in Anwendungen und Umgebungen eingesetzt werden, in denen die Verwendung tragbarer Tastatur-Computer umständlich, schwierig oder gar nicht möglich ist. So können beispielsweise eine Vielzahl von leeren, vollständig oder teilweise ausgefüllten Formularen in dem tragbaren Computerspeicher gespeichert werden. In einem Krankenhaus können "Blätter" mit Patientendaten im Speicher des tragbaren Computers gespeichert, von einer Krankenpflegeperson bei deren Runde aufgerufen und relevante Daten, wie zum Beispiel Blutdruck, Temperatur usw., dann manuell mit einem Pen eingegeben werden. Diese korrigierten oder erweiterten Formulare können dann in einen zentralen Computerspeicher heruntergeladen werden.Due to its portability, it can also be used in applications and environments where the use of portable keyboard computers is cumbersome, difficult or even impossible. For example, a variety of of blank, fully or partially completed forms stored in the portable computer memory. In a hospital, "sheets" of patient data can be stored in the portable computer memory, accessed by a nurse on rounds and relevant data such as blood pressure, temperature, etc. then manually entered using a pen. These corrected or enhanced forms can then be downloaded to a central computer memory.
In dieser bevorzugten Ausgestaltung stellt die Erfindung somit vorteilhafterweise ein tragbares Computersystem bereit, das leicht, zuverlässig, genau und kostenarm ist und verwendet werden kann, während man steht oder geht.In this preferred embodiment, the invention thus advantageously provides a portable computer system that is lightweight, reliable, accurate, inexpensive, and can be used while standing or walking.
Eine Ausgestaltung der vorliegenden Erfindung umfaßt einen transparenten Eingabebildschirm. Während der Benutzer alphanumerische oder sonstige Zeichen oder Symbole (zum Beispiel handgeschriebene Symbole oder graphische Zeichen wie nachfolgend beschrieben) auf den Eingabebildschirm schreibt, wird jedes Zeichen oder Symbol als Kette von Punkten repräsentiert, die eine geschriebene Eingabe mit Stift auf Papier emuliert. Wenn die diskreten alphanumerischen und sonstigen Zeichen oder Symbole komplett sind, dann werden sie in Computertext oder Computerbefehle oder -funktionen umgesetzt, die, je nachdem, auf einem Anzeigebildschirm an einer Stelle angezeigt werden können, die sich vorzugsweise unterhalb des Bereiches auf dem Eingabebildschirm befindet, wo sie eingegeben wurden, und/oder ausgeführt werden können. Die Ausgestaltung umfaßt auch einen Strukturerkennungsalgorithmus, der die Umsetzung beliebiger geschriebener Zeichen oder Symbole wie zum Beispiel Ideogramme und wissenschaftliche Symbole in Computertext zuläßt. In einer besonderen, derzeit bevorzugten Ausgestaltung wird ein tastaturloser Computer als Bearbeitungs- und Anzeigegerät konfiguriert, umfassend einen transparenten Berührungsbildschirm und zugehörige Elektronik, die über einen Anzeigebildschirm mit 80 Spalten und 25 Zeilen oder größer plaziert wird; einen Pen zur Eingabe von Daten; einen Mikroprozessor und ein Speichermittel; künstliche Intelligenz/Strukturerkennungssoftware und Editierungssoftware; und ein Batteriespeisesystem; sowie weitere E/A-Mittel.One embodiment of the present invention includes a transparent input screen. As the user writes alphanumeric or other characters or symbols (for example, handwritten symbols or graphic characters as described below) on the input screen, each character or symbol is represented as a chain of dots emulating a written pen-on-paper input. When the discrete alphanumeric and other characters or symbols are complete, they are translated into computer text or computer commands or functions which, as the case may be, can be displayed on a display screen at a location preferably below the area on the input screen where they were entered and/or executed. The embodiment also includes a structure recognition algorithm which allows the translation of any written characters or symbols, such as ideograms and scientific symbols, into computer text. In a particular, presently preferred In one embodiment, a keyboardless computer is configured as an editing and display device, comprising a transparent touch screen and associated electronics placed over a display screen of 80 columns and 25 rows or larger; a pen for entering data; a microprocessor and storage means; artificial intelligence/pattern recognition software and editing software; and a battery power system; and other I/O means.
Der hierin verwendete Begriff "handgeschriebene Symbole" umfaßt "graphische Zeichen" oder "handgeschriebene Zeichen" oder dergleichen sowie beliebige Symbole, die handgeschrieben, gezeichnet, skizziert oder geschrieben werden können und einen kommunikativen Effekt haben. So sind zum Beispiel, aber nicht ausschließlich, alphanumerische oder andere Zeichen oder Symbole, Zahlen, Buchstaben, "Kanji" (japanische Ideogramme) oder andere Sprachsymbole, Editiersymbole sowie technische, wissenschaftliche, architektonische und mathematische Symbole handgeschriebene Symbole. Weitere Beispiele für handgeschriebene Symbole sind Freihandzeichnungen oder Unterschriften oder beliebige andere solche geschriebenen, gezeichneten oder skizzierten Informationen, die eindeutig durch einen bestimmten Schreiber konfiguriert werden. "Handgeschriebene Symbole" können auch Editiersymbole und "Computerbefehle" und -funktionen (nachfolgend definiert) umfassen.As used herein, the term "handwritten symbols" includes "graphic characters" or "handwritten characters" or the like, as well as any symbols that can be handwritten, drawn, sketched or written and have a communicative effect. For example, but not limited to, alphanumeric or other characters or symbols, numbers, letters, "kanji" (Japanese ideograms) or other language symbols, editing symbols, and technical, scientific, architectural and mathematical symbols are handwritten symbols. Other examples of handwritten symbols include freehand drawings or signatures or any other such written, drawn or sketched information that is uniquely configured by a particular scribe. "Handwritten symbols" may also include editing symbols and "computer commands" and functions (defined below).
Der hierin verwendete Begriff "Schriftartsymbole" umfaßt "graphische Symbole" und bedeutet computergenerierte Symbole, die in einem vorbestimmten Schriftartformat angezeigt werden. So können beispielsweise, aber nicht ausschließlich, alphanumerische Symbole Schriftartsymbole sein und in zahlreichen Schriftartformaten angezeigt werden. Japanische oder chinesische "Ideogramme" können ebenfalls Schriftartsymbole sein, wie auch technische, wissenschaftliche, mathematische, architektonische oder andere solche Zeichen. Weitere Beispiele für Schriftartsymbole sind unter anderem jede Form, die von einem Computer gespeichert und angezeigt werden kann, zum Beispiel eine Zeichnung eines Autos oder eines Hauses.As used herein, the term "font symbols" includes "graphic symbols" and means computer-generated symbols displayed in a predetermined font format. For example, but not limited to, alphanumeric symbols may be font symbols and may be displayed in numerous font formats. Japanese or Chinese "ideograms" may also be font symbols, as may technical, scientific, mathematical, architectural, or other such characters. Other examples of font symbols include any shape that can be stored and displayed by a computer, such as a drawing of a car or a house.
Der hierin verwendete Begriff "Editiersymbol" ist ein Befehlssymbol, das als Symbol oder graphisches Zeichen (wie zum Beispiel ein Winkelzeichen, eine horizontale Linie, eine kurze vertikale Linie, eine lange vertikale Linie usw.) geschrieben wird und - wenn es erkannt wird - den Zweck hat zu bewirken, daß der Computer eine bestimmte Editierfunktion oder einen bestimmten Befehl (nachfolgend definiert) ausführt, wie zum Beispiel Text einfügen (Winkelzeichen), Text löschen (horizontale Linie), einen Buchstaben löschen (kurze vertikale Linie) oder einen Rand bewegen (lange vertikale Linie), um nur einige wenige repräsentative Beispiele aufzuführen.As used herein, the term "editing symbol" is a command symbol that is written as a symbol or graphic character (such as a caret, a horizontal line, a short vertical line, a long vertical line, etc.) and, when recognized, has the purpose of causing the computer to perform a specific editing function or command (defined below), such as inserting text (caret), deleting text (horizontal line), deleting a letter (short vertical line), or moving a margin (long vertical line), to name just a few representative examples.
"Editierfunktion" bedeutet jeden computergenerierten Texteditierungsvorgang oder -befehl zum Ändern von Text, wie zum Beispiel, aber nicht ausschließlich, Text einfügen, Text löschen, Text bewegen und Text substituieren. Einige primäre Editierfunktionen sind gegen Ende der Beschreibung aufgeführt."Editing Function" means any computer-generated text editing operation or command for changing text, such as, but not limited to, inserting text, deleting text, moving text, and substituting text. Some primary editing functions are listed near the end of the description.
Eine bevorzugte Ausgestaltung eines tastaturlosen Eingabecomputersystems wird nachfolgend ausführlicher beschrieben. Es umfaßt einen transparenten Eingabebildschirm, der Positionsinformationen erzeugt, wenn er mit einem Pen berührt wird, und einen Anzeigebildschirm, der physisch unterhalb des Eingabebildschirms montiert ist, so daß ein angezeigtes Zeichen unter dem Eingabebildschirm sichtbar wird. Das System umfaßt einen Computer, der so programmiert ist, daß er die Positionsinformationen in Striche kompiliert, um Strich-Charakteristiken zu errechnen und dann die Strich-Charakteristiken mit denjenigen zu vergleichen, die in einer Datenbank gespeichert sind, um das mit dem Pen gezeichnete Symbol zu erkennen. Hauptmerkmale des Systems sind wie folgt: (A) transparentes Positionserfassungs-Subsystem; (B) zugrundeliegende Anzeige, auf der eine Zeichnung der erfaßten Positionen dargestellt und Zeichen oder Symbole gezeigt werden; (C) ein Mittel zum Konvertieren erfaßter Positionen zunächst in geplottete Punkte und dann in erkannte Zeichen oder Symbole; und (D) ein Mittel zum "Lernen", um erfaßte Eingabepositionen mit einem Zeichen oder Symbol zu assoziieren. Die Vorrichtung kann in einer tragbaren Einheit mit Abmessungen von bis zu etwa 400 mm mal 400 mm mal 100 mm (16" · 16" · 4") und einem Gewicht von bis zu etwa 7 Kilogramm (15 lbs) mit einer selbständigen Stromversorgung untergebracht werden.A preferred embodiment of a keyboardless input computer system is described in more detail below. It includes a transparent input screen that generates position information when touched with a pen, and a display screen physically mounted below the input screen so that a displayed character is visible below the input screen. The system includes a computer programmed to compile the position information into strokes to calculate stroke characteristics and then compare the stroke characteristics with those stored in a database to to recognize the symbol drawn with the pen. Main features of the system are as follows: (A) transparent position sensing subsystem; (B) underlying display on which a plot of the sensed positions is presented and characters or symbols are shown; (C) means for converting sensed positions first to plotted points and then to recognized characters or symbols; and (D) means for "learning" to associate sensed input positions with a character or symbol. The apparatus may be housed in a portable unit measuring up to about 400 mm by 400 mm by 100 mm (16" x 16" x 4") and weighing up to about 7 kilograms (15 lbs) with a self-contained power supply.
Es folgt eine Übersicht über bestimmte relevante Technologien, die für die Anwendung bei der Ausführung der Erfindung geeignet sind.The following is an overview of certain relevant technologies suitable for use in carrying out the invention.
Es können zahlreiche Positionierungstechnologien angewendet werden, um den Anforderungen der Positionserfassungseingabe gerecht zu werden. Zu diesen Anforderungen gehören im wesentlichen Genauigkeit, Auflösung und Geschwindigkeit. Die Technologien beinhalten: Mechanik, Elektrostatik, Elektromagnetik, Akustik, Optik und Trägheit. Gewünscht wird für dieses System, daß seine Anwendung so nahe wie möglich an das Schreiben mit einem Stift oder Bleistift auf Papier herankommt. Ein Problem ist Nähe: ein Stift hinterläßt auf Papier lediglich dann eine Spur, wenn tatsächlich Kontakt hergestellt wird. Viele dieser Technologien erfordern einen zusätzlichen "Stiftkontakt"-Sensor, der sich bei vielen handelsüblichen Stiften nur umständlich verwenden läßt. Ein weiteres Problem ist der Schreibwinkel: ein Stift hinterläßt dieselbe Spur unabhängig vom Schreibwinkel. Bei vielen dieser Technologien ist der Positionsdetektor von der Stiftspitze versetzt, so daß der Stiftwinkel fehlerhafte Verschiebungen verursacht. Über diese allgemeinen Probleme hinaus hat jede Technologie zahlreiche Vorteile und Nachteile im Hinblick auf (1) den Stift: Größe, Gewicht, Form und die Frage, ob er gespeist und/oder verdrahtet werden muß, und (2) die Schreiboberfläche: Transparenz, Glattheit, "Griff" und die Frage, ob ein physischer Kontakt notwendig ist oder nicht (im Gegensatz zu Druck, der durch darüberliegende Folien oder Papier übertragen wird).A variety of positioning technologies can be used to meet the requirements of position sensing input. These requirements are essentially accuracy, resolution and speed. The technologies include: mechanical, electrostatic, electromagnetic, acoustic, optical and inertial. The desired application of this system is to be as close as possible to writing with a pen or pencil on paper. One problem is proximity: a pen only leaves a mark on paper when contact is actually made. Many of these technologies require an additional "pen contact" sensor, which is cumbersome to use with many commercially available pens. Another problem is writing angle: a pen leaves the same mark regardless of the writing angle. In many of these technologies, the position detector is offset from the pen tip, so the pen angle can cause erroneous displacements. Beyond these general problems, each technology has numerous advantages and disadvantages with respect to (1) the pen: size, weight, shape, and whether it needs to be powered and/or wired, and (2) the writing surface: transparency, smoothness, "grip," and whether or not physical contact is necessary (as opposed to pressure transmitted through overlying transparencies or paper).
Die Anforderungen an die Positionserfassungseingabetechnologie sind Genauigkeit (Punkt zu Punkt), Auflösung (absolute Position) und Geschwindigkeit (Punkte pro Zeiteinheit), um den geschriebenen Strich für die Erkennungsanalyse ausreichend zu definieren. Für die derzeit verwendeten Erkennungsvorrichtungen und -verfahren sind, wie nachfolgend beschrieben, die derzeitigen Mindestanforderungen: eine Genauigkeit von 0,125 mm (0,005 Zoll), eine Auflösung von 0,375 mm (0,015 Zoll) und eine Geschwindigkeit von 150 Punkten pro Sekunde. Bei dieser Genauigkeit kann eine 6 mm (1/4 Zoll) hohe Schreiblinie mit mehr als 10 Roh-Eingabepunkten entlang eines Strichs eines kleinen Buchstabens erzeugt werden. Die Auflösung erbringt eine Positionierung des Symbols auf eine Genauigkeit innerhalb von zwei Bildpunkten bei einer derzeitigen Anzeige von 640 Bildpunkten auf 225 mm (9 Zoll). Die Geschwindigkeit ermöglicht etwa 50 Roh-Eingabepunkte für einen schnell geschriebenen Einzelbuchstaben (1/3 Sekunde).The requirements for the position sensing input technology are accuracy (point to point), resolution (absolute position) and speed (points per unit time) to sufficiently define the written stroke for recognition analysis. For the recognition devices and methods currently in use, as described below, the current minimum requirements are: an accuracy of 0.125 mm (0.005 inches), a resolution of 0.375 mm (0.015 inches) and a speed of 150 points per second. At this accuracy, a 6 mm (1/4 inch) high writing line can be produced with more than 10 raw input points along a stroke of a small letter. The resolution provides positioning of the symbol to an accuracy within two pixels for a current display of 640 pixels on 225 mm (9 inches). The speed allows about 50 raw input points for a single letter written quickly (1/3 second).
Die bevorzugte Ausgestaltung der Erfindung wird nachfolgend ausführlicher beispielhaft unter Bezugnahme auf die Zeichnungen beschrieben. Dabei zeigt:The preferred embodiment of the invention is described in more detail below by way of example with reference to the drawings. In the drawings:
Fig. 1 ein schematisches Systemblockdiagramm einer Ausgestaltung der vorliegenden Erfindung;Fig. 1 is a schematic system block diagram of an embodiment of the present invention;
Fig. 2 eine perspektivische Darstellung des Gehäuses, das die Betriebselemente des Systems aufnimmt;Fig. 2 is a perspective view of the housing which houses the operating elements of the system;
Fig. 2A einen vergrößerten Teil von Fig. 2, wobei Teile entfernt wurden, um die Positionsbeziehung zwischen dem Berührungseingabebildschirm und dem Anzeigebildschirm zu zeigen;Fig. 2A is an enlarged portion of Fig. 2 with parts removed to show the positional relationship between the touch input screen and the display screen;
Fig. 3 ein schematisches Diagramm von Eingabebildschirm, Pen und zugehöriger Elektronik:Fig. 3 a schematic diagram of input screen, pen and associated electronics:
Fig. 4 ein schematisches Gesamtsystemblockdiagramm der Vorrichtung eines tastaturlosen Eingabecomputersystems gemäß der vorliegenden Erfindung;Fig. 4 is an overall schematic system block diagram of the apparatus of a keyboardless input computer system according to the present invention;
Fig. 5 ein schematisches Blockdiagramm, das die Bewegung von Daten innerhalb des Systems beschreibt, wenn es durch handgeschriebene Zeichen und Befehle modifiziert wird;Fig. 5 is a schematic block diagram describing the movement of data within the system as it is modified by handwritten characters and commands;
Fig. 6 ein Gesamtsystemblockdiagramm, das die Hierarchie von Software beschreibt, die zum Betreiben des Systems eingesetzt wird;Fig. 6 is an overall system block diagram describing the hierarchy of software used to operate the system;
Fig. 7 ein verallgemeinertes Blockdiagramm des Zeichen- und Strukturerkennungsalgorithmus;Fig. 7 is a generalized block diagram of the character and structure recognition algorithm;
Fig. 8A und 8B zusammen ein detailliertes Blockdiagramm des Strukturerkennungsalgorithmus;Fig. 8A and 8B together show a detailed block diagram of the structure detection algorithm;
Fig. 9 ein schematisches Blockdiagramm der Strich- Charakterisierungssubroutine;Fig. 9 is a schematic block diagram of the stroke characterization subroutine;
Fig. 10 eine Draufsicht auf einen Bildschirm, die die "Initialisierung" der Datenbank für handgeschriebene Symbole veranschaulicht;Fig. 10 is a top view of a screen illustrating the "initialization" of the handwritten symbol database;
Fig. 11A bis 11I eine Serie von Draufsichten auf Bildschirme, die den Betrieb eines Texteditierungssystems beschreiben;Figures 11A through 11I are a series of plan views of screens describing the operation of a text editing system;
Fig. 12A bis 12G eine Serie von Draufsichten auf Bildschirme, die den Betrieb eines Dateneingabesystems beschreiben;Figures 12A through 12G are a series of plan views of screens describing the operation of a data entry system;
Fig. 13 ein verallgemeinertes Blockdiagramm des Linus Editors.Fig. 13 a generalized block diagram of the Linus Editor.
In den Figuren, in denen gleiche Ziffern gleiche Elemente in allen verschiedenen Ansichten kennzeichnen, und insbesonders in Fig. 1 ist ein Gesamtblockdiagramm eines tragbaren tastaturlosen Handschrifteingabecomputersystems 10 dargestellt. Das komplette Computersystem ist von einem Gehäuse 12 umgeben, das graphisch von der gestrichelten Linie dargestellt wird, und enthält einen konventionellen, digitalen Mehrzweck-Mikrocomputer 14, der nachstehend ausführlicher beschrieben wird. Eingabeinformationen werden in den Mikrocomputer 14 eingegeben, indem mit Pen 19 auf den Schreib- oder Eingabebildschirm 18 "geschrieben" wird. Der Pen 16 (Fig. 2) ist über Leitung 17 (Fig. 2) an den Computer des Systems 10 angeschlossen. Während mit Pen 16 auf dem Eingabebildschirm 18 "geschrieben" wird, wird eine Mehrzahl von Ortungssignalen, die für eine Mehrzahl entsprechender Positionskoordinaten repräsentativ sind, zum Mikrocomputer 14 übertragen. Der Mikrocomputer 14 ist gemäß einem nachfolgend beschriebenen Computerprogramm programmiert, um die Kette von Ortungssignalen zu erkennen und diese Signale in einem Computerspeicher zu speichern. Der programmierte Mikrocomputer 14 gibt auch eine entsprechende Mehrzahl von Anzeigesignalen an einen Anzeigebildschirm 20 ab. Sowohl Eingabebildschirm 18 als auch Anzeigebildschirm 20 werden nachfolgend ausführlicher beschrieben.In the figures where equal digits have equal 1, there is shown an overall block diagram of a portable keyboardless handwriting input computer system 10. The complete computer system is enclosed in a housing 12, graphically represented by the dashed line, and includes a conventional, general-purpose digital microcomputer 14, described in more detail below. Input information is entered into the microcomputer 14 by "writing" with pen 19 on the writing or input screen 18. The pen 16 (Fig. 2) is connected to the computer of the system 10 by line 17 (Fig. 2). As pen 16 is "writing" on the input screen 18, a plurality of locating signals representative of a plurality of corresponding position coordinates are transmitted to the microcomputer 14. The microcomputer 14 is programmed in accordance with a computer program described below to recognize the chain of locating signals and to store these signals in a computer memory. The programmed microcomputer 14 also outputs a corresponding plurality of display signals to a display screen 20. Both input screen 18 and display screen 20 are described in more detail below.
Fig. 2 zeigt eine perspektivische Darstellung des tastaturlosen Computersystems 10, das die Merkmale der vorliegenden Erfindung enthält. Das tasturlose Computersystem 10 ist im Gehäuse 12 enthalten, das ein rechteckiger, geschlossener Kasten mit schrägliegender Oberfläche 22 mit einem mehrzeiligen Festkörper- Anzeigebereich 24 ist. Der Eingabebildschirm 18 ist in Fig. 2A so dargestellt, daß er über dem Anzeigebildschirm 20 positioniert ist. In diesem Beispiel zeigt der Anzeigebildschirm 20 eine Mehrzahl horizontaler Linien 25 mit den folgenden Anzeigen an:Fig. 2 shows a perspective view of the keyboardless computer system 10 incorporating the features of the present invention. The keyboardless computer system 10 is contained within the housing 12 which is a rectangular, closed box with a sloped surface 22 having a multi-line solid state display area 24. The input screen 18 is shown in Fig. 2A as being positioned above the display screen 20. In this example, the display screen 20 displays a plurality of horizontal lines 25 having the following indicia:
NameSurname
AddressAddress
Handgeschriebene Eingaben erfolgen über jeder Linie 25. Die Distanz oder der Raum zwischen zwei Linien 25, mit 26 bezeichnet, wird von dem System zum Normalisieren aller Distanzen verwendet, und die Linien 25 selbst dienen als Referenzachse oder Grundlinie.Handwritten input is made above each line 25. The distance or space between two lines 25, denoted by 26, is used by the system to normalize all distances, and the lines 25 themselves serve as the reference axis or baseline.
Unterhalb des Anzeigebereichs 24 auf der Oberfläche 22 befindet sich eine Tasteneingabesektion 26, die aus einer Mehrzahl von "Softtasten" 28 besteht. Die Softtasten 28 können vom Bediener für jeden Zweck programmiert werden, wie zum Beispiel für die Eingabe von Computerbefehlen. Befehle für Softtasten 28 sind zum Beispiel "Speichern", "Abrufen" und "Löschen". Darüber hinaus können Softtasten 28 zum Schalten zwischen verschiedenen Programmen oder zwischen Modi (z. B. Dateneingabemodus und Editiermodus) verwendet werden. Softtasten 28 sind jedoch fakultative Elemente und werden dazu verwendet, die Eingabe per handgeschriebenen Eintrag zu ergänzen. Der Pen 16, der zum Schreiben von Eingabedaten und Befehlen im Anzeigebereich 24 verwendet wird, wird auch zum Aktivieren der gewählten Softtaste 28 benutzt. Ein EIN-AUS-Schalter 30 befindet sich auf der Seite des Gehäuses 12 neben den Softtasten 28. Ein Datenausgabe- oder Peripheriesteckverbinder 31 befindet sich auf der rechten oberen Seite des Gehäuses 12.Below the display area 24 on the surface 22 is a key input section 26 consisting of a plurality of "soft keys" 28. The soft keys 28 can be programmed by the operator for any purpose, such as entering computer commands. Commands for soft keys 28 include "save," "recall," and "delete." In addition, soft keys 28 can be used to switch between different programs or between modes (e.g., data entry mode and edit mode). However, soft keys 28 are optional and are used to supplement the input by handwritten entry. The pen 16 used to write input data and commands in the display area 24 is also used to activate the selected soft key 28. An ON-OFF switch 30 is located on the side of the housing 12 next to the soft keys 28. A data output or peripheral connector 31 is located on the upper right side of the housing 12.
Der Eingabebildschirm 18 kann ein konventioneller ohmscher Berührungsbildschirm sein, bei dem eine Spannung an die Bildschirmkanten angelegt wird und ein Pen die Spannung an den berührten Orten ermittelt. Die Schreibfläche besteht aus einem transparenten Material, gewöhnlich Glas, das mit einer dünnen, gleichmäßigen, leitenden Schicht (zur Zeit vakuumbedampftes Indiumzinnoxid) beschichtet ist. Vertikale Sammelschienen oder Leitstreifen (nicht dargestellt) werden entlang beiden Seiten zum Anlegen der Referenzspannung verwendet, um die "X"-Koordinaten der Pen-Position zu bestimmen, und horizontale Sammelschienen oder Leitstreifen (nicht dargestellt) werden entlang der Unter- und Oberseite zum Anlegen der Referenzspannung verwendet, um die "Y"- Koordinaten der Pen-Position zu bestimmen. In dieser Ausgestaltung ist der Pen 16 lediglich ein elektrischer Fühler, der, wenn er direkt mit der Leitschicht in Kontakt ist, die Ortsspannung am Kontaktpunkt ermittelt, die je nach Distanz von den Leitstreifen oder den Sammelschienen unterschiedlich ist. Mit dem Nullpunkt am Spannungsanlegepunkt sind die X,Y-Koordinaten umgekehrt proportional zur aufgedrückten Spannung. Der Pen 16 muß einen guten Kontakt herstellen, um Additionswiderstand gering zu halten, der die ermittelte Spannung senken und somit ein fehlerhaftes Distanzinkrement hinzufügen würde. In einer derzeit bevorzugten Ausgestaltung wird eine weiche Graphitspitze benutzt. Die Spannung wird von dem Stift durch eine Leitung, wie beispielsweise Leitung 17 in Fig. 2, zu einem A/D-Wandler geleitet, um in den nachstehend beschriebenen Berechnungen verwendet zu werden. Der Pen kann wie hierin beschrieben ein geladener "Stift", ein in Fachkreisen allgemein bekannter Lichtgriffel oder eine beliebige andere handgehaltene Vorrichtung sein, die handgeschriebene Symbole auf einem Bildschirm darstellen kann.The input screen 18 may be a conventional resistive touch screen in which a voltage is applied to the edges of the screen and a pen detects the voltage at the touched locations. The writing surface is made of a transparent material, usually glass, coated with a thin, uniform conductive layer (currently vacuum deposited indium tin oxide). Vertical bus bars or conductive strips (not shown) are placed along both sides are used to apply the reference voltage to determine the "X" coordinates of the pen position, and horizontal bus bars or conductive strips (not shown) are used along the bottom and top to apply the reference voltage to determine the "Y" coordinates of the pen position. In this embodiment, the pen 16 is merely an electrical probe which, when in direct contact with the conductive layer, detects the local voltage at the point of contact, which varies depending on the distance from the conductive strips or bus bars. With the zero point at the voltage application point, the X,Y coordinates are inversely proportional to the voltage applied. The pen 16 must make good contact to minimize additive resistance which would lower the detected voltage and thus add an erroneous distance increment. In a presently preferred embodiment, a soft graphite tip is used. The voltage is passed from the pen through a lead, such as lead 17 in Fig. 2, to an A/D converter for use in the calculations described below. The pen may be a charged "pen" as described herein, a light pen as commonly known in the art, or any other handheld device capable of displaying handwritten symbols on a screen.
Ein Beispiel für einen konventionellen elektrostatischen Bildschirm ist in dem zuvor genannten Patent 4,318,096 von Pepper offenbart. Dieser ohmsche Bildschirm hat den Vorteil, daß die vom Benutzer beim Berühren des Bildschirms mit der Hand verursachte Interferenz gering gehalten wird.An example of a conventional electrostatic screen is disclosed in the aforementioned patent 4,318,096 to Pepper. This resistive screen has the advantage of minimizing the interference caused by the user touching the screen with his hand.
Die horizontale und vertikale Positionserfassung erfolgt durch abwechselndes Schalten der auf eine leitende Schicht aufgedrückten Spannung zwischen den Paaren von horizontalen und vertikalen Sammelschienen durch eine Schnittstelle und einen Multiplexer, die/der von einem Mikrocomputer oder Mikrocontroller gesteuert wird. In einem im Handel erhältlichen Eingabe- oder Berührungsbildschirm sind die Sammelschienen in eine Reihe kurzer Streifen mit Dioden unterteilt, um die horizontalen Streifen daran zu hindern, vertikale Streifen kurzuschließen und umgekehrt. Diese Technik wird in einem im Handel erhältlichen Berührungsbildschirm von Touch Technologies aus Annapolis, Md. und Elographics aus Oak Ridge, Tenn. eingesetzt.The horizontal and vertical position detection is carried out by alternately switching the voltage applied to a conductive layer between the pairs of horizontal and vertical busbars through an interface and multiplexer controlled by a microcomputer or microcontroller. In a commercially available input or touch screen, the busbars are divided into a series of short strips with diodes to prevent the horizontal strips from shorting vertical strips and vice versa. This technique is used in a commercially available touch screen by Touch Technologies of Annapolis, Md. and Elographics of Oak Ridge, Tenn.
Bezugnehmend auf Fig. 3, wird nun eine alternative Ausgestaltung eines neuartigen Niedrigleistungs- Positionserfassungseingabebildschirms 33 ausführlich beschrieben. Der Eingabebildschirm 33 dient auch zum Bestimmen einer X,Y-Position auf einer elektrisch resistiven Platte 34. Ein Pen 35, der eine Spannungsquelle wie Batterie 36 oder eine zum Pen 35 von einer externen Quelle wie die Systemstromversorgung geleitete Spannung enthält, dient zum Berühren von Bildschirm 34 und zum Anlegen einer Spannung an der berührten Position. Wird die berührte Position vom Pen 35 mit einer positiven Spannung in bezug auf eine Mehrzahl von Plattenmeßpunkten 37 geladen, so variiert die Spannung an diesen Punkten mit der Distanz zur Stiftposition, wie Position X&sub1;, Y&sub1; bei 38. Diese Spannungen werden der Reihe nach in X- und Y-Richtung mit konventionellen Mitteln, wie sie in den zuvor genannten Patenten des Standes der Technik offenbart sind, gemessen. In Fig. 3 beinhalten diese Mittel eine(n) konventionelle/n Schnittstelle/Multiplexer 42. Ein konventioneller A/D- Wandler 43 wandelt die ermittelten Spannungen in ein digitales Signal um. Ein Mikrocontroller 44 empfängt das digitale Signal, führt Standardprüfungen durch, um sicherzustellen, daß der numerische Wert des Signals "gültig" ist (z. B. innerhalb des möglichen Bereichs von Spannungen liegt), und wandelt die Spannungen dann in der hierin beschriebenen Weise in X- und Y-Distanzen um. Der Mikrocontroller 44 ist konventionell, könnte aber durch einen Systemcomputer ersetzt werden. Mikrocontroller 44 liefert ein digitales Signal, das für die X- und Y- Distanzen zum Meßpunkt 38 repräsentativ ist, zu einem Ausgangsport 46. Port 46 kann ein konventioneller RS 232 Port sein. Alternativ könnte der Mikrocontroller 44 Punkt X&sub1;, Y&sub1; in einen beliebigen anderen Bezugspunkt umsetzen, wie zum Beispiel einen Punkt auf der Grundlinie 25 (Fig. 2).Referring to Fig. 3, an alternative embodiment of a novel low power position sensing input screen 33 will now be described in detail. Input screen 33 also serves to determine an X,Y position on an electrically resistive plate 34. A stylus 35, which includes a voltage source such as battery 36 or a voltage supplied to stylus 35 from an external source such as the system power supply, is used to touch screen 34 and apply a voltage to the touched position. When the touched position is charged by stylus 35 with a positive voltage with respect to a plurality of plate measurement points 37, the voltage at these points varies with distance from the stylus position, such as position X₁, Y₁ at 38. These voltages are measured sequentially in the X and Y directions by conventional means such as disclosed in the aforementioned prior art patents. In Fig. 3, these means include a conventional interface/multiplexer 42. A conventional A/D converter 43 converts the detected voltages into a digital signal. A microcontroller 44 receives the digital signal, performs standard checks to ensure that the numerical value of the signal is "valid" (e.g., within the possible range of voltages), and then converts the voltages in the into X and Y distances in the manner described herein. Microcontroller 44 is conventional but could be replaced by a system computer. Microcontroller 44 provides a digital signal representative of the X and Y distances to measurement point 38 to an output port 46. Port 46 may be a conventional RS 232 port. Alternatively, microcontroller 44 could translate point X₁, Y₁ to any other reference point, such as a point on baseline 25 (Fig. 2).
Solange der Pen 35 an Position 38 oder an einer beliebigen anderen Position auf Platte 34 keinen Kontakt herstellt, fließt kein Strom und die Leistungsaufnahme ist minimal. Eine Stichprobenmessung der Spannung an den Meßpunkten kann erfolgen, indem Sägezahnspannung am Positionierungspunkt verwendet und die Zeit gemessen wird, wenn die Meßpunktspannung eine vorgegebene Gegenspannung überschreitet.As long as the pen 35 does not make contact at position 38 or at any other position on plate 34, no current flows and power consumption is minimal. A sample measurement of the voltage at the measuring points can be made by using sawtooth voltage at the positioning point and measuring the time when the measuring point voltage exceeds a predetermined counter voltage.
Es gibt verschiedene Optionen für die Eingabe- oder Berührungsbildschirme 18 und 33: die ohmsche Platte 34 oder ihr Äquivalent für Bildschirm 18 kann transparent oder lichtdurchlässig sein, und der Positionspunkt kann mit einem Pen oder einem Finger des Benutzers oder einem Verbindungspunkt eines überlappenden leitenden Bildschirms (wie die im Handel erhältlichen Berührungsbildschirme von Touch Technology, Annapolis, MD.) gemacht werden. Die Eingabebildschirme 18 und 33 können eine physische feste Fläche sein, die transparent oder lichtdurchlässig ist und aus Glas oder Kunststoff wie Mylar bestehen kann. Die Fläche kann mit einer leitenden/ohmschen Substanz wie Indiumzinnoxid überzogen werden. Andere physische Flächen können die Übertragung von Schall oder elektromagnetischer Strahlung von der berührten Position zu (einem) Bezugspunkt(en) verwenden, wobei die Distanz durch die Zeitverzögerung oder Phasenverschiebung bestimmt wird. Alternativ können die Eingabebildschirme 18 und 33 eine etherische oder geometrische Fläche benutzen, die durch ein elektromagnetisches, optisches oder akustisches Feld definiert wird.There are several options for the input or touch screens 18 and 33: the resistive plate 34 or its equivalent for screen 18 may be transparent or translucent, and the position point may be made with a stylus or a user's finger or a connection point of an overlapping conductive screen (such as the commercially available touch screens from Touch Technology, Annapolis, MD.). The input screens 18 and 33 may be a physical solid surface that is transparent or translucent and may be made of glass or plastic such as Mylar. The surface may be coated with a conductive/resistive substance such as indium tin oxide. Other physical surfaces may use the transmission of sound or electromagnetic radiation from the touched position to a reference point(s), the distance being determined by the time delay or phase shift. Alternatively, the input screens 18 and 33 may have a ethereal or geometric surface defined by an electromagnetic, optical or acoustic field.
Die Positionsbestimmung kann mit elektrischem Kontaktschluß durch ohmsche, kapazitive oder induktive Kopplung, Fernerfassung durch akustische, elektrische oder magnetische Felder oder mit Licht- (UV, IR oder Mikrowelle) Abtastung erfolgen.Position determination can be carried out by electrical contact closure through ohmic, capacitive or inductive coupling, remote detection through acoustic, electrical or magnetic fields or with light (UV, IR or microwave) scanning.
Die Niedrigleistungs-Positionserfassungs- Eingabeanordnung hat gegenüber anderen solchen Bildschirmen die folgenden Vorteile: 1) minimaler Leistungsbedarf im Bereitschaftsmodus, 2) Ausschließung von Verzerrungen, die in konventionellen Berührungsbildschirmen die Folge entgegengesetzter paralleler Sammelschienen sind, und 3) bei Verwendung einer Sägezahnspannung wird kein A/D-Chip benötigt, was in Berührungsbildschirmtechnologie des Standes der Technik ein wichtiger Kostenfaktor ist.The low power position sensing input arrangement has the following advantages over other such displays: 1) minimal power requirements in standby mode, 2) elimination of distortions that are a result of opposing parallel busbars in conventional touch displays, and 3) using a ramp voltage eliminates the need for an A/D chip, which is a major cost factor in state-of-the-art touch display technology.
Der Reibungskoeffizient des Bildschirms 18 wird vorzugsweise so gewählt, daß er "rauh" genug ist, um der Bewegung des Pens 16 auf dem Bildschirm einen gewissen Widerstand zu leisten. Wäre der Bildschirm zu glatt, dann würde der Pen zu leicht gleiten und wäre daher schwierig zu kontrollieren.The coefficient of friction of the screen 18 is preferably chosen to be "rough" enough to provide some resistance to the movement of the pen 16 on the screen. If the screen were too smooth, the pen would slide too easily and would therefore be difficult to control.
Es wird nunmehr Bezug genommen auf Fig. 4, die ein Gesamtsystemblockdiagramm der wesentlichen elektronischen Schaltungsanordnung darstellt, die in der bevorzugten Ausgestaltung der vorliegenden Erfindung verwendet wird. Mikrocomputer 14 umfaßt einen Mikroprozessor 50, der mit einer Mehrzahl anderer Elektronikelemente über Datenweg oder -bus 52 gekoppelt ist. Ein Festwertspeicher (ROM) 54, der mit den Betriebs- und Anwendungsprogrammen programmiert ist, und ein batteriegespeister Direktzugriffsspeicher (RAM) 56 sind für einen zweiseitig gerichteten Datenstrom an den Bus 52 angeschlossen. Mikroprozessor 50 kann ein konventionelles Ein-Chip-Acht-Bit- oder -Sechzehn-Bit- Bauelement sein, dessen Aufgabe es ist, die festen Steuerprogramme auszuführen, die im ROM 54 gespeichert sind, und das ferner Steuerprogramme von den anderen Elektronikelementen empfängt und an diese Steuersignale über den Bus 52 abgibt. Der Mikroprozessor 50 kann der im Handel erhältliche Typ 280 (von Zilog Microcomputers aus Cupertino, Kalifornien), Typ 8088 (von Intel Corp. aus Santa Clara, Kalifornien) oder ein beliebiger anderer ähnlicher oder leistungsstärkerer Mikroprozessor sein. ROM 54 kann vom Typ 2564 oder 4764 sein, die beide von Texas Instruments aus Dallas, Texas hergestellt werden. Die Speicherkapazität des RAM 56 wird zum Teil durch die Größe der Anwendungsprogramme, des Betriebsprogramms und der Datenbank bestimmt. Wie nachstehend erläutert wird, kann der RAM 56 ein statischer SRAM oder ein dynamischer DRAM sein. Die Hauptanforderungen an den RAM 56 sind, daß er eine ausreichende Speicherkapazität hat und daß er ein Minimum an Eingangsleistung benötigt.Reference is now made to Figure 4 which is an overall system block diagram of the essential electronic circuitry used in the preferred embodiment of the present invention. Microcomputer 14 includes a microprocessor 50 which is coupled to a plurality of other electronic elements via data path or bus 52. A read only memory (ROM) 54 programmed with the operating and application programs and a battery powered random access memory (RAM) 56 are connected to bus 52 for bidirectional data flow. Microprocessor 50 may be a conventional single chip eight-bit or sixteen-bit The ROM 54 may be a device responsible for executing the fixed control programs stored in the ROM 54 and for receiving control programs from the other electronic elements and providing control signals to them over the bus 52. The microprocessor 50 may be the commercially available Type 280 (from Zilog Microcomputers of Cupertino, Calif.), Type 8088 (from Intel Corp. of Santa Clara, Calif.), or any other similar or more powerful microprocessor. The ROM 54 may be a Type 2564 or a Type 4764, both manufactured by Texas Instruments of Dallas, Texas. The storage capacity of the RAM 56 is determined in part by the size of the application programs, operating system, and database. As will be explained below, the RAM 56 may be a static SRAM or a dynamic DRAM. The primary requirements of the RAM 56 are that it have sufficient storage capacity and that it require a minimum of input power.
Eine Batterie 58, wie beispielsweise eine Lithium- Batterie, liefert Energie, um den Speicher des RAM 56 für längere Zeiträume nichtflüchtig zu machen. Ein Batteriesatz 60, der bekannte aufladbare Batterietypen aufnimmt, wird für die Bereitstellung der verschiedenen Spannungspegel verwendet, die von den anderen Elektronikelementen des Mikrocomputers 14 benötigt werden.A battery 58, such as a lithium battery, provides power to make the memory of RAM 56 non-volatile for extended periods of time. A battery pack 60, which accommodates known rechargeable battery types, is used to provide the various voltage levels required by the other electronic elements of microcomputer 14.
Alternativ kann die Speicherfunktion des RAM 56 von einem nichtflüchtigen Bauelement übernommen werden, das für die Aufrechterhaltung der Speicherung keine Energie benötigt, wie zum Beispiel ein elektronisch löschbarer oder umprogrammierbarer Speicher (EEPROM), oder von Bauelementen, die Magnetblasen oder Kapazität benutzen. Für die Massenspeicherung können auch Disketten oder Bänder des Standes der Technik verwendet werden. Geeignete Magnetblasenspeichergeräte sind unter anderem die Typen 7110 und 7114 mit einer Speicherkapazität von jeweils 1 Megabit und 4 Megabit, die beide von Intel Corp. hergestellt werden. Ferner ist es möglich, einen einzelnen Chip mit integriertem Schaltkreis zu verwenden, der den Mikroprozessor 50, wenigstens einen Teil des ROM 54 und wenigstens einen Teil des RAM 56 enthält.Alternatively, the storage function of the RAM 56 may be performed by a non-volatile device that does not require energy to maintain storage, such as an electronically erasable or reprogrammable memory (EEPROM), or by devices that use magnetic bubbles or capacitance. State-of-the-art diskettes or tapes may also be used for mass storage. Suitable magnetic bubble storage devices include the types 7110 and 7114, each with a storage capacity of 1 Megabit and 4 Megabit, both manufactured by Intel Corp. It is also possible to use a single integrated circuit chip containing the microprocessor 50, at least a portion of the ROM 54 and at least a portion of the RAM 56.
Ebenfalls am Bus 52 angeschlossen ist eine serielle EIA RS-232 Schnittstelle 62, die ein Mittel für die Eingabe und Ausgabe von Daten bereitstellt. Daten werden zum Bus 52 (gewöhnlich zum RAM 56) geliefert, indem eine externe Datenquelle zum RS-232 Port 62 direkt mit dem Mikroprozessor 50 und anderen Elementen des Mikrocomputers 14 gekoppelt wird. Das Abladen von Daten vom RAM 56 kann vom Mikroprozessor 50 auch zu einem externen Computer, einem anderen Datenerfassungsgerät, einem Massendatenspeichergerät (z. B. Disketten- und Festplattenlaufwerke) oder einem elektronischen Telekommunikationssystem erfolgen. Auf ähnliche Weise können Daten durch Port 62 zu einem Drucker (nicht dargestellt) vom Verbindungsbus 52 übertragen werden.Also connected to bus 52 is an EIA RS-232 serial interface 62 which provides a means for input and output of data. Data is provided to bus 52 (usually to RAM 56) by coupling an external data source to RS-232 port 62 directly to microprocessor 50 and other elements of microcomputer 14. Offloading of data from RAM 56 may also be performed by microprocessor 50 to an external computer, another data acquisition device, a mass data storage device (e.g., floppy and hard disk drives), or an electronic telecommunications system. Similarly, data may be transferred through port 62 to a printer (not shown) from interconnect bus 52.
Der Pen 16 dient zum Schreiben auf den Eingabebildschirm 18 und zum Bewirken der Erzeugung von X,Y-Koordinateninformationen durch eine konventionelle elektronische Berührungsbildschirm- Schnittstellenschaltungsanordnung. Die Koordinateninformationen werden über den Bus 52 übertragen und dienen dem System 10 zur Steuerung. Das Festkörper- Display 20, das aus einer mehrzeiligen Anzeige besteht - zur Veranschaulichung, 80 Spalten und 25 Zeilen - ist über eine Anzeigeschnittstelle 66 an den Bus 52 gekoppelt. Die Grundanforderungen an die Anzeige sind, daß sie im wesentlichen flach und ausreichend dünn für den Gebrauch in der vorliegenden Erfindung ist. Die Anzeige kann von einem der folgenden Typen sein: Abtastanzeigen wie Kathodenstrahlröhren, Projektionsanzeigen wie Rückansicht- Projektoren, lichtemittierende Punktmatrixanzeigen (z. B. Elektrolumineszenz oder Plasmaentladung) und lichtblockierende Punktmatrixanzeigen (z. B. Flüssigkristallanzeigen, Festkörper-PLTZ oder magnetooptische Anzeigen). Darüber hinaus wird bevorzugt, daß die Anzeige mit dem Eingabebildschirm 18 hinsichtlich Größe, Konfiguration und Transparenz kompatibel ist und daß beide energiesparsame Typen sind.Pen 16 is used to write on input screen 18 and to cause X,Y coordinate information to be generated by conventional electronic touch screen interface circuitry. The coordinate information is transmitted over bus 52 and is used by system 10 for control. Solid state display 20, which consists of a multi-line display - illustratively, 80 columns and 25 rows - is coupled to bus 52 through display interface 66. The basic requirements for the display are that it be substantially flat and sufficiently thin for use in the present invention. The display may be of any of the following types: scanning displays such as cathode ray tubes, projection displays such as rear view projectors, light emitting dot matrix displays (e.g. electroluminescence or plasma discharge) and light-blocking dot matrix displays (e.g., liquid crystal displays, solid state PLTZ or magneto-optical displays). In addition, it is preferred that the display be compatible with the input screen 18 in size, configuration and transparency and that both be energy-saving types.
Die X,Y-Koordinaten werden über die Eingabebildschirm- Schnittstellenelektronik 64 in den tastaturlosen Computer 14 eingegeben und über Bus 52 zum Mikroprozessor 50 übertragen, der im ROM 54 und im RAM 56 gespeicherte Programme ausführt.The X,Y coordinates are entered into the keyboardless computer 14 via the input screen interface electronics 64 and transmitted via bus 52 to the microprocessor 50 which executes programs stored in ROM 54 and RAM 56.
Die Anzahl der Punkte (d. h. Sätze von X,Y- Koordinaten), die zum Definieren jedes handgeschriebenen Symbols verwendet werden, und die Geschwindigket, in der Punkte identifiziert werden, sind für den praktischen Nutzen wichtig. Es ist wünschenswert, wenigstens etwa 4 Punkte pro Millimeter (100 Punkte pro Zoll) und wenigstens etwa 100 Punkte pro Sekunde zum Definieren handgeschriebener Symbole zu verwenden. Es ist zu beachten, daß je mehr Punkte pro Längeneinheit identifiziert werden, desto höher ist die Genauigkeit des Systems beim Identifizieren handgeschriebener Symbole - werden jedoch mehr Punkte identifiziert, so sinkt die Geschwindigkeit der Identifikation und es wird mehr Computerspeicher benötigt. Folglich muß ein Gleichgewicht auf der Basis der Größe (verfügbarer Speicher und Verarbeitungsfähigkeit) des Computersystems und den Anforderungen an Reaktionsgeschwindigkeit und Genauigkeit erreicht werden. Für die meisten Zwecke sind Standardwerte im Bereich zwischen etwa 4 Punkten pro mm (100 Punkte pro Zoll) und 100 Punkten pro Sekunde und etwa 8 Punkten pro mm (200 Punkte pro Zoll) und 200 Punkten pro Sekunde geeignet.The number of points (i.e., sets of X,Y coordinates) used to define each handwritten symbol and the speed at which points are identified are important for practical use. It is desirable to use at least about 4 points per millimeter (100 points per inch) and at least about 100 points per second to define handwritten symbols. Note that the more points identified per unit length, the greater the accuracy of the system in identifying handwritten symbols - however, as more points are identified, the speed of identification decreases and more computer memory is required. Consequently, a balance must be achieved based on the size (available memory and processing capability) of the computer system and the requirements for speed of response and accuracy. For most purposes, standard values in the range between about 4 dots per mm (100 dots per inch) and 100 dots per second and about 8 dots per mm (200 dots per inch) and 200 dots per second are suitable.
Es ist auch zu beachten, daß je höher die Präzision des Systems beim Identifizieren der X,Y-Koordinaten jedes Punktes ist, desto geringer ist die Zahl der Punkte, die pro Längeneinheit und pro Sekunde identifiziert werden müssen, um handgeschriebene Symbole genau zu identifizieren. Im Gegensatz hierzu gilt: je geringer die Genauigkeit, desto mehr Punkte werden benötigt.It should also be noted that the higher the precision of the system in identifying the X,Y coordinates of each point, the lower the number of points that need to be identified per unit length per second to accurately identify handwritten symbols. In contrast, the lower the precision, the more points are needed.
Punktauflösung wird benötigt, um Punkte dort zu plazieren, wo es beabsichtigt ist, z. B. um ein Editiersymbol genau zwischen zwei Zeichen zu schreiben. Im Idealfall ist eine Auflösung auf einen einzelnen Anzeigebildpunkt wünschenswert. Beim Betrieb reicht jedoch eine Auflösung innerhalb zwei angezeigter Bildpunkte für eine Anzeige mit 640 Bildpunkten in einer horizontalen Abtastlinie von 225 mm (neun Zoll) aus.Dot resolution is needed to place dots where they are intended, for example to write an edit symbol exactly between two characters. Ideally, resolution to within a single display pixel is desirable. In operation, however, resolution to within two displayed pixels is sufficient for a display with 640 pixels in a 225 mm (nine inch) horizontal scan line.
Steht der Schalter 30 (Fig. 2) auf "eingeschaltet", dann wird der Basisanzeigemodus aktiviert und der Mikrocomputer 14 (Fig. 4) vom Betriebssystem programmiert, und es erscheint ein Menü auf dem Anzeigebildschirm 20 (Fig. 1). Das Menü präsentiert verschiedene Software- Optionen. Eine Primär-Softwarefunktion, Editieren, arbeitet auf eine Weise, die konventioneller Textverarbeitungsoftware ähnlich ist, mit der Ausnahme, daß handgeschriebene Zeichen, Symbole und Befehle vom System so interpretiert werden, als wären sie über eine konventionelle Tastatur eingegeben worden. Das System ist in der Lage, die von einem bestimmten Schreiber für Funktionen wie Einrücken, Einfügen, Löschen, Bewegen und Umformatieren verwendeten Editiersymbole zu lernen und setzt solche Symbole in digitale Befehlsfunktionen um. Bei Bedarf funktionieren Softtasten 28 (Fig. 2), die durch Berühren dieser Bereiche auf dem Eingabebildschirm mit dem Pen 16 aktiviert werden, wie konventionelle harte Funktionstasten auf einer Computertastatur.When switch 30 (Fig. 2) is in the "on" position, the basic display mode is activated and the microcomputer 14 (Fig. 4) is programmed by the operating system, and a menu appears on the display screen 20 (Fig. 1). The menu presents various software options. A primary software function, editing, operates in a manner similar to conventional word processing software, except that handwritten characters, symbols and commands are interpreted by the system as if they had been entered via a conventional keyboard. The system is able to learn the editing symbols used by a particular typist for functions such as indenting, inserting, deleting, moving and reformatting and translates such symbols into digital command functions. When required, soft keys 28 (Fig. 2), activated by touching these areas on the input screen with the pen 16, function like conventional hard function keys on a computer keyboard.
Das System ist insbesondere für den Gebrauch als interaktiver Bildschirmeditor oder Textverarbeiter vorgesehen. Nachdem ein Schreiber ein Dokument durch (beispielsweise) Berühren des angezeigten Namens einer existierenden Datei mit dem Pen oder durch Schreiben des Dateinamens auf den Bildschirm abgerufen hat, können alle gewöhnlichen Editierfunktionen per Pen-Eingabe erfolgen. Wenn der Benutzer ein angezeigtes Zeichen oder Symbol ändern möchte, so kann er einfach über das angezeigte Zeichen oder Symbol schreiben, und, wie nachstehend beschrieben wird, der Strukturerkennungsalgorithmus setzt den geschriebenen Eintrag in Computertext um. Die Editiersoftware ermöglicht zum Beispiel das Entfernen von Text, indem einfach eine Linie durch ihn gezogen wird, und ein konventionelles Winkelzeichen kann zum Andern des Betriebsmodus in den Einfügungsmodus verwendet werden. Im Einfügungsmodus stellt der Anzeigebildschirm 20 zusätzlichen Rain für die Eingabe handgeschriebener Zeichen oder Symbole zur Verfügung, die hinter dem Punkt in den Text eingefügt werden, wo ein Winkelzeichen geschrieben wurde. Text kann einfach bewegt werden, indem Klammern oder andere anwenderdefinierte Trennzeichen um einen angezeigten Satzteil oder ein angezeigtes Wort gesetzt werden und ein Winkelzeichen oder ein anderes benutzerdefiniertes Symbol in den Bereich des Textes geschrieben wird, in dem dieses Textmaterial auf Wunsch des Benutzers erscheinen soll. Neue Ränder können gesetzt werden, indem vertikale Linien an der Seite des angezeigten Textes an der Stelle gezogen werden, wo die neuen Ränder erscheinen sollen.The system is particularly designed for use as an interactive screen editor or word processor. After a writer has edited a document through (for example) touching the displayed name of an existing file with the pen or by writing the file name on the screen, all the usual editing functions can be performed by pen input. If the user wishes to change a displayed character or symbol he can simply write over the displayed character or symbol and, as described below, the pattern recognition algorithm will convert the written entry into computer text. For example, the editing software allows text to be removed by simply drawing a line through it and a conventional caret can be used to change the mode of operation to insert mode. In insert mode the display screen 20 provides additional space for the entry of handwritten characters or symbols which are inserted after the point in the text where a caret was written. Text can be moved easily by placing brackets or other user-defined separators around a displayed phrase or word and writing a caret or other user-defined symbol in the area of the text where the user wants that text material to appear. New margins can be set by dragging vertical lines along the side of the displayed text at the location where the new margins are to appear.
Mit der Basiseditorsoftware können auch neue Dokumente erstellt werden, indem einfach handgeschriebene Symbole auf dem Bildschirm eingegeben werden. Alle Dokumente können in der Art und Weise gespeichert, geändert und übertragen werden, in der diese Funktionen auf einem konventionellen Textverarbeitungssystem ausgeführt werden, mit dem Unterschied, daß diese Funktionen mit handgeschriebenen Editiersymbolen auf dem (fakultativen) Bildschirm oder durch Berühren der Softtasten mit dem Pen ausgeführt werden. Der auf diese Weise produzierte und gespeicherte zusammengesetzte Text kann anschließend über den RS 232 Port 62 (Fig. 4) in einen anderen Computer, ein ähnliches Gerät, ein externes Datenerfassungsgerät oder ein Aufzeichnungsgerät, in einen Drucker oder über ein Telekommunikationssystem abgeladen werden.The basic editor software also allows new documents to be created simply by entering handwritten symbols on the screen. All documents can be saved, modified and transferred in the same way as these functions are performed on a conventional word processor, with the difference that these functions are performed using handwritten editing symbols on the (optional) screen or by touching the soft keys with the pen. The composite text produced and stored in this way can then be downloaded via RS 232 port 62 (Fig. 4) to another computer, a similar device, an external data acquisition device or a recording device, to a printer or via a telecommunications system.
Neben diesen wichtigen Betriebsmodi tragen eine Reihe zusätzlicher Elemente und Merkmale zur Nützlichkeit des Systems bei. Eine konventionelle alphanumerische Tastatur (nicht dargestellt), die einen vollständigen Satz Tasten umfaßt, kann an eine konventionelle Tastaturschnittstelle (nicht dargestellt) angeschlossen werden, um die Eingabe von alphanumerischen Zeichen zu unterstützen. Ein AC/DC- Steckverbinder kann auch in solchen Anwendungen Verwendung finden, bei denen Tragbarkeit nicht notwendig ist und wo die Leistungsanforderungen von Bildschirmtechnologien wie Plasmaanzeigen und Elektrolumineszenzanzeigen erfüllt werden müssen.In addition to these important modes of operation, a number of additional elements and features contribute to the usefulness of the system. A conventional alphanumeric keyboard (not shown), comprising a full set of keys, can be connected to a conventional keyboard interface (not shown) to support the entry of alphanumeric characters. An AC/DC connector can also be used in applications where portability is not necessary and where the performance requirements of display technologies such as plasma displays and electroluminescent displays must be met.
Beim eigentlichen Gebrauch kann der tastaturlose Computer in jeder Anwendung oder Umgebung arbeiten, in der eine handgeschriebene Eingabe, die in Computertext umgesetzt wird, nützlich oder notwendig ist. Zur Veranschaulichung, das Gerät kann als neue Generation von Textverarbeitern arbeiten oder in Bereichen wie Verkauf, Krankenpflege, Bestandskontrolle, Erhebungen, Schadensregulierung zum Einsatz kommen, um nur einige seiner zahlreichen Einsatzbereiche zu nennen, oder als ein allgemeines Lern- und Testgerät im Bildungswesen Verwendung finden. Da die Strukturerkennungssoftware Sprachen, die nicht aus einem kleinen oder begrenzten Satz alphanumerischer Zeichen zusammengesetzt sind (z. B. Japanisch, Koreanisch und Chinesisch) lernen und in Computertext umsetzen kann, ist sie besonders für Textverarbeitung und Telekommunikationen in diesen Sprachen von Nutzen.In actual use, the keyboardless computer can operate in any application or environment in which handwritten input converted to computer text is useful or necessary. To illustrate, the device can operate as a new generation of word processors or be used in such areas as sales, nursing, inventory control, surveys, claims settlement, to name just a few of its many uses, or as a general learning and testing device in education. Since the structure recognition software can learn and convert languages that are not composed of a small or limited set of alphanumeric characters (e.g., Japanese, Korean, and Chinese) into computer text, it is particularly useful for word processing and telecommunications in those languages.
In der Praxis ist es besonders wünschenswert, einen einzigen Computerbildschirm zu verwenden, um beliebige Ausgangsformulare, Schriftartsymbole oder andere zu editierende Parameter anzuzeigen und ein nahegelegenes "Fenster" mit Leerraum zu erzeugen, in das/dem handgeschriebene Symbole geschrieben, angezeigt und identifiziert werden, und in dem die mit den handgeschriebenen Symbolen übereinstimmenden Schriftartsymbole angezeigt werden sollen. Auf diese Weise kann sich der Benutzer den gerade editierten Text und die vorgeschlagene Einfügung oder Änderung ansehen, ohne dabei Kopf und Augen (wenn überhaupt) stark bewegen zu müssen. Dies wird in den Fig. 11A bis 11D veranschaulicht. Dieses Merkmal (Nähe auf einem Bildschirm zwischen zu editierendem Text und dem Fenster, in das der neue Text handschriftlich eingegeben werden soll) ist für den einfachen, schnellen, bequemen Gebrauch des Systems sehr wichtig.In practice, it is particularly desirable to use a single computer screen to display any source form, font symbol, or other parameter to be edited, and to create a nearby "window" of white space in which to write, display, and identify handwritten symbols, and in which to display font symbols that match the handwritten symbols. In this way, the user can view the text being edited and the proposed insertion or change without much (if any) head and eye movement. This is illustrated in Figures 11A through 11D. This feature (proximity on a screen between text to be edited and the window in which the new text is to be handwritten) is very important for easy, fast, convenient use of the system.
In einer bevorzugten Ausgestaltung dieser Erfindung "lernt" das System die Handschrift eines bestimmten Benutzers vor dem eigentlichen Gebrauch. Beim Gebrauch des lateinischen Alphabetes würden zum Beispiel die sechsundzwanzig Buchstaben des Alphabetes und die Zahlen von 0 bis 9 in die Datenbank eingefügt werden. Satzzeichen wie Punkte, Kommas, Fragezeichen, Doppelpunkte, Strichpunkte, Bindestriche und dergleichen könnten auch eingefügt werden. Es gibt praktisch keine Begrenzung hinsichtlich der handgeschriebenen Symbole, die erkannt und in der Datenbank gespeichert werden können. Natürlich muß der Computer eine geeignete Matrix von Schriftartsymbolen für die Konvertierung der handgeschriebenen Symbole speichern. Verschiedene Sätze von Schriftartsymbolen könnten erstellt und im Festwertspeicher des Computers gespeichert werden, wie z. B. im ROM-Chip 54. Beim Gebrauch der englischen Sprache könnte ein Chip zum Beispiel eine (oder mehrere) Schriftart(en) von Zahlen und Buchstaben, geeignete Satzzeichen und angemessene mathematische Symbole enthalten. Andere Chips könnten Schriftartsymbole für das arabische, kyrillische oder griechische Alphabet, für Japanisch, Chinesisch oder Koreanisch "Konji", Symbole für den Gebrauch durch Architekten oder Ingenieure oder chemische Symbole (z. B. Benzolringe und dergleichen) speichern.In a preferred embodiment of this invention, the system "learns" the handwriting of a particular user prior to actual use. For example, when using the Latin alphabet, the twenty-six letters of the alphabet and the numbers 0 through 9 would be entered into the database. Punctuation marks such as periods, commas, question marks, colons, semicolons, hyphens, and the like could also be inserted. There is virtually no limit to the handwritten symbols that can be recognized and stored in the database. Of course, the computer must store an appropriate matrix of font symbols for converting the handwritten symbols. Various sets of font symbols could be created and stored in the computer's read-only memory, such as ROM chip 54. For example, when using the English language, a chip could store a (or more) font(s) of numbers and letters, appropriate punctuation marks, and appropriate mathematical symbols. Other chips might store font symbols for the Arabic, Cyrillic, or Greek alphabets, for Japanese, Chinese, or Korean "konji," symbols for use by architects or engineers, or chemical symbols (e.g., benzene rings, and the like).
In Fig. 10 ist ein Bildschirm aus einer Reihe von Lernbildschirmen dargestellt, der den Benutzer auffordert, die Zahlen 0 bis 4 einzugeben. Der Computer versucht, die geschriebenen Zahlen mit der existierenden Datenbank (sofern vorhanden) zu vergleichen. Wird keine Übereinstimmung gefunden, weil keine Datenbank existiert oder die Übereinstimmung mit einer existierenden Datenbank schwach ist, dann wird das Zeichen zur Datenbank hinzugefügt. Dieser Lernprozeß findet so lange statt, bis alle zu verwendenden alphanumerischen (oder anderen) Zeichen und Symbole in die Datenbank eingegeben sind. Das System ist in der Lage, mehrere Strich- Charakterisierungsdatenbanken für Systeme zu speichern, die von mehr als einem Benutzer verwendet werden. Das Vorhandensein einer eindeutigen Strich- Charakterisierungsdatenbank für jeden Benutzer hat den weiteren Vorteil, daß der Schreibwinkel irrelevant wird. Folglich ist das System an alle Handschriftstile anpaßbar und kann von Rechtshändern und Linkshändern benutzt werden. Ein Merkmal kann wünschenswerterweise in der Vorrichtung aufgenommen werden, um Linkshändern und Rechtshändern Rechnung zu tragen. Dieses Merkmal ist eine Steckbuchse (nicht dargestellt) für den Pen-Stecker auf beiden Seiten des Gehäuses 12, so daß der Pen 16 auf der linken Seite für Linkshänder und auf der rechten Seite für Rechtshänder angeschlossen werden kann.Figure 10 shows one of a series of learning screens that prompt the user to enter the numbers 0 to 4. The computer attempts to compare the written numbers with the existing database (if one exists). If no match is found, because no database exists, or the match with an existing database is weak, then the character is added to the database. This learning process continues until all alphanumeric (or other) characters and symbols to be used have been entered into the database. The system is capable of storing multiple stroke characterization databases for systems used by more than one user. Having a unique stroke characterization database for each user has the additional advantage of making the angle of writing irrelevant. Consequently, the system is adaptable to all handwriting styles and can be used by both right-handed and left-handed people. A feature may desirably be included in the device to accommodate left-handed and right-handed users. This feature is a receptacle (not shown) for the pen connector on either side of the housing 12 so that the pen 16 can be connected on the left side for left-handed users and on the right side for right-handed users.
Fig. 10 zeigt auch ein Beispiel für den Gebrauch von "Softtasten". Zusätzlich zur Eingabelinie erscheint eine Auswahl von Softtasten. Jede Softtaste entspricht einer Funktion, die vom System ausgeführt werden kann. Zur Ausführung der Funktion braucht der Benutzer lediglich den gezeigten Punkt mit dem Stift zu berühren. Die Softtaste erscheint dann in Negativschrift, und die ausgewählte Funktion wird ausgeführt. Softtasten haben gegenüber traditionellen Funktionstasten zahlreiche Vorzüge. Hier sind einige der wichtigeren davon: der Benutzer braucht sich nicht mehr zu merken, welche Funktionstaste welche Funktion erfüllt; es werden keine Funktionstasten- Beschriftungsstreifen mehr benötigt; verschiedene Softtasten können an verschiedenen Punkten innerhalb eines Programms zur Verfügung gestellt (angezeigt und in Betrieb genommen) werden.Fig. 10 also shows an example of the use of "Soft keys". In addition to the input line, a selection of soft keys appears. Each soft key corresponds to a function that can be performed by the system. To perform the function, the user simply touches the indicated point with the stylus. The soft key then appears in reverse and the selected function is performed. Soft keys have many advantages over traditional function keys. Here are some of the more important ones: the user no longer needs to remember which function key performs which function; function key label strips are no longer required; different soft keys can be made available (displayed and activated) at different points within a program.
Die Fig. 11A bis 11I demonstrieren einige der Vereinfachungen in der Textverarbeitung, die durch die Verwendung dieser Erfindung möglich werden. In Fig. 11A wird ein normaler Bildschirm mit Text gezeigt. Der Benutzer des tastaturlosen Eingabesystems beschließt, daß zusätzliche Informationen hinzugefügt werden müssen und zeichnet ein Einfügungssymbol (z. B. ein Winkelzeichen) auf den Bildschirm an der gewünschten Stelle. Es erscheint ein Dateneingabe-"Fenster" (Fig. 11B). Der Text wird als handgeschriebene Symbole hineingeschrieben (Fig. 11C), abgestimmt (in Schriftartsymbole umgewandelt) (Fig. 11D) und schließlich eingefügt (Fig. 11E). Der Bediener überlegt es sich anders und zieht eine horizontale Linie durch das neue Textmaterial (Fig. 11F). Es wird sofort gelöscht (Fig. 11G). Als nächstes beschließt der Bediener, daß ein größerer rechter Rand für den Text angemessener wäre. Er zeichnet eine vertikale Linie auf den Bildschirm (Fig. 11H), und der Rand wird automatisch geändert (Fig. 11I).Figures 11A through 11I demonstrate some of the simplifications in word processing made possible by the use of this invention. In Figure 11A, a normal screen of text is shown. The user of the keyboardless input system decides that additional information needs to be added and draws an insertion symbol (e.g., a caret) on the screen at the desired location. A data entry "window" appears (Figure 11B). The text is typed in as handwritten symbols (Figure 11C), matched (converted to font symbols) (Figure 11D), and finally inserted (Figure 11E). The operator changes his mind and draws a horizontal line through the new text material (Figure 11F). It is immediately deleted (Figure 11G). Next, the operator decides that a larger right margin would be more appropriate for the text. It draws a vertical line on the screen (Fig. 11H) and the border is automatically changed (Fig. 11I).
Fig. 13, die nachstehend beschrieben wird, zeigt ein verallgemeinertes Blockdiagramm des Editiervorgangs. Die Fig. 12A-12G illustrieren, wie ein Leerformular für einen Krankenhauspatienten verwendet werden kann. Der Benutzer des Systems ruft zunächst das richtige Leerformular auf (Fig. 12A). Dies kann zum Beispiel durch Berühren einer entsprechenden Softtaste geschehen. Der Bereich, in den die Informationen, in diesem Fall eine Pulsbeobachtung, eingefügt werden sollen, wird mit dem Stift berührt (Fig. 12B). Nachdem der gewünschte Ort hervorgehoben wurde, erscheint ein "Fenster" direkt unter dem Raum, in den die Beobachtung eingetragen werden soll (Fig. 12C). Der gewünschte Einfügungstext wird dann, wie in Fig. 12C gezeigt, mit der Hand in das Fenster geschrieben. Wie in Fig. 12C auch gezeigt wird, bedeckt der Fensterbereich nicht den Bereich des Formulars, in den der Text eingefügt werden soll. Die Krankenpflegeperson berührt dann die Abstimmungsbox mit dem Stift, die hervorgehoben wird (Fig. 12D). Die Software stimmt die handschriftliche Eingabe mit den entsprechenden Schriftartsymbolen ab und zeigt das Ergebnis an (Fig. 12E). In Fig. 12E wird das Ergebnis in Negativschrift angezeigt. Ist die Abstimmung erfolgreich, dar wird der "Einfügungs"-Block berührt (Fig. 12F), und der neue Beobachtungswert wird den Unterlagen des Patienten hinzugefügt (Fig. 12G). Wie in den Fig. 12B, 12F und 12G gezeigt wird, ist der Bereich des Fensters, in dem die handschriftliche Eingabe erfolgt, größer als der Bereich des Formulars, der von den entsprechenden Schriftartsymbolen eingenommen wird, die in das Formular am Ende des Einfügungsvorganges eingefügt werden. Dieses Merkmal wird auch in den Fig. 10 und 11C, 11D und 11E gezeigt.Fig. 13, described below, shows a generalized block diagram of the editing process. Figures 12A-12G illustrate how a blank form can be used for a hospital patient. The system user first calls up the correct blank form (Fig. 12A). This can be done, for example, by touching an appropriate soft key. The area where the information, in this case a pulse observation, is to be inserted is touched with the stylus (Fig. 12B). After the desired location is highlighted, a "window" appears directly below the space where the observation is to be entered (Fig. 12C). The desired insertion text is then handwritten in the window, as shown in Fig. 12C. As also shown in Fig. 12C, the window area does not cover the area of the form where the text is to be inserted. The nurse then touches the voting box with the stylus, which is highlighted (Fig. 12D). The software matches the handwritten entry with the appropriate font symbols and displays the result (Fig. 12E). In Fig. 12E, the result is displayed in reverse font. If the vote is successful, the "Insert" block is touched (Fig. 12F) and the new observation value is added to the patient's record (Fig. 12G). As shown in Figs. 12B, 12F and 12G, the area of the window in which the handwritten entry is made is larger than the area of the form occupied by the corresponding font symbols that are inserted into the form at the end of the insert operation. This feature is also shown in Figs. 10 and 11C, 11D and 11E.
Dieser Mechanismus ist natürlich auf eine große Auswahl von "Leerformularen" anwendbar, bei denen Daten in ein Formular eingefügt oder korrigiert werden. Er könnte zum Beispiel zum Korrigieren oder Aktualisieren von Finanzinformationen in einem Tabellenkalkulationsprogramm verwendet werden. Andere Informationen können auf dieselbe Art und Weise aufgezeichnet werden.This mechanism is of course applicable to a wide range of "blank forms" where data is inserted or corrected in a form. For example, it could be used to correct or update financial information in a spreadsheet program Other information may be recorded in the same way.
Durch die Verwendung eines schwarzen Hintergrunds und weißer Buchstaben für die neu eingegebenen Schriftartsymbole kann die Genauigkeit der eingegebenen Zeichen leichter überprüft werden. Dies ist zwar ein bevorzugtes, aber kein erforderliches Merkmal, und ein weißer Hintergrund mit schwarzen Buchstaben wäre auch akzeptabel.Using a black background and white letters for the newly entered font symbols makes it easier to check the accuracy of the characters entered. While this is a preferred, it is not a required feature, and a white background with black letters would also be acceptable.
Die Fähigkeit, auf demselben Bildschirm ein Fenster zu erstellen und Daten einzugeben, und das in physischer Nähe zum editierten Text oder zum Raum für einzugebende Daten ist ein wichtiges Merkmal der Vorrichtung, da es den Gebrauch der Vorrichtung einfach und schnell gestaltet. Der Blick des Benutzers kann sich auf den Raum konzentrieren, in den die Daten eingefügt werden, und durch die Fähigkeit, handgeschriebene Symbole und die entsprechenden Schriftartsymbole gleichzeitig anzuzeigen, können Fehler, wenn das System ein handgeschriebenes Symbol "falsch liest", leicht aufgedeckt und dann schnell und problemlos korrigiert werden.The ability to create a window and enter data on the same screen, in physical proximity to the text being edited or the space for data to be entered, is an important feature of the device, as it makes the device easy and quick to use. The user's gaze can focus on the space into which the data is being inserted, and the ability to display handwritten symbols and the corresponding font symbols simultaneously means that errors, when the system "misreads" a handwritten symbol, can be easily detected and then quickly and easily corrected.
Zunächst bezugnehmend auf Fig. 5, dort werden Gesamtbetrieb und -funktion der Strukturerkennungssoftware beschrieben. Wenn das Betriebssystem das Strukturerkennungsprogramm aufruft, dann startet das Programm in Terminal 75, wo eine Reihe von Variablen und Zählern initialisiert wird. Die Software geht dann zum Entscheidungsrhombuskästchen 76 über, wo das Programm ermittelt, ob der Pen 16 (Fig. 2) mit dem Eingabebildschirm 18 (Fig. 2A) in Kontakt ist. Das System liefert ein "Stiftkontakt"-Signal, wie in der Verarbeitungsbox 78 gezeigt wird, sowie die X,Y-Koordinatenspannungen als Ortungssignale, wie oben beschrieben ist. Der Mikrocomputer 14 (Fig. 4) konvertiert die X,Y-Koordinaten-Ortungssignale mit Hilfe der im ROM 54 (Fig. 4) gespeicherten Programme in Strich-Charakteristiken; die Konvertierung kann auch durch einen separaten Mikrocomputer wie den Mikrocontroller 44 erfolgen. Wird ein Stiftkontaktsignal empfangen, dann geht die Software zur Verarbeitungsbox 80 über, wo die individuellen Ortungssignale zu "Strichen" kombiniert werden, wobei ein Strich als die Punktortungssignale definiert wird, die zwischen einem "Stiftkontakt"-Signal und einem "kein Stiftkontakt"-Signal produziert werden.Referring first to Fig. 5, the overall operation and function of the pattern recognition software is described. When the operating system invokes the pattern recognition program, the program starts in terminal 75 where a series of variables and counters are initialized. The software then proceeds to decision diamond box 76 where the program determines whether the pen 16 (Fig. 2) is in contact with the input screen 18 (Fig. 2A). The system provides a "pen contact" signal as shown in processing box 78 as well as the X,Y coordinate voltages as locating signals as described above. The microcomputer 14 (Fig. 4) converts the X,Y coordinate locating signals into dash characteristics; the conversion may also be performed by a separate microcomputer such as microcontroller 44. When a pin contact signal is received, the software proceeds to processing box 80 where the individual location signals are combined into "dashes," with a dash being defined as the point location signals produced between a "pin contact" signal and a "no pin contact" signal.
Das System errechnet dann, wie nachfolgend beschrieben, eine Transformierte für jeden Punkt, wobei die Punktkoordinaten vom kartesischen X,Y-Koordinatensystem in ein relationales Koordinatensystem transformiert werden. Als nächstes geht die Software zur Verarbeitungsbox 82, wo sie den Strich mit zuvor eingegebenen Strichen vergleicht, die in einer Datenbank erfaßt sind, und ermittelt, ob der Strich durch ein Symbol in der Datenbank repräsentiert wird. Wird eine Übereinstimmung gefunden (wenn das von den Strichen repräsentierte Schriftartsymbol erkannt wird), wie im Entscheidungsrhombuskästchen 84 gezeigt wird, dann veranlaßt der Mikroprozessor 50 (Fig. 4), daß das Symbol zum Anzeigebildschirm 20 (Fig. 4) gesendet wird, wie in der Verarbeitungsbox 86 gezeigt wird. Wird keine Übereinstimmung gefunden, dann bringt der Mikroprozessor 50 (Fig. 4) eine Meldung zur Anzeige, wie in Verarbeitungsbox 88 gezeigt, die eine weitere Eingabe des Pens auf dem Eingabebildschirm 18 (Fig. 4) anfordert, indem entweder ein Eintrag, der fast übereinstimmt, oder ein Nichterkennungssymbol blinkend angezeigt wird.The system then calculates a transform for each point, as described below, transforming the point coordinates from the X,Y Cartesian coordinate system to a relational coordinate system. Next, the software goes to processing box 82 where it compares the stroke to previously entered strokes stored in a database and determines whether the stroke is represented by a symbol in the database. If a match is found (if the font symbol represented by the strokes is recognized), as shown in decision diamond box 84, then microprocessor 50 (Fig. 4) causes the symbol to be sent to display screen 20 (Fig. 4) as shown in processing box 86. If no match is found, the microprocessor 50 (Fig. 4) displays a message as shown in processing box 88 requesting further pen input on the input screen 18 (Fig. 4) by flashing either an entry that is close to a match or a non-recognition symbol.
Wie zuvor erwähnt, vergleicht die Software die Strich- Charakteristiken jedes handgeschriebenen Symbols mit Dateneinträgen, die zuvor in einer Datenbank gespeichert wurden. In einer bevorzugten Ausgestaltung ist die Datenbank in Sektionen von Zeichen oder Symbolen nach der Anzahl von Strichen angeordnet, die für das Zeichen oder Symbol notwendig sind. In jeder Sektion sind die Einträge zunächst planlos angeordnet, nach dem Gebrauch "steigen" die am häufigsten verwendeten Einträge jedoch, wie hierin beschrieben, an die Spitze der Datenbank. Es ist zu beachten, daß jeder Benutzer einen eignen speziellen Stil beim Schreiben eines handgeschriebenen Symbols hat und daß jedes handgeschriebene Symbol eine Reihe unterschiedlicher Variationen aufweisen kann.As previously mentioned, the software compares the stroke characteristics of each handwritten symbol with data entries previously stored in a database. In a preferred embodiment, the database is organized into sections of characters or symbols according to the number of strokes required for the character or symbol. In each section, the entries are initially arranged haphazardly, but after use the most frequently used entries "rise" to the top of the database as described herein. It should be noted that each user has their own particular style of writing a handwritten symbol and that each handwritten symbol may have a number of different variations.
Viele Personen schreiben den Kleinbuchstaben "h" zum Beispiel mit einem einzigen Strich. Dabei setzen sie den Stift auf dem Schreibblock an einem Punkt an, an dem sie das obere Ende des Buchstabens plazieren möchten, und zeichnen eine vertikale Linie abwärts zur Grundlinie; ohne den Stift vom Papier abzusetzen, gehen sie dann wieder nach oben zum Mittelpunkt der zuvor gezeichneten vertikalen Linie, dann nach rechts und nach unten zur Grundlinie, wo der Stift vom Papier abgesetzt wird. Dahingegen schreiben dieselben Personen den Großbuchstaben "H" möglicherweise mit zwei Strichen. Dabei zeichnen sie die linke vertikale Linie und die horizontale Linie wie beim Kleinbuchstaben "h", setzen den Stift dann vom Block ab und zeichnen dann die rechte vertikale Linie. In Anhang I sind die Daten der Strichdatenpunkte für diese beiden Buchstaben so aufgeführt, wie die Daten im Speicher gespeichert sind, nachdem sie durch eine Ausgestaltung der vorliegenden Erfindung generiert wurden.For example, many people write the lowercase letter "h" with a single stroke. They place the pen on the writing pad at a point where they want to place the top of the letter and draw a vertical line down to the baseline; then, without lifting the pen from the paper, they go back up to the center of the previously drawn vertical line, then right and down to the baseline where the pen is lifted from the paper. In contrast, the same people may write the uppercase letter "H" with two strokes. They draw the left vertical line and the horizontal line as they did for the lowercase letter "h," then lift the pen from the pad and then draw the right vertical line. Appendix I lists the stroke data point data for these two letters as the data is stored in memory after being generated by an embodiment of the present invention.
Wie in Anhang I gezeigt wird, hat der Buchstabe "h", wie er zu einem bestimmten Zeitpunkt von einem Benutzer geschrieben wird, einen Strich (ns = I) mit 20 Punkten (np = 20) und die folgenden x- und y-Koordinaten- Charakteristiken für die minimalen, mittleren und maximalen Normwerte (1/80tel einer Linienbreite): jeweils -17 und -6; 0 und 18; und 19 und 60. Die Werte in der ersten vertikalen Spalte sind die Punkt-zu-Punkt-Neigungen, normalisiert auf 360º/256. Die Werte in der zweiten vertikalen Spalte sind die durchschnittlichen vertikalen Punkt-zu-Punkt-Positionen über der Grundlinie, normalisiert auf 1/80 der Linienbreite. Eine typische Linienbreite beträgt etwa 1 mm (0,04 Zoll).As shown in Appendix I, the letter "h" as written by a user at a given time has a stroke (ns = I) of 20 points (np = 20) and the following x- and y-coordinate characteristics for the minimum, mean and maximum norm values (1/80th of a line width): -17 and -6, respectively; 0 and 18; and 19 and 60. The values in the first vertical column are the point-to-point slopes normalized to 360º/256. The values in the second vertical column are the average vertical Point-to-point positions above the baseline, normalized to 1/80 of the line width. A typical line width is about 1 mm (0.04 in).
In Fig. 6 wird eine Softwarehierarchie von Programmen dargestellt. An der Spitze befindet sich ein Betriebssystem (s. Box 90), das den gesamten Betrieb des Computersystems 10 (Fig. 1) überwacht. Die in den Boxen 92 und 94 gezeigten Anwendungsprogramme, die im RAM 56 (Fig. 4) und ROM 54 (Fig. 4) gespeichert sind, können vom Mikroprozessor 50 (Fig. 4) unter Steuerung der Betriebssysteme ausgeführt werden. Wird ein handgeschriebenes Zeichen benötigt oder durch eine Unterbrechung angezeigt, dann wird die Handschrifterkennungssoftware 96 aufgerufen. Eine erste Subroutine (s. Box 98) codiert die X,Y-Koordinaten in Striche. Die Charakteristiken der Striche werden dann durch eine Subroutine 100 definiert, danach werden die Striche mit einer Datenbank vergleichen, die vom ROM 54 (Fig. 4) in den RAM 56 (Fig. 4) geladen wurde. Der Vergleich erfolgt über eine Subroutine 102. Befindet sich das Betriebssystem im "Lern"-Modus, wird die Datenbank mit den neuen Strichdaten und Symbolen aktualisiert (s. Box 104). Auf ähnliche Weise kann ein zuvor gespeichertes Dokument mit Anwendungsprogramm 92 unter Verwendung der Editierfunktion 94 editiert werden, die vom Bediener aufgerufen wird, der die Anweisungen unter Verwendung der Subroutinen 98, 100 und 102 des Handschrifterkennungsprogramms 92 eingibt.A software hierarchy of programs is shown in Fig. 6. At the top is an operating system (see box 90) which oversees the overall operation of the computer system 10 (Fig. 1). The application programs shown in boxes 92 and 94, which are stored in RAM 56 (Fig. 4) and ROM 54 (Fig. 4), can be executed by the microprocessor 50 (Fig. 4) under control of the operating systems. When a handwritten character is required or indicated by an interrupt, the handwriting recognition software 96 is called. A first subroutine (see box 98) encodes the X,Y coordinates into strokes. The characteristics of the strokes are then defined by a subroutine 100, after which the strokes are compared with a database loaded from the ROM 54 (Fig. 4) into the RAM 56 (Fig. 4). The comparison is made via a subroutine 102. If the operating system is in "learn" mode, the database is updated with the new stroke data and symbols (see box 104). In a similar manner, a previously stored document can be edited with application program 92 using the edit function 94, which is called by the operator who enters the instructions using subroutines 98, 100 and 102 of the handwriting recognition program 92.
Gemäß Fig. 7 führt das Betriebssystem 90 (Fig. 6) die Handschriftzeichenerkennungssoftware 96 (Fig. 6) aus, indem es die X,Y-Koordinatenpunkte, die in Box 110 dargestellt sind, der Position des Pen 16 (Fig. 2) auf dem Eingabebildschirm 18 (Fig. 2) als Eingabe annimmt und diese Punkte in Striche codiert (s. Box 112). Das Programm charakterisiert die Striche dann mit irgendeinem. Beschreibungssatz, der zum Beispiel Länge, Krümmung, Neigung und Position des Striches berücksichtigt (s. Box 114). In Box 116 wird dann der charakterisierte Strich oder die charakterisierte Folge von Strichen mit solchen in der Datenbank verglichen und die beste Übereinstimmung gesucht [*1]. Wird eine ausreichend enge Übereinstimmung gefunden, dann wird das Zeichen in Box 118 identifiziert, und der Datenbankeintrag wird, wie in Box 120 gezeigt, mit dem Eintrag darüber ausgetauscht. Auf diese Weise "steigen" die am häufigsten identifizierten Zeichen an die Spitze der Datenbank und es erhöht sich die gesamte Systemleistung, die nach der Zeit, die für die Suche einer Übereinstimmung benötigt wird, bemessen wird. Wird keine Übereinstimmung gefunden, dann kann der Benutzer das Ende der Datenbank, wie in Box 122 gezeigt, ergänzen.Referring to Fig. 7, the operating system 90 (Fig. 6) executes the handwriting character recognition software 96 (Fig. 6) by accepting as input the X,Y coordinate points shown in box 110 of the position of the pen 16 (Fig. 2) on the input screen 18 (Fig. 2) and encoding these points into strokes (see box 112). The program then characterizes the strokes with some descriptive set that takes into account, for example, the length, curvature, inclination and position of the stroke (see box 114). In box 116, the characterized stroke or sequence of strokes is then compared with those in the database and the best match is sought [*1]. If a sufficiently close match is found, the character in box 118 is identified and the database entry is swapped with the entry above it as shown in box 120. In this way, the most frequently identified characters "rise" to the top of the database and overall system performance, which is measured by the time required to find a match, is increased. If no match is found, the user can add to the bottom of the database as shown in box 122.
In den Fig. 8 und 9 wird ein Ablaufdiagramm des Computerprogramms zum Erkennen einer bestimmten Strichfolge dargestellt. Das Computerprogramm startet in Terminal 150 und geht zur Verarbeitung der X,Y-Spannungen von [*2] Verarbeitungsbox 152 weiter, wobei die Spannungen in ein digitales Signal umgewandelt wurden. Das Programm geht dann zur Entscheidungsbox 154 über, wo das Programm ermittelt, ob sich der Stift oder Pen 16 (Fig. 2) nicht in Kontakt mit dem Eingabebildschirm 18 befindet. Diese Ermittlung erfolgt dann, wenn sowohl X-Spannung als auch Y-Spannung Null betragen. Stellt das Programm fest, das kein Stiftkontakt besteht, so wird festgelegt, daß der Strich vollendet wurde, und das Programm geht zur Entscheidungsbox 156. In der Entscheidungsbox 156 ermittelt das Programm, ob weniger als drei Punkte in dem Strich vorhanden sind wenn dies so ist, springt das Programm zur Entscheidungsbox 158. In der Entscheidungsbox 158 ermittelt das Programm, ob in dem Strich null Punkte vorhanden sind. Sind null Punkte in dem Strich vorhanden, dann schleift das Programm zum Anfang der Verarbeitungsbox 152 zurück, wo ein weiterer Punktsatz gelesen wird. Gibt der Punktzähler (inkrementiert in Verarbeitungsbox 164) an, daß mehr als null Punkte vorhanden sind, dann springt das Programm zur Verarbeitungsbox 172. In der Verarbeitungsbox 172 wird der Strich als ein Punkt (Dot) identifiziert, und seine Höhe über der Grundlinie (HABL) wird in der Verarbeitungsbox 173 errechnet. Von der Verarbeitungsbox 173 geht das Programm zur Verarbeitungsbox 171 über.8 and 9, there is shown a flow chart of the computer program for recognizing a particular stroke sequence. The computer program starts at terminal 150 and proceeds to process the X,Y voltages from [*2] processing box 152, which voltages have been converted to a digital signal. The program then proceeds to decision box 154 where the program determines whether the stylus or pen 16 (Fig. 2) is not in contact with the input screen 18. This determination is made when both the X voltage and the Y voltage are zero. If the program determines that there is no pen contact, it determines that the stroke has been completed and the program proceeds to decision box 156. At decision box 156, the program determines whether there are fewer than three dots in the stroke; if so, the program proceeds to decision box 158. At decision box 158, the program determines whether there are zero dots in the stroke. If there are zero points in the stroke, the program loops back to the beginning of processing box 152 where another set of points is read. If the point counter (incremented in processing box 164) indicates that more than zero points are present, the program jumps to processing box 172. In processing box 172, the stroke is identified as a point (dot), and its height above the baseline (HABL) is calculated in processing box 173. From processing box 173, the program jumps to processing box 171.
Wird jedoch das Stiftkontaktsignal empfangen, dann springt das Programm zur Verarbeitungsbox 160, wo die Spannungen skaliert werden, um den Koordinatenpunkt unter Verwendung der folgenden Formeln zu bestimmen:However, if the pin contact signal is received, then the program jumps to processing box 160 where the voltages are scaled to determine the coordinate point using the following formulas:
X = a&sub1;v&sub1; + b&sub1;X = a₁v₁ + b₁
y = a&sub2;v&sub2; + b&sub2;y = a₂v₂ + b₂
Die Konstanten a&sub1; und b&sub1; sind Skalierungsparameter, die durch Eichen der Eingabefläche der jeweiligen Anzeige ermittelt werden.The constants a₁ and b₁ are scaling parameters that are determined by calibrating the input area of the respective display.
Wenn die Spannungen skaliert sind, geht das Programm zum Entscheidungsrhombuskästchen 162 über, wo das Programm ermittelt, ob es ein fehlerhafter Punkt ist. Dazu wird die Distanz zwischen Punkten verglichen und ein Punkt beseitigt, wenn die Distanz zu groß ist (derzeit gilt als Maßstab größer als 2,5 mm oder 0,10 Zoll). Andererseits wird ein Punkt auch dann beseitigt, wenn die Punkte zu eng beieinanderliegen. Derzeit werden Punkte ausgedünnt, wenn sie innerhalb von etwa 0,4 mm (0,015 Zoll) liegen.Once the voltages are scaled, the program goes to decision diamond box 162 where the program determines if it is a bad point. It does this by comparing the distance between points and eliminating a point if the distance is too great (currently a scale is greater than 2.5 mm or 0.10 inches). On the other hand, a point is also eliminated if the points are too close together. Currently, points are thinned out if they are within about 0.4 mm (0.015 inches).
Das Vergleichsproblem, das für den ersten Punkt besteht, wird gelöst, indem ermittelt wird, ob ein Punkt der erste Punkt ist, nachdem der Stiftkontakt hergestellt wurde, und dann wird dieser Punkt nur zum Überprüfen des nächsten Punktes verwendet, der akzeptiert wird, vorausgesetzt, daß dieser Punkt innerhalb der maximalen Distanz von 2,5 mm (0,10 Zoll) liegt.The comparison problem that exists for the first point is solved by determining if a point is the first point after pin contact is made and then using that point only to check the next point, which is accepted provided that that point is within the maximum distance of 2.5 mm (0.10 inches).
Liegt die ermittelte Distanz zwischen Punkten außerhalb der beiden Kriterien, dann läßt das Programm den. Punkt fallen und springt zurück zum Anfang der Verarbeitungsbox 152, um ein weiteres Paar von Koordinatenpunktspannungen zu lesen.If the determined distance between points is outside the two criteria, the program drops the point and jumps back to the beginning of the processing box 152 to create another pair of to read coordinate point voltages.
Liegen die Punkte hingegen innerhalb der Kriterien, dann geht das Programm zur Verarbeitungsbox 164 über, wo ein Punktzähler inkrementiert wird, um die Punktzahl zu verfolgen. Diese Zahl wird im Entscheidungsrhombuskästchen 156 wie oben erwähnt verwendet. Das Programm geht dann zur Verarbeitungsbox 166 über, wo die Punkte mit einer beliebigen Formel aus einer Reihe von Formeln geglättet werden. Eine Glättung wird verwendet, um Digitalisierungsrauschen, Rauschen aufgrund ungleichmäßiger Handbewegung und elektronisches Rauschen gering zu halten. Die einfachste Glättungstechnik ist ein mehrfacher Punktdurchschnitt, der zur folgenden Berechnung neuer Punkte (xj', yj') führt:If, on the other hand, the points are within the criteria, then the program proceeds to processing box 164 where a point counter is incremented to keep track of the score. This number is used in decision diamond box 156 as mentioned above. The program then proceeds to processing box 166 where the points are smoothed using any of a number of formulas. Smoothing is used to minimize digitizing noise, noise due to uneven hand movement, and electronic noise. The simplest smoothing technique is a multiple point average, which results in the following calculation of new points (xj', yj'):
xj' = xi/(n&sub2; - n&sub1; + 1)xj' = xi/(n 2 - n 1 + 1)
Und ebenso für yj, geglättet über Punkte n&sub1; - n&sub2;.And similarly for yj, smoothed over points n₁ - n₂.
Ein weiteres einfaches Verfahren wird Methode des laufenden gewichteten Mittels genannt, das die folgende Formel verwendet:Another simple method is called the running weighted average method, which uses the following formula:
xj' = αxj + (1 - α)xj' - 1xj' = αxj + (1 - α)xj' - 1
Alpha ist eine Wichtungskonstante, die gewöhnlich positiv (und kleiner als eins) ist und bei 0,25 verwendet wurde. Die Summierungen erfolgten auf der Basis von n&sub2; minus n&sub1; gleich eins. Ein drittes Verfahren beinhaltet eine sogenannte Spline-Anpassung, bei der die folgende Formel benutzt wird:Alpha is a weighting constant that is usually positive (and less than one) and was used at 0.25. Summations were made on the basis of n2 minus n1 equals one. A third method involves a so-called spline fit, which uses the following formula:
xj' = (xj-1 + 4 xj + xj+1)xj' = (xj-1 + 4 xj + xj+1)
Jedes der vorgenannten Verfahren kann entweder vor oder nach der Filterung angewendet werden. Die Filterung findet statt, um die Anzahl eingegebener Punkte zu reduzieren und Daten zu beabstanden, so daß Differenz- und/oder Winkelberechnungen innerhalb von akzeptablen Statistikfehlergrenzen gemacht werden können. Es wurde gefunden, daß ein einfacher Prozeß zum Ausdünnen einer Folge von Punkten durch Ausschließen der Akzeptanz nachfolgender Punkte innerhalb einer festgelegten Distanz zu zuvor akzeptierten Punkten ein effektiver Filter ist.Any of the above methods can be applied either before or after filtering. Filtering is done to reduce the number of input points and to space data so that difference and/or angle calculations can be made within acceptable statistical error limits. found that a simple process of thinning a sequence of points by excluding the acceptance of subsequent points within a specified distance from previously accepted points is an effective filter.
Von der Verarbeitungsbox 166 geht das Programm zur Verarbeitungsbox 168 über, wo der Punkt in einer Matrix gespeichert wird, die für jeden neuen Punkt seit dem letzten Stiftkontaktsignal inkrementiert wird. Somit wird eine adressierbare Matrix von Punkten für jede Folge von Punkten geschaffen, die zwischen einem Stiftkontaktsignal und einem Kein-Stiftkontaktsignal erhalten werden. Diese Folge von Punkten wird Strich genannt. Von der Verarbeitungsbox 168 schleift das Programm zurück zum Anfang der Verarbeitungsbox 152, wo ein weiterer Punkt erhalten wird, bis ein Kein-Stiftkontaktsignal den Strich beendet.From processing box 166, the program passes to processing box 168 where the point is stored in a matrix that is incremented for each new point since the last pin contact signal. Thus, an addressable matrix of points is created for each sequence of points obtained between a pin contact signal and a no-pin contact signal. This sequence of points is called a stroke. From processing box 168, the program loops back to the beginning of processing box 152 where another point is obtained until a no-pin contact signal terminates the stroke.
Im Entscheidungsrhombuskästchen 156 wird ermittelt, ob weniger als drei Punkte in einem Strich vorhanden sind. Wenn drei oder mehr Punkte in einem Strich vorhanden sind, so ist der Strich per Definition eine Linie und kein Punkt (Dot). Sind drei oder mehr Punkte in einem Strich vorhanden, dann springt das Programm zur Subroutinen-Box 170. In der Subroutinen-Box 170, die nachfolgend mit Bezug auf Fig. 9 ausführlicher beschrieben wird, wird der Strich nach seiner Neigung und Grundlinienhöhe charakterisiert.Decision diamond box 156 determines whether there are fewer than three dots in a stroke. If there are three or more dots in a stroke, the stroke is by definition a line and not a dot. If there are three or more dots in a stroke, the program jumps to subroutine box 170. In subroutine box 170, which is described in more detail below with reference to Fig. 9, the stroke is characterized by its slope and baseline height.
Aus dem Vorgenannten wird ersichtlich, daß die Segmentierung der Kette von Koordinatenpunkten zu einem Strich in erster Linie auf der Ermittlung basiert, wann der Pen 16 "oben", d. h. nicht mit der Oberfläche des Eingabebildschirms 18 in Kontakt ist. Alternativ kann eine Kette von Punkten segmentiert werden, um Striche auf der Basis anderer Überlegungen zu bilden. Sie können zum Beispiel auf der Basis von Änderungen in einer lokal errechneten Krümmung oder von einer großen lokalen Krümmung segmentiert werden. Die lokale Krümmung wird anhand der Änderung der Distanz entlang den Eingabekoordinaten dividiert durch die Änderung der Neigung errechnet. Daraus ergibt sich der Krümmungsradius. Ändert sich der Krümmungsradius schnell in bezug auf die Distanz entlang den Eingabekoordinaten oder ist der Radius zu klein, dann wird davon ausgegangen, daß ein Segmentierungsstrich zu Ende ist und ein neuer Strich beginnt. Weitere Segmentierungstechniken können das relative Maximum und Minimum in einer oder beiden Koordinate(n) und/oder die Kurvenübergänge in den Koordinaten betrachten. Man hat jedoch festgestellt, daß diese beiden letzteren Methoden weniger effektiv sind.From the foregoing, it will be seen that the segmentation of the chain of coordinate points to form a stroke is based primarily on determining when the pen 16 is "up", ie not in contact with the surface of the input screen 18. Alternatively, a chain of points can be segmented to form strokes based on other considerations. For example, they can be segmented based on changes in a locally calculated curvature or on a large local curvature. The local curvature is determined from the Change in distance along the input coordinates divided by the change in slope. This gives the radius of curvature. If the radius of curvature changes rapidly with respect to the distance along the input coordinates, or if the radius is too small, then one segmentation stroke is considered to have ended and a new stroke is beginning. Other segmentation techniques may look at the relative maximum and minimum in one or both coordinates and/or the curve transitions in the coordinates. However, these latter two methods have been found to be less effective.
Durch das Charakterisieren eines Striches wird die Folge von Koordinaten, die den Strich oder das Segment definieren, auf einen Satz von Charakteristiken reduziert, die eindeutig, verallgemeinert und minimal sind.By characterizing a stroke, the sequence of coordinates defining the stroke or segment is reduced to a set of characteristics that are unique, generalized, and minimal.
Eindeutigkeit bezieht sich auf die beiden Umstände, daß dieselben Charakteristiken durch dieselben Koordinaten generiert werden und daß die Charakteristiken ausreichen, um eine Annäherung an die ursprüngliche Koordinatenfolge zu regenerieren. Der Begriff "verallgemeinert" bedeutet, daß die Charakterisierung unter solchen Transformationen unveränderlich ist, so daß die Symbole unveränderlich sind (z. B. Umsetzung und Skalierung oder Stretchen oder geringe Schräglage). Die Skalierung aller Distanzen wird erreicht, indem ein Verhältnis der Distanz zu einer Schreibeingabelinienbreite genommen wird.Uniqueness refers to the two circumstances that the same characteristics are generated by the same coordinates and that the characteristics are sufficient to regenerate an approximation of the original coordinate sequence. The term "generalized" means that the characterization is invariant under such transformations such that the symbols are invariant (e.g., translation and scaling or stretching or slight skew). Scaling of all distances is achieved by taking a ratio of the distance to a write input line width.
Der Mindestsatz von Segmentcharakteristiken hat die folgenden Merkmale:The minimum set of segment characteristics has the following features:
(1) Strichposition: eines oder mehrere von:(1) Stroke position: one or more of:
Schwerpunkt/Durchschnitt, Extrembereich oder Anfangs- und Endpunkte, relativ zur Schreibeingabelinie, zu vorherigen Strichen oder zum Zeichenumfang oder -zentrum bestimmt;Center of gravity/average, extreme range, or start and end points, determined relative to the writing input line, previous strokes, or character perimeter or center;
(2) Die Strichform wird charakterisiert durch einen oder mehrere der folgenden Parameter: Durchschnittsneigung, Neigungsänderung (ein Maß für die Durchschnittskrümmung) und/oder Krümmungsänderung, durch die Folge von Neigungen über spezifische Längensegmente oder über Bruchlängen, oder durch eine Grobbeschreibung von linearer Richtung oder Kreisabschluß und Öffnungsrichtung;(2) The line shape is characterized by one or more of the following parameters: average slope, change in slope (a measure of average curvature) and/or change in curvature, by the sequence of slopes over specific length segments or over fracture lengths, or by a rough description of linear direction or circular closure and opening direction;
(3) und die Strichlänge, die durch die Distanz entlang der Kurve und/oder den Extrembereich entlang dem Koordinatensystem charakterisiert wird.(3) and the stroke length, which is characterized by the distance along the curve and/or the extreme region along the coordinate system.
In einer Ausgestaltung der vorliegenden Erfindung wurde eine Positionierung durch Schwerpunkt, Extrembereich sowie Anfangs- und Endkoordinaten erfolgreich angewendet. Die Strichform wird als eine Folge von Neigungen und vertikalen Positionen (relativ zum Strichschwerpunkt) codiert. Die Strichlänge kann mit der Anzahl gefilterter Punkte annähernd berechnet werden. Alternativ kann die Durchschnittskrümmung in gesamter Neigungsänderung (zusammen mit Länge), Änderung von Anfangs- bis Endneigung oder Anpassen des Neigungswinkels gegenüber Längenkurve an Änderungsrate des Neigungswinkels codiert werden. Weitere Charakteristiken, die verwendet werden könnten, sind u. a. der Ort relativer Koordinatenextreme, Kurvenübergang, Rückkehrpunkte und Strichrichtung. Nachfolgend wird ein spezielles Verfahren zur Bestimmung der eindeutigen Charakteristiken erläutert.In one embodiment of the present invention, positioning by centroid, extremum, and start and end coordinates has been successfully used. The stroke shape is encoded as a sequence of slopes and vertical positions (relative to the stroke centroid). The stroke length can be approximately calculated using the number of filtered points. Alternatively, the average curvature can be encoded in total slope change (together with length), change from start to end slope, or adjusting the slope angle versus length curve to the rate of change of the slope angle. Other characteristics that could be used include the location of relative coordinate extremes, curve transition, return points, and stroke direction. A specific method for determining the unique characteristics is explained below.
1. Es werden die numerischen Werte der Kriterien für jeden Strich des handgeschriebenen Symbols bestimmt.1. The numerical values of the criteria are determined for each stroke of the handwritten symbol.
2. Die Datenbankwerte für jeden Strich des zuvor gelernten handgeschriebenen Symbols werden ermittelt und jeweils von den neu ermittelten Werten subtrahiert.2. The database values for each stroke of the previously learned handwritten symbol are determined and subtracted from the newly determined values.
3. Die Absolutwerte jeder Differenz werden skaliert, um jede der fünf Messungen einigermaßen äquivalent zu den anderen zu machen, wie Längen skaliert auf Höhe zwischen Linien.3. The absolute values of each difference are scaled to make each of the five measurements somewhat equivalent to the others, like lengths scaled to height between lines.
4. Die fünf auf diese Weise ermittelten Werte werden addiert.4. The five values determined in this way are added together.
5. Ein vorbestimmter Schwellenwert wird als "Güte"- Test für die Erkennung verwendet - bei einem zu hohen Wert werden die Schriftartsymbole selten erkannt, bei einem zu niedrigen Wert werden Schriftartsymbole falsch identifiziert. Zunächst werden Schwellenwerte von etwa 1000 verwendet, die für eine verbesserte Erkennung dann auf etwa 100 umgestellt werden. Wird der Schwellenwert überschritten, dann wird der Vergleich verworfen, und eine Fehlermeldung wird erstellt und angezeigt.5. A predetermined threshold is used as a "goodness of mouth" test for recognition - if the value is too high, font symbols are rarely recognized, if the value is too low, font symbols are misidentified. Initially, thresholds of around 1000 are used, then adjusted to around 100 for improved recognition. If the threshold is exceeded, the comparison is discarded and an error message is generated and displayed.
6. In der Datenbank wird nach einer numerischen Mindestdifferenz gesucht. Liegt die Mindestdifferenz unter dem akzeptablen Erkennungsschwellenwert, dann wird, je nach Fall, das entsprechende Schriftartsymbol auf dem Bildschirm angezeigt oder der Befehl wird ausgeführt.6. The database is searched for a minimum numerical difference. If the minimum difference is below the acceptable detection threshold, then, as appropriate, the appropriate font icon is displayed on the screen or the command is executed.
Es wurde auch gefunden, daß die bevorzugte Klassifizierung eines Strichs kontinuierlich und nicht stark getrennt ist. Zum Beispiel ist es wünschenswert, eine Neigung nach Winkel eher in 256 Richtungen als in 8 zu bestimmen. Andere nichtkontinuierliche Klassifizierungen können z. B. Balken/Bögen/Haken, Anzahl und Abschluß von Rückkehrpunkten oder horizontale oder vertikale Striche sein.It has also been found that the preferred classification of a stroke is continuous and not strongly separated. For example, it is desirable to determine a slope by angle in 256 directions rather than 8. Other non-continuous classifications may include bars/arcs/hooks, number and termination of return points, or horizontal or vertical strokes.
Von der Subroutine 170 geht das Programm zur Verarbeitungsbox 171 über, wo ein individueller Strich und ein oder mehrere vorhergehende Strich(e) mit einem Datenbankeintrag verglichen werden, der im RAM 56 (Fig. 4) gespeichert ist.From subroutine 170, the program proceeds to processing box 171 where an individual stroke and one or more preceding strokes are compared to a database entry stored in RAM 56 (Fig. 4).
Dieser Vergleich beginnt zunächst mit drei Ausscheidungsfragen, die das Programm in den Entscheidungsrhombuskästchen 174, 176 und 178 stellt. Wird der Datenbankeintrag entfernt, so geht das Programm in jedem Fall zu einer Verarbeitungsbox 180 über, wo die Adresse des nächsten Dateneintrags empfangen wird und von wo das Programm zurück zum Anfang der Verarbeitungsbox 171 schleift. Im Entscheidungsrhombuskästchen 174 wird als erste Ausscheidungsfrage die Frage gestellt, ob die Anzahl von Strichen unterschiedlich ist. Ist die Strichzahl gleich, dann geht das Programm zum Entscheidungsrhombuskästchen 176 über, wo die durchschnittliche Höhe über der Grundlinie (HABL) errechnet und mit der HABL des Dateneintrags verglichen wird. Der Eintrag wird entfernt, wenn die Differenz der durchschnittlichen HABLs größer als die Hälfte der Höhe der Eintragslinie ist. Wird die Frage im Entscheidungsrhombuskästchen 176 mit Nein beantwortet, dann geht das Programm zum Entscheidungsrhombuskästchen 178 über, wo die Anzahl von Punkten pro Strich verglichen wird, wobei der Datenbankeintrag entfernt wird, wenn die Differenz der Punktzahlen größer als zehn ist. Diese Bestimmung unterscheidet sich von der im Entscheidungsrhombuskästchen 174, da sie nur die Anzahl von Punkten für jeden Strich betrifft. Im Entscheidungsrhombuskästchen 174 haben jedoch bestimmte Buchstaben wie die Großbuchstaben "E" und A" mehr als einen Strich pro Buchstabe.This comparison begins with three elimination questions that the program asks in the decision diamond boxes 174, 176 and 178. If the database entry is removed, the program always goes to a processing box 180, where the address of the next data entry is received and from where the program loops back to the beginning of the processing box 171. In the decision diamond box 174, the first elimination question asks if the number of strokes is different. If the number of strokes is the same, the program proceeds to decision diamond 176 where the average height above the baseline (HABL) is calculated and compared to the HABL of the data entry. The entry is removed if the difference in the average HABLs is greater than half the height of the entry line. If the question in decision diamond 176 is answered no, the program proceeds to decision diamond 178 where the number of points per stroke is compared, with the database entry being removed if the difference in scores is greater than ten. This determination is different from that in decision diamond 174 because it only concerns the number of points for each stroke. However, in decision diamond 174, certain letters such as the capital letters "E" and "A" have more than one stroke per letter.
Wird ein Dateneintrag im Entscheidungsrhombuskästchen 178 nicht entfernt, dann geht das Programm zur Verarbeitungsbox 182 über, wo das Programm ein zu verwendendes Richtmaß errechnet, um die Nähe der Übereinstimmung zwischen dem ausgewählten Eintrag in der Datenbank und dem gezeichneten Strich zu ermitteln. Ein zur Zeit bevorzugtes Richtmaß ist die Summe der absoluten Werte der Differenzen zwischen den Strichwerten und den Datenbankeintragswerten von:If a data entry in the decision diamond box 178 is not removed, the program proceeds to the processing box 182 where the program calculates a benchmark to be used to determine the closeness of the match between the selected entry in the database and the drawn stroke. A currently preferred benchmark is the sum of the absolute values of the differences between the stroke values and the database entry values of:
a) Distanzen oder Längen in Einheiten von 1/80 der Linienhöhe (z. B. Raum 26, Fig. 2); unda) distances or lengths in units of 1/80 of the line height (e.g. room 26, Fig. 2); and
b) Neigungen in Einheiten von 1/256 von 360º über alle Punkte entlang der Diagonalen der Vergleichsmatrix.b) Slopes in units of 1/256 of 360º over all points along the diagonal of the comparison matrix.
Alternativ können dynamische Programmierungstechniken verwendet werden, um den Vergleich zu optimieren, indem auch außerdiagonale Elemente verwendet werden.Alternatively, dynamic programming techniques can be used to optimize the comparison by Off-diagonal elements can also be used.
Von der Verarbeitungsbox 182 geht das Programm zum Entscheidungsrhombuskästchen 186 über, wo eine Übereinstimmung ermittelt wird. In Wirklichkeit wird eine Übereinstimmung durch die Anwendung eines willkürlichen Richtmaßes (maximal zulässige Varianz) ermittelt, das die Summe absoluter Werte der Differenzen zwischen der Charakterisierung des eingegebenen Strichs und der des gespeicherten Datenbankeintrags ist. In der Verarbeitungsbox 183 werden das niedrigere der aktuellen Richtmaße und das vorherige niedrigere Richtmaß als beste Übereinstimmung gespeichert. Das Programm geht dann zum Entscheidungsrhombuskästchen 184 über, wo ermittelt wird, ob der gegenwärtige Eintrag der letzte Datenbankeintrag ist. Ist dies nicht der Fall, springt das Programm zur Verarbeitungsbox 180, wo der nächste Eintrag gewählt wird. Ist es der letzte Eintrag, dann geht das Programm zum Entscheidungsrhombuskästchen 185 [*3] über, wo eine Ermittlung einer Übereinstimmung auf der Basis erfolgt, daß das Richtmaß unter einem vorgegebenen Schwellenwert liegt. Dieser Schwellenwert wird vom Benutzer auf der Basis von Erfahrungswerten mit dem System eingestellt.From processing box 182, the program proceeds to decision diamond 186 where a match is determined. In reality, a match is determined by applying an arbitrary benchmark (maximum allowable variance) which is the sum of absolute values of the differences between the characterization of the input stroke and that of the stored database entry. In processing box 183, the lower of the current benchmarks and the previous lower benchmark are stored as the best match. The program then proceeds to decision diamond 184 where it is determined whether the current entry is the last database entry. If not, the program jumps to processing box 180 where the next entry is selected. If it is the last entry, the program goes to the decision diamond box 185 [*3], where a match is determined on the basis that the benchmark is below a predetermined threshold. This threshold is set by the user based on experience with the system.
Wird keine Übereinstimmung erhalten, dann springt das Programm zum Entscheidungsrhombuskästchen 188, wo ermittelt wird, ob alle Striche geprüft wurden. Nach dem Überprüfen des letzten Striches wird der gegenwärtige Strich in Folge mit einem vorherigen Strich mit allen Zwei-Strich-Einträgen verglichen. Wie bei dem Vergleich mit allen Ein-Strich- Verzeichniseinträgen, entspricht die beste Vergleichsübereinstimmung für alle eingegebenen Striche dem erkannten Symbol oder der erkannten Folge von Symbolen.If no match is obtained, the program jumps to decision diamond 188 where it is determined whether all strokes have been checked. After checking the last stroke, the current stroke is compared in sequence with a previous stroke with all two-stroke entries. As with the comparison with all one-stroke dictionary entries, the best comparison match for all strokes entered corresponds to the recognized symbol or sequence of symbols.
Wurde jedoch der letzte Strich gelesen und noch immer keine Übereinstimmung gefunden, dann geht das Programm zur Verarbeitungsbox 190 über, wo dem Benutzer die auf dem Anzeigebildschirm 20 angezeigte Frage gestellt wird, ob ein neues Schriftartsymbol der Datenbank hinzugefügt werden soll. Die Antwort des Benutzers wird im Entscheidungsrhombuskästchen 192 verwendet. Entweder wird die Strichfolge der Datenbank in der Verarbeitungsbox 194 hinzugefügt und das Programm springt zurück zum Anfang der Verarbeitungsbox 152, oder das Programm springt direkt zum Anfang der Verarbeitungsbox 152.However, if the last line has been read and still no match is found, the program proceeds to the processing box 190 where the user is asked the question displayed on the display screen 20 whether a new font symbol is to be added to the database. The user's response is used in the decision diamond box 192. Either the stroke sequence is added to the database in the processing box 194 and the program jumps back to the beginning of the processing box 152, or the program jumps directly to the beginning of the processing box 152.
Wird hingegen eine Übereinstimmung im Entscheidungsrhombuskästchen 186 ermittelt, dann springt das Programm zur Verarbeitungsbox 195, wo das Programm die Datenbank umordnet, indem es den seriellen Ort des abgestimmten Eintrags mit dem Eintrag darüber austauscht. Das Programm geht dann zur Verarbeitungsbox 196 über, wo es den Punktzähler und den Inkrementzähler auf Null stellt. Als nächstes geht das Programm zur Verarbeitungsbox 198 über, wo der/die abgestimmte(n) und charakterisierte(n) Strich(e) vom Computer als das identifizierte Schriftartsymbol angezeigt wird/werden. Diese Anzeige befindet sich an der Stelle, wo der Eintrag auf dem Eingabebildschirm 18 (Fig. 2) gemacht wurde.If, however, a match is found in the decision diamond box 186, then the program moves to processing box 195 where the program rearranges the database by exchanging the serial location of the matched entry with the entry above it. The program then moves to processing box 196 where it sets the point counter and the increment counter to zero. Next, the program moves to processing box 198 where the matched and characterized stroke(s) is/are displayed by the computer as the identified font symbol. This display is located at the location where the entry was made on the input screen 18 (Fig. 2).
Von der Verarbeitungsbox 198 geht das Programm zur Verarbeitungsbox 200 über, wo das Programm auf jeden Befehl einwirken kann, den es interpretiert hat. Bei einer alternativen Charakterisierung des Strichs werden eher die Punkte selbst als Länge, Umfang, Krümmung und Position verwendet.From processing box 198, the program passes to processing box 200, where the program can act on any command it has interpreted. An alternative characterization of the stroke uses the points themselves rather than length, circumference, curvature and position.
Diese Strich-Charakterisierung wird nun mit Bezug auf Fig. 9 ausführlicher beschrieben. Die Strich- Charakterisierungssubroutine 170 führt im wesentlichen eine mathematische Transformation jedes Punktes auf einer Punktzu-Punkt-Basis durch, um die Punkte von einem kartesischen X,Y-Koordinatensystem in eines zu transformieren, in dem die Koordinaten die normalisierte Neigung jedes Punktes und die normalisierte Höhe jedes Punktes über der Grundlinie (HABL) sind.This stroke characterization will now be described in more detail with reference to Fig. 9. The stroke characterization subroutine 170 essentially performs a mathematical transformation of each point on a point-to-point basis to transform the points from a Cartesian X,Y coordinate system to one in which the coordinates are the normalized slope of each point and the normalized height of each point above the baseline (HABL).
In der Subroutine 170 wird zunächst die Punkt-zu- Punkt-Neigung in der Verarbeitungsbox 220 und dann die Höhe jedes Punktes über der Grundlinie in der Verarbeitungsbox 222 errechnet. Neigung und HABL jedes Punktes werden dann jeweils auf 1/256 von 2 Pi und auf 1/80 der Weite der Eingabelinie in der Verarbeitungsbox 224 normalisiert. Von der Verarbeitungsbox 224 geht das System zur Verarbeitungsbox 226 über, wo die errechneten normalisierten Werte für jeden Punkt in einer adressierbaren Matrix gespeichert werden. Die Subroutine kehrt dann über Terminal 228 zum Programm zurück.In subroutine 170, the point-to-point slope is first calculated in processing box 220 and then the height of each point above the baseline in processing box 222. The slope and HABL of each point are then normalized to 1/256 of 2 pi and 1/80 of the width of the input line, respectively, in processing box 224. From processing box 224, the system proceeds to processing box 226 where the calculated normalized values for each point are stored in an addressable array. The subroutine then returns to the program via terminal 228.
Wenn ein Vergleich zwischen jedem Strich und den gespeicherten Werten angestellt wird, erfolgt der Vergleich anhand der normalisierten Punktneigung und Punkthöhe über der Grundlinie. Wie zuvor erwähnt, wird eine Übereinstimmung anhand eines beliebigen Richtmaßes ermittelt, das die Summe absoluter Werte der Differenzen zwischen dem geschriebenen Strich und dem gespeicherten Strich oder Verzeichnisstrich ist. Das System lernt durch Hinzufügen neuer Striche zur Verzeichnisdatenbank. Mit dem Auffüllen der Datenbank werden Schriftartsymbole, die selten benutzt werden, durch neue Einträge ersetzt.When a comparison is made between each stroke and the stored values, the comparison is made using the normalized point slope and point height above the baseline. As previously mentioned, a match is determined using an arbitrary yardstick that is the sum of absolute values of the differences between the written stroke and the stored stroke or index stroke. The system learns by adding new strokes to the index database. As the database is populated, font symbols that are rarely used are replaced with new entries.
In einer praktischen Ausgestaltung der vorliegenden Erfindung identifizierte der Algorithmus erfolgreich Groß- und Kleinbuchstaben und Zahlen, wenn sie getrennt voneinander geschrieben wurden. Bei handgeschriebenen Symbolen, die kontinuierlich geschrieben sind, würde eine direkte Extrapolation die sequentielle Durchsuchung einer Datenbank nach Ein-, Zwei-, Drei-, usw. Strichsymbolen und die Suche nach der besten Übereinstimmung verlangen. Nach der Identifikation einer Strichübereinstimmung wird ein "neuer" Buchstabe vorläufig erkannt, allerdings werden die nächsten paar Striche analysiert, um zu überprüfen, ob sie das vorherige Symbol für eine bessere Übereinstimmung ändern. Zum Beispiel würden zwei Striche, die als "ein Strich" identifiziert wurden, kombiniert und zum Großbuchstaben "H" geändert, wenn ein Querbalken identifiziert würde.In a practical embodiment of the present invention, the algorithm successfully identified upper and lower case letters and numbers when they were written separately. For handwritten symbols that are written continuously, direct extrapolation would require sequentially searching a database for one-, two-, three-, etc. stroke symbols and finding the best match. After identifying a stroke match, a "new" letter is provisionally recognized, but the next few strokes are analyzed to see if they modify the previous symbol for a better match. For example, two strokes that are written as "one dash" and changed to the capital letter "H" if a crossbar was identified.
Der in den Fig. 7 bis 9 gezeigte Systemaufbau könnte leicht von einer allgemein fachkundigen Person auf dem Gebiet der Computerprogrammierung in fast jede Computersprache codiert werden. Die Quellcodeprotokolle für ein Anwendungsprogramm, das von der offenbarten Erfindung Gebrauch macht, sind in Anhang 11 aufgeführt. Die Software in Anhang 11 ist in Microsoft Basic geschrieben, einer gewöhnlichen Computersprache, die für praktisch alle Mikrocomputer und Betriebssysteme verfügbar ist. Das Programm ist eine komplette Texteditierungsdemonstration, die die Verbesserungen gegenüber traditionellen Textverarbeitungssystemen zeigt.The system design shown in Figures 7 through 9 could easily be coded into almost any computer language by a person of general skill in the art of computer programming. The source code records for an application program making use of the disclosed invention are provided in Appendix 11. The software in Appendix 11 is written in Microsoft Basic, a common computer language available for virtually all microcomputers and operating systems. The program is a complete text editing demonstration showing the improvements over traditional word processing systems.
Die Programmzeilen 2600 bis 4000 enthalten die Zeichenerkennungssubroutine, die den Softwarecode enthält, der für den Erhalt der X- und Y-Koordinaten notwendig ist. Dieser Programmabschnitt entspricht Fig. 8.Program lines 2600 to 4000 contain the character recognition subroutine, which contains the software code necessary to obtain the X and Y coordinates. This program section corresponds to Fig. 8.
Die Progranmzeilen 2600 bis 2699 bilden eine Subroutine, die für den Erhalt der X- und Y-Koordinaten eines bestimmten Punktes vorgesehen ist. Dieser Code entspricht den Boxen 152, 154, 160, 162, 164, 166 und 168 von Fig. 8.Program lines 2600 to 2699 form a subroutine designed to obtain the X and Y coordinates of a given point. This code corresponds to boxes 152, 154, 160, 162, 164, 166 and 168 of Fig. 8.
Die Programmzeilen 3000 bis 3339 bilden eine Punkt- und Strichanalyse- und -charakterisierungsroutine, die den Boxen 156, 158, 170, 172 und 173 von Fig. 8 entspricht.Program lines 3000 to 3339 form a point and line analysis and characterization routine corresponding to boxes 156, 158, 170, 172 and 173 of Fig. 8.
Die Programmzeilen 3700 bis 3790 bilden eine Subroutine, die für einen Vergleich der analysierten Striche mit einer Strichdatenbank vorgesehen ist. Diese Programmzeilen entsprechen den Boxen 171 bis 184 von Fig. 8.The program lines 3700 to 3790 form a subroutine intended for a comparison of the analyzed strokes with a stroke database. These program lines correspond to boxes 171 to 184 of Fig. 8.
Die Programmzeilen 3810 bis 3980 bilden eine Subroutine, die zum Lernen eines neuen Zeichens vorgesehen ist. Dieser Code entspricht den Boxen 186, 188, 190, 192 und 194 von Fig. 8.Program lines 3810 to 3980 form a subroutine designed to learn a new character. This code corresponds to boxes 186, 188, 190, 192 and 194 of Fig. 8.
Die Programmzeilen 3060 bis 3273 bilcen eine Subroutine, die für Strich-Charakterisierungszwecke vorgesehen ist. Dieser Abschnitt des Codes entspricht Fig. 9.Program lines 3060 to 3273 form a subroutine intended for stroke characterization purposes. This section of the code corresponds to Fig. 9.
Die Programmzeilen 3060 bis 3095 werden zum Errechnen von Punkt-zu-Punkt-Neigungen verwendet und entsprechen Box 220.Program lines 3060 to 3095 are used to calculate point-to-point slopes and correspond to box 220.
Die Programmzeilen 3056, 3241 und 3262 werden zum Errechnen einer Höhe über der Grundlinie (HABL) verwendet und entsprechen Box 222 von Fig. 9.Program lines 3056, 3241 and 3262 are used to calculate a height above the baseline (HABL) and correspond to box 222 of Fig. 9.
Die Programmzeilen 3253, 3270-3273 werden zum Normalisieren von Punkthöhe und Neigung verwendet und entsprechen Box 224 von Fig. 9.Program lines 3253, 3270-3273 are used to normalize point height and slope and correspond to box 224 of Fig. 9.
Die Programmzeile 3253 wird zum Speichern der Höhe über der Grundlinie verwendet und entspricht Box 226 von Fig. 9.Program line 3253 is used to store the height above the baseline and corresponds to box 226 of Fig. 9.
Das vorhergehende Programm kann im Speicher eines Mikrocomputers des [*4] Mikroprozessors gespeichert werden und benötigt etwa 25 kB Maschinenspeicher; die Anwendung des Programms nimmt also keine große Menge an teurem Speicherplatz in Anspruch, und die Ausführung des Programm läuft relativ schnell ab. Ist das Programm in einer anderen Sprache als Basic geschrieben, die weniger Speicherplatz benötigt, wie zum Beispiel Assemblersprache, so kann das Programm kleiner gestaltet werden.The preceding program can be stored in the memory of a microprocessor-type microcomputer and requires about 25 kB of machine memory, so the application of the program does not require a large amount of expensive memory space and the execution of the program is relatively fast. If the program is written in a language other than Basic that requires less memory space, such as assembly language, the program can be made smaller.
Die Boxen 195 bis 200 aus Fig. 8 erscheinen im gesamten Code an logischen Plätzen.Boxes 195 to 200 in Fig. 8 appear in logical places throughout the code.
Ein Verzeichnis der Variablen des relevanten Code- Abschnitts befindet sich in Anhang III.A list of variables of the relevant code section is given in Annex III.
In Fig. 13 ist ein Ablaufplan für die in den Fig. 11A bis 11I demonstrierte und oben beschriebene Editiersoftware ("Editor") dargestellt. Sobald der Editor in das System geladen ist (Box 229), übernimmt das System wieder die Steuerung des Bildschirms. Das System geht dann in der normalen, oben beschriebenen Art und Weise vor, um Punkte zu erfassen und anzuzeigen (Box 230), die Punkte in Striche zu konvertieren (Box 231), jeden Strich zu charakterisieren (Box 232) und zu versuchen, den/die Strich (e) mit der Datenbank abzustimmen (Box 233). In der Verarbeitungsbox 234 sendet das System jedes handgeschriebene Symbol zum Editor, um bei Bedarf einen Befehl zu interpretieren und auszuführen. Beim Entscheidungsrhombuskästchen 235 ermittelt der Editor, ob das handgeschriebene Symbol ein Editiersymbol oder ein Schriftartsymbol ist. Wird ermittelt, daß das Zeichen ein Editiersymbol ist, dann geht der Editor zur Verarbeitungsbox 236 über, wo er ermittelt, welches Editiersymbol eingegeben wurde, und die Editierfunktion ausführt. Wird ermittelt, daß das Zeichen kein Editiersymbol ist, dann wird das alphanumerische Zeichen, das dem handgeschriebenen Eintrag entspricht, in der Verarbeitungsbox 237 angezeigt. In einer alternativen Konfiguration des Editors werden Schriftartsymbole nur akzeptiert, wenn sich der Editor im "Einfügungsmodus" befindet. Diese Struktur gewährleistet, daß jedes Schriftartsymbol verifiziert wird, bevor es einem Dokument hinzugefügt wird.Fig. 13 shows a flow chart for the editing software ("Editor") demonstrated in Figs. 11A to 11I and described above. As soon as the editor is loaded into the system (box 229), the system takes control of the screen again. The system then goes in the normal manner described above to detect and display points (box 230), convert the points to strokes (box 231), characterize each stroke (box 232), and attempt to match the stroke(s) with the database (box 233). In processing box 234, the system sends each handwritten symbol to the editor to interpret and execute a command if necessary. At decision diamond box 235, the editor determines whether the handwritten symbol is an editing symbol or a font symbol. If it is determined that the character is an editing symbol, the editor proceeds to processing box 236 where it determines which editing symbol was entered and performs the editing function. If it is determined that the character is not an editing symbol, the alphanumeric character corresponding to the handwritten entry is displayed in processing box 237. In an alternative configuration of the editor, font symbols are only accepted when the editor is in "insert mode". This structure ensures that each font symbol is verified before it is added to a document.
Der Editor verwendet eine Auswahl von Symbolen, die dafür vorgesehen sind, die Systemeditierung ähnlich der traditionellen Editierung mit Bleistift und Papier, aber weit effizienter zu gestalten. Diese primären Editierfunktionen schließen unter anderem folgendes ein:The editor uses a selection of icons designed to make system editing similar to traditional pencil and paper editing, but far more efficient. These primary editing functions include, but are not limited to, the following:
LÖSCHEN Symbol - "- ". Eine horizontale Linie, die durch ein oder mehrere Zeichen gezogen wird. Der Editor entfernt die darunterliegenden Zeichen und formatiert den Text um.DELETE symbol - "- ". A horizontal line drawn through one or more characters. The editor removes the underlying characters and reformats the text.
RÄNDER ÄNDERN Symbol - " ". Eine vertikale Linie, die länger als die Höhe einer Zeile auf der Anzeige ist. Der Editor ändert den Rand gemäß der angegebenen Position und formatiert den Text um.CHANGE MARGINS Symbol - "". A vertical line longer than the height of a line on the display. The editor changes the margin according to the specified position and reformats the text.
EINFÜGEN Symbol - " ". Ein Winkelzeichen, das an dem Punkt gezeichnet wird, wo Text eingefügt werden soll. Der Editor zeigt eine Eingabeschreiblinie (Fig. 118) an und fügt die Eingabe, wenn sie erkannt wird, in den Text ein.INSERT symbol - " ". A caret drawn at the point where text is to be inserted. The Editor displays an input writing line (Fig. 118) and, if recognized, inserts the input into the text.
TEXT MARKIEREN Symbole - "< " und "> ". Ein Kleiner-als- und Größer-als-Symbol, die jeweils am Anfang und am Ende eines Textblockes gezeichnet werden. Der markierte Text wird in Negativschrift angezeigt, und anschließend können spezielle Blockfunktionen ausgeführt werden.MARK TEXT Symbols - "< " and "> ". A less-than and greater-than symbol drawn at the beginning and end of a text block, respectively. The marked text is displayed in reverse and special block functions can then be performed.
MARKIERTEN TEXT LÖSCHEN - Ein Löschsymbol, das in markierten Text gezeichnet wird, löscht den markierten Text und führt eine Umformatierung durch.DELETE SELECTED TEXT - A delete symbol drawn in selected text deletes the selected text and performs reformatting.
MARKIERTEN TEXT VERSCHIEBEN - Ein Einfügungssymbol, das irgendwo innerhalb des Textes gezeichnet wird, verschiebt den markierten Text zur angegebenen Position, löscht ihn aus seiner ursprünglichen Position und formatiert den Text um.MOVE SELECTED TEXT - An insertion symbol drawn anywhere within the text moves the selected text to the specified location, deletes it from its original position, and reformats the text.
MARKIERTEN TEXT ERSETZEN - Ein Einfügungssymbol, das in den markierten Text gezeichnet wird, zeigt eine Eingabelinie an und ersetzt den markierten Text mit dem eingegebenen Text.REPLACE SELECTED TEXT - An insertion symbol drawn into the selected text displays an input line and replaces the selected text with the entered text.
Die oben beschriebenen Editiersymbole können in bestimmte Editiersymbole geändert werden, die vom jeweiligen Benutzer bevorzugt werden, so daß der Editor speziell angepaßt werden kann und neue Benutzer keine unbekannten Editiersymbole zu lernen brauchen.The editing symbols described above can be changed to specific editing symbols preferred by the respective user, so that the editor can be customized and new users do not have to learn unfamiliar editing symbols.
Weitere Modifikationen und Verbesserungen am gegenwärtigen System werden dem Fachkundigen offensichtlich sein. Die allgemeinen Charakteristiken jedes Schriftartsymbols könnten zum Beispiel herausgezogen und in einem synthetischen Symbol organisiert werden. Die Charakteristiken des synthetischen Symbols körnten dann übertrieben dargestellt werden, um ihren Unterschied zu allen anderen synthetischen Symbolen zu maximieren. Dadurch würde eine sehr kompakte, optimale Datenbank geschaffen. Andererseits hat eine Datenbank, die mit der beschriebenen bevorzugten Ausgestaltung der Erfindung erstellt wird, zum Beispiel gewöhnlich zwei oder drei verschiedene Charakterisierungen für jedes Symbol zur Folge.Further modifications and improvements to the current system will be obvious to those skilled in the art. For example, the general characteristics of each font symbol could be extracted and organized into a synthetic symbol. The characteristics of the synthetic symbol could then be exaggerated to maximize their difference from all other synthetic symbols. This would a very compact, optimal database would be created. On the other hand, a database created with the preferred embodiment of the invention described, for example, usually results in two or three different characterizations for each symbol.
Das System hat zahlreiche nützliche Anwendungsmöglichkeiten, die fast unbegrenzt sind. Die offensichtlichsten Anwendungen sind Texteditierung und das Ausfüllen und Modifizieren von Formularen. Einige der vielen anderen, möglicherweise nicht so offensichtlichen Anwendungen sind: das Schreiben in Sprachen, die große Zahlen von Symbolen verwenden, wie Japanisch oder Chinesisch; das Schreiben in Arabisch und ähnlichen Sprachen, die aus einer begrenzten Anzahl komplexer Symbole bestehen; das Schreiben chemischer Gleichungen, einschließlich solcher, die organische Verbindungen einbeziehen; das Schreiben von Musiknoten (ein "Fenster" mit fünf parallelen Linien kann für Musikanwendungen bereitgestellt werden); das Schreiben von Symbolen und Codes für die graphische Datenverarbeitung, einschließlich Transfer von Graphikdaten auf ein Arbeitsblatt; in der Erziehung, wo vorgegebene Fragen auf Bildschirmen präsentiert und die Antworten in Langschrift geschrieben werden; im Mathematikunterricht, wo Zahlen manuell in Gleichungen eingefügt und die Gleichung analysiert wird, um das aus der Verwendung dieser Zahlen folgende Ergebnis zu ermitteln; in CAD/CAM-Anwendungen, die mit Symbolen, geometrischen Formen und dergleichen verbunden sind.The system has numerous useful applications, which are almost unlimited. The most obvious applications are text editing and the filling and modification of forms. Some of the many other, perhaps not so obvious, applications are: writing in languages that use large numbers of symbols, such as Japanese or Chinese; writing in Arabic and similar languages, which consist of a limited number of complex symbols; writing chemical equations, including those involving organic compounds; writing musical notation (a "window" with five parallel lines can be provided for musical applications); writing symbols and codes for graphical data processing, including transfer of graphical data to a worksheet; in education, where given questions are presented on screens and the answers are written in longhand; in mathematics teaching, where numbers are manually inserted into equations and the equation analyzed to determine the result resulting from the use of those numbers; in CAD/CAM applications that involve symbols, geometric shapes and the like.
Wir haben eine besonders bevorzugte Ausgestaltung eines tastaturlosen Computers beschrieben, auf dem gewöhnliche Computerfunktionen ausgeführt werden, indem mit einem stiftähnlichen Pen auf normale Art und Weise auf einen Eingabebildschirm geschrieben wird, der sich direkt über einer Flachanzeige befindet. Der illustrierte tastaturlose Computer ist im Idealfall für die Benutzung durch nicht tastaturorientierte Einzelpersonen, durch tastaturorientierte Einzelpersonen, für die die Nützlichkeit des Computers erhöht wird, und in verschiedenen Umgebungen und Anwendungen konfiguriert, in denen eine Tastatureingabe umständlich oder nicht möglich ist. Computerinformations- und -anwendungssoftware kann in ein tragbares Gerät für eine spätere Betrachtung, Bearbeitung von Text und Daten und Hinzufügung von neuem Text und Daten in einem normalen Handschriftmodus geladen werden. Danach kann der Benutzer diesen Computertext in einen anderen Computer, ein ähnliches Gerät, ein externes Elektronikspeichergerät, einen Hardcopydrucker oder durch ein Telekommunikationssystem übertragen. Der Computer ist in der Lage, handgeschriebene Symbole mit einem hohen Grad an Genauigkeit zu erkennen und individuelle Handschreibstile zu "lernen". Die Daten und Befehle können mit Hilfe eines Pens eingegeben werden. ANHANG I ANHANG II We have described a particularly preferred embodiment of a keyboardless computer on which ordinary computer functions are performed by writing in the normal manner with a pen-like pen on an input screen located directly above a flat panel display. The illustrated keyboardless computer is ideally designed for use by non-keyboard-oriented individuals, by keyboard-oriented individuals for whom the usefulness of the computer is increased, and configured in various environments and applications where keyboard input is cumbersome or not possible. Computer information and application software can be loaded into a portable device for later viewing, editing of text and data, and addition of new text and data in a normal handwriting mode. Thereafter, the user can transfer this computer text to another computer, similar device, external electronic storage device, hard copy printer, or through a telecommunications system. The computer is capable of recognizing handwritten symbols with a high degree of accuracy and of "learning" individual handwriting styles. The data and commands can be entered using a pen. ANNEX I ANNEX II
A1 - Neigungswinkel zwischen Punkt M und M1A1 - Angle of inclination between point M and M1
A2 - vorheriger WinkelA2 - previous angle
DA1 - Änderung im Winkel (A1-A2)DA1 - Change in angle (A1-A2)
SEND - Flag für StrichendeSEND - Flag for end of line
ZX - doppeltgenaue X-Positionssummierung nach BogenlängenwichtungZX - double-precision X-position summation according to arc length weighting
ZY - doppeltgenaue Y-Positionssummierung nach BogenlängenwichtungZY - double-precision Y-position summation according to arc length weighting
ZA - doppeltgenaue Winkelsummierung nach BogenlängenwichtungZA - double-precision angle summation according to arc length weighting
ZDA - doppeltgenaue Änderung in WinkelsummierungZDA - double-precision change in angle summation
ZL - doppeltgenaue LängeZL - double precision length
NSP - Anzahl Punkte im Strich, ZählerNSP - Number of points in the line, numerator
NSTRN - Anzahl StricheNSTRN - Number of strokes
XX - Maximum XXX - Maximum X
XN - Minimum XXN - Minimum X
YX - Maximum YYX - Maximum Y
YN - Minimum YYN - Minimum Y
M1 - Zeiger zu vorherigem PunktM1 - Pointer to previous point
M2 - (1) Mindestanzahl Punkte, für die eine Anpassung an 2it-Winkel erfolgen mußM2 - (1) Minimum number of points for which an adjustment to 2it angles must be made
M3 - (2) Mindestanzahl Punkte, für die Änderung in Rinkeländerung errechnet werden mußM3 - (2) Minimum number of points for which the change in Rinkel change must be calculated
NLONG - Zähler (nicht im Gebrauch)NLONG - Counter (not in use)
M - Zeiger zu betrachtetem PunktM - Pointer to considered point
NP - Anzahl PunkteNP - Number of points
X - Matrix der X-KoordinateX - matrix of the X coordinate
Y - Matrix der Y-KoordinateY - matrix of the Y coordinate
DX - Änderung bei XDX - Change at X
DY - Änderung bei YDY - Change in Y
ADX - Absoluter Wert von DXADX - Absolute value of DX
ADY - Absoluter Wert von DYADY - Absolute value of DY
DS - Pseudobogenlänge ADX + ADYDS - pseudo arc length ADX + ADY
AY - Kalibriervervielfacher für vertikale (Y) Richtung, z. B. AY ' O mittleres Koordinatensystem echt abwärtsAY - Calibration multiplier for vertical (Y) direction, e.g. AY ' O mean coordinate system true downward
ADA - laufende Durchschnittsänderung im WinkelADA - running average change in angle
DA2 - vorherige Änderung im WinkelDA2 - previous change in angle
ASTRT - Matrix für Ausgangswinkel von StrichASTRT - Matrix for starting angle of line
SZL - einfachgenaue StrichlängeSZL - single-precision line length
SNO - Matrix der Zahl des 1. Punktes für jeden StrichSNO - matrix of the number of the 1st point for each line
LHTS - Höhe zwischen Linien dividiert durch 5 in Anzeigekoordinaten als Maß verwendetLHTS - Height between lines divided by 5 in display coordinates used as a measure
SL - Matrix der Strichlängen versiegelt auf Höhe zwischen LinienSL - Matrix of line lengths sealed at height between lines
AEND - Matrix der Winkel am Ende der StricheAEND - Matrix of angles at the end of the lines
SC - Matrix der Winkeländerungen für jeden StrichSC - Matrix of angle changes for each stroke
AZA - Durchschnittswinkel durch StrichAZA - Average angle through line
SX - Matrix der Durchschnitts-Schwerpunkt-X-Koordinate für jeden StrichSX - Matrix of the average centroid X coordinate for each stroke
SY - Matrix der Durchschnitts-Schwerpunkt-Y-Koordinate für jeden StrichSY - Matrix of the average centroid Y coordinate for each stroke
SA - Matrix der Durchschnitts-Winkel-(Neigungs-)Koordinate für jeden StrichSA - Matrix of the average angle (slope) coordinate for each stroke
SXX - Matrix der maximalen X-Koordinate für jeden StrichSXX - Matrix of the maximum X coordinate for each stroke
SXN - Matrix der minimalen X-Koordinate für jeden StrichSXN - Matrix of the minimum X coordinate for each stroke
SYN - Matrix der minimalen Y-Koordinate für jeden StrichSYN - Matrix of the minimum Y coordinate for each stroke
SYX - Matrix der maximalen Y-Koordinate für jeden StrichSYX - Matrix of the maximum Y coordinate for each stroke
DBUG - Diagnose-Flag zum DruckenDBUG - Diagnostic flag for printing
INPUT - String abzuweisender EingangsbytesINPUT - String of input bytes to be rejected
XP, YP - EingangskoordinatenXP, YP - input coordinates
XPA - Mittel 2 Punkte in X-RichtungXPA - Average 2 points in X direction
YPA - Mittel 2 Punkte in Y-RichtungYPA - Average 2 points in Y direction
XPO - anfänglicher X-Durchschnitt bei AbwärtsschwenkungXPO - initial X-average at downward swing
YPO - anfänglicher Y-Durchschnitt bei AbwärtsschwenkungYPO - initial Y-average at downward swing
I - Anzeigebildelement entsprechend X-KoordinateneingangI - Display image element corresponding to X coordinate input
J - Anzeigebildelement entsprechend Y-KoordinateneingangJ - Display image element corresponding to Y coordinate input
N - Zähler für EingabepunkteN - Counter for input points
MM - Zähler zur zeitlichen Abstimmung von AufwärtsschwenkungMM - Counter for timing of upward swing
NU - Zähler zur zeitlichen Abstimmung von Aufwärtsschwenkung Zusätzlich zum Vorerwähnten wird offensichtlich sein, daß Aspekte der Erfindung auch in den folgenden Ausgestaltungen enthalten sein können, die zunächst folgendes beinhalten:NU - Counter for timing of upward swing In addition to the foregoing, it will be apparent that aspects of the invention may also be embodied in the following embodiments, which initially include:
ein Ein-/Ausgabe- bzw. E/A-Gerät zum Senden von Eingangssignalen zu einem Verwertungsgerät, die für ein graphisches Zeichen repräsentativ sind, das von einem Benutzer erzeugt wurde, und für den Empfang von Ausgangssignalen von dem Verwertungsgerät und die Bereitstellung einer visuellen Darstellung der Ausgangssignale, wobei das genannte E/A-Gerät folgendes umfaßt:an input/output (I/O) device for sending input signals to an exploitation device representative of a graphic character generated by a user and for receiving output signals from the exploitation device and providing a visual representation of the output signals, said I/O device comprising:
(a) ein Anzeigemittel für die Bereitstellung einer visuellen Anzeige eines graphischen Zeichens als Reaktion auf Ausgangssignale, die vom Verwertungsgerät abgegeben werden;(a) display means for providing a visual display of a graphic character in response to output signals provided by the exploitation device;
(b) einen Eingabebildschirm für die Erzeugung einer Reihe von Eingangssignalen, während ein graphisches Zeichen oder Symbol von einem Benutzer skizziert wird, wobei der genannte Eingabebildschirm einen lichtdurchlässigen Eingabebildschirm mit oberen und unteren Flächen umfaßt, wobei die genannte untere Fläche in bezug auf die genannte Anzeigefläche so angeordnet ist, daß die von dem genannten Anzeigemittel erzeugte visuelle Anzeige von der genannten oberen Fläche des genannten Eingabebildschirms sichtbar ist; und(b) an input screen for generating a series of input signals while a graphic character or symbol is being sketched by a user, said input screen comprising a translucent input screen having upper and lower surfaces, said lower surface being positioned relative to said display surface so that the visual display generated by said display means is visible from said upper surface of said input screen; and
(c) ein Mittel zum Bestimmen der Identität des genannten graphischen Zeichens und zum Senden von dafür repräsentativen Ausgangssignalen zu dem genannten Anzeigemittel.(c) means for determining the identity of said graphic character and for sending output signals representative thereof to said display means.
Vorzugsweise umfaßt in einem solchen E/A-Gerät das genannte Anzeigemittel eine Anzeigefläche, auf der das graphische Zeichen erzeugt wird; undPreferably, in such an I/O device, said display means comprises a display area on which the graphic character is generated; and
die untere Fläche des genannten Eingabebildschirms befindet sich in unmittelbarer Nähe über der genannten Anzeigefläche, so daß die von dem genannten Anzeigemittel erzeugte visuelle Anzeige von der Oberseite des genannten Eingabebildschirms sichtbar ist.the lower surface of said input screen is located in close proximity above said display surface so that the visual display produced by said display means is visible from the top of said input screen.
Bei einem solchen E/A-Gerät wird auch bevorzugt, daß der genannte Eingabebildschirm eine im wesentlichen flache Platte aufweist, wobei die Oberfläche des genannten Eingabebildschirms die Oberfläche der genannten Platte ist.In such an I/O device, it is also preferred that said input screen comprises a substantially flat plate, the surface of said input screen being the surface of said plate.
Vorzugsweise kann ein solches E/A-Gerät ferner ein Zeigemittel umfassen, das von einem Benutzer zur Zusammenarbeit mit der Oberfläche des genannten Eingabebildschirms bedient wird, so daß der genannte Eingabebildschirm die genannte Reihe von Eingangssignalen generiert, wenn sich das genannte Zeigemittel in einer vorbestimmten Position in bezug auf die genannte Plattenoberfläche befindet, und/oder der genannte Eingabebildschirm kann ein Eingangssignal generieren, wenn das genannte Zeigemittel in Kontakt mit der genannten Eingabebildschirmoberfläche ist.Preferably, such an I/O device may further comprise a pointing means operable by a user to cooperate with the surface of said input screen such that said input screen generates said series of input signals when said pointing means is in a predetermined position with respect to said disk surface and/or said input screen may generate an input signal when said pointing means is in contact with said input screen surface.
Darüber hinaus kann in diesem E/A-GerätIn addition, this I/O device can
(a) die genannte Platte elektrische Charakteristiken aufweisen, bei denen die Spannung an jedem beliebigen Punkt darauf in bekannter Weise mit der Distanz von dem Ort variiert, an dem eine Spannung daran angelegt wird;(a) said plate has electrical characteristics such that the voltage at any point thereon varies in a known manner with distance from the location at which a voltage is applied thereto;
(b) der genannte Eingabebildschirm ferner ein Mittel zum selektiven, sequentiellen Anlegen einer Spannung über eine kartesische Achse der genannten Platte und dann über die andere kartesische Achse der genannten Platte beinhalten; und(b) said input screen further includes means for selectively, sequentially applying a voltage across one Cartesian axis of said plate and then across the other Cartesian axis of said plate; and
(c) das genannte Zeigemittel länglich sein und eine Spitze an seinem einen Ende haben und ein Spannungserfassungsmittel beinhalten, das ein für die Spannung repräsentatives Signal abgibt, die dort anliegt, wo die genannte Spitze die genannte Eingabebildschirmplatte berührt.(c) said pointing means is elongated and has a tip at one end thereof and includes a voltage sensing means for providing a signal representative of the voltage present where said tip contacts said input screen plate.
Das E/A-Gerät dieser Ausgestaltung kann auch die folgenden Merkmale umfassen:The I/O device of this embodiment may also include the following features:
(a) die genannte Platte weist elektrische Charakteristiken auf, bei denen die Spannung an jedem beliebigen Punkt darauf in bekannter Weise mit der Distanz von dem Ort variiert, an dem eine Spannung daran angelegt wird;(a) said plate has electrical characteristics such that the voltage at each any point thereon varies in a known manner with the distance from the place where a voltage is applied to it;
(b) der genannte Eingabebildschirm beinhaltet ferner ein Mittel zum selektiven, sequentiellen Abtasten - an einem Ausgangspunkt darauf - der Spannung über eine kartesische Achse der genannten Platte und dann über die andere kartesische Achse der genannten Platte; und(b) said input screen further includes means for selectively, sequentially sampling - at an initial point thereon - the voltage across one Cartesian axis of said plate and then across the other Cartesian axis of said plate; and
(c) das genannte Zeigemittel ist länglich und hat eine Spitze an seinem einen Ende und beinhaltet ein Mittel zum Anlegen einer bekannten Spannung an die genannte Spitze; wobei das genannte Abtastmittel die Spannungen an dem genannten Ausgangspunkt ermittelt, wenn die genannte Spitze die genannte Eingabebildschirmplatte berührt, und ein für die ermittelten Spannungen repräsentatives Signal abgibt.(c) said pointing means is elongated and has a tip at one end thereof and includes means for applying a known voltage to said tip; said sensing means detecting the voltages at said output point when said tip contacts said input screen plate and outputting a signal representative of the detected voltages.
In dem E/A-Gerät dieser Ausgestaltung hat der genannte Anzeigebildschirm vorzugsweise einen Anzeigebereich, auf dem graphische Symbole generiert werden können, und einen Tasteneingabebereich, mit dem Befehlssignale für das Verwertungsgerät generiert werden können, wenn Kontakt zum entsprechenden Bereich darüber auf dem genannten Eingabebildschirm hergestellt wird.In the I/O device of this embodiment, said display screen preferably has a display area on which graphic symbols can be generated and a key input area with which command signals for the processing device can be generated when contact is made with the corresponding area above on said input screen.
Gemäß einem weiteren Aspekt kann die Erfindung auch durch eine Handschriftzeichenerkennungsvorrichtung verkörpert werden, umfassend:According to a further aspect, the invention can also be embodied by a handwriting character recognition device comprising:
(a) ein Anzeigemittel mit einer Anzeigefläche für die Bereitstellung einer visuellen Anzeige graphischer Zeichen als Reaktion auf eine Mehrzahl von Anzeigesignalen;(a) a display means having a display surface for providing a visual display of graphical characters in response to a plurality of display signals;
(b) eine Schreibfläche für den Empfang graphischer Zeichen, die von einem Benutzer mit der Hand geschrieben werden, wobei sich die Schreibfläche in unmittelbarer Nähe zum genannten Anzeigemittel befindet und aus einer im wesentlichen lichtdurchlässigen Fläche besteht, der Positionskoordinaten zugeordnet sind;(b) a writing surface for receiving graphic characters written by hand by a user, the writing surface being in close proximity to said display means and consisting of a substantially translucent surface having associated position coordinates;
(c) ein Zeigemittel, das von einem Benutzer in Verbindung mit der genannten Schreibfläche bedient wird, um Schreibsignale in Zusammenarbeit mit der genannten Schreibfläche zu erzeugen;(c) a pointing means operable by a user in conjunction with said writing surface to generate writing signals in cooperation with said writing surface;
(d) ein Positionserfassungsmittel zum Konvertieren der genannten Schreibsignale in Ortungssignale, die für die Positionskoordinaten des genannten Zeigemittels in bezug auf die genannte Schreibfläche repräsentativ sind;(d) position detecting means for converting said writing signals into location signals representative of the position coordinates of said pointing means with respect to said writing surface;
(e) ein Verarbeitungsmittel zum Empfangen und Speichern der genannten Ortungssignale, während diese produziert werden, und zum Generieren der genannten Anzeigesignale, so daß das genannte Anzeigemittel das graphische Zeichen graphisch anzeigen kann, nachdem es von dem genannten Zeigemittel erzeugt wurde; wobei das genannte Verarbeitungsmittel aus einem Zeichenerkennungsmittel besteht, um die genannten erzeugten Ortungssignale, die für ein graphisches Zeichen repräsentativ sind, mit einer Mehrzahl gespeicherter Datenbanksignale zu vergleichen, um das genannte graphische Zeichen zu identifizieren.(e) processing means for receiving and storing said location signals as they are produced, and for generating said display signals so that said display means can graphically display the graphic character after it has been produced by said pointing means; said processing means comprising character recognition means for comparing said generated location signals representative of a graphic character with a plurality of stored database signals to identify said graphic character.
Bei der Handschriftzeichenerkennungsvorrichtung umfaßt die genannte Schreibfläche vorzugsweise eine im wesentlichen flache Platte, die ein Signal erzeugt, wenn das genannte Zeigemittel damit in Kontakt ist.In the handwriting character recognition device, said writing surface preferably comprises a substantially flat plate which generates a signal when said pointing means is in contact therewith.
Die Ausgestaltung kann folgendes beinhalten: ein Mittel zum Konvertieren der genannten Positionskoordinaten in Relationskoordinaten und auch ein Mittel zum Aufteilen einer Kette von Ortungssignalen in Sektionen, die für einen Strich repräsentativ sind; und ein Mittel zum Errechnen von Strich- Charakteristiken, die mit Strich-Charakteristiken der Datenbanksignale verglichen werden können.The embodiment may include: means for converting said position coordinates into relational coordinates and also means for dividing a chain of location signals into sections representative of a stroke; and means for calculating stroke characteristics which can be compared with stroke characteristics of the database signals.
Das Verarbeitungsmittel der Handschriftzeichen- Erkennungsvorrichtung dieser Ausgestaltung umfaßt vorzugsweise ein Mittel zum Aktualisieren der genannten gespeicherten Datenbanksignale mit den genannten erzeugten Ortungssignalen, wenn kein korrektes graphisches Zeichen identifiziert wird.The processing means of the handwriting character recognition device of this embodiment preferably comprises a means for updating said stored Database signals with the above generated location signals if no correct graphic character is identified.
Ein erfindungsgemäßes Verfahren kann durch ein Verfahren zur Erkennung eines handgeschriebenen Symbols verkörpert werden, umfassend die folgenden Schritte:A method according to the invention can be embodied by a method for recognizing a handwritten symbol comprising the following steps:
(a) Generieren einer Kette von Ortungssignalen für Punkte durch Bewegen eines Pens um Orte, die in der Nähe einer Schreibfläche liegen, die ein Signal generiert, das für den genannten Ort des genannten Pen repräsentativ ist;(a) generating a chain of point location signals by moving a pen around locations proximate to a writing surface which generates a signal representative of said location of said pen;
(b) Aufteilen einer Kette von Ortungssignalen in Sektionen, die für einen Strich repräsentativ sind;(b) dividing a chain of locating signals into sections representative of a line;
(c) Errechnen von Strich-Charakteristiken;(c) Calculating line characteristics;
(d) Vergleichen der genannten errechneten Strich- Charakteristiken mit zuvor in einer Datenbank gespeicherten Strich-Charakteristiken; und(d) comparing said calculated stroke characteristics with stroke characteristics previously stored in a database; and
(e) Bestimmen des besten Vergleichs und Angeben, ob der genannte beste Vergleich für eine Übereinstimmung gut genug ist.(e) Determine the best comparison and indicate whether the best comparison is good enough for a match.
Eine weitere Ausgestaltung der Erfindung stellt eine Vorrichtung zum Erkennen handgeschriebener Symbole und Anzeigen hangeschriebener Symbole und Schriftartsymbole auf einem Bildschirm bereit, umfassend:A further embodiment of the invention provides an apparatus for recognizing handwritten symbols and displaying handwritten symbols and font symbols on a screen, comprising:
(a) einen visuellen Anzeigebildschirm mit der graphischen Fähigkeit, Schriftartsymbole anzuzeigen und vorbestimmte Befehle auszuführen;(a) a visual display screen having graphical capability to display font symbols and execute predetermined commands;
(b) ein handgehaltenes Mittel zum Schreiben oder Zeichnen hangeschriebener Symbole auf oder über den genannten Bildschirm;(b) a hand-held means for writing or drawing hand-written symbols on or over the said screen;
(c) ein Mittel zum Anzeigen einer wahren Repräsentation der handgeschriebenen Symbole auf dem genannten Bildschirm, während sie erstellt werden;(c) a means for displaying a true representation of the handwritten symbols on said screen as they are being created;
(d) ein Digitalisierungsmittel zum Erfassen der Position des genannten handgehaltenen Mittels und Umwandeln derselben in eine Reihe elektrischer Signale, die Position, Größe und Form jedes handgeschriebenen Symbols definieren;(d) digitizing means for detecting the position of said hand-held means and converting it into a series of electrical signals that define the position, size and shape of each handwritten symbol;
(e) ein Mittel zum Vergleichen vorbestimmter Charakteristiken von jedem digitalisierten handgeschriebenen Symbol mit einer Datenbank aus vorbestimmten Charakteristiken von Schriftartsymbolen, um die Identität jedes Schriftartsymbols zu beurteilen;(e) means for comparing predetermined characteristics of each digitized handwritten symbol with a database of predetermined characteristics of font symbols to assess the identity of each font symbol;
(f) ein Mittel zum Konvertieren des handgeschriebenen Symbols in ein vorbestimmtes Schriftartsymbol oder einen Befehl und zum Anzeigen des Schriftartsymbols auf dem Bildschirm in unmittelbarer Nähe zu dem Bildschirmbereich, in den das handgeschriebene Symbol ursprünglich eingegeben wurde, oder zum Ausführen des Befehls, je nach Fall.(f) means for converting the handwritten symbol into a predetermined font symbol or command and for displaying the font symbol on the screen in close proximity to the area of the screen into which the handwritten symbol was originally entered or for executing the command, as the case may be.
Diese Ausgestaltung beinhaltet vorzugsweise ein Mittel für die Anzeige vorbestimmter Schriftarten oder Symbole in der Form von Text oder Formularen auf dem genannten Bildschirm, so daß die handgeschriebenen Symbole zur Eingabe von Informationen verwendet werden können, um ein Formular zu vervollständigen oder um einen vorbestimmten Text zu editieren, und kann vorzugsweise in einer tragbaren Einheit ausgeführt werden, mit Abmessungen von bis zu etwa 400 mm mal 400 mm mal 100 mm, einem Gewicht von bis zu etwa 7 Kilogramm, und ist so ausgestaltet, daß sie eine selbständige Stromversorgung beinhaltet.This embodiment preferably includes means for displaying predetermined fonts or symbols in the form of text or forms on said screen so that the handwritten symbols can be used to enter information to complete a form or to edit predetermined text, and can preferably be embodied in a portable unit measuring up to about 400 mm by 400 mm by 100 mm, weighing up to about 7 kilograms, and is arranged to include a self-contained power supply.
Die Vorrichtung der Ausgestaltung umfaßt ferner vorzugsweise ein Mittel zum Anzeigen vorbestimmter Symbole in einer Schriftart und befehlsrepräsentierender Symbole auf dem genannten Bildschirm, um zu ermöglichen, daß handgeschriebene Symbole, die jedes vorbestimmte Symbol repräsentieren, manuell auf dem Bildschirm definiert werden können, und ein Mittel zum Identifizieren des manuell definierten Symbols mit dem entsprechenden vorbestimmten Symbol in der genannten Datenbank.The apparatus of the embodiment further preferably comprises means for displaying predetermined symbols in a font and command-representing symbols on said screen to enable handwritten symbols representing each predetermined symbol to be manually defined on the screen, and means for identifying the manually defined symbol with the corresponding predetermined symbol in said database.
Vorzugsweise umfaßt die Vorrichtung der Ausgestaltung auch ein Mittel zum Modifizieren der genannten Datenbank, wenn ein handgeschriebenes Symbol verursacht, daß, je nach Fall, ein falsches Schriftartsymbol auf dem Bildschirm angezeigt oder ein falscher Befehl ausgeführt wird, und/oder ein Mittel zum Erstellen eines Fensters mit Leerraum auf dem genannten Bildschirm auf einen vorbestimmten Befehl hin, für die Eingabe handgeschriebener Symbole in das genannte Fenster.Preferably, the apparatus of the embodiment also comprises means for modifying said database if a handwritten symbol causes an incorrect font symbol to be displayed on the screen or an incorrect command to be executed, as the case may be, and/or means for creating a window of blank space on said screen in response to a predetermined command for the input of handwritten symbols into said window.
In der Vorrichtung der Ausgestaltung können vorteilhafterweise Bereiche auf dem genannten Bildschirm vorhanden sein, die berührungsempfindlich sind und vorbestimmte Funktionen ausführen, und/oder der Bildschirm kann im wesentlichen flach und so ausgestaltet sein, daß er in einer im wesentlichen horizontalen Position verwendet werden kann.In the device of the embodiment, advantageously there may be areas on said screen which are touch sensitive and perform predetermined functions, and/or the screen may be substantially flat and designed to be used in a substantially horizontal position.
Die Vorrichtung der Ausgestaltung kann auch vorteilhafterweise Softtasten auf dem genannten Bildschirm und ein Mittel zum Ausführen von Betriebsbefehlen als Reaktion auf die Berührung irgendeiner der genannten Softtasten beinhalten.The device of the embodiment may also advantageously include soft keys on said screen and means for executing operational commands in response to touching any of said soft keys.
Ein weiterer Verfahrensaspekt der Erfindung kann in einem Mikroprozessorprozeß für die Erkennung, Umsetzung und Anzeige handgeschriebener Symbole und die Ausführung von Befehlen enthalten sein, umfassend die folgenden Schritte:Another method aspect of the invention may be included in a microprocessor process for recognizing, converting and displaying handwritten symbols and executing commands, comprising the following steps:
(a) Erstellen einer personalisierten Datenbank für jeden individuellen Benutzer des Prozesses, indem der Benutzer zunächst ein handgeschriebenes Symbol für jedes Zeichen eingibt, entsprechend einer anzuzeigenden Schriftart oder eines auszuführenden Befehls;(a) creating a personalized database for each individual user of the process by having the user first enter a handwritten symbol for each character corresponding to a font to be displayed or a command to be executed;
(b) Bestimmen eines eindeutigen Satzes von Charakteristiken, um jedes dieser Symbole zu charakterisieren, und Speichern des Satzes in der Datenbank;(b) determining a unique set of characteristics to characterize each of these symbols, and storing the set in the database;
(c) Schreiben oder Zeichnen handgeschriebener Symbole auf einen Computerbildschirm mit einem Pen;(c) writing or drawing handwritten symbols on a computer screen using a pen;
(d) Digitalisieren jedes handgeschriebenen Symbols, um die X,Y-Koordinaten einer Vielzahl von Punkten zu identifizieren, die das Symbol definieren;(d) digitizing each handwritten symbol to identify the X,Y coordinates of a plurality of points that define the symbol;
(e) Verarbeiten der digitalisierten Charakteristiken jedes handgeschriebenen Symbols, um die vorbestimmten Charakteristiken des Symbols zu bestimmen;(e) processing the digitized characteristics of each handwritten symbol to determine the predetermined characteristics of the symbol;
(f) Durchsuchen der Datenbank nach einem "Treffer", einer perfekten oder der nächstliegenden Entsprechung zu den Charakteristiken;(f) searching the database for a "hit", a perfect or closest match to the characteristics;
(g) Anzeigen des Schriftartsymbols oder Ausführen des Befehls, das/der am ehesten mit den "Treffer"-Charakteristiken verbunden ist.(g) Displaying the font symbol or executing the command that is most closely associated with the "hit" characteristics.
Dieser Prozeß kann vorteilhafterweise die folgenden zusätzlichen Schritte umfassen:This process may advantageously include the following additional steps:
(a) Bestimmen, ob das angezeigte Schriftartsymbol oder der ausgeführte Befehl falsch ist; und(a) determining whether the font symbol displayed or the command executed is incorrect; and
(b) wenn ein Fehler vorhanden ist, nochmaliges Eingeben eines handgeschriebenen Symbols für das gewünschte Schriftartsymbol oder den Befehl, um die Datenbank zu modifizieren, und/oder er kann den folgenden zusätzlichen Schritt umfassen:(b) if an error exists, re-entering a handwritten symbol for the desired font symbol or command to modify the database, and/or it may include the following additional step:
(a) im wesentlichen gleichzeitiges Anzeigen des handgeschriebenen Symbols auf dem Bildschirm, während es geschrieben oder gezeichnet wird.(a) displaying the handwritten symbol on the screen substantially simultaneously as it is being written or drawn.
In dem Prozeß dieser Ausgestaltung können die Schritte (b) und (c) vorzugsweise eine Bestimmung von (i) der Länge, (11) der Durchschnittsneigung, (iii) der Schwerpunkthöhe über der Grundlinie, (iv) der Krümmung (Änderungsrate in Neigung) und (v) des Vergleichs des Ortes des Schwerpunktes von jedem Strich mit dem Schwerpunkt des handgeschriebenen Symbols beinhalten.In the process of this embodiment, steps (b) and (c) may preferably include determining (i) the length, (11) the average slope, (iii) the centroid height above the baseline, (iv) the curvature (rate of change in slope), and (v) comparing the location of the centroid of each stroke with the centroid of the handwritten symbol.
Schritt (f) des Prozesses kann bei Bedarf folgendes umfassen:Step (f) of the process may, if necessary, include:
(a) Bestimmen des Wertes von jeder der fünf Charakteristiken;(a) Determine the value of each of the five characteristics;
(b) Subtrahieren des Datenbankwertes der Charakteristik von dem neu gemessenen Wert;(b) subtracting the database value of the characteristic from the newly measured value;
(c) Skalieren der absoluten Werte von jeder Messung, um jede der fünf Messungen einigermaßen äquivalent zu den anderen zu machen;(c) scaling the absolute values of each measurement to make each of the five measurements reasonably equivalent to the others;
(d) Addieren aller fünf Werte;(d) adding all five values;
(e) wird ein vorbestimmter Schwellenwert überschritten, Verwerfen des Vergleichs und Erstellen einer Fehlermeldung; und(e) if a predetermined threshold is exceeded, discard the comparison and generate an error message; and
(f) Durchsuchen der Datenbank nach einem numerischen "Treffer" oder, wenn dies nicht realisierbar ist, nach der nächstliegenden numerischen Übereinstimmung zwischen dem Datenbankwert und dem neu eingegebenen Wert.(f) Search the database for a numerical "hit" or, if this is not feasible, for the closest numerical match between the database value and the newly entered value.
Im Prozeß der Ausgestaltung liegt die Fehlerrate vorteilhafterweise bei 5% oder weniger und/oder das Programm für Schritt (f) nimmt weniger als 6 kB Maschinenspeicher in Anspruch.In the process of design, the error rate is advantageously 5% or less and/or the program for step (f) occupies less than 6 kB of machine memory.
Bei Bedarf beinhalten die genannten handgeschriebenen Symbole in dem erfindungsgemäßen Prozeß Editiersymbole, und der genannte Prozeß beinhaltet die Erkennung der Editiersymbole, die auf den Bildschirm gezeichnet werden, und die Ausführung der repräsentierten Editierfunktionen.If necessary, said handwritten symbols in the inventive process include editing symbols, and said process includes recognizing the editing symbols drawn on the screen and executing the represented editing functions.
Wird in diesem Prozeß ferner Text im Schriftartsymbolformat auf dem Bildschirm angezeigt, so kann der Prozeß vorzugsweise die folgenden Schritte umfassen:If this process further includes displaying text in font symbol format on the screen, the process may preferably include the following steps:
(a) Schaffen eines Fensters auf dem Bildschirm in der Nähe eines Bereichs des genannten, zu editierenden Textes, das diesen aber nicht überdeckt;(a) creating a window on the screen near, but not covering, an area of the text to be edited;
(b) Eingeben und Anzeigen der genannten handgeschriebenen Symbole in das/dem genannte(n) Fenster;(b) entering and displaying said handwritten symbols in said window(s);
(c) Anzeigen der Schriftartsymbole, die den genannten handgeschriebenen Symbolen entsprechen, in unmittelbarer Nähe zu den genannten handgeschriebenen Symbolen.(c) Display the font symbols corresponding to the handwritten symbols, in close proximity to the handwritten symbols mentioned.
Der erfindungsgemäße Prozeß kann vorteilhafterweise auch die folgenden Schritte umfassen:The process according to the invention can advantageously also include the following steps:
(a) Erzeugen von einer oder mehreren Softtaste(n) auf dem genannten Bildschirm, um zu bewirken, daß der Computer Betriebsfunktionen erfüllt; und(a) generating one or more soft keys on said screen to cause the computer to perform operational functions; and
(b) Berühren von einer oder mehreren der genannten Softtasten, um die entsprechenden Funktionen ausführen.(b) Touch one or more of the soft keys mentioned to perform the corresponding functions.
Darüber hinaus kann dieser Prozeß den Schritt des Bestimmens der X,Y-Koordinaten von etwa 4 bis 8 Punkten pro mm und von etwa 100 bis 200 Punkten pro Sekunde bei der Charakterisierung der genannten handgeschriebenen Symbole umfassen.Furthermore, this process may include the step of determining the X,Y coordinates of about 4 to 8 points per mm and about 100 to 200 points per second in characterizing said handwritten symbols.
Claims (16)
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US88951386A | 1986-07-25 | 1986-07-25 | |
| US07/029,772 US4972496A (en) | 1986-07-25 | 1987-03-24 | Handwritten keyboardless entry computer system |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| DE3752294D1 DE3752294D1 (en) | 1999-10-28 |
| DE3752294T2 true DE3752294T2 (en) | 2000-02-24 |
Family
ID=26705329
Family Applications (3)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| DE3752312T Expired - Lifetime DE3752312T2 (en) | 1986-07-25 | 1987-07-23 | Computer system with handwritten keyboardless data entry |
| DE3752121T Expired - Lifetime DE3752121T2 (en) | 1986-07-25 | 1987-07-23 | Computer system with handwritten keyboardless data entry |
| DE3752294T Expired - Lifetime DE3752294T2 (en) | 1986-07-25 | 1987-07-23 | Computer system with handwritten keyboardless data entry |
Family Applications Before (2)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| DE3752312T Expired - Lifetime DE3752312T2 (en) | 1986-07-25 | 1987-07-23 | Computer system with handwritten keyboardless data entry |
| DE3752121T Expired - Lifetime DE3752121T2 (en) | 1986-07-25 | 1987-07-23 | Computer system with handwritten keyboardless data entry |
Country Status (6)
| Country | Link |
|---|---|
| JP (1) | JP3357343B2 (en) |
| KR (1) | KR920002255B1 (en) |
| DE (3) | DE3752312T2 (en) |
| GB (2) | GB9018054D0 (en) |
| HK (3) | HK187495A (en) |
| SG (1) | SG52339A1 (en) |
Families Citing this family (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP5695999B2 (en) * | 2011-07-26 | 2015-04-08 | 京セラ株式会社 | Electronic device, text editing method and control program |
| EP3546199A1 (en) | 2018-03-28 | 2019-10-02 | Top Cap Holding GmbH | Method for producing a can lid from a compound material |
-
1987
- 1987-07-23 DE DE3752312T patent/DE3752312T2/en not_active Expired - Lifetime
- 1987-07-23 SG SG1996003089A patent/SG52339A1/en unknown
- 1987-07-23 DE DE3752121T patent/DE3752121T2/en not_active Expired - Lifetime
- 1987-07-23 DE DE3752294T patent/DE3752294T2/en not_active Expired - Lifetime
- 1987-07-24 KR KR1019870008091A patent/KR920002255B1/en not_active Expired
-
1990
- 1990-08-17 GB GB909018054A patent/GB9018054D0/en active Pending
- 1990-08-17 GB GB909018055A patent/GB9018055D0/en active Pending
-
1995
- 1995-12-14 HK HK187495A patent/HK187495A/en not_active IP Right Cessation
- 1995-12-14 HK HK187595A patent/HK187595A/en not_active IP Right Cessation
-
1996
- 1996-01-04 HK HK1096A patent/HK1096A/en not_active IP Right Cessation
-
2000
- 2000-06-28 JP JP2000194558A patent/JP3357343B2/en not_active Expired - Lifetime
Also Published As
| Publication number | Publication date |
|---|---|
| DE3752312T2 (en) | 2000-10-19 |
| KR880002074A (en) | 1988-04-29 |
| KR920002255B1 (en) | 1992-03-20 |
| JP3357343B2 (en) | 2002-12-16 |
| DE3752294D1 (en) | 1999-10-28 |
| DE3752121T2 (en) | 1998-04-16 |
| HK1096A (en) | 1996-01-12 |
| HK187595A (en) | 1995-12-22 |
| DE3752121D1 (en) | 1997-11-06 |
| DE3752312D1 (en) | 2000-04-27 |
| JP2001075738A (en) | 2001-03-23 |
| SG52339A1 (en) | 1998-09-28 |
| HK187495A (en) | 1995-12-22 |
| GB9018055D0 (en) | 1990-10-03 |
| GB9018054D0 (en) | 1990-10-03 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US5365598A (en) | Handwritten keyboardless entry computer system | |
| US5157737A (en) | Handwritten keyboardless entry computer system | |
| US6002799A (en) | Handwritten keyboardless entry computer system | |
| DE69533479T2 (en) | CHARACTER SET WITH CHARACTERS FROM MULTIPLE BARS AND HANDWRITING IDENTIFICATION SYSTEM | |
| DE69428590T2 (en) | COMBINED LEXICON AND LIST OF CHARACTERS OF HANDWRITING | |
| DE69425806T2 (en) | Detection of unintended results in a computer system that uses a pen user interface | |
| DE69515371T2 (en) | Search and comparison of undetected handwriting | |
| DE69430967T2 (en) | Interactive copying system | |
| DE69731418T2 (en) | Search and retrieval system for documents with search methods of partially matching, user-drawn notes | |
| US7742642B2 (en) | System and method for automated reading of handwriting | |
| DE60316503T2 (en) | Classification analysis of free-form input with digital ink | |
| DE69328802T2 (en) | Device and method for identifying input data generated by a pen-based user interface | |
| Wolf et al. | The use of hand-drawn gestures for text editing | |
| CA2163330A1 (en) | Method and apparatus for grouping and manipulating electronic representations of handwriting, printing and drawings | |
| DE112010001796T5 (en) | input device | |
| US7970812B2 (en) | Redistribution of space between text segments | |
| DE3752294T2 (en) | Computer system with handwritten keyboardless data entry | |
| US20020085772A1 (en) | Intelligent correction key | |
| DE68928325T2 (en) | Electro-optical slate board for direct entry and display and / or storage of manually entered text and graphics information | |
| GB2234101A (en) | Handwritten keyboardless-entry computer system | |
| Tappert | An adaptive system for handwriting recognition | |
| JP2831524B2 (en) | Document processing device with gesture editing function | |
| JP3091543B2 (en) | Document processing device | |
| JP2804660B2 (en) | Document processing device | |
| Butler | Human interaction with digital ink: legibility measurement and structural analysis |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| 8364 | No opposition during term of opposition | ||
| 8327 | Change in the person/name/address of the patent owner |
Owner name: SAMSUNG ELECTRONICS CO., LTD., SUWON, KYONGKI, KR |