INFORMATION PROCESSING SYSTEM

Abstract: An information processing system (10) receives input data from a keyboard (26), a mouse (28) and spoken data input device (30) in an input data sequence. A microphone (32) converts received speech into electrical signals which are digitized by an analogue to digital converter (100). A digital signal processor (102) converts the digital signals into multi-dimensional vectors which are stored in a temporary input buffer (104). A recognition processor (106) performs a recognition program in order to match the multi-dimensional vectors to speech models. In order that the system (10) may output data in an output data sequence which corresponds to the input data sequence, each data input receives a time stamp. A timing controller (24) ensures that instructions received from either the keyboard or the mouse are output only when those instructions have a time stamp which is earlier than the time stamp of the data most recently processed by the recognition processor.

Description: INFORMATION PROCESSING SYSTEM The present invention relates to an information processing system and in particular an information processing system having a plurality of data input devices Computerised speech recognition may be achieved by matching a sound pattern of a spoken word with one or more sound patterns or models stored in a speech recognition unit The principles of sound pattern matching are descnbed in a paper written by J S Bridle et al in The Radio and Electronic Engineer, Volume 53, No 4 pp 167-175, April 1983 and in Chapter 7 of a book entitled "Speech Synthesis and Recognition" written by J N Holmes and published by Van Nostrand Reinhold in 1988 ISBN 0-278-00013-4 It is known to describe a spoken word by a series of feature vectors Each sound, or phoneme comprising the word may be divided into a number of time frames over which that sound occurred In each time frame, the sound energy in each of a number of frequency bands may be measured The information so obtained may be represented as a multi-dimensional vector, with each dimension being one of the frequency bands This vector is the feature vector, each of which represents a time- slice of the spoken word A currently available speech recognition system for a standard computer system is the Marconi Speech Systems MR8 speech recogniser which is interfaced to a host computer via an RS232 seπal port Software is provided to take output from the recogniser and mimic keyboard input to other applications running on the computer Speech recognition systems conventionally show a time delay between a word, or series of words, being spoken and a token corresponding to the recognised word being output by the recogniser A computer system which receives data both from a speech recogniser and a keyboard may suffer from the disadvantage that when spoken input occurs before keyboard input, the time delay between the words being spoken and being recognised may result in the keyboard entries being received and acted upon by the computer before the tokens from the recogniser are received It is an object of the invention to provide an improved information processing system The present invention provides an information processing system comprising (a) a plurality of data input means for receiving data in a data input sequence and for generating data elements in response thereto, at least one of the data input means being means for receiving acoustic data, and (b) processing means for receiving the data elements from the data input means and for outputting processed data in a data output sequence, characterized in that (i) the system includes means for associating each data element with at least one respective sequence indicator; and (n) the processing means includes means for determining the output sequence from each data element s at least one sequence indicator such that the data output sequence is in correspondence with the data input sequence irrespective of differing processing means delays for data elements generated by differing input means The invention provides the advantage that data from a plurality of sources is provided in order of original input, irrespective of unequal delays introduced during the subsequent data processing This is particularly beneficial for an information processing system having speech and non-speech inputs The speech recognition system may determine feature vectors from spoken input and from these feature vectors determine tokens corresponding to recognised words or phrases In a preferred embodiment, the system includes means for receiving spoken data input and for determining feature vectors from the spoken data input and the data processor provides means for determining recognised tokens dependent upon the spoken data input In an alternative aspect, the invention provides a method of processing data including the steps of a) receiving data elements in a data input sequence from a plurality of input sources, at least one of which provides data elements of spoken origin, b) associating a sequence indicator with each respective received data element c) generating tokens to represent data elements of spoken origin by matching each spoken origin data element to a model, and d) establishing a data output sequence for processed data elements sequence such that the data output sequence corresponds to the data input sequence irrespective of differential processing delays by comparing sequence indicators of data elements from the plurality of sources In a further aspect, the invention provides an information processing system including (a) a plurality of data input means arranged to provide data elements in a data input sequence, and (b) processing means arranged to receive the data elements and to produce output of processed data elements in an output sequence in correspondence with the data input sequence, characterized in that the processing means is arranged to process each data element in a variable processing time interval dependent upon the data input means providing that data element and the processing means provides means for associating a time indicator with each data element and for comparing time indicators of differing processed data elements to determine the output sequence In another aspect, the invention provides an information processing system comprising (a) processing means (24,24) for generating control signals, and (b) a plurality of data input means (26,28,30) for receiving input data and for providing the processing means (24,25) with input data signals in response thereto; characterized in that the processing means includes: (i) means for attaching to each input data signal a marker signal showing the relative time at which the input data represented by the input data signal was received; and (ii) means for ordeπnσ the control signals whereby the control signals are arranged in an order which corresponds with the order in which the data input signals resulting in the respective control signals were received by the system. Embodiments of the invention will now be described, by way of example only, with reference to the accompanying drawings in which;- Figure 1 schematically illustrates an information processing system of the invention, Figure 2 schematically illustrates a prior art speech recognition system; and Figure 3 schematically illustrates the Figure 1 system in greater detail. Referring to Figure 1 there is shown an information processing system 10 of the invention. The information processing system 10 is connected to a central processor 20 which is in turn connected to a display unit 22. The information processing system 10 comprises a timing controller 24 and a speech recognition unit 25 and a plurality of data input devices. These input devices are a keyboard 26, a mouse 28, and a spoken input device 30. The spoken input device 30 includes a microphone 32 which generates electrical signals in response to words being spoken by an operator of the system 10. These electrical signals are processed by the spoken input device and passed to the speech recognition unit 25. The speech recognition unit 25 in turn outputs a token to the timing controller 24 representing the spoken data. An operator of the system 10 thus has three mechanisms for inputting instructions to the central processor 20. These three mechanisms are: (i) using spoken input, (ii) entering instructions using the keyboard 26, and (iii) entering instructions using the mouse 28 in conjunction with the display unit 22 for programs operating in the central processor 20 in a graphical user interface environment The spoken input, the keyboard entered instructions and instructions entered using the mouse are referred to as data elements The timing controller 24 ensures that data elements from the various input devices are passed to the central processor 20 in a correct data output sequence, this being the same sequence at which data input occurred to the system 10, this sequence being referred to as a data input sequence Data of spoken origin includes words spoken by an operator of the system 10 Other forms of spoken input which might be input to the system 10 include recorded speech, broadcast speech and speech passed via a telecommunications systems; direct input of these forms of spoken input in electrical signal form to the system 10 may be provided. Referring now to Figure 2 there is shown a prior art speech recognition system 50 In the prior art system 50, data is received by a central processor 60 directly from input devices such as a keyboard 62, a mouse 64, and a speech recogniser 66 Data is output by the central processor 60 to a display unit 68. The prior art system 50 suffers from the disadvantage that if spoken input is received by the speech recogniser 66 and this spoken input is followed by keyboard input, the central processor 60 may then receive instructions in reverse order This could occur because there will be a finite delay between the speech recogniser 66 receiving spoken input and outputting a recognised token to the central processor 60 Instructions could be entered using the keyboard during this delay period and would be received by the processor before the token corresponding to the spoken input An example of the consequences of order reversal of input data is as follows A user may wish to speak some commands and enter data using a keyboard. To achieve this the user speaks the command "File New" and then types some text Although the user may speak the commands and start typing in correct sequence, the delay in the speech recogniser processing the spoken commands may result in the central processor 60 receiving the input from the keyboard before the command to open a new file has been received from the speech recogniser In this case the text may be lost, or inserted in to the wrong document To obtain a proper response, the user must wait until the speech recogniser has output the processed command before the data is entered using the keyboard. This is an inefficient use of time. Figure 3 shows a more detailed representation of the information processing system 10. The spoken input device 30 comprises the microphone 32 and an analogue to digital (A/D) converter 100. Electrical signals are passed from the microphone 32 to the A/D converter 100. The A/D converter 100 converts an analogue input signal into a digital output signal at a sample rate of 20 kHz. The digital output signal passes to a digital signal processor 102. The signal processor 102 is a processor available from AT&T having the product identification code DSP32C. The signal processor 102 is configured as a filter bank to compute the mean energy in each of twenty seven frequency bands, as shown in Table 1 Table 1 Band Centre Band¬ Band Centre Band¬ Number Frequency width (Hz) Number Frequency width (Hz) (Hz) (Hz) 0 0 120 14 1990 201 1 120 120 15 2198 215 2 240 120 16 2421 233 3 360 120 17 2670 267 4 481 121 18 2962 319 5 603 124 19 3315 390 6 729 127 20 3747 478 7 859 132 21 4277 584 8 994 138 22 4921 708 9 1136 146 23 5700 851 10 1286 154 24 6629 1011 11 1445 164 25 7728 1190 12 1615 175 26 9015 1387 13 1796 187 The signal processor 102 outputs feature vectors at a rate of 100 Hz. Feature vectors are described by J.N. Holmes as referenced earlier, and are a representation of the frequency-energy distribution of the received sound in multi-dimensional space W wO w 9 y 6o/1 ι9 y 7 / 9 y 7 / PCT/GB95/02899 - 7 - Here, the feature vector is a point in twenty-seven-dimensional space, the twenty- seven dimensions corresponding to the twenty-seven frequency bands into which the digital signal from the A/D converter 100 is processed Each spoken word can be represented by either a single feature vector or a sequence of feature vectors 5 In addition to extracting feature vectors from the digital signal, the signal processor 102 maintains a clock which generates sequential time frames The signal processor adds to each feature vector a respective pair of time frame indicators, or time stamps in the form of 32-bιt words A first time stamp identifies the time frame in which the 10 respective feature vector starts and a second time stamp identifies the time frame in which the feature vector ends The pair of time stamps identifies uniquely the time frames to which the feature vector associated with the pair relates The time stamps serve to indicate the sequence in which data was input to the system Each feature vector, together with its associated time stamps is passed to an input buffer 104 A 15 recognition processor 106 receives data from the input buffer 104 when it is ready to receive data and performs a recognition program on the data The recognition processor 106 is an Iπmos™ T800 transputer with associated memory The recognition program is a connected speech recognition algorithm as described in the paper by Bridle et al referenced earlier Such a program is of well known kind, and 20 has been implemented by many people skilled in the art of computerised speech recognition The recognition program analyses a sequence of feature vectors in terms of a number of models Models may relate to words or strings of words to be recognised 25 models of any background noise, or any other anticipated input, such as "lip smacks" generated by a speaker opening of their lips Each model is associated with a token The token is a sequence of characters which uniquely identifies the model and is in effect a name for the model The recognition program determines to which model each feature vector is associated, and as a result the start point and end point of 30 each model are detected This information about the start point and end point together with the recognized token is output by the recognition processor 106 to the timing controller 24 By way of example, output from the recognition processor 106 in response to the spoken input "File New" may be as shown in Table 2. Table 2 Start Point End Point Token 1255 1256 1257 1297 File 1298 1299 1300 1301 1302 1363 New The token " " is associated with a model for background room noise Table 2 indicates that from time frame 1255 to time frame 1256 the recogniser considered the operator not to be speaking. From time frame 1257 to time frame 1297, the operator was speaking and the spoken sound was considered to be best represented by a token corresponding to the word "file" There is then a period of four further time frames of non-spoken input, followed by 61 time frames in which the word "new" was spoken Each of the rows in Table 2 corresponds to an event In addition to providing feature vectors with time stamps, the digital signal processor 102 makes a timing signal available to the timing controller 24 The timing controller 24 receives input from the recognition processor 106, the mouse 28 and the keyboard 26. Any keyboard entry or an operation of the mouse 28 is also an event, each of which is given a time stamp by the timing controller 24 The timing controller 24 maintains a register containing the end point time frame of the most recent event received from the recognition processor 106 The timing controller 24 maintains an event list in a memory of the events. Events are added to the list as they occur and are removed when they are no longer needed It may be desirable to pass certain events originating from the mouse 28 through to the central processor 60 without being stored in the event list Events corresponding to movement of the mouse rather may be passed directly to the central processor, provided that they have not been preceded by an event which has been stored in the timing controller The action of the timing controller 24 is as follows The timing controller 24 has an initial state of monitoring the keyboard 26 and the mouse 28 When any changes occur to the status of one of these devices, such as a key being pressed, the timing controller 24 notes the event and the time frame when the event was received from the device and stores this information in the event list The spoken input therefore receives a time stamp at the digital signal processor 102 and non-spoken input receives a time stamp at the timing controller 24 Data is provided to the system 10 in a data input sequence The time stamps associated with each respective data input can be used to determine the order of that data in the data input sequence and so may be referred to as sequence indicators The data input sequence which can be determined by the time stamps is thus the order in which the digital signal processor 102 receives spoken data and the timing controller 24 receives either keyboard entered or mouse entered data The timing controller 24 stores events received from the mouse 28 and the keyboard 26 in the order in which they are received, together with their respective associated time stamps in the event list When the timing controller 24 receives an event from the recognition processor 106, it determines the time frame for the end point of the token This time frame is referred to as the most recent time (MRT) sequence indicator The MRT sequence indicator corresponds to the time stamp of the most recent speech input which the recognition processor 106 has finished processing The timing controller 24 compares the MRT sequence indicator with the time stamps of all the keyboard and mouse entered events held in the event list, starting with the eldest If these events are older than the MRT sequence indicator then the event is transmitted to the central processor 20 and is removed from the event list When the timing controller 24 has considered every event stored in the event list it examines the token from the recognition processor 106 If the token corresponds to a period of silence, or some other model which is of no relevance to the central processor 20 the token is discarded If the token from the recognition processor 106 corresponds to a command or other input of relevance, the token is transmitted to the central processor 20 The timing controller 24 then returns to the initial state Using the example illustrated earlier, the timing controller 24 may receive the keyboard entered text before the tokens corresponding to the spoken command "File New" have been received from the recognition processor 106. The keyboard data receives a time stamp for each key entry, and these events are stored in the event list. Since the time stamps for the keyboard events are later than the time stamp in the register at that time, they are not passed directly to the central processor 20. The timing controller 24 then receives the tokens "File" and "New". Only after the last of these has been passed to the central processor 20 does the timing controller 24 pass the keyboard entered data, stored in the memory, to the central processor 20. The timing controller passes data to the central processor in a data output sequence. The data output sequence corresponds directly to the data input sequence even though the timing controller may for example have received data comprising spoken input and keyboard input in a sequence which did not correspond to the data input sequence. The timing controller 24 may be a separate processor to the recognition processor 106, operating its own separate program. Preferably, the operation of the timing controller 24 is included within the program controlling the operation of the recognition processor 106. Thus instead of being separate physical entities the recognition processor 106 and the timing controller 24 may be incorporated within the operating program of the transputer. Whilst information processing systems incorporating a speech recognizer have been described, the principles involved may be extended to information processing systems which do not incorporate acoustic input devices. Systems which require differing processing times for data from differing input devices, such as systems incorporating handwriting recognizers, and which present the possibility of receiving data elements from one device whilst data elements from another device are being processed, may include means for time-stamping data elements as they are input to the system and means for determining a correct output sequence by comparison of the time stamps of processed data elements so that problems due to differential processing times for the data elements from differing input devices are circumvented.

