PATTERN RECOGNITION APPARATUS

Abstract: Voice feature data extracted from an input voice signal is stored in a first memory (23). Of the stored voice feature data, predetermined duration feature data defined by the output from a word boundary detection section (22) is read out by a re-sampling section (24), and is stored in a second memory (25). The voice feature data which is normalized along the time base in this manner is supplied to a similarity computing sec­ tion (26) together with reference pattern data, and a category pattern corresponding to the resultant maximum similarity is determined at determining section (28) as a recognition result of an input voice.

Description: The present invention relates to a pattern recognition apparatus for recognizing an input signal and, more particularly, to a pattern recognition apparatus suitable for implementation as an integrated circuit. Fig. 1 is a block diagram showing a conventional arrangement of a speech recognition apparatus as one type of pattern recognition apparatuses. A voice signal input by a voice signal input means such as microphone 10 is supplied to acoustic analysis section 11. In section 11, voice features such as frequency spectra are analyzed in units of predetermined frame lengths (normally, several ms to several tens of ms), and feature data is time-serially extracted. After or while the time-series data is stored in memory device 12, a word boundary, i.e., start and end points of an effective voice are detected by word boundary detection section 13. The start and end points of the effective word detected by section 13 are supplied to address table 14 of memory device 12. Based on an output address from the address table 14, a data string in a specific voiced period or in a word boundaries is fetched from memory device 12 as recognition data, and is supplied to similarity computing section 15. Reference pattern memory device 16 stores a large number of reference pattern data. Similarity computing section 15 performs similarity computation between these reference pattern data and the data strings fetched from memory device 12. The computation result is supplied to determining section 17, and voice data corresponding to the reference pattern having the maximum similarity is output as a recognition result. A word period duration when the reference pattern data is stored in memory device 16 does not often coincide with an input word period duration to be recognized. For this reason, when data to be recognized is fetched from memory device 12, the fetched data is time-serially normalized in correspondence with the duration of the reference pattern data, and then, the similarity computation must be performed. The prior art document by M.F. Dapron et al.: "A system for voiced input of laboratory data" in "Proceedings of the National Electronics Conference", Vol. 34, Oct. 1980, pages 346 to 350, Brook, Illinois, US;, discloses a speaker-dependent isolated-word recognition system, designed to give near real-time response to voiced numerical data entry. Recognition is based upon a simple sum-of-differences algorithm that finds the best match between the user input and a set of vocabulary template patterns created during a user training session. The system itself can be broken into a feature extractor and a pattern processor. The feature extractor separates the speech input into eight parameters: six spectral band energies, total energy and zero-crossings. These parameters are sequentially sampled and stored by a microcomputer that is used as the pattern processor. Further, in this known system time normalization is used because people do not time their pronunciations of a word consistently. To remove these time variations, the system extracts 16 evenly spaced samples from the stored speech data. The spacing is calculated by dividing the number of input samples by 16 and then using the quotient as an index increment. If the number of samples is not a multiple of 16, then the index increment is increased by one during the first skips, where r is the remainder resulting from this division. After time normalization has been completed a 128-byte array pattern of 16 samples by 8 bands is left. This normalized input is then either stored in a template area or it is compared with each template in the vocabulary to find the closest match; in other words, the recognizer is supplied with a single arbitrary representation of the word to be recognized, so that word boundary detection errors may arise. Finally, prior art document US-A-3 943 295 discloses an apparatus and method for recognizing words from among continuous speech; this known apparatus comprises a plurality of modules, one module for each of the vocabulary words of the system. Each module comprises a sequential logic circuitry in conjunction with count storage registers and comparators. In such continuous speech processing a parallel processing is, of course, needed, since a continuous speech should be cut before performing processing operations. Various time-series normalizing methods of input pattern data have been proposed. However, these methods must use complicated apparatuses, and a high recognition accuracy cannot be obtained. It is an object of the present invention to provide a pattern recognition apparatus which can easily time-serially normalize input pattern data with a relatively simple arrangement, and can realize a high recognition accuracy. To solve this object the present invention provides a pattern recognition apparatus as specified in claim 1 or 8. In the pattern recognition apparatus of the present invention, the second memory section which can be accessed by only the recognition computing section is prepared, and data to be recognized fetched by the data fetch section is time-serially normalized and stored in the second memory section. The feature data obtained from the input signal is stored in the first memory section. Therefore, the first memory section can be accessed independently of the recognition computation. This invention can be more fully understood from the following detailed description when taken in conjunction with the accompanying drawings, in which: Fig. 1 is a block diagram showing an arrangement of a conventional speech recognition apparatus; Fig. 2 is a block diagram showing functions of a pattern recognition apparatus according to a first embodiment of the present invention; Fig. 3 is a block diagram showing the arrangement of the embodiment shown in Fig. 2; Figs. 4 and 5 are graphs showing functions of a filter bank in an acoustic analysis section shown in Fig. 3; Fig. 6 shows a data format in one frame; Fig. 7 shows a data format in a first memory device; Fig. 8 shows a data format in a second memory device; Figs. 9 to 12 are flow charts showing the operation of the embodiment shown in Fig. 3; Fig. 13 is a block diagram showing an arrangement according to a second embodiment of the present invention; and Fig. 14 is a block diagram showing an arrangement according to a third embodiment of the present invention. Embodiments of the present invention will be described with reference to the accompanying drawings. Fig. 2 is a view for explaining functions of an embodiment of a speech recognition apparatus to which the present invention is applied. In Fig. 2, an analog voice signal input from microphone 20 is supplied to acoustic analysis section 21. Acoustic analysis section 21 extracts digital feature data from the input voice signal using a combination of a filter bank including a serially connected rectifier, an analog band-pass filter and a low-pass filter and an analog-to-digital (A/D) converter for converting the output from the filter bank into digital data. A word boundary of a input speech period is detected from the extracted feature data by word boundary detection section 22 and is stored in first memory device 23. As one detection method in word boundary detection section 22, the following method is known. Energy components of input voice data are extracted by acoustic analysis section 21 using a broad-band band-pass filter. When the energy components exceed a predetermined threshold value for a predetermined period of time, a position where the energy components first exceed the threshold value is determined as a start point or a start frame. When the energy components are decreased below the threshold value for a predetermined period of time, a position where the energy components are first decreased below the threshold value is determined as an end point or an end frame of a word. In another detection method, high and low threshold values are determined, and when energy components reach the high threshold value from the low threshold value within a predetermined period of time, the frame corresponding to the low threshold value is determined as a start frame of a word. The feature data of input voice data obtained by detecting the word boundary is normally time-serially sampled at a given sampling frequency. Assuming that the number of samples is given by N frames, N changes depending on the word boundary. The N frame data is normalized along with the time base to obtain M frame data having a fixed duration. As one method, re-sampling is performed. For example, a sample of the (1+i(N-1)/(M-1)) th frame is fetched (where i = 0 to M-1). The feature data stored in first memory device 23 is re-sampled by re-sampling section 24, and is normalized along the time base. Then, the normalized data is transferred to second memory device 25 and is stored therein. The data string stored in second memory device 25 is fetched as data to be recognized, and is supplied to similarity computing section 26. The similarity computation can be executed by a known method disclosed in such as U.S. Patent No. 4,624,011. Reference pattern memory device 27 stores a large number of reference pattern data. Similarity computing section 26 performs the similarity computation between these reference pattern data and the data string fetched from second memory device 25. The computation result or similarity data is supplied to determining section 28, and a word number corresponding to the reference pattern having the maximum similarity is determined. The determined number is output as a recognition result. In the apparatus of this embodiment, second memory device 25 separate from the first memory device for storing data to be recognized is accessed to read out data for similarity computation. Therefore, no complicated address computation is required, and data can be fetched only by sequentially addressing second memory device 25. When similarity computing section 26 accesses data to be recognized, only a read control signal and an address count-up signal are required. For this reason, the arrangement of a control circuit can be simplified, and the number of hardware components for an integrated circuit can be reduced. The re-sampled data stored in second memory device 25 requires a capacity 1/10 or less the feature data stored in first memory device 23. For this reason, only one first memory device 23 need to be prepared even when a plurality of similarity computing sections are required in the case wherein word boundary detection is performed based on a plurality of algorithms in order to detect a plurality of word boundaries or wherein a plurality of periods are detected to obtain a plurality of candidates based on a specific algorithm. In practice, in view of an occupation area on a chip when the apparatus of this embodiment is integrated on the chip, the area of second memory device 25 is 0.1 and that of similarity computing section 26 is 0.3 when the area of first memory device 23 is assumed to be 1. Therefore, even when a plurality of similarity computing sections must be prepared on the chip, only one first memory device 23 which occupies a large area need be prepared, thus advantageously reducing a chip area. Fig. 3 is a block diagram showing an arrangement of the apparatus of this embodiment for realizing the functions shown in Fig. 2. The same reference numerals in Fig. 3 denote the corresponding portions as in Fig. 2. Acoustic analysis section 21 may be constituted by an analog processor for analyzing frequency components, energy components, and so forth in a voice signal input through microphone 20. Analog processor 21 incorporates a filter bank 21A and A/D converter 21B, and extracts predetermined acoustic features from the input voice signal upon instruction from CPU 30 through bus B. Reference numeral 31 denotes a digital processor which incorporates first memory device 23, recognition computing section 32, and external interface section (I/F) 33. Recognition computing section 32 incorporates similarity computing section 26, second memory device 25, and reference pattern memory device 27. Of the functions shown in Fig. 2, those corresponding to word boundary detecting section 22, re-sampling section 24, and determining section 28 are realized by CPU 30. Filter bank 21A in acoustic analysis section 21 comprises 7-channel band-pass filters. The band-pass filter rectifiers and low-pass filters has characteristics shown in Figs. 4 and 5. The rectifier rectifies outputs of the band-pass filter and delivers the rectified signal to the succeeding low-pass filter which allows a signal of less than 50 Hz to pass therethrough. Frequency components included in a human voice are extracted using 6-channel (CH1 to CH6) band-pass filters, as shown in Fig. 4, and the extracted data is used for the similarity computation as input voice feature data. The 7th band-pass filter passes a signal having a main frequency range, e.g., 50 Hz to 5,000 Hz included in the human voice. An output extracted by the 7th- channel (CH7) band-pass filter is used for detecting energy components of input voice data at word boundary detection section 22 shown in Fig. 2. The 1st- to 7th-channel filter outputs extracted by filter bank 21A are supplied to A/D converter 21B, and are subjected to non-linear conversion such as log-conversion. Thereafter, the resultant data is output as 8-bit digital feature data for each channel. 1-byte dummy data is added to 7-channel 8-bit feature data (8 (bit) × 7 (channel)), and the resultant 8-byte data is treated as one-frame data. Each frame data output from acoustic analysis section 21 is sampled by CPU 30 every 20 ms, and is sequentially stored in first memory device 23 through bus B. Fig. 6 shows the 8-byte data format for one frame. Such frame data is stored in first memory device 23 having a memory capacity corresponding to a maximum of 100 frames, as shown in Fig. 7. Storage data shown in Fig. 7 represents a state after word boundary detection. The first frame serves as voice start data point, and the 80th frame serves as voice end data. First memory device 23 has a ring structure, and the address order of the start and end points is often reversed. In the case of fig. 7, the 69th frame indicated by * is followed by the 70th frame indicated by **. For this reason, theoretically, data of start to end frames can be treated as continuous data. The number of frames of the feature data stored in first memory device 23 varies depending on a duration of voice data. The frame data included in one word period in first memory device 23 is read out in a predetermined cycle (sampling frequency) under the control of CPU 30, and is sequentially stored in 60-byte second memory device 25 from the first frame. In this case, of the frame data, 6-byte data (CH1 to CH6 data) is stored in second memory device 25 as feature data for the similarity computation. Memory device 25 always stores 60-byte data, and performs normalization along the time base. The operation of the embodiment shown in Fig. 3 will be described with reference to the flow charts shown in Figs. 9 to 12. With the above arrangement, CPU 30 causes first memory device 23 in digital processor 31 to store feature data obtained by analog processor 21, in step A1 shown in Fig. 9. CPU 30 also performs word boundary detection control using energy data of CH7 shown in Fig. 5, in step A2. For example, CPU 30 compares the output level of the CH7 band-pass filter with a predetermined value, and detects a word boundary defined by start and end points obtained when the output level exceeds or is decreased below the predetermined value. After voice input is completed, YES is obtained in step A3, and re-sampling control is performed in step A4. CPU 30 transfers re-sampled data to second memory device 25. CPU 30 supplies a computation start instruction to recognition computing section 32 of digital processor 31. Recognition computing section 32 performs a similarity computation for all the voice patterns, e.g., syllable patterns stored in reference pattern memory device 27 using similarity computing section 26, in step A5. Each time a computation for each word is completed, section 32 supplies a read request signal to CPU 30 in step A6 so as to request CPU 30 to read out the similarity computation results. When CPU 30 fetches similarity computation results for all the words, CPU 30 sends out the word number having the maximum similarity to an external host system through external interface section 33. The word boundary detection process (A2) shown in Fig. 9 will be described with reference to Fig. 10. Referring to Fig. 10, it is checked in step B1 if a start candidate is already found. If NO in step B1, the flow advances to step B2 to check if a voice detection (energy) level from the band-pass filter CH7 having characteristics shown in Fig. 5 is larger than predetermined value X. If YES in step B2, the flow advances to step B3, and a flag indicating that the start candidate is found is set. The flow advances to step B4 to check if the start candidate obtained in step B3 is determined as a start. If NO in step B4, the flow advances to step B5 to check if the energy level is larger than predetermined value X in the same manner as in step B2. If YES in step B5, the flow advances to step B6 to check if Z or more frames (e.g., Z = 5) having energy level larger than are continued. If YES in step B6, a flag indicating that the start is determined is set in step B7. If it is determined in step B5 that the energy level is smaller than X, the flow advances to step B8, and the start candidate is canceled. If the start is determined in step B7, the flow advances from step B4 to B9 to find an end candidate. If NO in step B9, it is checked in step B10 if the obtained energy level is smaller than predetermined value Y (X = Y is allowable). If YES in step B10, the flow advances to step B11. In step B11, a flag indicating that the end candidate is found is set. If the end candidate is found, the flow advances from step B9 to B12 to check if the end is determined. If NO in step B12, it is checked in step B13 if the energy level is lower than Y (X = Y is also allowable). If YES in step B13, the flow advances to step B14. It is checked in step B14 if V frames (e.g., V = 10) having a level lower than Y are continued. If YES in step B14, the flow advances to step B15 and an end of the input word boundary is determined. If it is determined in step B13 that the energy level is larger than Y, the flow advances to step B16, and the end candidate is canceled. If the end is determined in step B15, YES is obtained in step B12, and the flow is ended. Re-sampling step A4 in Fig. 9 will be described in more detail with reference to Fig. 11. In step C1, word boundary period ℓ is obtained by performing a computation ℓ = voice end frame - voice start frame. Resultant voiced period ℓ is divided into 10 sections in step C2, and value ℓ/10 is obtained as re-sample width d . In step C3, i = 0 is written in the content of a counter. In step C4, feature data of an (i.d)th frame (i = 1) from the frame number of the start is read out from first memory device 23, and is stored in second memory device 25. The flow advances to step C5, and value i is incremented by +1. The incremented value is written in an i register. It is checked in step C6 if i is smaller than 10. If YES in step C6, the flow returns to step C4, and feature of next frame is stored in second memory device 25. Similarly, the frame data is sequentially stored in second memory device 25. When i = 10, NO is obtained in step C6, and re-sampling is ended. Fig. 12 is a flow chart showing the content of sorting step A6 in Fig. 9 in detail. In step D1, 0 is set as a maximum similarity for a word to be recognized, and number "1" of the reference word pattern is set. Computing section 26 executes similarity computation of pattern data read out from second memory device 25 and reference pattern memory device 27 under the control of CPU 30. In step D2, CPU 30 fetches the resultant similarities. The computed similarity is compared with preset maximum value in step D3. If the computed similarity is larger than a reset maximum value, NO is obtained in step D3, and the flow advances to step D4. The similarity larger than the preset maximum value is fetched as the latest maximum value, and the corresponding word number is stored in CPU 30, as a recognition result. In step D5, a word number is incremented by +1, and it is then checked in step D6 if the operations in steps D2 to D5 are completed for all the reference words. Therefore, when the operation shown in Fig. 12 is completed for all the words, the word number providing the maximum similarity is output as recognition results from I/F 33. More specifically, in the apparatus of this embodiment, CPU 30 serves as both a control circuit for controlling the entire operation, and determining section 28 in Fig. 2. Fig. 13 is a block diagram showing an arrangement of an apparatus according to a second embodiment of the present invention. In this second embodiment, the present invention is applied to a speech recognition apparatus having two recognition computing sections. Reference numeral 21 denotes an analog processor, incorporating a filter bank and an A/D converter, for analyzing a voice signal input by a voice signal input means such as microphone 20. Reference numeral 30 denotes a CPU; 23, a first memory device; 26A and 26B, similarity computing sections; 25A and 25B, second memory devices; 27A and 27B, reference pattern memory devices; and 33, an external interface section. CPU 30 selects a plurality of (in this case, two) start and end points when a word boundary period is detected from feature data stored in first memory device 23, and re-samples and transfers the data to second memory devices 25A and 25B. After the transfer operation is completed, CPU 30 supplies a recognition computation start instruction to similarity computing sections 26A and 26B, and then stands by until a computation for one word is completed. The similarity computation for one word is normally completed in about 3 ms. However, since the instruction execution speed of CPU 30 is fast, i.e., 2 µs, the similarity computations are parallelly performed in two similarity computing sections 26A and 26B, and all the data can be processed without losing a computation result. When reference pattern memory devices 27A and 27B store the identical content, the maximum one of a plurality of similarity computation results obtained for a plurality of word boundaries is determined to be a similarity for a word. Therefore, a word boundary detection error is eliminated, and a high recognition accuracy is obtained. When reference pattern memory devices 27A and 27B store different contents, reference pattern data number is doubled as compared to a case wherein only one reference pattern memory device is provided, and a similarity of an input voice signal having a large number of vocabulary can be obtained at a speed twice that of the apparatus shown in Fig. 3. In the apparatus of this embodiment, the similarity computation is performed in two similarity computing sections 26A and 26B. Three or more similarity computing sections can be prepared to obtain higher recognition efficiency or to obtain a similarity at high speed. Fig. 14 is a block diagram showing an arrangement of an apparatus according to a third embodiment of the present invention. In the apparatus of this embodiment, when two similarity computing sections 26A and 26B are provided, one reference pattern memory device 27 is provided, and is commonly used by different similarity computing sections. In this embodiment, input voices having a larger number of vocabulary cannot be recognized at high speed. However, word boundary detection precision can be improved with a small number of hardware components, and a high recognition efficiency can be obtained. According to the present invention as described above, a pattern recognition apparatus which can provide a high recognition efficiency and can be constituted with a smaller number of hardware components can be provided.

