Abstract:
The invention concerns a voice-activated data input signal representing a character, means for processing the received speech signal and for comparing the processed speech signal with a stored library of characters in order to allot a character from the library to the input speech signal.

Description:
BACKGROUND OF THE INVENTION 
   1. Field of the Invention 
   The present invention concerns data input and is particularly, though not exclusively, concerned with devices which have a very limited number of keys. 
   2. Description of Related Art 
   With the increasing miniaturisation of electronic devices it has become increasingly difficult to provide full keyboards in the available space. 
   A typical example of such a device would be a mobile phone. Another example is the Home-Fax (TM) manufactured by Canon Inc which can store names and associated phone numbers in a “phonebook” memory. In such a device entering text and numbers is a relatively complex operation because of the limited key-set available. 
   Thus many small devices without a keyboard would benefit from the ability to enter text and digits by voice. However, the replacement of key operated entry of names and numbers by a speech recognition interface raises a number of difficulties which are made worse when the devices are intended to be both small and relatively inexpensive. 
   Firstly the audio quality on such devices may be low. There are several reasons for this. Obviously in an inexpensive device cost is a limiting factor. Additionally on a mobile phone the background noise may be loud. For example the user could be on a train. Additionally the environment is likely to be different each time the device is used making accurate modelling of the noise characteristics difficult. Where a hands-free microphone is used the distance between the user and the microphone may limit the device&#39;s ability to reject background noise. Since the purpose of having a speech interface is to simplify a task that is carried out relatively infrequently it may not be acceptable to require a user to go through a training procedure. Thus another difficulty is that a speaker independent solution may be required. Furthermore, the device may also be used by several users again making a completely speaker independent solution preferable. 
   Yet another problem of inexpensive devices is that the processing capabilities available on the device may be limited by cost, battery life requirements and other factors such as its physical size. Thus as well as the complexity of the calculations that may be performed as part of the recognition algorithm being limited, the amount of working memory may also be limited as may the amount of pre-calculated data available to the program. 
   For the above reasons a speech interface for entering small amounts of text on a consumer device is a difficult task and recognition accuracy is likely to be low. 
   SUMMARY OF THE INVENTION 
   A concern of the present invention is to provide an efficient user interface which can make the best use of the results from a recognition engine of limited accuracy, with a view to overcoming the above-noted problems. 
   According to the present invention, the user can correct an error made by the speech recogniser by repeating the character to be recognised. 
   In successive attempts at recognising characters input by a user, information from previous recognition attempts can be utilized by the recognition engine. 
   In accordance with an embodiment of the present invention there is provided a data input system including means for receiving an input speech signal representing a character, means for processing the received speech signal and for comparing the processed speech signal with a stored library of characters in order to allot a character from the library to the input speech signal, means for displaying the allotted character as a candidate character, and means responsive to another input from a user of the device to store the displayed character as part of a retrievable data stream. If the user decides that the displayed character does not correspond to the initial input speech signal, a repetition of the input speech signal by the user in the absence of a selection input causes the processing and displaying means to display another candidate character from the stored library, which is different from the previously displayed character. This process is repeatable until a selection input from the user selects a displayed character as a correct character. 
   A candidate character may be displayed in a manner differentiating it from previously selected character(s). 
   A candidate character may be selected by uttering a specified keyword or executing a specified keystroke. The confidence level required for recognition of the keyword or keystroke may be set higher than that required for recognition of characters. 

   
     BRIEF DESCRIPTION OF THE DRAWINGS 
     In order that the present invention may be more readily understood an embodiment thereof will now be described by way of example and with reference to the accompanying drawings in which: 
       FIG. 1  is a perspective view of a desk-top fax system; 
       FIG. 2  is a block diagram of a voice recognition sub-system of a device; and 
       FIG. 3  is a flow diagram setting out the basic steps of the operation of the block diagram shown in  FIG. 2 . 
   

   DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS 
   Referring now to  FIG. 1  of the accompanying drawings this shows a Home-Fax system having a main casing indicated at  1  and a telephone handset  2 . In the present embodiment there is provided a numeric keypad  3  having push buttons representing the ten integers 0 to 9 together with * and # inputs making a total of twelve buttons. The main body also carries other inputs such as mode select switches and ON/OFF buttons. These are generally indicated at  4 . The fax shown in  FIG. 1  is capable of storing for example  100  telephone numbers and the names associated with those numbers. In order to alleviate the problems already discussed concerning manual input with a limited keyboard the fax includes a simple microphone indicated at  5  and a liquid crystal alpha numeric display shown at  6 . 
   The apparatus employs a speech recognition algorithm. 
   Having appropriately switched the machine so that it is ready to accept speech input the user says a letter, syllable or digit which is to be entered in the fax memory. Such an input will hereinafter be referred to as a character. The speech recognition interface analyses the speech input and displays a candidate character in response to the speech input. The current input is highlighted on the display  6  as representing the latest result. This differentiates the current input from any other characters which may be displayed. This can be done in any one of a number of appropriate ways. For example the candidate character can be displayed with a cursor beneath it, or as a flashing display or with an inverted colour. Of course any other method of highlighting can be used. 
   If the display result is incorrect the user merely repeats the original digit. The speech recognition interface then updates the display. The new result is calculated with the prior knowledge that the previously displayed result was incorrect. It is also possible in a variation to utilise the previous speech which had been input. 
   On the other hand, if the candidate character was correct or the repeated digit was then correctly identified the user can either say a keyword or press an appropriate key in order to indicate that the candidate character is the required character. Having selected the character, and if data entry has been completed the user may now say another keyword or again press a key indicating that data entry is over so as to store the displayed string of characters for subsequent use. Alternatively if another letter, syllable or digit is to be entered the user continues by saying it. 
   The above steps represent in general the normal mode of operation of the algorithm. 
   In addition to these fundamental features the algorithm may include a number of other features which can be used to control the process. These may include: 
   Firstly, a keyword or key-press to cancel the whole operation; 
   Secondly, a keyword or key-press to restart entering the current item from the beginning. The item could be the current word, phone number, line of text etc; 
   Thirdly a keyword or key-press to go back to the previous character and start entering this character again; 
   Fourthly a keyword or key-press to indicate that the process of entering the current character should be restarted. One reason for doing this would be that the user has mistakenly corrected the desired character; 
   Fifthly a keyword or key-press to go back to the previous result displayed for the current character. Again this would be done if the current character had been mistakenly replaced with a new character; 
   Sixthly a keyword or key-press both to accept the current character being displayed and to indicate that data entry has been completed. This procedure might be preferable than the use of two steps; and 
   Finally a keyword or key-press to clear the current character, leaving the system in a state where either the character can be reentered or the previous characters can be accepted as the complete entry. 
   With regard to the above it will be assumed that the set of keywords used can be recognised with greater accuracy than the digits, syllables or letters which are to be entered. This can be achieved because the keywords can be chosen in advance to be sufficiently distinct from the remaining vocabulary. The algorithm may also require that the keywords be recognised with a higher degree of confidence as compared to the other words in the vocabulary. 
   Having now given a general description of the speech recognition algorithm reference will now be made to  FIG. 2  of the accompanying drawings which is a block diagram of a speech recognition interface used in the embodiment of  FIG. 1 . Of course this speech recognition interface can be used in a wide range of other devices such as mobile phones where it is required to enter alpha-numeric data with a limited number of keys. 
   Thus the speech recognition interface shown in  FIG. 2  comprises a microphone  10  the output of which is taken to a filtering and AD conversion circuit  11  where the analog signal from the microphone is filtered to remove unwanted frequencies and converted into digital format for processing in a central processor unit indicated at  12 . Most of the information useful for speech recognition is contained in the frequency band between 300 Hz and 4 Khz. Therefore, the filter portion of circuit  11  removes all frequencies outside this frequency band. Since no information which is useful for speech recognition is filtered out by the filter there is no loss of recognition performance. Further, in some environments, for example in a motor vehicle, most of the background noise is below 300 Hz and the filtering can result in an effective increase in signal-to-noise ratio of approximately 10 dB or more. The filtered speech signal is then converted into 16 bit digital samples by the analogue-to-digital component of circuit  11 . To adhere to the Nyquist sampling criterion, the circuit samples the filtered signal at a rate of 8000 times per second. 
   In the central processor unit  12  the digitised speech is subjected to feature extraction by a feature extraction circuit  13 . The concept of extracting features from input voice data and using the extracted features to match templates is well known and the number of features extracted and the degree of detail involved will depend on the computational power and memory space available. Basically the functions of the feature extraction circuit  13  are to extract the information required from the input speech and to reduce the amount of data that has to be processed in a recognition engine  14 . There are many different types of information which can be extracted from the input signal. In this embodiment the feature extraction circuit  13  is designed to extract “formant” related information. Formants are defined as being the resonant frequencies of the vocal tract of the user, which change as the shape of the vocal tract changes. 
   The extracted features are stored in a buffer  15  which forms part of the interface memory  16 . The memory  16  can be a single memory chip compartmentalised by an addressing regime or it can comprise a number of independent memory chips. 
   The memory  16  also includes a memory area  17  containing a list of active word models. This list will accordingly contain all keywords as well as the alpha numeric characters, symbols or digits which are to be recognised by the speech recognition interface. Finally the memory  16  also contains a storage area  18  housing data representing noise levels and spectral characteristics of the noise. This data is representative of background noise. The output of the three memory areas  15 ,  17  and  18  are all connected to a recognition engine  14 . 
   It will be appreciated that because of its particular requirements the vocabulary of the present embodiment is relatively small. For example in the English language there are 10 digits and 26 letters. These will have to be supplemented by the chosen keywords. Japanese, for example requires nearer 110 characters. 
   As with the feature extraction section of the speech recognition interface the operation of the recognition engine in comparing the extracted features with the list of active word models is entirely conventional. 
   In a preferred embodiment all previous speech input examples from buffer  15  are used to generate the new result having temporarily removed all known incorrect results from the vocabulary as already described. Thus in this preferred embodiment, when an utterance by the user is run through the speech recognition interface this generates a score for each word remaining in the vocabulary and for each previous utterance. In the simplest case the scores for each word remaining in the vocabulary, from all input examples are added. The word which ends up with the best score becomes the next recognition result. More complex alternatives for combining the scores include taking the median value, discarding the words value for each word and then adding the remaining values and so on. 
   The results of the operation of the recognition engine  14  are supplied to the control algorithm section  19 . The detailed operation of the control algorithm section  19  will be described in greater detail in the subsequent description of the flow diagram of  FIG. 3 . 
   A keyboard  20  is connected to the control algorithm section and the latter is in turn connected to a display  21  and to the buffer area  15  of memory  16  and the list of active word models area  17  of memory  16 . As will be appreciated the microphone, keyboard and display corresponds to the similar units as those shown on the embodiment of  FIG. 1 . 
   Turning now to the flow diagram of  FIG. 3  this starts at step S 1  with a reset step in which buffer  15  is cleared and the list of active word models in memory area  17  is reset so that all active words are present in the memory area  17 . 
   At step S 2  speech recognition is carried out in response to audio input. As already described the recognition engine  14  may make use of all previous inputs for the current character. Step S 3  is a decision step where it is decided whether the output of the recognition engine is a recognised digit or a recognised keyword or an equivalent keyboard input has occurred. 
   If a digit has been recognised the algorithm proceeds to step S 4  where the recognised digit is displayed on the display as a candidate character. Again as described this displayed character is distinguishable from the others as its correctness has not yet been confirmed. In step S 5  the digit just recognised is removed from the list of active word models being used in the recognition process and in step S 6  the data used for recognition of the digit is stored. The stored data could be the raw digitised audio data or the extracted features used by the recognition engine. 
   If the displayed candidate character is correct the user indicates this, as previously described, with a keyword or by an appropriate keystroke. If it is not the user indicates this by repeating the audio input. The recognition engine repeats the recognition procedure but of course because of step S 5  cannot identify the newly input audio data with the discarded character. 
   Once an input digit has been correctly identified as already described the recognition procedure is then continued for the next input character via steps S 2 , S 3 , S 4 , S 5  and S 6  until the recognition engine recognises a keyword or equivalent keyboard input which does not represent a digit to be recognised. In such a case the B path of the flow diagram is followed. The first option on this path is step S 7  in which the previously displayed result is displayed as the current candidate result. The purpose of this step is to ensure that a user can return to a previous character if for any reason this character has been by-passed. Step S 8  follows if the user accepts a display digit. In this step the highlighting of the previously provisional digit is removed and the cursor is moved to the next character. Step S 9  represents the situation if the user has requested a reset of a character by an appropriate keystroke or keyword. In this step the currently displayed output is removed. At step S 10  the interface responds to a “back one character” command input via an appropriate keystroke and an appropriate keyword and acts to remove the character at the current cursor position (if present) and move the cursor on the display back one character and also remove that character for possible re-entry. Step S 11  occurs in response to a restart line command and in this step the entire string displayed is discarded and the cursor is moved to the first character position of the display so that a new string can be started. 
   The final three steps do not involve the operation of the recognition engine with step S 12  responding to an accept and finish command to accept the currently displayed character and store the completed string as a completed entry. 
   Step S 13  is the equivalent of step S 12  except that all characters apart from the current character are stored as a completed entry. Finally S 14  is a response to a cancel operation command in which the entire string which had previously been input is discarded. 
   The system just described has a number of advantages in that successive attempts at recognising each character can use all the information from previous recognition attempts. For example the previous results can be taken out of the vocabulary and the previous speech inputs and the new input fed to the recognition engine. Even with very inaccurate recognition engines the process is guaranteed to produce the correct result eventually as incorrect results are gradually eliminated, starting with the ones which are most likely to be confused. Additionally the process of correcting an error is extremely simple in that the user has only to repeat the digit to be recognised. Finally by making the correction process part of the normal process of entering a character the user is not left with the impression that the device is failing to perform. 
   It will be appreciated that the overhead of having to accept each character becomes more significant when recognition is good and less significant when recognition is bad. This will make differences in performance of the recognition engine less noticeable, for example when there are differing background noise levels.