JPH0646358B2 - Pattern comparison device - Google Patents
Pattern comparison deviceInfo
- Publication number
- JPH0646358B2 JPH0646358B2 JP60205756A JP20575685A JPH0646358B2 JP H0646358 B2 JPH0646358 B2 JP H0646358B2 JP 60205756 A JP60205756 A JP 60205756A JP 20575685 A JP20575685 A JP 20575685A JP H0646358 B2 JPH0646358 B2 JP H0646358B2
- Authority
- JP
- Japan
- Prior art keywords
- frame
- pattern
- calculation
- standard pattern
- input
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Description
【発明の詳細な説明】 産業上の利用分野 本発明は、特徴ベクトルの系列で表わされた複数種類の
標準パターンと入力パターンとの比較を行ない、入力パ
ターンの識別を行なうパターン比較装置に関し、特に連
続して発声した単語音声の認識などに適用可能なパター
ン比較装置に関する。BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a pattern comparison apparatus that compares a plurality of types of standard patterns represented by a series of feature vectors with an input pattern to identify the input pattern, In particular, the present invention relates to a pattern comparison device applicable to recognition of continuously-spoken word sounds.
従来の技術 人間にとって最も自然な情報発生手段である音声が、人
間−機械系の入力手段として使用出来れば、その効果は
非常に大きい。その場合、音声認識装置としては、より
自然な発声で認識出来る条件として、連続して発声した
音声の認識が出来ることが望ましい。2. Description of the Related Art If voice, which is the most natural information generating means for human beings, can be used as an inputting means of human-machine system, its effect is very large. In that case, it is desirable for the voice recognition device to be able to recognize continuously uttered voices as a condition for recognizing a more natural voice.
連続して発声した単語音声の認識に有効なパターン比較
装置として、動的計画法(以下DPと呼ぶ)を2段階用
いたいわゆる2段DP法を用いたパターン比較装置が既
に実用化されている。As a pattern comparison device effective for recognition of continuously spoken word voices, a pattern comparison device using a so-called two-stage DP method using a dynamic programming method (hereinafter referred to as DP) in two steps has already been put into practical use. .
しかし、この2段のDP法は重複した計算が多く計算量
が膨大で、従ってこの方法を用いた実時間処理が可能な
パターン比較装置は極めて高速の処理が要求され、装置
も複雑で、高価なものとならざるを得ない。However, this two-stage DP method has many duplicated calculations and enormous amount of calculation. Therefore, the pattern comparison apparatus capable of real-time processing using this method requires extremely high-speed processing, and the apparatus is complicated and expensive. There is no choice but to become something like that.
以上の欠点を除去するために、大幅に計算量の少ないパ
ターン比較装置として、O(N)DP法,CWDP法,A
CDP法等を用いたパターン比較装置が提案されてい
る。しかし、これ等の方法をハードウェア的に実現する
ためには、高速にアクセス可能な大容量のメモリを必要
とする欠点がある。In order to eliminate the above-mentioned drawbacks, a pattern comparison device having a significantly small calculation amount is used as an O (N) DP method, a CWDP method,
A pattern comparison device using the CDP method or the like has been proposed. However, there is a drawback that a large-capacity memory that can be accessed at high speed is required to implement these methods by hardware.
本発明は、これ等の欠点を除去したパターン比較装置を
提供するものであって、特に、特願昭58−48600
号明細書に記載されている前記ACDP(Augmented Co
ntinuous DPMatching)法に適用することを目的とす
る。この方法は単語数未知,単語数既知、何れの場合に
も適用可能であり、オートマン制御も可能である。The present invention provides a pattern comparison apparatus in which these drawbacks are eliminated, and particularly, Japanese Patent Application No. 58-48600.
The ACDP (Augmented Co
ntinuous DPMatching) method. This method can be applied to both cases of unknown word number and known word number, and automan control is also possible.
本発明を説明するに先だって次にACDP法について説
明する。以後、ここでは簡単のために単語数知の場合に
ついて説明する。また、本発明のパターン比較装置は、
種々の入力パターンの認識に用いることが出来るが、以
下、連続して発声される連続単語音声を例に説明する。Prior to describing the present invention, the ACDP method will be described next. Hereinafter, for simplicity, the case of word counting will be described. Further, the pattern comparison apparatus of the present invention,
Although it can be used for recognition of various input patterns, a continuous word voice that is continuously uttered will be described below as an example.
人間により発声される音声は人によりまた時により変化
し、基準となる標準パターンに対し時間的に非線形に伸
縮したものとなっている。この非線形に伸縮している入
力パターンと標準パターンとを比較し、入力音声の認識
を行なうためには、入力パターンと標準パターンの各特
徴ベクトルの対応付けを非線形に行ない、入力パターン
がどの標準パターンと最も類似しているかを計算する必
要がある。しかし、この入力音声は非線形に伸縮すると
はいっても、異常に長く伸びたり、短くなったりするこ
とはない。A voice uttered by a human changes temporally and temporally, and is expanded / contracted nonlinearly with respect to a standard pattern serving as a reference. In order to recognize the input voice by comparing the non-linearly expanding and contracting input pattern with the standard pattern, the feature vectors of the input pattern and the standard pattern are associated with each other in a non-linear manner. We need to calculate which is most similar to. However, although this input voice expands and contracts non-linearly, it does not extend or shorten abnormally.
このような入力パターンの物理的な特徴に注目し、入力
パターンと標準パターンを比較する際には無制限にすべ
ての可能性について比較するのではなく、入力パターン
の物理的な性質により定まる妥当と考えられる範囲につ
いて比較を行なうようにする。Paying attention to such physical characteristics of the input pattern, when comparing the input pattern and the standard pattern, it is considered that the validity is determined by the physical properties of the input pattern, rather than unlimited comparison of all possibilities. Be sure to make a comparison for the range covered.
入力音声信号はパターン比較装置において、周波数分
析,LPC分析,PARCOR分析,相関分析等により、いく
つかの数値の組(特徴ベクトル)の系列に変換され、こ
の入力パターンの特徴ベクトルの系列と比較の対象とな
る標準パターンの特徴ベクトルの系列とが各ベクトル毎
に比較される。この各ベクトル毎の比較値、すなわちベ
クトル間の距離を合計した累積距離というものをパター
ンの類似の尺度に用いる。この累積距離を計算する場
合、各ベクトル毎の比較をすべての組合せについて行な
うのは計算量が膨大となり、パターン比較装置として実
用化することが出来ない。The input speech signal is converted into a series of several numerical value groups (feature vectors) by frequency analysis, LPC analysis, PARCOR analysis, correlation analysis, etc. in a pattern comparison device and compared with the series of feature vector of this input pattern. The series of feature vectors of the target standard pattern is compared for each vector. The comparison value for each vector, that is, the cumulative distance obtained by summing the distances between the vectors is used as a measure of pattern similarity. When this cumulative distance is calculated, it is not possible to put it into practical use as a pattern comparison device because the amount of calculation is huge to compare each vector for all combinations.
入力パターンを一方の軸に、標準パターンを他方の軸と
する平面(以下、i−j平面という)を考えると、入力
パターンおよび標準パターンの各ベクトルの組合せと言
うのは、i−j平面上の各格子点(以下、単に点とい
う)により示すことが出来る。従って、前記あらゆる組
合せについて各ベクトル間の距離を計算するとは、各点
におけるベクトル間の距離を計算することであり、累積
距離を計算するとは、入力パターンの特徴ベクトルと、
それに対応する標準パターンの特徴ベクトルとのベクト
ル間距離を順次計算し、合計していくことである。この
累積距離を計算する過程で選択された、入力パターンと
標準パターンの特徴ベクトルの対応、即ち点列を径路と
言う。前記した入力パターンの物理的な性質を考慮して
比較の範囲を限定すると言うことは、径路の選択に拘束
条件を設けると言うことである。ここで、以後の説明に
おいてて用いる用語および記号について説明する。Considering a plane having the input pattern on one axis and the standard pattern on the other axis (hereinafter referred to as the i-j plane), the combination of each vector of the input pattern and the standard pattern is on the i-j plane. It can be indicated by each lattice point (hereinafter, simply referred to as a point). Therefore, to calculate the distance between the vectors for each of the combinations is to calculate the distance between the vectors at each point, and to calculate the cumulative distance is to calculate the feature vector of the input pattern,
The vector distance between the corresponding feature vector of the standard pattern and the vector distance is sequentially calculated and totaled. The correspondence between the feature vectors of the input pattern and the standard pattern selected in the process of calculating the cumulative distance, that is, the point sequence is called a path. To limit the range of comparison in consideration of the physical properties of the input pattern described above means to set a constraint condition on the selection of the path. Here, terms and symbols used in the following description will be described.
A:入力パターン(A=a1,a2,…,ai,…,a
I) ai:入力パターンAの第iフレームの特徴ベクトル I:入力パターンのフレーム数 Rn:第n標準パターン(Rn=bn 1,bn 2,…,
bn j,…,bn Jn) bn j:第n標準パターンの第jフレームの特徴ベクトル Jn:第n標準パターンのフレーム数 n:単語名(単語番号)1≦n≦N N:標準パターンの総数 dn(i,j):第n標準パターンの第jフレームの特
徴ベクトルbn jと入力パターンの第iフレームの特徴ベ
クトルaiとのベクトル間距離 Dn(s:t):入力パターンの部分パターンas〜a
tと標準パターンRnとの最小累積距離(以下、部分累
積距離と呼ぶ) D(i):第1〜第iフレームまでの入力パターンと、各
標準パターンの最適な組合せの結合パターンとのパタ ーン間の距離(以下、終端累積距離と呼ぶ) N(i):第1〜第iフレームまでの入力パターンに対す
る各標準パターンの最適な組合せの結合パターンを求め
たときの当該結合パターンを構成する最後尾標準パター
ンを示す番号(以下、最後尾単語名と呼ぶ) B(i):N(i)の始点フレームの1つ手前のフレームを示
すフレーム番号(以下、バックポインタと呼ぶ) 入力パターンの部分パターンam+1〜aiと標準パターン
と標準パターンRnの部分パターンbn 1〜bn jとの最小
累積距離のmについての最小値(以下、途中累積距離と
呼ぶ) を満たす入力パターンの始点位置(以下、途中バックポ
インタと呼ぶ) ただし、DPマッチングの径路は、Dn(s:t),D(i)
については入力パターン側の軸を基本軸とする径路であ
って、 については標準パターン側の軸を基本軸とする径路であ
る。A: Input pattern (A = a 1 , a 2 , ..., A i , ..., A
I ) a i : Feature vector of i-th frame of input pattern A I: Number of frames of input pattern R n : n-th standard pattern (R n = b n 1 , b n 2 , ...,
b n j , ..., b n Jn ) b n j : Feature vector of j-th frame of n-th standard pattern J n : Number of frames of n-th standard pattern n: Word name (word number) 1 ≦ n ≦ NN: Total number of standard patterns d n (i, j): inter-vector distance D n (s: t) between the feature vector b n j of the j-th frame of the n-th standard pattern and the feature vector a i of the i-th frame of the input pattern : part of the input pattern pattern a s ~a
Minimum cumulative distance between t and standard pattern R n (hereinafter referred to as partial cumulative distance) D (i): pattern of the input patterns from the 1st to i-th frames and the combined pattern of the optimum combination of each standard pattern Distance between frames (hereinafter referred to as “terminal cumulative distance”) N (i): constructs a combination pattern when an optimum combination pattern of each standard pattern with respect to the input patterns of the 1st to i-th frames is obtained. Number indicating the last standard pattern (hereinafter referred to as the last word name) B (i): Frame number indicating the frame immediately before the starting point frame of N (i) (hereinafter referred to as back pointer) The minimum value of m of the minimum cumulative distance between the partial patterns a m + 1 to a i of the input pattern and the partial patterns b n 1 to b n j of the standard pattern and the standard pattern R n (hereinafter, referred to as intermediate cumulative distance) The starting point position of the input pattern that satisfies the following (hereinafter referred to as the intermediate back pointer) However, the path of DP matching is D n (s: t), D (i)
Is a path with the axis on the input pattern side as the basic axis, Is a path with the axis on the standard pattern side as the basic axis.
DPマッチングによる連続単語音声認識は次なる漸化式
を計算することによって効率的に実行される。即ち ただし、m*,n*は式(1)を満たすm,nをi=1〜
Iについて順次計算すればN(I),N(B(I)),N(B
(B(I))),…,N(B(B(…B(I)…)))によっ
て入力された単語が逆の順序で求められる。Continuous word speech recognition by DP matching is efficiently performed by calculating the following recurrence formula. I.e. However, for m * and n * , i = 1 to m
If I is calculated sequentially, N (I), N (B (I)), N (B
The words input by (B (I)), ..., N (B (B (... B (I) ...))) are obtained in the reverse order.
第2図は式(1)の計算の物理的意味を説明する図であ
る。bはDn(m:i)を計算する場合の径路の拘束条件
の一実施例である。即ち、点(i,j)に至る径路は点
(i-2,j-1),(i-1,j-1),(i-1,j-2)を必ず通り、
累積距離が計算される際、選択された径路に応じて各点
のベクトル間距離に径路上に示した数字で表わされる重
み付けがなされる。このような重みの与え方をすれば同
図に示す径路の拘束条件の許では如何なる径路が選ばれ
ようとも、その径路に沿う重みの和は入力パターンのフ
レーム数に等しくない一定となる。aは入力パターンの
第m+1フレームから第iフレームまでの部分パターン
と第n標準パターンRnとのマッチングの様子を示して
いる。直線1は傾斜が1/2であって、直線2は傾斜が2
であり、DPマッチングの径路はbの拘束条件の許では
両直線に挾まれる領域に限定される。3は選ばれたマッ
チング径路の一例である。FIG. 2 is a diagram explaining the physical meaning of the calculation of equation (1). b is an embodiment of the constraint condition of the path when D n (m: i) is calculated. That is, the path to the point (i, j) always passes through the points (i-2, j-1), (i-1, j-1), (i-1, j-2),
When the cumulative distance is calculated, the vector distance of each point is weighted by the numbers shown on the path according to the selected path. If the weights are given in this way, no matter which path is selected, the sum of the weights along the path is not equal to the number of frames of the input pattern, regardless of the path selected. “A” shows a state of matching between the partial pattern from the (m + 1) th frame to the i-th frame of the input pattern and the nth standard pattern R n . Straight line 1 has a slope of 1/2, straight line 2 has a slope of 2
Therefore, the DP matching path is limited to the area between the two straight lines under the constraint condition of b. 3 is an example of the selected matching path.
式(1)を計算するためには、Dn(m+1:i)をn=1〜N
について、iとJnに関係したmのある範囲に渡って、
i=1〜Iのそれぞれについて計算しなければならな
い。即ち、第2図aの例で言えば、iが変わる毎に直線
1,2で囲まれる三角形の領域内の全格子点についてベ
クトル間距離及び累積距離を計算しなければならない。In order to calculate the equation (1), D n (m + 1: i) is set to n = 1 to N
For, over a range of m related to i and J n ,
It has to be calculated for each i = 1 to I. That is, in the example of FIG. 2a, the vector distance and the cumulative distance have to be calculated for all grid points in the triangular area surrounded by the straight lines 1 and 2 every time i changes.
ACDP法は、このDn(m+1:i)の計算をワードスポ
ッティングの考え方を導入して近似的に行なうことによ
り、その計算量を大幅に減らすものである。In the ACDP method, the calculation amount of D n (m + 1: i) is approximately reduced by introducing the concept of word spotting, and the calculation amount is greatly reduced.
第3図はACDP法の概念を説明する図である。aは径
路の拘束条件の一例を示す図である。即ち、点(i,
j)に至る径路は点(i-2,j-1),(i-1,j-1),(i-1,
j-2)を必ず通り、径路上に示した数字はこの重みを表
わす。第2図bに示すものとの本質的な違いは、このよ
うな重みの与え方をすれば同図に示す径路の拘束条件の
許では如何なる径路が選ばれようとも、その径路に沿う
重みの和は標準パターンのフレーム数に等しくなり一定
となると言う点にある。FIG. 3 is a diagram for explaining the concept of the ACDP method. FIG. 5A is a diagram showing an example of a constraint condition of a path. That is, the point (i,
The path to j) is point (i-2, j-1), (i-1, j-1), (i-1,
j-2) is always passed and the number shown on the path represents this weight. The essential difference from the one shown in FIG. 2b is that if the weights are given in this way, no matter what path is selected under the constraint conditions of the path shown in FIG. The sum is equal to the number of frames in the standard pattern and is constant.
ACDP法の考え方を要約すれば、 (1) 第3図aの如き標準パターン側の軸を基本軸とす
る径路の拘束条件に従って を計算する。To summarize the concept of the ACDP method, (1) In accordance with the constraint condition of the path with the axis on the standard pattern side as the basic axis as shown in FIG. To calculate.
(2) からDn(m-r+1:i)〜Dn(m+r+1:i)を近似的に推定
する。即ち、 となる。ここで、rはDn(m+1:i)の推定の範囲であ
る。(2) From D n (m-r + 1: i) to D n (m + r + 1: i) are approximately estimated. That is, Becomes Here, r is the range of estimation of D n (m + 1: i).
(1),(2)より、結局 の任意の点を始点、iを終点とするDn(m+1:i)を近
似的に推定出来たことになる。From (1) and (2), It means that D n (m + 1: i) having an arbitrary point of as a starting point and an end point of i can be estimated approximately.
この方法を連続単語音声認識に適用すると次のようにな
る。When this method is applied to continuous word speech recognition, it becomes as follows.
(1) 初期条件 (2) i=1〜Iについて(3)〜(7)を実行 (3) n=1〜Nについて(4)〜(6)を実行 (4) (5) j=3〜Jnについて (6) r′=0〜rについて (7) (8) 判定処理(前記の如くB(i),N(i)から単語列を
逆の順序で求める) 以上の処理からも明らかなように、ACDP法によれ
ば、最も計算量の多いdn(i,j)の計算を含むステッ
プ(4),(5)の計算は各i,nについて1回行なうのみで
よいから、通常の2段DPに比べると計算量が大幅に減
少するものである。(1) Initial condition (2) Perform (3) to (7) for i = 1 to I (3) Perform (4) to (6) for n = 1 to N (4) (5) Regarding j = 3 to J n (6) About r '= 0 to r (7) (8) Judgment processing (obtaining a word string from B (i) and N (i) in the reverse order as described above) As is clear from the above processing, according to the ACDP method, the d The calculation of steps (4) and (5) including the calculation of n (i, j) needs to be performed only once for each i and n, so that the calculation amount is significantly reduced as compared with the normal two-stage DP. Is.
ところが、前記ベクトル間距離dn(i,j),途中累積
距離n(i,j)をフレームi毎にn=1〜N,j=1
〜Jnについて求めるためには、標準パターン記憶用メ
モリとして、かなり高速なアクセスが要求されることに
なる。例えば、フレーム周期を5msec,標準パターン数
N=300,標準パターンの平均フレーム数J=30と
すれば、入力パターンのフレーム当たりの計算すべき平
均の格子点数はNJ=9000であり、特徴ベクトルの
次元数を15とすれば、入力パターンのフレーム当たり
の標準パターン記憶用メモリに対するアクセス回数は90
00×15=135000回となる。これを5msec内に行なうため
には、アクセスタイム37nsec以下が要求される。ま
た、標準パターンの記憶に必要とされるメモリ量は、特
徴ベクトルの1要素を1バイトで表現するものとすれ
ば、135kBとなり、37nsec以下でアクセスできる高
速メモリが、135kBも必要ということになり、装置と
して大変高価なものになる。However, the inter-vector distance d n (i, j) and the midway cumulative distance n (i, j) are n = 1 to N, j = 1 for each frame i.
To determine the through J n as a standard pattern storage memory, is considerably the high-speed access is required. For example, if the frame period is 5 msec, the number of standard patterns is N = 300, and the average number of frames of standard patterns is J = 30, the average number of grid points to be calculated per frame of the input pattern is NJ = 9000, and If the number of dimensions is 15, the number of accesses to the standard pattern storage memory per frame of the input pattern is 90.
00 × 15 = 135,000 times. In order to do this within 5 msec, an access time of 37 nsec or less is required. Also, the amount of memory required to store the standard pattern is 135 kB if one element of the feature vector is represented by 1 byte, which means that a high-speed memory that can be accessed in 37 nsec or less requires 135 kB. However, the device becomes very expensive.
発明が解決しようとする問題点 本発明は、前記ACDP法による連続的パターンの比較
装置において、高速アクセスが要求されるメモリの数を
大幅に減少させることを目的とする。DISCLOSURE OF THE INVENTION Problems to be Solved by the Invention An object of the present invention is to significantly reduce the number of memories that require high-speed access in the continuous pattern comparison apparatus using the ACDP method.
問題点を解決するための手段 本発明のパターン比較装置は、入力信号を特徴ベクトル
a1,a2,…,ai,…,aIの系列に変換する特徴
抽出手段と、特徴ベクトルの系列bn 1,bn 2,…,
bn 3,…,bn jnから成る標準パターンRn(ただし、
n=1〜N)を記憶する標準パターン記憶手段と、入力
のフレームiを横軸に、標準パターンのフレームjを縦
軸とする格子グラフにおいて、標準パターンRnとマッ
チングするときは、入力パターンのフレームに対してW
フレーム隔たった直線で挾まれる領域の格子点に対し
て、標準パターンの各フレームjの特徴ベクトルbn jの
それぞれに対してi軸方向に前記Wの幅でDPマッチン
グをj=1〜Jnの順に行ない、1つの領域の計算が完
了すると次の相隣る前記と同様な領域の計算を同様に行
なうというように、入力パターンの全範囲に渡って前記
マッチング計算を行なうDPマッチング手段を備えてい
る。Means for Solving the Problems The pattern comparison apparatus of the present invention is a feature extraction means for converting an input signal into a sequence of feature vectors a 1 , a 2 , ..., A i , ..., A I, and a sequence of feature vectors. b n 1 , b n 2 , ...,
A standard pattern R n ( where b n 3 , ..., B n jn
(n = 1 to N), and in the lattice graph having the input frame i as the horizontal axis and the standard pattern frame j as the vertical axis, when the input pattern is matched with the standard pattern R n W for each frame
For the grid points in the area sandwiched by straight lines separated by frames, DP matching j = 1 to J with the width W in the i-axis direction for each of the feature vectors b n j of each frame j of the standard pattern. A DP matching means for performing the matching calculation over the entire range of the input pattern is performed in such a manner that, when the calculation of one region is completed, the calculation of the next adjacent region similar to the above is performed in the same manner by performing the calculation in the order of n. I have it.
作 用 入力信号を特徴ベクトルa1,a2,…,ai,…,a
Iの系列に変換し、特徴ベクトルの系列bn 1,bn 2,
…,bn j,…,bnJnから成る標準パターンRn(ただ
し、n=1〜N)と、入力のフレームiを横軸に、標準
パターンのフレームjを縦軸とする格子グラフにおい
て、標準パターンRnとマッチングするときはは、入力
パターンのフレームに対してWフレーム隔たった直線で
挾まれる領域の格子点に対して、標準パターンの各フレ
ームjの特徴ベクトルbn jのそれぞれに対してi軸方向
に前記Wの幅でDPマッチングをj=1〜Jnの順に行
ない、1つの領域の計算が完了すると次の相隣る前記と
同様な領域の計算を同様に行なうというように、入力パ
ターンの全範囲に渡って前記マッチング計算を行なう。The working input signal is represented by feature vectors a 1 , a 2 , ..., A i , ..., A
I n sequence, and the feature vector sequence b n 1 , b n 2 ,
, B n j , ..., B n J n , a standard pattern R n (where n = 1 to N), and a grid graph with the input frame i as the horizontal axis and the standard pattern frame j as the vertical axis. In the case of matching with the standard pattern R n , in the feature vector b n j of each frame j of the standard pattern with respect to the grid point of the area sandwiched by the straight lines separated by W frames from the frame of the input pattern. For each of them, DP matching is performed in the width of W in the i-axis direction in the order of j = 1 to J n , and when the calculation of one region is completed, the calculation of the next adjacent region similar to the above is similarly performed. In this way, the matching calculation is performed over the entire range of the input pattern.
実施例 第4図は本発明の原理を示す図である。径路の制限条件
を第3図のように選べべば、8,9をj軸に平行で互い
にW(≦Jn/2)フレーム隔たった直線とすれば、直
線8上の途中累積距離n(i,j)が求まっておれば、
両直線で挾まれる領域(斜線部分)の途中累積距離n
(i,j)は計算することが出来、さらに、直線8と直線
j=Jnとの交点を10,直線9と直線j=Jnとの交
点を11とすれば、10〜11に含まれる各格子点まで
の終端累積距離D(i)は直線8以前の終端累積距離が求
まっておれば計算出来る。途中の計算は矢印12に示す
ように横方方向に順次下から上へ計算を進めて行くこと
が出来る。このようにして、フレーム周期をTとすると
き、時間WTの間に斜線部Aの計算を以上のように行な
い、次のWTの間に斜線部Bの計算を以上のように行な
うと言うように、以上に述べた計算を時間WT毎に順次
進めてゆくことが出来る。Embodiment FIG. 4 is a diagram showing the principle of the present invention. If the path limiting condition is selected as shown in FIG. 3, assuming that 8 and 9 are straight lines parallel to the j-axis and separated by W (≦ J n / 2) frames from each other, the cumulative cumulative distance n ( i, j) is obtained,
Cumulative distance n in the middle of the area (shaded area) sandwiched by both straight lines
(I, j) can be calculated, and if the intersection of the straight line 8 and the straight line j = J n is 10, and the intersection of the straight line 9 and the straight line j = J n is 11, it is included in 10-11. The cumulative end distance D (i) to each grid point can be calculated if the cumulative end distance before the straight line 8 is obtained. The calculation on the way can proceed from the bottom to the top in the lateral direction as shown by arrow 12. In this way, when the frame period is T, the calculation of the shaded area A is performed as described above during the time WT, and the calculation of the shaded area B is performed as described above during the next WT. In addition, the above-described calculation can be sequentially advanced every time WT.
このようにすると、標準パターンの第jフレームは、W
フレームの入力パターンと照合する間一定で良いから、
標準パターン用メモリに対して要求されるアクセスタイ
ムを遅くすることが出来る。即ち、各斜線部の格子点の
数はWJであって、この各格子点に対する計算をTWの
間に行なう必要があるが(Tはフレームの周期とす
る)、このとき、標準パターンの1フレームに対して許
容される計算時間はTW/JNとなり、これは、標準パ
ターンの1フレーム分のデータを読み出す時間に等し
く、前記の数値を当てはめれば、W=J/2であるから
T(J/2)/JN=T/2N=5msec/2×300=8.3μsecであ
り、特徴ベクトルの次数を以前と同じく15次とすれ
ば、標準パターンの1つのベクトルの要素を読み出すた
めに許されるアクセスタイムは8.3μsec/15=553nsecと
なり、従来例で要求された値に比べると約15倍のアク
セスタイムで良いことになる。但し、今度は入力パター
ンを記憶するためのメモリに高速性が要求されるが(標
準パターンの第jフレームに対して、NW回の読み出し
を時間TW/Jの間に行なわなければならない。前記の
例に対しては、TW/J/NW=T/NJ=5msec/300×30=0.56μsec
の間に15個の特徴ベクトルを読み出す必要がある。従
って、ベクトルの1つの要素を読み出すのに許されるア
クセスタイムは37nsecとなる。その必要とされる容量
は、前記の例に対しては、平均15W=15×30=450バイト
で良いことになり、大幅なコストダウンにつながる。In this way, the j-th frame of the standard pattern is W
Since it can be constant while matching with the input pattern of the frame,
The access time required for the standard pattern memory can be delayed. That is, the number of grid points in each shaded area is WJ, and it is necessary to perform the calculation for each grid point during TW (T is the frame period), but at this time, one frame of the standard pattern is used. The calculation time allowed for is TW / JN, which is equal to the time for reading the data for one frame of the standard pattern, and if the above numerical values are applied, W = J / 2, so T (J /2)/JN=T/2N=5msec/2×300=8.3μsec, and if the order of the feature vector is the 15th order as before, the access permitted to read one vector element of the standard pattern The time is 8.3 μsec / 15 = 553 nsec, which is about 15 times as long as the access time required in the conventional example. However, this time, the memory for storing the input pattern is required to have high speed (for the j-th frame of the standard pattern, NW readings must be performed during the time TW / J. For the example, TW / J / NW = T / NJ = 5msec / 300 × 30 = 0.56μsec
It is necessary to read 15 feature vectors during the period. Therefore, the access time allowed to read one element of the vector is 37 nsec. The required capacity is 15 W = 15 × 30 = 450 bytes on average for the above example, which leads to a significant cost reduction.
以上が本発明の原理であるが、Wは固定とすることも可
変とすることも出来る。Wを固定とする場合は基本的に
はJnの最小値をJminとするとき、W≦Jmin/2とす
るのが最も簡単でであるが、Jnとして非常に短いもの
が含まれるときはあまり効果的でない。但し、メモリを
用いれば、W>Jmin/2の場合でも以上のような考え
方により計算を行なうことが出来る。即ち、n(i,
Jn)自体は任意の入力フレームの幅で計算が可能である
が、これからDn(i)を求めるためには、i-Jmin/2まで
の終端累積距離が求まっている必要がある。従って、W
>Jmin/2としたときは、Dn(i)を計算するまでW−
Jmin/2フレーム分のn(i,Jn),n(i,Jn)を
記憶しておけば良い。また、前記欠点を補うには、Jn
に応じてWを可変とすることも可能である。Although the above is the principle of the present invention, W can be fixed or variable. When W is fixed, basically, it is easiest to set W ≦ J min / 2 when the minimum value of J n is J min , but very short J n is included. Sometimes it's not very effective. However, if a memory is used, calculation can be performed according to the above concept even when W> J min / 2. That is, n (i,
J n ) itself can be calculated with an arbitrary width of the input frame, but in order to obtain D n (i) from this, it is necessary to find the terminal cumulative distance up to iJ min / 2. Therefore, W
When> J min / 2, W− until calculation of D n (i)
J min / 2 frames of n (i, J n), n (i, J n) may be stored to. Further, in order to compensate the above-mentioned drawback, J n
It is also possible to make W variable according to.
本実施例ではJnに応じてWを可変とする場合について
説明する。In this embodiment, a case where W is variable according to J n will be described.
第5図は本発明の原理を説明する詳細図である。いま、
入力パターンが第iフレームのときの処理を説明する。
前記斜線A,B等のそれぞれをブロックと呼ぶことにす
る。このとき、Dn(i−〔Jn/2〕)が求まってい
なければ、同図における〇で示す格子点について前記の
計算を行ない、Dn(i−〔Jn/2〕),Dn(i−
〔Jn/2〕+1),…,Dn(i)を求める。●はこのブ
ロックの1つ前のブロックのj=1,2,…,Jnにお
ける格子点でこれらの点における途中累積距離n(i,
j)は、本ブロックにおける途中累積距離n(i,j)の
初期値となるものである。Dn(i−〔Jn/2〕)が
求まっているときは、このnに対応する標準パターンに
対する計算はスキップすることになる。FIG. 5 is a detailed diagram for explaining the principle of the present invention. Now
The processing when the input pattern is the i-th frame will be described.
Each of the diagonal lines A and B will be called a block. At this time, if D n (i- [J n / 2]) has not been obtained, the above calculation is performed for the lattice points indicated by ◯ in the figure, and D n (i- [J n / 2]), D n (i-
[J n / 2] +1), ..., D n (i) is calculated. ● is a grid point at j = 1, 2, ..., J n of the block immediately before this block, and the midway cumulative distance n (i,
j) is the initial value of the midway cumulative distance n (i, j) in this block. When D n (i- [J n / 2]) is obtained, the calculation for the standard pattern corresponding to this n is skipped.
以上のようにすれば、各標準パターンRnに対する前記
ブロックの幅をn毎にWn=〔Jn/2〕+1として計
算したことになる。Dn(i−〔Jn/2〕)が求まっ
ているか否かを決定するには、最初にDn(i−〔Jn
/2〕)を0あるいは∞に初期化しておけば、求まって
いるときは、0あるいは∞以外の有限の値になっている
はずであることから判断が可能である。または、Dn(i)
が求まっているときはGn(i)=0、求まっていないとき
はGn(i)=1と設定されるフラグGn(i)を設け、初期値
をGn(i)=1for i=1〜Iと設定しておき、Dn(i)
が求まる毎にGn(i)=0とすることにすれば、Gn(i)を
見ることにより、Dn(i)が求まっているか否かが判定出
来る。By doing so, the width of the block for each standard pattern R n is calculated as W n = [J n / 2] +1 for each n . To determine whether D n (i- [J n / 2]) is determined, first D n (i- [J n
/ 2]) is initialized to 0 or ∞, it can be determined from the fact that it is a finite value other than 0 or ∞ when it is obtained. Or D n (i)
Is set, G n (i) = 0 is set, and when not set, a flag G n (i) is set to set G n (i) = 1, and an initial value is set to G n (i) = 1 for i = 1 to I, and D n (i)
If it is assumed that G n (i) = 0 each time is obtained, it is possible to determine whether D n (i) is obtained by looking at G n (i).
第1図は、以上の原理に基づく本発明の実施例を示すブ
ロック図である。Inは音声信号の入力端子、101は
フィルタバンク等で構成された特徴抽出部であって、入
力音声信号を特徴ベクトルaiの系列Aに変換する。1
02は単語標準パターン記憶部であって、認識語彙たる
N個の単語がそれぞれ標準パターンRn=bn 1,…,b
n j,…,bn Jn(1≦n≦N)として特徴ベクトルの形
で予め登録されている。103はベクトル間距離計算部
であって、入力パターンの第iフレームにおける特徴ベ
クトルaiとn番目の単語標準パターンRnの標準パタ
ーンbjとの距離dn(m,j)を求め、必要が無くなる
まで記憶する。本例においては部分累積距離を計算して
いるフレームの1つ前のフレームおよび当該フレームの
ベクトル間距離を当該フレームの途中累積距離を計算す
るまで記憶する。dn(m,j)は、例えばamとbn jの
市街距離として定義できる。即ち、ベクトルの次元をL
とし、am=(am1,am2,…,amL),bn j=(bn
j1,bn j2,…,bn jL)とするとき となる。また、本実施例では計算の方向がi軸方向であ
って、第n標準パターンRnの第jフレームのベクトル
bjに対し、i−〔Jn/2〕≦m≦iの範囲の入力パ
ターンに対しdn(m,j)を求める。104は途中累積
距離計算部であって、前記dn(m,j)と同様の範囲で
途中累積距離n(m,j),途中バックポインタ
n(m,j)を求める。113は終端累積距離計算部であ
って、D(m),B(m),N(m)を前記dn(m,j)と同様の
範囲で求める。第3図aに示したマッチング径路の拘束
条件が採用されると、n(m,j),n(m,j)は途中
累積距離計算部104においてつぎのように求まる。FIG. 1 is a block diagram showing an embodiment of the present invention based on the above principle. Input terminal of the I n audio signals, 101 denotes a feature extraction section consisting of a filter bank or the like, converts the input audio signal to the series A feature vector a i. 1
Reference numeral 02 denotes a word standard pattern storage unit, in which N words as a recognition vocabulary are standard patterns R n = b n 1 , ..., B respectively.
n j, ..., it is registered in advance in the form of feature vectors as b n Jn (1 ≦ n ≦ N). Reference numeral 103 denotes an inter-vector distance calculation unit, which calculates a distance d n (m, j) between the feature vector a i in the i-th frame of the input pattern and the standard pattern b j of the nth standard word pattern R n , and Memorize until there is no more. In this example, the frame immediately preceding the frame for which the partial cumulative distance is calculated and the vector-to-vector distance of the frame are stored until the midway cumulative distance of the frame is calculated. d n (m, j) may be defined as a town distance eg a m and b n j. That is, the dimension of the vector is L
, A m = (a m1 , a m2 , ..., a mL ), b n j = (b n
j1 , b n j2 , ..., b n jL ) Becomes Further, in the present embodiment, the calculation direction is the i-axis direction, and an input in the range of i- [J n / 2] ≦ m ≦ i is applied to the vector b j of the j-th frame of the n- th standard pattern R n . Find d n (m, j) for the pattern. Reference numeral 104 denotes an intermediate cumulative distance calculation unit, which is an intermediate cumulative distance n (m, j) and an intermediate back pointer in the same range as the d n (m, j).
Find n (m, j). A terminal cumulative distance calculation unit 113 calculates D (m), B (m), N (m) in the same range as the d n (m, j). When the constraint condition of the matching path shown in FIG. 3A is adopted, n (m, j) and n (m, j) are obtained in the midway cumulative distance calculation unit 104 as follows.
j=1のときn (m,1)dn(m,j)n (m,1)=m j=2のとき j≧3のとき ただし D(m),B(m),N(m)は終端累積距離計算部113にお
いて次のようにして求まる。When j = 1, n (m, 1) d n (m, j) n (m, 1) = m When j = 2 When j ≧ 3 However D (m), B (m) and N (m) are calculated in the terminal cumulative distance calculation unit 113 as follows.
即ち、 p=n(m,j) m′=p-r〜p+rのm′について を計算し、 ななる漸化式によって B(m)=m′* N(m)=n* として求ままる。但し、m′*,n*は式(2)を満たす
m′,nである。That is, for p = n (m, j) m ′ = pr to p + r m ′ And calculate By the following recurrence formula, B (m) = m ′ * N (m) = n * is obtained. However, m ′ * and n * are m ′ and n that satisfy the equation (2).
112は前記ベクトル間距離の計算と、累積距離の計算
の実行範囲を各nについて決定するものであって、D
(i−〔Jn/2〕)が求まっていないとき、前記mの
範囲でdn(m,j),n(m,j)の計算をそれぞれベク
トル間距離計算部103,途中累積距離計算部104,
終端累積距離計算部113に指示する。Reference numeral 112 is for determining the execution range of the calculation of the inter-vector distance and the calculation of the cumulative distance for each n.
When (i- [J n / 2]) is not found, the calculation of d n (m, j) and n (m, j) in the range of m is performed by the inter-vector distance calculation unit 103 and the intermediate cumulative distance calculation, respectively. Part 104,
The terminal accumulated distance calculation unit 113 is instructed.
以上のようにして求められた終端累積距離D(m)は終端
累積距離記憶部105に、バックポインタB(m)はバッ
クポインタ記憶部106に、最後尾単語番号N(m)は最
後尾単語記憶部107に記憶される。The cumulative end distance D (m) obtained as described above is stored in the cumulative end distance storage unit 105, the back pointer B (m) is stored in the back pointer storage unit 106, and the last word number N (m) is the last word. It is stored in the storage unit 107.
なお、n(m,j),n(m,j)(ただし、j=1,
2,…,Jn;n=1,2,…,N)は必要が無くなる
まで、部分累積距離計算部104に一時的に記憶され
る。本実施例においては途中累積距離を計算しているフ
レームの1つ前および2つ前のフレームの途中累積距離
を計算するまで記憶する。Note that n (m, j), n (m, j) (where j = 1,
2, ..., J n ; n = 1, 2, ..., N) is temporarily stored in the partial cumulative distance calculation unit 104 until there is no need. In the present embodiment, it is stored until the midway cumulative distance of the frame one frame before and the frame two frames before the midway cumulative distance is calculated.
また、終端累積距離記憶部105に記憶される終端累積
距離D(m)は式(1)の初期値で必要なものであり、D(m)
についてはn(m+1,1)を求めるまで記憶しておけば
よい。Further, the cumulative end distance D (m) stored in the cumulative end distance storage unit 105 is required as the initial value of the equation (1), and D (m)
Should be stored until n (m + 1,1) is obtained.
108は音声区間検出部であって、入力信号の大きさ等
から音声区間を判定するものである。音声区間検出部1
08が、音声入力が開始されたことを検出するとフレー
ム数計数部109はフレーム毎に計数を始める。前記の
処理は第iフレームについての処理であったが、このフ
レーム数計数部109の計数値が即ちこのiを設定して
いる。従って、前記と同様の処理が、フレームが1進む
毎に行なわれることになる。フレーム数計数部109は
音声区間が検出されると計数を始め、音声区間が終了す
るとリセットされる。最後尾単語記憶部107,バック
ポインタ記憶部106には、従って、N(i)B(i)がi=
1,2,…,Iについて記憶されることになる。Reference numeral 108 denotes a voice section detection unit that determines the voice section from the magnitude of the input signal or the like. Voice section detector 1
When 08 detects that voice input has started, the frame number counting unit 109 starts counting for each frame. Although the above-mentioned processing is processing for the i-th frame, the count value of the frame number counting unit 109, that is, this i is set. Therefore, the same processing as described above is performed each time the frame advances. The frame number counting unit 109 starts counting when a voice section is detected, and is reset when the voice section ends. Therefore, in the last word storage unit 107 and the back pointer storage unit 106, N (i) B (i) is i =
1, 2, ..., I will be stored.
セグメンテーション部110はバックポインタ記憶部1
06に対し、所定のバックポインタを読出すべき命令を
発するものである。即ち、セグメンテーション部110
がiなる値をバックポインタ記憶部106に発すると、
バックポインタ記憶部106からはバックポインタB
(i)が読出される。セグメンテーション部110はバッ
クポインタ記憶部106からB(i)なる値を受け取る
と、その同じ値をバックポインタ記憶部106に発す
る。従って、音声区間検出部108が音声入力の終了を
検知すると、フレーム数計数部109の最終値Iがセグ
メンテーション部110に供給され、セグメンテーショ
ン部110は先ずIなる値をバックポインタ記憶部10
6に発する。以後、前記説明の動作に従って、バックポ
インタ記憶部106から、B(I),B(B(I),B(B
(I)))),…,0なる出力が順次得られることになる。
これらの値は最後から2番目の単語の終わりのフレー
ム、同3番目の単語の終わりのフレーム、同4番目の単
語の終わりのフレーム、……というものであり、N(i)
はiフレームで終わる単語であったから、この値をその
まま最後尾単語記憶部107に与えると、最後の単語か
ら逆の順序で認識結果が得られる。なお、認識結果が本
来の順序で得られるようにするためには、この順序の変
換をバックポインタ記憶部106の出力に対して行なう
か最後尾単語記憶部107の出力に対して行なえばよ
い。The segmentation unit 110 is the back pointer storage unit 1.
A command to read a predetermined back pointer is issued to 06. That is, the segmentation unit 110
Is issued to the back pointer storage unit 106,
From the back pointer storage unit 106, the back pointer B
(i) is read. When the segmentation unit 110 receives the value B (i) from the back pointer storage unit 106, it sends the same value to the back pointer storage unit 106. Therefore, when the voice section detection unit 108 detects the end of voice input, the final value I of the frame number counting unit 109 is supplied to the segmentation unit 110, and the segmentation unit 110 first outputs a value I as the back pointer storage unit 10.
Depart at 6. Thereafter, in accordance with the operation described above, the back pointer storage unit 106 stores B (I), B (B (I), B (B
(I)))), ..., 0 are sequentially obtained.
These values are the end frame of the penultimate word, the end frame of the third word, the end frame of the fourth word, and so on, and N (i)
Is a word ending with the i-frame, and if this value is given as it is to the last word storage unit 107, the recognition result is obtained from the last word in the reverse order. In order to obtain the recognition result in the original order, this order conversion may be performed on the output of the back pointer storage unit 106 or the output of the last word storage unit 107.
以上の実施例においては、説明の便宜上のために、点
(m,i)におけるベクトル間距離,途中累積距離,途
中バックポインタ等はそれぞれdn(m,j),n(m,
j),n(m,j)等と表記したが、これらの記憶領域は
i,j,nの全範囲に渡って準備する必要は無く、第j
段の格子点におけるn(m,j),n(m,j)の計算に
は、前記漸化式からも明らかなように、第3図の径路に
対しては第j−1段,第j−2段のn(m,j-1),
n(m,j-2),n(m,j-1),nm,j-2)、ベクトル
間距離についてはdn(m,j-1)(但し、m=i-J0-2〜
i)についてのみ記憶していればよい。また、n毎にj
=1〜Jnについてこれらの値を計算することにすれ
ば、n(m,j),n(i,j)についてはnに関して一
旦一つのブロックについて計算してしまうことになるの
で、何時迄も記憶しておく必要はない。In the above embodiment, for convenience of explanation, the inter-vector distance at the point (m, i), the midway cumulative distance, the midway back pointer, etc. are respectively d n (m, j) and n (m,
j), n (m, j), etc., these storage areas do not need to be prepared over the entire range of i, j, n,
As is clear from the above recurrence formula, the calculation of n (m, j) and n (m, j) at the grid points of the step is performed in the j-1th step and the nth step for the path of FIG. j-2 stages of n (m, j-1),
n (m, j-2) , n (m, j-1), n m, j-2), d n (m, j-1 for inter-vector distance) (where, m = iJ 0 -2~
Only i) needs to be stored. Also, j for every n
= 1 to J n , if these values are calculated, n (m, j) and n (i, j) will be calculated once for one block with respect to n. It is not necessary to remember.
この考え方に基づいて、さらに詳細な説明を第6図に従
って説明する。ソフトウエアにより実現する場合もこれ
に従えばよいのは勿論である。同図において なる記法はXが満足される間Yを実行することを なる記法はXなる条件が満足されるまでYを実行するこ
とを ENDIFなる記法はXなる条件が満足されればYを、そう
でなければ、Zを実行することをそれぞれ意味するもの
とする。Based on this idea, a more detailed description will be given according to FIG. Needless to say, this may be followed when implemented by software. In the figure The notation is to execute Y while X is satisfied. The notation is to execute Y until the condition X is satisfied. The notation ENDIF means to execute Y if the condition X is satisfied, and to execute Z otherwise.
また、途中累積距離,途中バックポインタ,ベクトル間
距離等に関する記法を次のように変更する。即ち、第3
図に示した径路を用いるときは、第j段の途中累積距離
と途中バックポインタの計算は第j−1段と第j−2段
の途中累積距離と途中バックポインタと、第j−1段の
ベクトル間距離が記憶されておればよく、前記ブロック
の最初の入力パターンのフレームにおける途中累積距離
と途中バックポインタの計算は1フレーム前と2フレー
ム前の途中累積距離と途中バックポインタ、1フレーム
前のベクトル間距離が記憶されておればよい。結局、必
要なメモリはn(i,j),n(i,j)についてはi=
−1〜J0+1の範囲で3段分、dn(i,j)について
はi=0〜J0+1の範囲で2段分(但し、−1は直前
のブロックの最終フレームの1つ前のフレーム、0は直
前のブロックの最終フレームを意味する。)、各ブロッ
クの最終フレームの1つ前のフレームと最終フレームに
おけるn(i,j),n(i,j)、各ブロックの最終フ
レームにおけるdn(i,j)がそれぞれ記憶されておれ
ば漸化式の計算は出来るものであり、各単語n毎に1ブ
ロック分の計算を行なうことにすれば、i=−1〜J0
+1の3段分のn(i,j),n(i,j)はi=−1〜
Jm+1とすることによってすべてのnについて共通に
用いることが出来るから、これらをそれぞれ(i0,
k),(i0,k)(但し、i0=-1〜Jm+1,k=0〜2)、
i=0〜J0+1の2段分のdn(i,j)はi=0〜Jm+
1とすることによってすべてのnについて共通に用いる
ことが出来るから、これをd(i0,k)(但し、i0=0
〜Jm+1,k=0〜2)とし、次のブロックの初期値
を記憶しておくためのメモリとして、各ブロックの最終
フレームの1つ前のフレームと最終フレームにおける
n(i,j),n(i,j)、各ブロックの最終フレームに
おけるdn(i,j)をそれぞれn(i,j),n(i,
j),dn(j)但し、i=0〜1,j=1〜Jnであっ
て、i=0は最終フレーム、i=1は最終フレームの1
つ前のフレーム)とすることが出来、メモリの大幅な節
約が図れる。Further, the notation regarding the cumulative distance on the way, the back pointer on the way, the distance between vectors, etc. is changed as follows. That is, the third
When the path shown in the figure is used, the intermediate cumulative distance and intermediate back pointer of the j-th stage are calculated by calculating the intermediate cumulative distance and intermediate back pointer of the j-1th stage and the j-2th stage, and the j-1th stage. It is sufficient to store the inter-vector distance of the vector, and the calculation of the midway cumulative distance and the midway back pointer in the frame of the first input pattern of the block is performed by calculating the midway cumulative distance one frame before and two frames before and the midway back pointer, one frame. It suffices if the previous inter-vector distance is stored. After all, the required memory is n = (i, j), i = for n (i, j)
-1 to J 0 +1 for 3 stages, and d n (i, j) 2 stages for i = 0 to J 0 +1 (where -1 is one of the last frames of the immediately preceding block). The previous frame, 0 means the last frame of the immediately preceding block.), N (i, j), n (i, j), n (i, j), and n in the last frame and the last frame of each block. The recurrence formula can be calculated if dn (i, j) in the final frame is stored, and if one block is calculated for each word n, i = -1 to J 0
N (i, j) and n (i, j) for 3 stages of +1 are i = −1 to
Since J m +1 can be used in common for all n, these are respectively (i 0 ,
k), (i 0 , k) (where i 0 = -1 to J m + 1, k = 0 to 2),
The two-stage d n (i, j) of i = 0 to J 0 +1 is i = 0 to J m +
Since it can be commonly used for all n by setting it to 1, this is d (i 0 , k) (where i 0 = 0
.About.J m + 1, k = 0 to 2), and as a memory for storing the initial value of the next block, in the frame immediately before the final frame and the final frame of each block.
n (i, j), n (i, j), d n (i, j) respectively n in the last frame of each block (i, j), n ( i,
j), d n (j) where i = 0 to 1, j = 1 to J n , i = 0 is the final frame, and i = 1 is 1 of the final frame.
The previous frame) can be set, and a significant saving of memory can be achieved.
第6図において、ステップ201,202は初期化を行
なう部分である。ステップ203は入力の第iフレーム
における処理を行なう部分である。ステップ204は前
記ブロック内の各格子点に対し、第1〜N標準パターン
と入力パターンとのマッチングを行なう処理である。ス
テップ205は第n標準パターンに対する前記ブロック
の幅を求めている。ステップ206は入力の第iフレー
ムにおいて、第i−J0フレーム〜第iフレームの終端
累積距離D(m)が求まっているか否かを前記フラグG
n(m)の状態から判断し、求まっていないときはそのブロ
ックの計算を行ない、求まっているときはn=n+1の
処理へスキップする処理である。ステップ207は該当
する前記ブロックが未だ計算されていないことが判明し
たとき、以下のステップでそのブロックの計算を行なう
のであるから、前以てそこに含まれるフレームについて
フラグGn(m)を0とおいて計算済みの状態にしている。
ステップ208では後の計算の便宜のために計算すべき
ブロックの開始フレーム−1をm0として算出してお
く。ステップ209はj=1,2について初期値を設定
している。In FIG. 6, steps 201 and 202 are parts for performing initialization. Step 203 is a portion for performing processing in the input i-th frame. Step 204 is a process of matching the first to Nth standard patterns with the input pattern for each grid point in the block. Step 205 finds the width of the block for the nth standard pattern. Step 206 in the i-th frame of the input, the i-J 0 the whether the frame, second i-frame termination cumulative distance D (m) is been determined flag G
It is a process of judging from the state of n (m), and if it is not found, the block is calculated, and if it is found, it is skipped to the process of n = n + 1. In step 207, when it is determined that the corresponding block has not been calculated yet, the calculation of the block is performed in the following steps. Therefore, the flag G n (m) is set to 0 for the frames included therein beforehand. It's already calculated.
In step 208, the start frame -1 of the block to be calculated is calculated as m 0 for convenience of later calculation. Step 209 sets initial values for j = 1 and 2.
ステップ210はj=1について(i0,j),(i0,
j)(但し、i0=1〜J0+1)を計算している。ス
テップ211は入力パターンの第1フレームからのフレ
ームの通し番号を求めている。ステップ212は入力パ
ターンの第m番目のベクトルamと標準パターンの第1
番目のベクトルbn 1とのベクトル間距離を求めている。
ステップ213はこの値を基にj=1について(i0,
j),(i0,J)(但し、i0=1〜J0+1)を計算
している。Step 210 is (i 0 , j), (i 0 , for j = 1.
j) (however, i 0 = 1 to J 0 +1) is calculated. Step 211 finds the serial number of the frames from the first frame of the input pattern. In step 212, the m-th vector a m of the input pattern and the first vector of the standard pattern
The vector-to-vector distance to the second vector b n 1 is calculated.
In step 213, based on this value, for j = 1 (i 0 ,
j) and (i 0 , J) (where i 0 = 1 to J 0 +1) are calculated.
ステップ214,215はj=2,i0=1〜J0+1
におけるベクトル間距離d(i0,2)を求めている。ステ
ップ216はこの値を基にj=2における(i0,j),
(i0,j)(但し、i0=1〜J0+1)を計算してい
る。ステップ217は次のブロックの計算に使うために
dn(2)=d(J0+1,2)なる置き換えを行なっている。In steps 214 and 215, j = 2, i 0 = 1 to J 0 +1
The inter-vector distance d (i 0 , 2) at is calculated. In step 216, based on this value, (i 0 , j) at j = 2,
(I 0 , j) (where i 0 = 1 to J 0 +1) is calculated. Step 217 performs the replacement d n (2) = d (J 0 +1,2) for use in the calculation of the next block.
ステップ218はj=3〜Jnにおける(i0,k),
(i0,k)(但し、i0=1〜J0+1)を計算してい
る。ステップ219は(i0,k),(i0,k),d
(i0,k)ななるメモリを巡回的に用いるためにkの値を
jの値に応じて設定している。ステップ220は直前の
ブロックの値から初期値を設定している。ステップ22
1は第j段におけるベクトル間距離を計算している。ス
テップ222はこの値を基に第j段における(i0,
j),(i0,j)(但し、i0=1〜J0+1)を計算
している。ステップ223は次のブロックの計算に使う
ための置き換えを行なっている。In step 218, (i 0 , k) in j = 3 to J n ,
(I 0 , k) (where i 0 = 1 to J 0 +1) is calculated. In step 219, (i 0 , k), (i 0 , k), d
The value of k is set according to the value of j in order to cyclically use the memory (i 0 , k). In step 220, the initial value is set from the value of the immediately preceding block. Step 22
1 calculates the inter-vector distance in the j-th stage. In step 222, based on this value, (i 0 ,
j) and (i 0 , j) (where i 0 = 1 to J 0 +1) are calculated. Step 223 makes a replacement for use in the calculation of the next block.
ステップ224は以のようにして求めた(i0,Jn),
(i0,Jn)(但し、i0=1〜J0+1)から、前記
説明に従って、D(m),B(m),N(m)を計算しており、
nが変わる毎に以前に計算した値と比較し、最終的に最
小値が求められる。Step 224 is obtained as follows (i 0 , J n ),
From (i 0 , J n ) (where i 0 = 1 to J 0 +1), D (m), B (m) and N (m) are calculated according to the above description,
Each time n changes, it is compared with the previously calculated value and finally the minimum value is obtained.
ステップ203の処理が終了すると判定処理に入る。即
ち、ステップ230においてi=Iとおいて前記説明に
従ってステップ231で求めるべき単語列が逆の順序で
求められる。When the process of step 203 ends, the determination process starts. That is, in step 230, i = I is set, and the word string to be obtained in step 231 is obtained in the reverse order according to the above description.
本実施例においては、第3図に示すような径路の拘束条
件を用いたため径路の最大の傾斜は2となるので、ブロ
ックの幅は〔Jn/2〕+1となったが、径路の拘束条
件としてはは、これ以外にも種々考えられ、例えば、第
7図のような場合は、最大の傾斜が3となるからこの場
合のブロックの幅は2−〔1−(Jn−1)/3〕とな
る。一般に径路の最大の傾斜がkのときは、ブロックの
幅Wは2−〔1−(Jn−1)/k〕以下であれば良い
ことになる(k=2の場合は〔Jn/2〕+1と2−
〔1−(Jn−1)/2〕とはJnが整数の場合は等し
い)。In the present embodiment, since the constraint condition of the path as shown in FIG. 3 is used, the maximum inclination of the path is 2. Therefore, the width of the block is [J n / 2] +1. Various conditions other than this are conceivable. For example, in the case of FIG. 7, the maximum inclination is 3, so the block width in this case is 2- [1- (J n -1). / 3]. Generally, when the maximum inclination of the path is k, the width W of the block may be 2- [1- (J n -1) / k] or less (when k = 2, [J n / 2] +1 and 2-
[1- (J n -1) / 2] is the same when J n is an integer).
発明の効果 以上のように、本発明によれば、ACDP法のように、
DPマッチングを高速に連続して行なう方法において
は、高速,大容量のメモリが必要であったのが、高速性
を要求されるメモリ数を大幅に減らす事が出来、安価な
装置の実現が可能となったものである。EFFECTS OF THE INVENTION As described above, according to the present invention, like the ACDP method,
A high-speed, large-capacity memory was required in the method of continuously performing DP matching at high speed, but the number of memories required for high-speed performance can be significantly reduced, and an inexpensive device can be realized. It has become.
第1図は本発明の原理を示すブロック図、第2図はDP
マッチングにより連続パターンを認識する原理を説明す
るための説明図、第3図は本発明が適用さるべきACD
P法を説明するための説明図、第4図は本発明の原理の
考え方を説明するための説明図、第5図は本発明の詳細
を説明するための詳細説明図、第6図は本発明の処理手
順を詳細に説明するための処理手順図、第7図は径路の
拘束条件の他の例を説明するための説明図である。 101……特徴抽出部、102……単語標準パターン記
憶部、103……ベクトル間距離計算部、104……途
中累積距離計算部、105……終端累積距離記憶部、1
06……バックポインタ記憶部、107……最後尾単語
記憶部、108……音声区間検出部、109……フレー
ム数計数部、110……セグメンテーション部、112
……マッチング計算実行範囲決定部。FIG. 1 is a block diagram showing the principle of the present invention, and FIG. 2 is a DP.
FIG. 3 is an explanatory diagram for explaining the principle of recognizing continuous patterns by matching, and FIG. 3 is an ACD to which the present invention is applied.
FIG. 4 is an explanatory diagram for explaining the P method, FIG. 4 is an explanatory diagram for explaining the concept of the principle of the present invention, FIG. 5 is a detailed explanatory diagram for explaining the details of the present invention, and FIG. FIG. 7 is a processing procedure diagram for explaining the processing procedure of the invention in detail, and FIG. 7 is an explanatory diagram for explaining another example of the constraint condition of the path. 101 ... Feature extraction unit, 102 ... Word standard pattern storage unit, 103 ... Vector distance calculation unit, 104 ... Midway cumulative distance calculation unit, 105 ... Terminal cumulative distance storage unit, 1
06 ... Back pointer storage unit, 107 ... Last word storage unit, 108 ... Voice section detection unit, 109 ... Frame number counting unit, 110 ... Segmentation unit, 112
...... Matching calculation execution range determination unit.
Claims (1)
ai,…,aIの系列に変換する特徴抽出手段と、特徴
ベクトルの系列bn 1,bn 2,…,bn j,…,bn jnから
成る標準パターンRn(ただし、n=1〜N)を記憶す
る標準パターン記憶手段と、入力のフレームiを横軸
に、標準パターンのフレームjを縦軸とする格子グラフ
を用い、標準パターンRnとマッチングするときは、前
記格子グラフ(i−j平面)における経路で、それに沿
う荷重の和がその経路の選ばれ方如何にかかわらず常に
前記標準パターンの長さのみに依存するマッチング経路
によってパターン間の距離を動的計画法により計算する
装置において、入力パターンのフレームに対して互いに
Wフレーム隔たった標準パターン軸に平行な直線で挟ま
れる領域の格子点に対して、前記標準パターンの各フレ
ームjの特徴ベクトルbnjのそれぞれに対してi軸方
方向に前記Wの幅でDPマッチングをj=1〜Jnの順
に行い、1つの領域の計算が完了すると次の相隣る前記
と同様な領域の計算を行なうというように、入力パター
ンの全範囲に渡って前記マッチング計算を行なうDPマ
ッチング手段とを備えたことを特徴とするパターン比較
装置。1. An input signal is characterized by feature vectors a 1 , a 2 ,.
a i, ..., a feature extraction means for converting the series of aI, sequence b n 1 feature vectors, b n 2, ..., b n j, ..., b n consists jn standard pattern R n (however, n = 1 to N) and a grid graph having the input frame i as the horizontal axis and the frame j of the standard pattern as the vertical axis, and when matching with the standard pattern R n , the grid graph is used. In the path on the (i-j plane), the distance between the patterns is determined by the dynamic programming method by the matching path in which the sum of the loads along the path always depends only on the length of the standard pattern regardless of how the path is selected. In the calculation device, the features of each frame j of the standard pattern are defined with respect to the grid points of the region sandwiched by straight lines parallel to the standard pattern axis which are W frames apart from the frame of the input pattern. For each of the vectors b n j, DP matching is performed in the i-axis direction with the width of W in the order of j = 1 to J n , and when the calculation of one region is completed, the next adjacent region similar to the above And a DP matching means for performing the matching calculation over the entire range of the input pattern such that the above-mentioned calculation is performed.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP60205756A JPH0646358B2 (en) | 1985-09-18 | 1985-09-18 | Pattern comparison device |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP60205756A JPH0646358B2 (en) | 1985-09-18 | 1985-09-18 | Pattern comparison device |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPS6265090A JPS6265090A (en) | 1987-03-24 |
| JPH0646358B2 true JPH0646358B2 (en) | 1994-06-15 |
Family
ID=16512139
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP60205756A Expired - Fee Related JPH0646358B2 (en) | 1985-09-18 | 1985-09-18 | Pattern comparison device |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH0646358B2 (en) |
-
1985
- 1985-09-18 JP JP60205756A patent/JPH0646358B2/en not_active Expired - Fee Related
Also Published As
| Publication number | Publication date |
|---|---|
| JPS6265090A (en) | 1987-03-24 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US4570232A (en) | Speech recognition apparatus | |
| US4592086A (en) | Continuous speech recognition system | |
| US5583968A (en) | Noise reduction for speech recognition | |
| US4901352A (en) | Pattern matching method using restricted matching paths and apparatus therefor | |
| EP0086081A1 (en) | Continuous speech recognition system | |
| JP2980026B2 (en) | Voice recognition device | |
| JPWO1993020552A1 (en) | Speech recognition device using neural network and learning method thereof | |
| JPH0247760B2 (en) | ||
| JPS592040B2 (en) | Voice recognition device | |
| US6195638B1 (en) | Pattern recognition system | |
| JPH0646358B2 (en) | Pattern comparison device | |
| JPH0361957B2 (en) | ||
| JP3148322B2 (en) | Voice recognition device | |
| JPH067354B2 (en) | Pattern comparison device | |
| JPH0823758B2 (en) | Speaker-adaptive speech recognizer | |
| KR100293465B1 (en) | Speech recognition method | |
| JPH0247758B2 (en) | ||
| JPH0320759B2 (en) | ||
| JP3009962B2 (en) | Voice recognition device | |
| JPH0449954B2 (en) | ||
| JPH0247757B2 (en) | ||
| JP2836968B2 (en) | Signal analyzer | |
| JPH0449718B2 (en) | ||
| JPH0636155B2 (en) | Pattern comparison device | |
| JPH0449719B2 (en) |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| LAPS | Cancellation because of no payment of annual fees |