Claims: CLAIMS 1. An information processing system (10) comprising: (a) a plurality of data input means (26,28,30) for receiving data in a data input sequence and for generating data elements in response thereto, at least one of the data input means providing means for receiving acoustic data: and (b) processing means (24,25,106) for receiving the data elements from the data input means and for outputting processed data in a data output sequence; characterized in that (i) the system includes means for associating each data element with at least one respective sequence indicator; and (ii) the processing means (24,25,106) includes means (24) for determining the output sequence from each data element's at least one sequence indicator such that the data output sequence is in correspondence with the data input sequence irrespective of differing processing means delays for data elements generated by differing input means (26,28,30). 2. A system according to Claim 1 , characterized in that the processing means (24,25, 106) includes recognizing means (25,106) for receiving acoustic data elements from the acoustic data input means (30) and for generating tokens representing the acoustic data in response thereto. 3. A system according to Claim 2, characterized in that the acoustic data elements are feature vectors generated from spoken input by the acoustic data input means and the recognizing means (25,106) is arranged to compare the feature vectors with stored models to generate tokens representing the acoustic data elements. 4. A system according to Claim 3, characterized in that the means for associating each data element with at least one respective sequence indicator is arranged to associate each acoustic data element with two sequence indicators comprising a start indicator and an end indicator indicating respectively a time for the start of the acoustic data input and a time for the end of the acoustic data input. 5. A system according to Claim 4, characterized in that the means (24) for determining said data output sequence incorporates storage means for storing the data elements and their respective sequence indicators and wherein the recognizing means is arranged to generate a most recent time (MRT) sequence indicator corresponding to the end indicator of the most recent feature vector processed by the recognizing means (25,106) and the means (24) for determining said output sequence is arranged to receive the MRT sequence indicator and to compare the MRT sequence indicator with the sequence indicators of data elements stored in the storage means to determine the output sequence. 6. A system according to Claim 5, characterized in that the means (24) for determining said output sequence and the recognizing means (25.106) are programmed processors. 7. A system according to Claim 3, characterized in that the means (24) for determining said output sequence and the recognizing means (25.106) are embodied in a single programmed processor. 8. A system according to Claim 7, characterized in that the system is arranged to perform the steps of:- a) providing the processing means with non-acoustic data elements from at least one input device, b) labelling the non-acoustic data elements with a sequence indicator and storing the data together with its sequence indicator in an event list, c) providing the processing means with feature vectors corresponding to spoken acoustic data elements, d) generating tokens representing the feature vectors, e) determining a most recent time (MRT) sequence indicator corresponding to the end indicator of the token corresponding to the most recent feature vector processed by the recognizing means f) comparing the MRT sequence indicator with the sequence indicators of the non-spoken data stored in the event list, g) determining whether or not the sequence indicators of stored data predate the MRT sequence indicator and if so passing them to a central processor, and h) passing a token to the central processor when no stored sequence indicator predates the MRT sequence indicator A method of processing data including the steps of a) receiving data elements in a data input sequence from a plurality of input sources, at least one of which provides data elements of spoken origin, b) associating a sequence indicator with each respective received data element, c) generating tokens to represent data elements of spoken origin by matching each spoken origin data element to a model, and d) establishing a data output sequence for processed data elements sequence such that the data output sequence corresponds to the data input sequence irrespective of differential processing delays by comparing sequence indicators of data elements from the plurality of sources 10. An information processing system (10) including: (a) a plurality of data input means (26,28,30) arranged to provide data elements in a data input sequence, and (b) processing means (24,25,106) arranged to receive the data elements and to produce output of processed data elements in an output sequence in correspondence with the data input sequence, characterized in that the processing means (24,25,106) is arranged to process each data element in a variable processing time interval dependent upon the data input means providing that data element and the processing means provides means for associating a time indicator with each data element and for comparing time indicators of differing processed data elements to determine the output sequence. 1 1. An information processing system comprising: (a) processing means (24,24) for generating control signals; and (b) a plurality of data input means (26,28,30) for receiving input data and for providing the processing means (24,25) with input data signals in response thereto; characterized in that the processing means includes: (i) means for attaching to each input data signal a marker signal showing the relative time at which the input data represented by the input data signal was received; and (ii) means for ordering the control signals whereby the control signals are arranged in an order which corresponds with the order in which the data input signals resulting in the respective control signals were received by the system.

Inventors: PONTING KEITH MICHAEL, SERIES ROBERT WILLIAM, PONTING, KEITH, MICHAEL, SERIES, ROBERT, WILLIAM
Applicants: PONTING KEITH MICHAEL, SECR DEFENCE, SERIES ROBERT WILLIAM, PONTING, KEITH, MICHAEL, SERIES, ROBERT, WILLIAM, THE SECRETARY OF STATE FOR DEFENSE
Application year: 1995
Main classification: G10L3
IPC codes: G06F3, G10L15