Title of the Invention APPARATUS AND METHOD FOR PROCESSING HANDWRITTEN AND HAND-DRAWN INPUT AND SPEECH INPUT Background of The Invention
The present invention relates generally to signal processing systems and methods, and more particularly to systems that process speech and handwritten or hand-drawn gesture input.
The Provisional United States Patent Application entitled "APPARATUS AND METHOD FOR PROCESSING HAND-MARKED INPUT AND SPEECH INPUT", Serial Number 60/086,346, filed May 20, 1998, is herein incorporated by reference in its entirety.
Since the early 1980s, personal computers have become increasingly powerful, able to store large amounts of information, create complex text, and multimedia documents including now color animation, 3D effects, and sound. In addition, these devices are able to communicate over telephone lines or local area networks with other computers directly or through the Internet. These computers are able to draw on large databases stored on large capacity hard drives in the personal computers. PCs can also tap into remote databases through their networking and communications capabilities.
Although the human interface to these computers has evolved to a certain extent from the early 1980s, in many ways the major element of this interface, the keyboard, is still very similar to that of a manual typewriter whose origins date to the late part of the 19th Century. For most computers, even in the mid-1990s, the 100-key keyboard with alpha/numeric and function keys still forms the basic input means for accessing and creating information on personal and other computers. Ironically, the keyboard that is in common use has its basic layout designed to slow typists down. This design dates from the days of mechanical typewriters whose keys jammed when typists became too proficient. Although many people using computers have learned to type very rapidly, for many who do not learn to type well or who do not know how to type, the keyboard interface to the computer represents a barrier to its use. In addition, many people who do learn to type well can develop a repetitive stress disorder, an
inflammation of the wrists which can result in the complete inability to type and therefore loss of productivity on the computer.
In the late 1980s a pointing device, called a mouse, was developed for computer input which allows the user to move a curser or indicator within the computer output display screen. By pointing and clicking a mouse, certain words or areas on the screen may be chosen by the user. In this way, navigation of the display screen and command of computer operations may be controlled by pointing to various items or words or icons on the screen. The pointing device may be a mouse, which indirectly points to items on the screen, or a pen-type device applied directly to the screen or even a finger with a special touch screen.
Other operations are possible using these devices such as highlighting a word in order to provide an additional command by means of other switches on the pointing device to delete the word or change its appearance. The development of the graphic user interfaces (GUI), have greatly enhanced the use of pointing devices for the human interface to the computer. Although these pointing devices may substitute for a series of keystrokes for moving a pointer around on the screen or carrying out various operations, mouse operations are basically complementary to those provided by the keyboard. However, it is also difficult to operate a mouse and keyboard at the same time. In addition, it is not practical to use mouse input to create text or to input arbitrary commands to the computer.
Since the early 1990s, the use of automatic speech recognition for voice input to the computer has become an increasing reality. Voice input devices in a computer require significant computing power for their operation. Early speech recognition devices could be trained by an individual to respond to a small number of command words effectively substituting for command keys on the keyboard or a limited number of mouse clicks in a Windows interface. As computers have become more powerful in their computing speed and memory capacity, automatic speech recognition systems for computer input have become more capable. It is possible on personal computers to use voice input commands to activate any Windows command that appears in the menu structure using discrete or continuous speech recognition without requiring navigation through several layers of menus. Speech recognition systems are an especially powerful substitute for the keyboard for the input of individual words of
text to create documents or for discrete commands. Such systems, however, are not a good substitute for the ease and speed of display screen navigation or other drawing operations (for example circling a block of text and moving it by dragging it to a new place on the screen), which can easily be provided by a mouse or other pointing device. Moreover, such speech recognition systems have difficulty determining whether the received speech is a command or text.
Although the promise of automatic speech recognition systems for text creation using computers is great because they are rapid and easy to use, these systems suffer from some significant limitations which have impeded their general use in computers. The accuracy of speech recognition systems, even those well trained to the voice of a single user, are limited to approximately 95%, and may be significantly lower with respect to proper names and words outside of the vocabulary, which may occur quite often in many business and technical uses of computers. Speech recognition systems are also not very effective for various editing and formatting tasks, for example, the insertion of punctuation marks. In addition, voice input is not a good mechanism for navigating the display screen of a computer and carrying out the functions of a mouse or other pointing device which allow operations such as "drag-and-drop," highlighting words, moving blocks of text, manipulating and creating graphics, or indicating a text insertion point.
The physical size of computers has limited their utility in certain applications. Like many electronic devices, computers have grown dramatically smaller as they have evolved. In recent years, laptop and even palmtop computers the size of small books have become popular. A computer the size of a book, which may be carried anywhere or a small pocket-sized device, has no room for a keyboard large enough to accommodate hands of most adults. In addition, if a computer is to be used in the field as a palmtop device or even in an airplane seat, the use of a mouse-type pointing device that requires an external pad is impractical. A pointing device such as a pen for use on even a small computer display surface is extremely useful.
A number of devices without keyboards have been proposed that use pens and have handwriting recognition as input and/or receive mouse-type input. Those introduced have had limited ability to recognize even fairly clear handwriting. Although handwriting recognition by pen input devices has significantly improved in
the last few years, like speech recognition, it still remains a challenging technical problem. For example, pen input in currently available systems is tiring and impractical when entering large amounts of text. Developing even smaller personal computing devices with the complete text input and computing capability of larger sized personal computers remains a major goal and interest of the computing public and the computing industry.
There is, therefore, a need for a computer system that departs from conventional methods and achieves increased performance by integrating speech recognition and handwritten and hand-drawn (e.g., pen or gesture input) recognition to overcome the disadvantages of either mode of recognition used alone or in an unintegrated combination.
Summary of the Invention
Methods and apparatus consistent with this invention process handwritten or hand-drawn input and speech input. Method steps include recognizing received handwritten or hand-drawn input, recognizing received speech input, and creating or modifying an electronic document according to the speech or handwritten or hand- drawn input.
An apparatus includes structure for recognizing handwritten or hand-drawn input, structure for recognizing speech input, and structure for activating modes for processing the handwritten or hand-drawn input and the speech input responsive to handwritten or hand-drawn input or the speech input.
Both the foregoing general description and the following detailed description are exemplary and explanatory and are intended to provide further explanation of the invention as claimed.
Description of the Figures
The accompanying drawings provide a further understanding of the invention. They illustrate embodiments of the invention and, together with the description, explain the principles of the invention.
Fig. 1 is a block diagram of a computer system for processing handwritten or hand-drawn input and speech input.
Fig. 2 is a flow diagram of a method for processing speech and handwritten input;
Fig. 3 is a flow diagram of a second method for processing speech and handwritten input;
Fig. 4 is a flow diagram of a method for processing hand-drawn input and speech input;
Fig. 5 is a flow diagram of a method for processing handwritten input and speech input;
Fig. 6 is a flow diagram of a method for processing handwritten input and speech input;
Fig. 7 is a flow diagram of a method for editing an electronic document;
Fig. 8 is a flow diagram of a method for processing hand-drawn input and speech input;
Fig. 9 is a block diagram of a computer system for processing gesture, handwritten, or hand-drawn input and speech input; and
Fig. 10 is a block diagram of a computer system with a mode switch for processing gesture, handwritten, or hand-drawn input and speech input.
Detailed Description of The Invention
Reference will now be made in detail to preferred embodiments illustrated in the accompanying drawings. The same numbers in different figures refer to like or similar elements.
Fig. 1 is a block diagram of computer system 100 for processing handwritten or hand-drawn input and speech input comprising mode controller 102, mode processing logic 104, interface controller 106, speech interface 108, pen interface 110, and application programs 116. Microphone 112 connects to speech interface 108. Electronic pen 114 connects to pen interface 110.
Interface controller 106 controls speech interface 108 and pen interface 110, providing pen or speech input to mode controller 102. Speech interface 108 preferably includes computer hardware and software for encoding an electronic signal generated by microphone 112 into a digital stream for processing by mode processing logic 104. Similarly, pen interface 110 preferably includes computer hardware and software for processing handwritten or hand-drawn input created with electronic pen 114.
Mode controller 102 activates modes in mode processing logic 104 according to input received from interface controller 106 to create an operating state for computer system 100. An operating state governs how input received from interface controller 106 is processed and passed to application programs 116. Application programs 116 include, for example computer programs for creating, editing, and viewing electronic documents, such as word processing, graphic design, spreadsheet, electronic mail, and web browsing programs.
An operating state is defined by one or more active modes in mode processing logic 104. Mode processing logic 104 preferably supports five modes. The processing logic in mode Ml recognizes speech input to microphone 112. In mode Ml, computer system 100 translates the speech input into a machine encoded (e.g., ASCII) text stream. For example, in mode Ml, computer system 100 translates continuous speech spoken by an operator into microphone 112 into machine encoded text data forming part of an electronic document.
In mode M2, the processing logic recognizes pen input, i.e., it translates handwritten or hand-drawn input received from electronic pen 114 into a machine encoded text stream. For example, In mode M2, computer system 100 translates hand-printed or cursive writing written by an operator using electronic pen 114 into machine encoded text data forming part of an electronic document.
In mode M3, the processing logic recognizes hand-drawn graphic images created with electronic pen 114. For example, in mode M3, computer system 100 recognizes an attempt by the operator to draw a rough outline for a circle, triangle, or square. The processing logic in mode may M3 create a corresponding "clean" (e.g., smooths curves, straightens lines, and corrects any geometric distortions) electronic representation of the drawing by issuing a snap-to-grid command.
In mode M4, the processing logic treats input received from electronic pen 114 as a command or an indication of a position in an electronic display. In mode M5, the processing logic recognizes speech input received from microphone 112 as a command. The commands recognized in modes M4 and M5 include, for example, commands or menus that are accessible from tool bars and pull-down menus in many graphics and text application programs.
A "combination mode" consists of two or more active modes. One such combination mode is an operating state where modes Ml and M2 are active. Fig. 2 is a flow diagram of a method for processing speech and handwritten input . According to the method shown in Fig. 2, the computer system receives speech input by an operator (step 202). Next the computer system generates a preliminary recognition of the speech input using mode Ml (step 204). For example, the computer's preliminary classification would identify several text strings, letters, characters, or words corresponding to the closest matches to the recognized speech input. The operator then enters handwriting input providing the computer system with additional data to improve recognition of the input speech (step 206). Using mode M2, computer system 100 generates an improved recognition of the input speech from the handwriting input (step 208). The improved recognition comes as a result of having additional data in mode M2 to select from among recognition candidates identified by mode Ml at step 204.
Fig. 3 is a flow diagram of a method for processing speech and handwritten input where speech input is used to enhance the interpretation of handwriting or hand-drawn input and speech input (multimodal input). According to the method shown in Fig. 3, computer system 100 receives handwriting input (step 302) and speech input from an operator (step 304). Next system 100 generates a preliminary recognition of the multimodal input (step 306). Using mode Ml and M2, the computer system generates an enhanced interpretation of the input using the additional data provided by both the handwritten or hand-drawn input and input speech (step 308).
In a second combination mode, the operating state has both modes Ml and M3 active. Fig. 4 is a flow diagram of a method for processing hand-drawn input and speech input . Computer system 100 receives a geometric shape or figure drawn by the operator using electronic pen 114 (step 402). System 100 generates a graphic corresponding to the hand-drawn geometric shape using processing mode M3 (step 404). The location of the electronic pen defines an insert position in an electronic document for text recognized from the speech input (step 405). The computer system then receives speech input corresponding to text to be placed in the electronic document (step 406). Using processing mode Ml, computer system 100 generates a text string from the speech input (step 408). System 100 places the text where
indicated by the pen (step 410). The foregoing method is useful when creating annotated charts, for example, corporate organization charts. Using this method, an operator uses an electronic pen to sketch rough outlines of boxes corresponding to the organization structure, the computer cleans-up the boxes, and the user dictates annotations that are automatically inserted where indicated by the pen in the figure.
In a third combination mode, the operating state has both modes M2 and M5 active. Fig. 5 is a flow diagram of a method for processing handwritten input and speech input. Using a computer input device, for example, electronic pen 114, an operator writes text that computer system 100, using processing logic in mode M2, recognizes and generates an electronic document (step 502). To format or modify the document, the operator speaks commands into microphone 112 that are recognized by computer system 100 using processing logic in mode M5 (step 504). Computer system 100 modifies the electronic document as instructed by the command (step 506).
Using computer system 100 in an operating state with modes M2 and M5 active, an operator can create a memo by printing or cursive writing and have the words recognized and displayed on a computer screen. To format the memo as it is being created, the operator can utter commands into the microphone such as "bold, " "underline," "paragraph," etc. The electronic document that is displayed on the screen will change in response to these commands.
In a fourth combination mode, the operating state has both modes Ml and M4 active. Fig. 6 is a flow diagram of a method for processing handwritten input and speech input. In this operating state, mode Ml processing logic recognizes speech spoken into microphone 114 (step 601) and displays a corresponding text string on a computer display (not shown) connected to computer system 100 (step 602). The operator using electronic pen 114 makes gestures, for example, directly on the display or on an electronic tablet that are recognized by M4 processing logic as commands for modifying the text (step 604). (Any voice commands would be handled by M5 processing logic when the M5 mode is activated.) Computer system 100 then applies the command to the text in accordance with an established mapping of gestures to commands (step 606). Examples of these gesture-to-command mappings include circling a word to indicate highlighting, which activates combination mode M4-M5,
thereby switching the system from state M1-M5 to state M4-M5. A spoken command such as "bold" accomplishes the editing. A spoken command, such as "OK" completes the process (step 607). Another example of gesture-to-command mapping is scratching through a word on the screen with the pen to delete it, activating state M1-M2 that allows a new word to be written in place of the scratched out word.
In a fifth combination mode, the operating state has both modes M4 and M5 active. Fig. 7 is a flow diagram of a method for editing an electronic document in this operating state. Computer system 100 receives speech input from an operator specifying an editing command (step 702). Using M5 processing logic, computer system 100 recognizes a command in the speech input (step 704). Computer system 100 also receives gesture input from the operator indicating a command that can also include the spatial coordinates of the portion of the electronic document to be edited (step 706). Computer system 100 M4 processing logic recognizes a command in the gesture input (step 708). Computer system 100 then modifies the electronic document according to either or both the command from the speech input and the command from the gesture input (step 710).
Using computer system 100 in this operating state is advantageous when an operator desires to modify an electronic document, such as a drawing created in a computer graphics application program or a document created in a word processing application program. For example, to modify a drawing in a graphics editing context using electronic pen 114, the operator would circle a portion of the drawing displayed on a computer screen. The operator would then say "change color from red to blue." Application program 116 then responds to the spoken and gesture commands and changes the color of the circled region in the drawing from red to blue.
In a sixth combination mode, the operating state has both modes M3 and M5 active. Fig. 8 is a flow diagram of a method for processing hand-drawn input and speech input . Using processing logic in mode M3, Computer system 100 recognizes hand-drawn input from electronic pen 114 corresponding to, for example, graphic images (circles, triangles, squares, line drawings, etc.) (step 802). Mode processing logic in mode M5 recognizes a command in the speech input for formatting the graphic image (step 804). Application program 116 formats the graphic image according to the command (step 806). This operating state allows an operator to
create drawings quickly without navigating through complex pull-down menus. For example, an operator sketches the outline of a square with electronic pen 114 and says "fill color black, cross-hatch, dashed outline." Computer system 100 then creates a square (straightens the lines drawn by the operator, makes them of equal length, and connects them at right angles) and formats it according to the spoken commands.
The foregoing five modes are not exhaustive of all possible modes. Moreover, the six combinations of modes is only illustrative of a limited number of the many possible combinations of the modes for an operating state. Therefore, this invention is not limited to the particular modes and combinations disclosed, but includes all modes and combinations falling within the scope of the claims.
In an embodiment, computer system 100 mode controller 102 switches between modes and combination modes thereby switching operating states. Switching operating states changes the manner in which structure for recognizing gesture input recognizes gestures, handwritten, and hand-drawn input, and the structure for recognizing speech input recognizes speech. For example, as described in greater detail above, switching among modes and combinations of modes will control whether the recognition process will treat gesture input as a command, text, or drawing, and whether speech input is recognized as a command or text. Switching among operating states can be controlled by, for example, application program 116, gestures received by pen interface 110, speech received by speech interface 108, or an electronic or mechanical switch. A switch or button can be connected to computer system 100, microphone 112, electronic pen 114, or any other peripheral device associated with computer system 100 (e.g., a digitizing tablet connected to computer system 100) to control switching among operating states. Other types of controls for switching operating states include rotating wheels, numeric keypads, and chorded keypads for one-handed letter input. Fig. 10 is a block diagram of a computer system with switch 1002 for processing handwritten and hand-drawn input and speech input .
Methods and apparatus for processing speech and handwritten and hand-drawn input are suitable for several application environments including, but not limited to, information kiosks, television/video cassette recorder remote control, a low profile computer with a form factor similar to a pad of paper (e.g., slate or pen tablet
computer), a palm computer, a telephone, an electronic whiteboard, or a handheld personal computer.
Computer system 100 can receive several types of devices for providing gesture interaction with mode processing logic 104. Fig. 9 is a block diagram of computer system 100 for processing gesture, handwritten, and hand-drawn input and speech input comprising several of the elements described in greater detail above in Fig. 1, and wireless gesture interface 902. Pointing device 904 is an electronic glove that tracks and transmits movement of the operator's hand. Alternatively, pointing device 904 could be a three-dimensional wireless mouse or wand. In yet another implementation, structure for providing gesture interface 902 includes a video tracking device, for example, the interface made by Reality Fusion that tracks the movement of the operator's hand as it makes gestures in the air.
A computer display can be connected to, or integrated within, computer system 100. To provide the operator with feedback regarding the operating state, the appearance of the display changes in accordance with a change in operating state. For example, in a combination mode with Ml and M4 active, the display would have a white background. Changing the operating state to a combination mode with M2 and M5 active would display ruled or grid lines on the background of the display. Similarly, a background color change would indicate yet another operating state.
While some embodiments have been described, various changes and modifications may be made, and equivalents may be substituted. In addition, many modifications may be made to adapt a particular element, technique or implementation to the teachings of the present invention without departing from the central scope of the invention. For example, disclosed elements may be implemented in hardware, computer program code, or a combination of both hardware and computer program code. Moreover, elements depicted and described separately may be combined and implemented in a single element or distributed across a computer network. Therefore, this invention is not limited to the particular embodiments and methods disclosed, but includes all embodiments falling within the scope of the appended claims.