Claims: A pattern recognition apparatus comprising: means (21) for extracting pattern feature data representing a pattern feature of an input signal including durations denoting effective signal periods; first memory means (23) for storing the extracted pattern feature data; means (24, 30) for resampling defined pattern feature data included in the pattern feature data stored in said first memory means (23), said resampling means (24, 30) including means for defining a plurality of durations denoting a plurality of different effective signal periods of the pattern feature data stored in said first memory means (23); second memory means (25) having a plurality of memory units (25A, 25B) for storing the defined pattern feature data read out by said resampling means (24, 30); means (27) for storing reference pattern data; similarity computing means (26) including similarity computing sections (26A, 26B) corresponding in number to said plurality of memory units (25A, 25B), each of said computing sections computing similarities between the defined pattern feature data read out from said second memory means (25) and said reference pattern data read out from said reference pattern data storing means; and means (28) for determining the pattern feature of the input signal based on the computed similarities. An apparatus according to claim 1, characterized in that: said pattern feature data extracting means (21) includes first filter means (21A) for extracting frequency spectrum data of the input signal and second filter means (21A) for extracting energy level data of the input signal; said first memory means (23) stores the frequency spectrum data from said first filter means (21A); and said resampling means (24, 30) includes means for determining the different effective signal periods in accordance with the energy level data from said second filter means (21A). An apparatus according to claim 2, characterized in that: the input signal is a voice signal; the reference pattern data represent a plurality of reference voice patterns; and said pattern determining means includes means for determining the input voice signal based on the computed similarities. An apparatus according to claim 1, characterized in that said pattern feature data extracting means (21) includes: a filter bank (21A) for filtering, using a plurality of frequency channels, said sampled input signal obtained by sampling the input signal in the predetermined frame cycle; and means (21B) for analog-to-digital converting the output from said filter bank (21A) and forming frame data. An apparatus according to claim 1, characterized in that first memory means (23) has a ring structure. An apparatus according to claim 1, characterized in that the reference pattern data is output from a plurality of reference pattern memories (27A, 27B) provided in correspondence with said plurality of similarity computing sections (26A, 26B). An apparatus according to claim 1, characterized in that the reference pattern data is output from a single reference pattern memory (27) commonly to said plurality of memory units. A pattern recognition apparatus for determining a pattern of an input signal, said apparatus comprising: extracting means (21) for extracting pattern feature data representative of the pattern from the input signal; first memory means (23) operatively coupled to the extracting means (21) for storing the extracted pattern feature data; candidate selection means (30) operatively coupled to the first memory means (23) for selecting a plurality of candidate pattern feature data corresponding to a plurality of durations of the extracted pattern feature data, each of the candidate pattern feature data being resampled to have a selected unique duration; second memory means (25) operatively coupled to the candidate selection means (30) for storing the plurality of candidate pattern feature data and reference pattern data; similarity computing means (26) operatively coupled to the second memory means (25) for computing similarities between the candidate pattern feature data and the reference pattern data; and determining means operatively coupled to the similarity computing means (26) for determining the pattern of the input signal based on the computed similarity. An apparatus according to claim 8, characterized in that: the input signal includes frequency spectrum data and energy level data; said extracting means (21) includes first filter means (21A) for extracting the frequency spectrum data and second filter means (21A) for extracting the energy level data; said first memory means (23) stores the frequency spectrum data; and said candidate selection means includes means for determining the durations for the candidate pattern feature data in accordance with the energy level data. An apparatus according to claim 9, characterized in that: the input signal comprises a voice signal having a voice pattern; the reference pattern data represent a plurality of reference voice patterns; and said determining means includes means for matching the voice pattern to a selected one of the reference voice patterns based on the computed similarity. An apparatus according to claim 8, characterized in that said extracting means (21) includes: a filter bank (21A) including a plurality of frequency channels for filtering and sampling the input signal in a predetermined frame cycle to generate a filtered input signal; and analog-to-digital converting means (21B) operatively coupled to the filter bank (21A) for digitizing the filtered input signal to form frame data. An apparatus according to claim 8, characterized in that said first memory means (23) has a ring structure. An apparatus according to claim 8, characterized in that: said second memory means (25) includes a plurality of memory units (25A, 25B), each of the memory units (25A, 25B) storing selected frame data of the candidate pattern feature data; and said similarity computing means (26) includes a plurality of similarity computing sections (26A, 26B) operatively coupled to respective and corresponding ones of said memory units (25A, 25B), each of said similarity computing sections (26A, 26B) computing a similarity between the frame data of the candidate pattern feature data of a corresponding memory unit and the reference pattern data. An apparatus according to claim 13, characterized in that the second memory means (25) includes a plurality of reference pattern memories (27A, 27B) operatively coupled to respective and corresponding ones of said similarity computing sections (26A, 26B), each of said similarity computing sections (26A, 26B) computing a similarity between the frame data of the candidate feature data of a corresponding memory unit (25A, 25B) and the reference pattern data of a corresponding reference pattern memory. An apparatus according to claim 13, characterized in that said second memory means (25) further includes a single reference pattern memory (27) operatively coupled to said memory units for storing the reference pattern data and communicating the reference pattern data to the memory units.

Inventors: TSUNODA, JUN C/O PATENT DIVISION
Applicants: KABUSHIKI KAISHA TOSHIBA
Application year: 1988
Main classification: G10L5
IPC codes: G10L15, G10L11, G06T7