JPH0247759B2 - - Google Patents
Info
- Publication number
- JPH0247759B2 JPH0247759B2 JP57110530A JP11053082A JPH0247759B2 JP H0247759 B2 JPH0247759 B2 JP H0247759B2 JP 57110530 A JP57110530 A JP 57110530A JP 11053082 A JP11053082 A JP 11053082A JP H0247759 B2 JPH0247759 B2 JP H0247759B2
- Authority
- JP
- Japan
- Prior art keywords
- distance
- frame
- pattern
- calculation
- 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 - Lifetime
Links
- 238000004364 calculation method Methods 0.000 claims description 53
- 230000001186 cumulative effect Effects 0.000 claims description 46
- 239000013598 vector Substances 0.000 claims description 16
- 230000011218 segmentation Effects 0.000 claims description 9
- 238000000605 extraction Methods 0.000 claims 1
- 238000000034 method Methods 0.000 description 25
- 238000010586 diagram Methods 0.000 description 8
- 230000005236 sound signal Effects 0.000 description 5
- 230000006870 function Effects 0.000 description 4
- 238000006243 chemical reaction Methods 0.000 description 2
- 230000008602 contraction Effects 0.000 description 1
- 238000010219 correlation analysis Methods 0.000 description 1
Landscapes
- Character Discrimination (AREA)
Description
本発明は、登録された複数種類のパターンと入
力パターンとの比較を行い、入力パターンの識別
を行うパターン比較装置、特に連続して発声した
単語音声の認識などに適用可能なパターン比較装
置に関する。
人間にとつて最も自然な情報発生手段である音
声が、人間−機械系の入力手段として真価が発揮
されるためには、話者を限定せず連続的な通常の
会話音声の認識が可能なことが望ましい。このう
ち第1図は単語単位を認識単位とする音声認識装
置のブロツク図である。1は音声信号の入力端
子、2は入力音声信号を周波数分析、LPC分析、
PARCOR分析、相関分析等により幾つかの数値
の組(特徴ベクトル)の系列に変換する音響分析
部3は認識すべき単語が前記特徴ベクトルの系列
として登録されている標準パターン記憶部、4は
音響分析部2で分析された認識すべき入力音声信
号に対する前記特徴ベクトルの系列と前記標準パ
ターンのそれぞれとを比較し、両者の距離あるい
は類似度を計算するパターンマツチング部、5は
パターンマツチング部4の計算結果に基づいて前
記入力音声パターンに最も近い標準パターンに対
応する単語を認識結果として判定する判定部であ
り、6はこの認識結果を出力する出力端子であ
る。このような構成による音声認識装置におい
て、パターンマツチングの方法として、動的計画
法による時間軸非線形伸縮によりマツチング
(DPマツチング)を行う方法が優れている。
本発明装置による連続単語認識において、この
DPマツチングは中心的な役割を演ずる。次にDP
マツチングのアルゴリズムについて簡単に説明す
る。いま、
A=a1,a2…aI…A〓
B=b1,b2…bj…bJ ……(1)
を二つの音声パターンとする。すなわち、それら
の音声パターンは、それぞれに対する特徴ベクト
ルai,bjの系列で表わされる。
ベクトルaiとbjの距離をd(i,j)とすると
き、前記両系列を構成するベクトルの種々の対応
づけに対し、d(i,j)の荷重平均を求め、そ
れが最小になる対応づけを両系列間の最適な対応
づけとし、そのときの荷重平均を両系列間の距離
D(A,B)とするのであるが、この手続を動的
計画法を用いて効率よく行うのが、DPマツチン
グである。なお、d(i,j)は通常ベクトルai
とbjのユークリツド距離または市街距離が用いら
れる。
第2図はこれを二次元的に図示したもので、
A、B両パターンの時間の対応すなわち時間変換
亟数j(i)は、i−j平面上の格子点c(k)=(i
(k),j(k))のの系列
F=c(1),c(2)…c(k)…c(K) ……(2)
(i(K)=I,i(k)=J)
で表わされる。このとき、D(A,B)は次のよ
うに定義される。
ここに、W(k)は非負の定数で、その値は時
間変換凾数j(i)を点列で近似するときの方式によ
つて定められる。ここで、式(3)の分母をFに依存
しない定数M=K
〓l=1
W(k)とすれば、D(A,B)
は動的計画法により効率的に求められる。すなわ
ち、
g(c(k))=min
c(1)c(2)…c(k)〔K
〓l=1
d(c(l)W(l)〕
=min
c(k)〔min
c(1)c(2)…c(k−1)〔K
〓l=1
d(c(l))W(l)〕
+d(c(k))W(k)〕=min
+d(c(k))W(k)〕=min
(CK)〔g(c(k−1))+d(c(k))W(k)
〕……(4)
であるから、g(c(1)=g(1,1)=d(1,1)
として、漸化式(4)を解き、g(c(k))=g(I,
J)が求められれば
D(A,B)=1/Mg(I,J) ……(5)
としてD(A,B)が求められる。
式(3)の分母を定数化する方法として、M=I+
Jとなるようにする方法(対称型)と、M=Iま
たはJとなるようにする方法(非対称型)があ
る。第3図a〜fは点列Fを選ぶ際の拘束条件の
例を示しており、点(i,j)に至る径路は図の
矢線で示される径路のみとり得る。また、各線分
上に示された数字はその線分が径路として選ばれ
た場合の荷重W(k)を示している。a、bは前
記対称型の例でM=I+Jとなり、c〜fは前記
非対称型の例でM=Iとなる。
このようなマツチング法を用いて単語音声の認
識をするには次のようにする。認識の対象となつ
ている単語クラスをn(n=1〜N)、その標準パ
ターンをBnで表す。入力Aと各標準パターンBn
との距離Do=D(A,Bn)を上記の方法で計算
し、Do0=min o(Do)を与えるクラスn0をAに対す
る認識結果とする。
前記非対称型のDPマツチングでM=Iとなる
ようにすれば、Mは入力パターン長にのみ関係す
る量となり、式(5)において何れの標準パターンに
対してもMは一定であるから、
D(A,B)=g(I,J)=min〔I
〓i=1
d(i,j)〕
……(6)
と定義できる。以後、パターン間の距離は式(6)に
よるものとする。第3図cの拘束条件のもとに式
(6)を求める場合には次の漸化式(7)を計算すればよ
い。
g(i,j)=d(i,j)+ming(i−
1,j)
〔g(i−1,j−1)
g(i−1,j−2)〕 ……(7)
初期条件g(1,1)=d(1,1)
次に連続単語音声の認識について説明する。連
続単語音声認識は次のように定式化できる。い
ま、X個の単語q(1),q(2),…q(x)を連続し
て発声したときの音声パターンをAで表わす。
A=a1,a2…ai…a1 ……(8)
単語q(x)の標準パターンを
Bq(x)=b1 q(x)b2 q(x)…bq(x) j…bq(x) Jq(x) ……(9)
とするとき、X個の単語Bq(1),Bq(2),…Bq(x)を接
続して得らたる標準パターンは
=Bq(1)Bq(2)…Bq(x)
=b1 q(1)b2 q(1)…bq(1) Jq(1),b1 q(2)b2 q(2)…bq(2) jq(
2)…b1 q(x)
b2 q(x)bq(x) jq(x) ……(10)
で表わされる。ここではパターンの接続を表わ
す。
そこで連続単語音声認識は、このと入力音声
パターンAとの間でDPマツチングを実行し、そ
の際得られるD(A,)が最小になるように、
Xとq(x)(x=1,2,…,x)を決めるとい
う問題になる。すなわち、
T=min X,q(x)〔D(A,Bq(1)Bq(2)…Bq(x)〕
…(11)
を計算し、Tが最小になる条件を求めればよい。
式(11)の計算をまともに実行しようとすると、膨大
な計算量が必要となる。すなわち、入力音声パタ
−ンにおいて連続発声の単語数の最大値をk、単
語標準パターンの数をNとすれば、Nk回の計算
を実行することになる。そこで、実際にはこの問
題を次の漸化式を解く問題に帰着させている。
入力音声パタ−ンAにおいて、i=l+1から
i=mまでの部分区間を、部分パターンA(l,
m)で定義する。
A(l,m)=al+1al+2…an ……(12)
このとき、式(6)によりパターン間の距離を定義
すれば次のことが言える。
D(A,B1B2)=min
m〔D(A(o,m)
,B1)+D(A(m,I),B2)〕 ……(13)
このことを用いれば式(11)は次のように解ける。
ここで以後用いる記号の意味を第1表にまとめ
て示す。
The present invention relates to a pattern comparison device that compares a plurality of registered patterns with an input pattern and identifies the input pattern, and particularly relates to a pattern comparison device that is applicable to recognition of continuously uttered word sounds. In order for voice, which is the most natural means of information generation for humans, to demonstrate its true value as an input means for human-machine systems, it is necessary to be able to recognize continuous normal conversational speech without limiting the speaker. This is desirable. FIG. 1 is a block diagram of a speech recognition apparatus that uses words as recognition units. 1 is the audio signal input terminal, 2 is the input audio signal for frequency analysis, LPC analysis,
An acoustic analysis unit 3 that converts into a series of several sets of numerical values (feature vectors) by PARCOR analysis, correlation analysis, etc. is a standard pattern storage unit in which words to be recognized are registered as a series of feature vectors; a pattern matching unit that compares the series of feature vectors for the input audio signal to be recognized analyzed by the analysis unit 2 with each of the standard patterns and calculates the distance or similarity between the two; 5 is a pattern matching unit; 4 is a determination unit that determines a word corresponding to a standard pattern closest to the input speech pattern as a recognition result based on the calculation result, and 6 is an output terminal that outputs this recognition result. In a speech recognition device having such a configuration, an excellent pattern matching method is a method of performing matching (DP matching) using time-based nonlinear expansion/contraction using dynamic programming. In continuous word recognition using the device of the present invention, this
DP matching plays a central role. Then DP
The matching algorithm will be briefly explained. Now, assume that A = a 1 , a 2 ... a I ... A〓 B = b 1 , b 2 ... b j ... b J ... (1) as two speech patterns. That is, those speech patterns are represented by a series of feature vectors a i and b j for each. When the distance between vectors a i and b j is d(i, j), calculate the weighted average of d(i, j) for the various correspondences of the vectors that make up both series, and find the weighted average of d(i, j) that is the minimum The correspondence between the two series is set as the optimal correspondence between the two series, and the weighted average at that time is set as the distance D (A, B) between the two series. This procedure is efficiently performed using dynamic programming. This is DP matching. Note that d(i,j) is usually a vector a i
The Euclidean distance or city distance of and b j is used. Figure 2 shows this two-dimensionally.
The time correspondence between patterns A and B, that is, the time conversion coefficient j(i), is given by the grid point c(k) = (i
(k), j(k)) series F=c(1),c(2)...c(k)...c(K)...(2) (i(K)=I,i(k) =J). At this time, D(A, B) is defined as follows. Here, W(k) is a non-negative constant, and its value is determined by the method used to approximate the time conversion function j(i) by a point sequence. Here, if the denominator of equation (3) is a constant M= K 〓 l=1 W(k) that does not depend on F, then D(A, B)
can be efficiently determined using dynamic programming. That is, g(c(k))=min c(1)c(2)...c(k)[ K 〓 l=1 d(c(l)W(l)]=min c(k)[min c (1) c(2)...c(k-1) [ K 〓 l=1 d(c(l))W(l)] +d(c(k))W(k)]=min +d(c( k))W(k)]=min (CK)[g(c(k-1))+d(c(k))W(k)
]...(4), so g(c(1)=g(1,1)=d(1,1)
, solve recurrence equation (4) and get g(c(k))=g(I,
J) is obtained, then D(A, B) is obtained as D(A, B)=1/Mg(I, J)...(5). As a method of constantizing the denominator of equation (3), M=I+
There are two methods: one method is to make sure that J (symmetric type), and the other is to make sure that M=I or J (asymmetric type). FIGS. 3a to 3f show examples of constraint conditions when selecting the point sequence F, and only the route indicated by the arrow in the figure can be taken to reach the point (i, j). Further, the number shown on each line segment indicates the load W(k) when that line segment is selected as the route. For a and b, M=I+J in the symmetrical example, and M=I for c to f in the asymmetrical example. To recognize word sounds using such a matching method, proceed as follows. The word class to be recognized is represented by n (n=1 to N), and its standard pattern is represented by B n . Input A and each standard pattern B n
The distance D o = D (A, B n ) from the above is calculated using the above method, and the class n 0 that gives D o0 = min o (D o ) is taken as the recognition result for A. If M=I in the asymmetric DP matching, M becomes a quantity that is related only to the input pattern length, and M is constant for any standard pattern in equation (5), so D It can be defined as (A, B)=g(I,J)=min[ I 〓 i=1 d(i,j)]...(6). Hereinafter, the distance between patterns will be based on equation (6). Under the constraint conditions shown in Figure 3 c, the formula
To obtain (6), the following recurrence formula (7) can be calculated. g(i,j)=d(i,j)+ming(i-
1, j) [g (i-1, j-1) g (i-1, j-2)] ...(7) Initial condition g (1, 1) = d (1, 1) Next, continuous words Explain speech recognition. Continuous word speech recognition can be formulated as follows. Let A represent the speech pattern when X words q(1), q(2),...q(x) are uttered consecutively. A=a 1 , a 2 …ai…a 1 …(8) The standard pattern of word q(x) is B q(x) =b 1 q(x) b 2 q(x) …b q(x) When j …b q(x) Jq(x) …(9), the standard obtained by connecting X words B q(1) , B q(2) , …B q(x) The pattern is =B q(1) B q(2) …B q(x) =b 1 q(1) b 2 q(1) …b q(1) Jq(1) ,b 1 q(2) b 2 q(2) …b q(2) jq(
2) …b 1 q(x)
b 2 q(x) b q(x) jq(x) ...(10) This shows the connection of patterns. Therefore, in continuous word speech recognition, DP matching is performed between this and the input speech pattern A, so that the obtained D(A,) is minimized.
The problem is to determine X and q(x) (x=1, 2, ..., x). That is, T= min X,q(x) [D(A,B q(1) B q(2) …B q(x) ]
…(11) and find the conditions that minimize T.
If we attempt to properly perform the calculation of equation (11), a huge amount of calculation will be required. That is, if the maximum number of consecutively uttered words in the input speech pattern is k and the number of word standard patterns is N, calculations will be performed N k times. Therefore, in reality, this problem is reduced to the problem of solving the following recurrence formula. In the input speech pattern A, the partial interval from i=l+1 to i=m is converted into the partial pattern A(l,
Defined in m). A(l,m)=a l+1 a l+2 ...a n ...(12) At this time, if the distance between the patterns is defined by equation (6), the following can be said. D (A, B 1 B 2 ) = min m [D (A (o, m) , B 1 ) + D (A (m, I), B 2 )] ... (13) Using this, the formula ( 11) can be solved as follows. The meanings of the symbols used hereinafter are summarized in Table 1.
【表】
入力単語数Xが既知の場合
Dx(i)=min
n,m〔Dx-1(m)
+D0 n(m+1:i)〕 ……(14)
Nx(i)=n,Bx(i)=m
(n^,m^は式(14)を満たすnとm)
なる漸化式の解を求めれば、認識結果は第4図に
示すフローチヤートにより、X単語列の最後尾単
語名とセグメンテーシヨン結果から先頭単語名と
セグメンテーシヨン結果まで順次求まる。
入力単語数Xが末知の場合
D(i)=min
n,m,x〔Dx(m)
+D0 n(m+1:i)〕
=min〔D(m)+D0 n(m+1:i)〕
……(15)
N(i)=n,B(i)=m
(n,mは式(15)を満さすnとm)
なる漸化式の解から第5図のフローチヤートによ
り認識結果が求まる。
式(14),式(15)の計算において、問題とする
ところは
(イ) 計算量が少いこと。
(ロ) 必要とする記憶容量がなるべく少いこと。
(ハ) 実時間向きアルゴリズムであること。
である。(イ)に関し、解を求めるための主な計算
は、主にDn 0(s:t)とこれを求めるために必要
なdn(i,j)である。特に、各レームは、通常
10次元以上のパラメータで表現されるものであ
り、この計算量をいかに減らすかが問題となる。
次に、この計算方法として従来行われている2
段DP法について説明する。
2段DP法は、先ずDn 0(s:t)をあらゆるs,
tの組合せに対してDPで求めておき、その後D
(i)をDPで求める方法で、DPを2段にしているの
が特徴である。この2段DP法としては前向きア
ルゴリズムと後向きアルゴリズムが提案されてい
るが、ここでは後向きアルゴリズムについて説明
する。
入力パターンのフレームi−1に対して、D
(i−1),N(i−1),B(i−1)は求まつ
ているとする。
単語n(n=1,2,…,N)の標準パター
ンと入力パターンを、i0を始点として逆時間向
きにDPマツチングする。従つて、径路の拘束
条件は第3図c、d、e、fに対応して、第7
図a、b、c、dとなる。マツチング範囲は、
整合窓幅Rで行うことも考えられるが、ここで
は傾き1/2〜2の範囲(傾斜制限内、第6図の
斜線部)で行うものとする。このマツチングを
終端フリーとして行う、その結果、Dn 0(s:
i)が求まる。ただし、i−2Jn+1si
−(1/2)Jnである。
式(15)のD(i),N(i),B(i)を求める。
i=i+1としてへもどる。
この方法は、入力フレーム毎に各単語につきマ
ツチング範囲内で、フレーム間距離dと累積距離
Dを計算する必要がある。このため全体の計算回
数はフレーム間距離d、累積距離D共にN・I・
3/4J2となる(整合窓幅RのときはN・I・J・
R)。
以上が2段DPマツチング法であるが、この方
法の欠点はまだ計算回数が多いという点である。
その理由は各入力フレーム毎に各単語について3/
4J2回、dとDを計算するためである。一方、最
も安易な計算回数の低減化方法は、一度計算した
dの値を必要がなくなるまですべて保存しておく
方法である。しかし、この方法であるとdの計算
量はN・I・Jとなるが、この計算のために必要
な記憶量はかなり大きいものになる。しかもこの
方法であると、dの計算結果の記憶アドレスを入
力フレーム毎に変更する必要がある。
本発明は以上の欠点を除去し、入力パターンと
標準パターンを比較する際に必要な計算量を、記
憶量をそれほど増すことなく大幅に減少し、計算
速度の速いパターン比較装置を提供することを目
的とする。
この目的を達成するために本発明は、一定時間
毎に2段DP法の後向きアルゴリズムをまとめて
行うようにしたもので、以下、第8図を用いて本
発明の原理について説明する。
第8図において、斜線部分は一回にdを計算す
る領域(以下、領域Aという)を示している。こ
の領域Aは第6図において示した斜線部分の領域
(以下、領域Bという)にW×Jの領域(以下、
領域Cという)を付加したものになつている。W
はフレーム数であり、dの計算は以後、Wフレー
ムづつずらして行われる。
こうすると、dの計算量は、Wフレーム毎に平
均J2+W/2Jで済み、これを入力パターンのレー
ム数Iに対し、I/W回行うので、結局dの全体
の計算量はN・I・J(1/2+J/W)となる。
以下、上記原理を用いた本発明の実施例につい
て図面とともに説明する。
第9図は本発明のパターン比較装置を音声認識
装置に適用した場合の一実施例を示すブロツク図
である。
図において、1は音声信号の入力端子、2は連
続単語の入力音声信号を特徴ベクトルの系列に変
換し、入力パターンA=a1,a2…aIとして出力す
る音響分析部である。この音響分析部2より出力
される入力パターンの長さをIとする。すなわち
入力パターンはI個のフレームからなる。3は認
識すべき単語(単語数N)が特徴ベクトルの系列
Bn=b1 nb2 n…bn Joとして記憶されている標準パター
ン記憶部で、この記憶内容は入力パターンとのフ
レーム間距離を計算する際に標準パターンとして
読み出される。この音響分析部2および標準パタ
ーン記憶部3は、第1図において示したものと同
様のものである。
7はDPマツチング部で、標準パターンの特徴
ベクトルbn jと入力パターンの特徴ベクトルa1との
フレーム間距離dn(i,j)を計算するフレーム
間距離計算部7aと、このフレーム間距離dn(i,
j)を記憶するフレーム間距離記憶部7bと、こ
のフレーム間距離記憶部7bに記憶されているフ
レーム間距離dn(i,j)を用いて単語nとフレ
ームi′〜iの入力パターンとの部分距離Dn 0(i′:
i)を計算する部分距離計算部7cより構成され
る。
8はDPマツチング部7におけるフレーム間距
離計算部7aおよび部分距離計算部7cにマツチ
ングの開始フレーム情報を与えるマツチング開始
フレーム設定部で、開始フレームi0は初期値が1
であり、以後、W+1,2W+1,…とWフレー
ム毎の値が設定される。
9は部分距離計算部7cで計算された部分距離
Dn 0(i′:i)を記憶する部分距離記憶部である。
ただし、n=1,2,…,N,i=i0,i0+1,
…,i0+W−1,i′はi−2Jn+1i′i−1/2Jn
の範囲である。
10は部分距離記憶部9に記憶されている部分
距離から、入力パターンのフレームiで終端する
単語列の最小累積距離D(i)を、i=i0,i0+1,
…,i0+W−1について求めるとともに、このD
(i)を与えるフレームiで終端する単語列の最後尾
単語N(i)と、この単語N(i)の始端フレームより1
を減じたフレームを示すB(i)を計算する累積距離
計算部である。
11は累積距離計算部10で計算されたD(i),
N(i),B(i)を記憶する累積距離情報記憶部であ
る。ただし、i=i0,i0+1,…,i0+W−i,i0
=1,W+1,2W+1,…,LW+1であり、
L=〔(I−1)/W〕である。なお〔X〕はXの
整数部分を示す。
12は入力パターンの最終フレームIまでの累
積距離の計算が終了した時点で、入力された連続
単語の単語境界を示すバツクポインタB(),B
(B()),…,B(B((…B(B())…))
),0
を最終フレームの方から逆順に求めるセグメンテ
ーシヨン部である。
13はセグメンテーシヨン部12で求められた
バクポインタをもとに当該境界フレームで終端す
る単語を順次累積距離情報記憶部11から読み出
し、認識単語とする単語決定部である。
以下、本実施例の動作について第8図、第9図
を用いて説明する。
フレーム間距離計算部7aは音響分析部2より
入力パターンが出力されると標準パターンの特徴
ベクトルと入力パターンの特徴ベクトルのフレー
ム間距離dn(i,j)の計算を開始する。この計
算を行う範囲は、第8図において示される斜線部
分の領域Aであり、この領域Aは、マツチング開
始フレーム設定部8により開始フレームi0ば1,
W+1,…とWの幅づつ順次変えられるごとにW
の幅で移動する。
フレーム間距離dn(i,j),部分距離Dn 0(i′:
i)、最小累積距離D(i)の計算は、領域A毎に同
じ手順で計算されるので、説明の簡略化のために
以下、開始フレームi0についてのみ説明する。
フレーム間距離dn(i,d)は、標準パターン
記憶部3に記憶されているN個の単語に対し、順
次計算される。この計算は領域A内について行わ
れる。なお領域Aは標準パターン長Jnにより変化
する。例えば、1番目の単語(n=1)に対して
は、点(i0,Ji)、点(i0−2J′+1,1),点(i0
+W−i,J1)、点(i0+W−1/2J1,1)の4点
を結んだ領域A1となる。従つて、n=1に対し
て、領域A1内の各点におけるフレーム間距離d1
(i,j)が計算される。以下、同様にn=2,
n=3,…,n=Nについて、フレーム間距離d2
(i,j),d3(i,j),…,dN(i,j)が計算
される。なお、dn(i,j)の計算はDn 0(i′:i)
の計算と交互に行う。すなわち、n=1について
フレーム間距離d1(i,j)の計算が終了すると、
次に部分距離D0 1(i′:j)の計算を行う。
部分距離D0 1(i′:j)の計算は、先に求めたフ
レーム間距離d1(i:j)を基にして行われる。
すなわち部分距離は、始点i=i0,j=J1より、
領域A1内で、かつ第7図aに示す拘束条件の下
で順次経路が選択され選択された経路上の点のフ
レーム間距離の利として求められる。前記拘束条
件上の3つの経路のうちどれを選択するかは、当
該点に到る一つ前の点における、それまでの経路
上のフレーム間距離の和が最小となる経路が選択
される。以上のようにして、始点i=i0,j=J1
より、終点i=j′,j=1までに到る経路が決定
され、部分距離D0 1(i′:i0)が求められる。なお、
i′はi0−2J1+1i′i0−1/2J1の範囲値となる。
この(i0,J1)を始点としたときの部分距離
D0 1(i′:i0)は、部分距離記憶部9に記憶される。
以下、同様に(i0+i,J1),(i0+2,J1),…
(i0+W−1)を始点とした部分距離D0 1(i′:i0+
1D0 1(i′:i0+2),…,D0 1(i′:i0+W−1)を
計
算し、部分距離記憶部9に記憶させる。
次に2番目の単語(n=2)について、同様に
フレーム間距離d2(i,j)を計算するとともに
部分距離D0 2(i′:i)の計算を行う。以下、N番
目の単語(n=N)まで同様に計算するとともに
部分距離D0 2(i′:i),…,D0 N(i′:i)を部分距
離記憶部9に記憶する。
次に入力パターンのフレームiで終端する単語
列の最小累積距離D(i)は、部分距離記憶部9に記
憶されている部分距離Dn 0(i′:i)を用いて、累
積距離計算部10において求められる。すなわち
累積距離計算部10おいては、フレームi′〜iの
入力パターンと単語nの標準パターンとの部分距
離Dn 0(i′:i)と、入力パターンのフレームi′−1
で終端する単語列の最小累積距離D(i′:1)と
の和を求めるとともに前記和のnおよびi′に関し
て最小となる累積距離D(i)を求める。累積距離計
算部10は前記D(i)を入力パターンのフレームi
で終端する単語例の最小累積距離として累積距離
情報記憶部11に記憶させる。また累積距離計算
部10は、前記D(i)を求めたときのn,iをそれ
ぞれn,i′とするとき、N(i)=n,B(i)=i′−1
として、この認識候補単語N(i)、単語境界を示す
バツクポインタB(i)をD(i)とともに累積距離情報
記憶部11に記憶さする。
DPマツチング部7および累積距離計算部10
における以上の処理は、マツチング開始フレーム
設定部8により開始フレームi0が変えられるごと
に繰り返される。
マツチング開始フレーム設定部8により入力パ
ターンの最終フレームIに相当する開始フレーム
が設定され、この開始フレームにより定まる領域
Aについて累積距離計算部10でD(i)、N(i)、B
(i)が求められ累積距離記憶部11に記憶された
後、セグメンテーシヨン部12で入力単語列の単
語境界を定める処理が行われる。この処理は、ま
ずフレームIにおけるB(i)すなわちB(I)を累
積距離情報記憶部11から読み出し、次にその読
み出したB()の値をもとにフレームB()に
おけるB(i)すなわちB(B())を累積距離情報
記憶部11から読み出す。以下、同様に読み出し
たB(i)の値をもとに順次単語境界として、B(B
(B()),…,B(B(B(…B(B())…)
)),
0が読み出される。なお0は入力パターンの入力
開始フレームの1つ手前のフレームということで
ある。以上のようにセグメンテーシヨン部12に
より読み出されたB(i)は単語決定部13に入力さ
れる。単語決定部13は、このB(i)を基に累積距
離情報記憶部11からN(i)を読み出す。すなわち
最初は最終フレームIで終端する単語N()を、
次はB()フレームで終端する単語N(B())
を、以下、同様に、N(B(B())),…N(B(
B
(B(…B(B())…))))を読み出す。この読
み
出された単語N(i)が端子6より認識結果として出
力される。
第10図は第9図に示した装置の機能をソフト
ウエアで実現する場合のフローチヤートを示して
いる。
図において、ステツプ100〜ステツプ102
は最小累積距離の初期値設定を行う部分である。
ステツプ105〜ステツプ107はフレーム間距
離を求める部分、ステツプ108〜ステツプ11
4は部分距離を求める部分、ステツプ104はこ
れらをすべての単語について行うことを示してい
る。ステツプ115〜ステツプ116は最小累積
距離、認識単語、単語境界を求める部分であり、
ステツプ103は、ステツプ104〜ステツプ1
16をWフレーム毎に繰り返し行うことを示して
いる。ステツプ117〜ステツプ120は最終フ
レームIまでの認識単語、単語境界が求まつた
後、最終フレームより逆順に単語境界、認識単語
を決定する部分である。
第11図は入力単語数が既知(X)の場合の実
施例についてソフトウエアで実現したときのフロ
ーチヤートを示している。
その各ステツプは第10図に示した入力単語数
が末知の場合とほとんど同じである。違いは、累
積距離を求める際に、そのフレームに到るまでの
入力単語の個数を仮定し、各単語数について累積
距離Dx(i)を求めるとともに、認識単語Nx(i),単
語境界Bx(i)を求める点である。この場合、計算
量はXの値に応じて増加する認識精度は向上す
る。
第9図において示した実施例においては、D(i)
は、n=1〜Nのすべてに対するDn 0(i′:i)を
計算したのちに求めたが、各n毎に求めるように
しても良い。このようにした場合の実施例につい
てソフトウエアで実現したときのフローチヤート
を第12図に示す。このフローチヤートにおい
て、第10図のフローチヤートと異なるのはステ
ツプ115′および116′である。このようにス
テツプを変えることにより、累積距離D(i)を計算
するために必要な部分距離Dn 0(i:i)を記憶し
ておくためのメモリーを大幅に減らすことができ
る。
また第9図に示した実施例において、累積距離
記憶部11に記憶される認識候補単語N(i)として
は、最小累積距離D(i)に対応するもののみであつ
たが、最小累積距離D(i)の次に小さい累積距離
(以下、次最小累積距離という)に対応する認識
候補単語(以下、次認識候補単語N′(i)という)
をも累積距離情報記憶部11に記憶させるように
してもよい。この場合、単語決定部13として
は、累積距離情報記憶部11から読み出されるN
(i),N′(i)を基に各種の認識単語列を認識結果と
して出力することになる。認識単語列としては、
N(i)のみを用いたもの(第9図の実施例における
認識結果と同じ)、N(i)の単語列のうちの単語1
個をN′(i)で置換したもの、単語2個を置換した
ものなど種々考えられる。この場合、単語決定部
としては、例えばN(i)、N′(i)を記憶する記憶部
と、この記憶部から選択的にN(i)、N′(i)を読み
思す選択読出部とで構成できる。
またマツチング計算を行う範囲としては第8図
に示す領域Aとしたが、この領域Aのうち領域B
に相当する部分を、第6図の破線で囲またた幅R
の領域との論理積をとつた領域(以下、領域
B′という)とし、新しい領域Aとして、領域
B′をWフレームずらして得られる領域としても
よい。
このような領域の設定は必要とする認識精度、
計算速度などを考慮して行う。ところで、マツチ
ング計算の始端をフレームi0とすると、その終端
フレームは、標準パターン長Joに相当するフレー
ム長だけ始端フレームi0より戻つた付近が最も終
端フレームの位置として妥当と考えられ、領域A
の設定もこれらをもとに行われる。従つて、終端
フレームの位置は一般に標準パターン長Jnの凾数
として与えられる。すなわち始端フレームをi0、
終端フレームをi′とすると、i0+R1(Jn)i′i0
+R2(Jn)となる。
領域Aにおいては始端は開始フレームi0からフ
レームi0+W−1の範囲で変化するので終端i′は、
i0+R1(Jn)i′i0+R2(Jn)+Wとなる。
以上のように本発明のパターン比較装置はマツ
チング計算の開始フレームi0をWフレーム毎に設
定し、Wフレーム毎に定まるパターン比較領域に
ついてd(i,j)の計算をまとめて行うように
構成したので、従来の2段DP法を用いたパター
ン比較装置に較べ、フレーム間距離d(i,j)
の計算回数を大幅に減少させることができる。例
えばJ=30、W=10の場合、
3/4NIJ2/NIJ(1/2+J/W)
=3/4J/(1/2+J/W)≒6.4
となり、計算回数は約6分の1となる。一方、記
憶量としては、
(3/4J2+WJ)/3/4J2
=1+3/4・W/J≒1.4
となり4割増加するだけである。 [ Table] When the number of input words , B From the last word name and segmentation result to the first word name and segmentation result are found sequentially. When the number of input words ]
...(15) N(i)=n, B(i)=m (n, m are n and m that satisfy equation (15)) From the solution of the recurrence formula, the recognition result is obtained according to the flowchart in Figure 5. is found. The problem with calculating equations (14) and (15) is (a) the small amount of calculation. (b) The required storage capacity should be as small as possible. (c) It must be a real-time algorithm. It is. Regarding (a), the main calculations to find the solution are mainly D n 0 (s:t) and d n (i, j) necessary to find this. In particular, each frame is usually
It is expressed by parameters with more than 10 dimensions, and the problem is how to reduce the amount of calculation. Next, the conventional calculation method is 2.
The step DP method will be explained. The two-stage DP method first sets D n 0 (s:t) to any s,
Find the combination of t by DP, then D
It is a method to obtain (i) using DP, and is characterized by having two stages of DP. A forward algorithm and a backward algorithm have been proposed as this two-stage DP method, but the backward algorithm will be explained here. For frame i-1 of the input pattern, D
It is assumed that (i-1), N(i-1), and B(i-1) have been found. The standard pattern of word n (n=1, 2, . . . , N) and the input pattern are DP matched in reverse time direction starting from i 0 . Therefore, the constraint conditions for the path are as shown in Fig. 7, corresponding to c, d, e, and f in Fig. 3.
Figures a, b, c, and d are shown. The matching range is
Although it is conceivable to perform this with the matching window width R, here it is assumed that the adjustment is performed with an inclination in the range of 1/2 to 2 (within the inclination limit, the shaded area in FIG. 6). This matching is performed with the termination free, and as a result, D n 0 (s:
i) is found. However, i−2J n +1si
−(1/2)J n . Find D(i), N(i), and B(i) in equation (15). Return to i=i+1. This method requires calculating the interframe distance d and the cumulative distance D within the matching range for each word for each input frame. Therefore, the total number of calculations is N・I・for both the interframe distance d and the cumulative distance D.
3/4J 2 (when the matching window width R is N・I・J・
R). The above is the two-stage DP matching method, but the drawback of this method is that it still requires a large number of calculations.
The reason is that for each word in each input frame 3/
4J This is to calculate d and D twice . On the other hand, the simplest method for reducing the number of calculations is to save all the values of d once calculated until they are no longer needed. However, with this method, the amount of calculation for d is N.I.J, but the amount of storage required for this calculation is quite large. Moreover, with this method, it is necessary to change the storage address of the calculation result of d for each input frame. The present invention eliminates the above-mentioned drawbacks, significantly reduces the amount of calculation required when comparing an input pattern and a standard pattern without significantly increasing the amount of memory, and provides a pattern comparison device with high calculation speed. purpose. In order to achieve this object, the present invention performs the backward algorithm of the two-stage DP method at regular intervals.The principle of the present invention will be explained below with reference to FIG. In FIG. 8, the shaded area indicates an area where d is calculated at one time (hereinafter referred to as area A). This area A is a W×J area (hereinafter referred to as area B) shown in the hatched area in FIG. 6 (hereinafter referred to as area B).
(referred to as area C). W
is the number of frames, and the calculation of d is thereafter performed by shifting by W frames. In this way, the amount of calculation for d is only J 2 +W/2J on average for each W frame, and this is performed I/W times for the number of frames I of the input pattern, so the total amount of calculation for d is N・It becomes IJ (1/2 + J/W). Embodiments of the present invention using the above principle will be described below with reference to the drawings. FIG. 9 is a block diagram showing an embodiment in which the pattern comparison device of the present invention is applied to a speech recognition device. In the figure, 1 is an input terminal for audio signals, and 2 is an acoustic analysis unit that converts the input audio signal of continuous words into a series of feature vectors and outputs them as input patterns A=a 1 , a 2 . . . a I. Let I be the length of the input pattern output from this acoustic analysis section 2. That is, the input pattern consists of I frames. 3 is a series of feature vectors in which the words to be recognized (number of words N)
In the standard pattern storage unit, the standard pattern is stored as B n =b 1 n b 2 n . The acoustic analysis section 2 and standard pattern storage section 3 are similar to those shown in FIG. 7 is a DP matching unit, which includes an interframe distance calculation unit 7a that calculates the interframe distance d n (i, j) between the standard pattern feature vector b n j and the input pattern feature vector a 1 ; d n (i,
j) and the interframe distance d n (i, j) stored in this interframe distance storage 7b, the input pattern of word n and frames i' to i is determined. The partial distance D n 0 (i′:
It is composed of a partial distance calculation section 7c that calculates i). 8 is a matching start frame setting unit that provides matching start frame information to the interframe distance calculation unit 7a and partial distance calculation unit 7c in the DP matching unit 7, and the start frame i 0 has an initial value of 1.
From then on, values are set for each W frame, such as W+1, 2W+1, . . . 9 is the partial distance calculated by the partial distance calculation unit 7c
This is a partial distance storage unit that stores D n 0 (i′:i).
However, n=1, 2,..., N, i=i 0 , i 0 +1,
..., i 0 +W-1, i' is i-2J n +1i'i-1/2J n
is within the range of 10 calculates the minimum cumulative distance D(i) of the word string ending at frame i of the input pattern from the partial distances stored in the partial distance storage unit 9, i=i 0 , i 0 +1,
…, i 0 +W−1, and this D
(i) from the last word N(i) of the word string ending in frame i, and from the starting frame of this word N(i)
This is a cumulative distance calculation unit that calculates B(i) indicating the frame from which . 11 is D(i) calculated by the cumulative distance calculation unit 10,
This is a cumulative distance information storage unit that stores N(i) and B(i). However, i=i 0 , i 0 +1,..., i 0 +W−i, i 0
=1, W+1, 2W+1,..., LW+1,
L=[(I-1)/W]. Note that [X] represents the integer part of X. Reference numeral 12 indicates a back pointer B(), B indicating the word boundary of the input continuous words at the time when the calculation of the cumulative distance to the final frame I of the input pattern is completed.
(B()),…,B(B((…B(B())…))
), 0
This is a segmentation unit that calculates the following in reverse order starting from the last frame. Reference numeral 13 denotes a word determining unit which sequentially reads words ending in the relevant boundary frame from the cumulative distance information storage unit 11 based on the back pointers determined by the segmentation unit 12 and uses them as recognized words. The operation of this embodiment will be described below with reference to FIGS. 8 and 9. When the input pattern is output from the acoustic analysis section 2, the interframe distance calculation section 7a starts calculating the interframe distance d n (i, j) between the feature vector of the standard pattern and the feature vector of the input pattern. The range in which this calculation is performed is the shaded area A shown in FIG .
W + 1, ... and each time the width of W is changed sequentially, W
Move by the width of . Inter-frame distance d n (i, j), partial distance D n 0 (i′:
i) Since the minimum cumulative distance D(i) is calculated using the same procedure for each area A, only the starting frame i 0 will be described below to simplify the explanation. The interframe distance d n (i, d) is sequentially calculated for N words stored in the standard pattern storage section 3. This calculation is performed within area A. Note that the area A changes depending on the standard pattern length J n . For example, for the first word (n=1), point (i 0 , J i ), point (i 0 −2J′+1,1), point (i 0
+W-i, J 1 ) and the point (i 0 +W-1/2J 1 , 1) are connected to form an area A 1 . Therefore, for n=1, the interframe distance d 1 at each point in the area A 1
(i,j) is calculated. Similarly, n=2,
For n=3,...,n=N, interframe distance d 2
(i, j), d 3 (i, j), ..., d N (i, j) are calculated. Note that the calculation of d n (i, j) is D n 0 (i′:i)
This is done alternately with the calculation of That is, when the calculation of the interframe distance d 1 (i, j) for n=1 is completed,
Next, the partial distance D 0 1 (i′:j) is calculated. The partial distance D 0 1 (i':j) is calculated based on the inter-frame distance d 1 (i:j) determined previously.
In other words, the partial distance is from the starting point i = i 0 , j = J 1 ,
Routes are sequentially selected within the region A1 and under the constraint conditions shown in FIG. Which of the three routes based on the constraint condition is selected is the route that minimizes the sum of the inter-frame distances on the route at the point immediately before reaching the point. As described above, starting point i=i 0 , j=J 1
Thus, the route to the end point i=j', j=1 is determined, and the partial distance D 0 1 (i':i 0 ) is calculated. In addition,
i′ has a value in the range of i 0 −2J 1 +1i′i 0 −1/2J 1 . The partial distance when this (i 0 , J 1 ) is the starting point
D 0 1 (i′:i 0 ) is stored in the partial distance storage section 9. Similarly, (i 0 +i, J 1 ), (i 0 +2, J 1 ),...
Partial distance D 0 1 ( i ′:i 0 +
1D 0 1 (i': i 0 +2), . . . , D 0 1 (i': i 0 +W-1) are calculated and stored in the partial distance storage section 9. Next, for the second word (n=2), the interframe distance d 2 (i, j) is similarly calculated, and the partial distance D 0 2 (i':i) is calculated. Thereafter, calculations are made in the same manner up to the Nth word (n=N), and the partial distances D 0 2 (i':i), . . . , D 0 N (i':i) are stored in the partial distance storage section 9. Next, the minimum cumulative distance D(i) of the word string ending at frame i of the input pattern is calculated by calculating the cumulative distance using the partial distance D n 0 (i′:i) stored in the partial distance storage unit 9. It is found in section 10. That is, the cumulative distance calculation unit 10 calculates the partial distance D n 0 (i':i) between the input pattern of frames i' to i and the standard pattern of word n, and the frame i'-1 of the input pattern.
and the minimum cumulative distance D(i':1) of the word string ending at , and the minimum cumulative distance D(i) with respect to n and i' of the sum. The cumulative distance calculation unit 10 converts the D(i) into frame i of the input pattern.
This is stored in the cumulative distance information storage unit 11 as the minimum cumulative distance of the word example ending in . Further, the cumulative distance calculation unit 10 calculates that when n and i are respectively n and i' when calculating the D(i), N(i)=n, B(i)=i'-1
The recognition candidate word N(i) and the back pointer B(i) indicating the word boundary are stored in the cumulative distance information storage unit 11 together with D(i). DP matching section 7 and cumulative distance calculation section 10
The above processing in is repeated every time the matching start frame setting section 8 changes the start frame i0 . The matching start frame setting unit 8 sets a start frame corresponding to the final frame I of the input pattern, and the cumulative distance calculation unit 10 calculates D(i), N(i), B for the area A defined by this start frame.
After (i) is determined and stored in the cumulative distance storage unit 11, the segmentation unit 12 performs processing to determine the word boundaries of the input word string. This process first reads B(i) in frame I, that is, B(I), from the cumulative distance information storage unit 11, and then calculates B(i) in frame B() based on the read value of B(). That is, B (B()) is read out from the cumulative distance information storage section 11. Below, B(B
(B()),…,B(B(B(…B(B())…)
)),
0 is read. Note that 0 means the frame one frame before the input start frame of the input pattern. B(i) read by the segmentation unit 12 as described above is input to the word determination unit 13. The word determining unit 13 reads N(i) from the cumulative distance information storage unit 11 based on this B(i). That is, initially the word N() that ends in the final frame I is written as
The next word N(B()) ends in the B() frame.
Similarly, N(B(B())),...N(B(
B
Read out (B(...B(B())...)))). This read word N(i) is output from the terminal 6 as a recognition result. FIG. 10 shows a flowchart when the functions of the apparatus shown in FIG. 9 are realized by software. In the figure, steps 100 to 102
is the part that sets the initial value of the minimum cumulative distance.
Steps 105 to 107 are the parts for calculating the distance between frames, and steps 108 to 11
4 indicates a portion for calculating partial distances, and step 104 indicates that these are performed for all words. Steps 115 and 116 are steps for determining the minimum cumulative distance, recognized words, and word boundaries.
Step 103 is similar to Step 104 to Step 1.
16 is repeated every W frames. Steps 117 to 120 are steps in which, after the recognized words and word boundaries up to the final frame I have been determined, the word boundaries and recognized words are determined in reverse order from the final frame. FIG. 11 shows a flowchart of an embodiment in which the number of input words is known (X) and is realized by software. Each step is almost the same as in the case where the number of input words is unknown as shown in FIG. The difference is that when calculating the cumulative distance, we assume the number of input words up to that frame, calculate the cumulative distance D x (i) for each number of words, and calculate the number of recognized words N x (i) and word boundaries. This is the point to find B x (i). In this case, the amount of calculation increases according to the value of X, and the recognition accuracy improves. In the embodiment shown in FIG. 9, D(i)
is obtained after calculating D n 0 (i':i) for all n=1 to N, but it may be obtained for each n. FIG. 12 shows a flowchart of this embodiment implemented by software. This flowchart differs from the flowchart of FIG. 10 in steps 115' and 116'. By changing the steps in this way, the memory required to store the partial distances D n 0 (i:i) required to calculate the cumulative distance D(i) can be significantly reduced. Further, in the embodiment shown in FIG. 9, the recognition candidate words N(i) stored in the cumulative distance storage unit 11 were only those corresponding to the minimum cumulative distance D(i); Recognition candidate word (hereinafter referred to as next recognition candidate word N'(i)) corresponding to the next smallest cumulative distance of D(i) (hereinafter referred to as next minimum cumulative distance)
may also be stored in the cumulative distance information storage unit 11. In this case, the word determining unit 13 reads N from the cumulative distance information storage unit 11.
Based on (i) and N′(i), various recognized word sequences are output as recognition results. As a recognized word string,
Using only N(i) (same as the recognition result in the example of FIG. 9), word 1 of the N(i) word string
Various options are possible, such as replacing N'(i) with N'(i), or replacing two words. In this case, the word determining unit includes a memory unit that stores N(i) and N′(i), and a selective readout unit that selectively reads N(i) and N′(i) from this memory unit. It can be composed of two parts. In addition, the area A shown in Figure 8 was used as the range for the matching calculation, but area B of this area A
The part corresponding to is surrounded by the broken line in Fig. 6, and the width R
area (hereinafter referred to as area)
B′), and as a new area A, the area
The area may be obtained by shifting B' by W frames. Setting such areas requires the required recognition accuracy,
This is done taking into consideration calculation speed, etc. By the way, if the starting point of the matching calculation is frame i 0 , the most appropriate position for the ending frame is considered to be near the starting point frame i 0 by a frame length corresponding to the standard pattern length J o , and the area A
Settings are also made based on these. Therefore, the position of the end frame is generally given as a function of the standard pattern length J n . In other words, the starting frame is i 0 ,
If the end frame is i′, then i 0 +R 1 (J n )i′i 0
+R 2 (J n ). In area A, the starting edge changes in the range from starting frame i 0 to frame i 0 +W-1, so the ending edge i' is
i 0 +R 1 (J n )i′i 0 +R 2 (J n )+W. As described above, the pattern comparison device of the present invention is configured to set the starting frame i 0 of matching calculation for each W frame, and to collectively calculate d(i, j) for the pattern comparison area determined for each W frame. Therefore, compared to a pattern comparison device using the conventional two-stage DP method, the interframe distance d(i, j)
The number of calculations can be significantly reduced. For example, when J=30 and W=10, 3/4NIJ 2 /NIJ (1/2+J/W) = 3/4J/(1/2+J/W)≒6.4, and the number of calculations is approximately 1/6th. . On the other hand, the amount of memory increases by only 40%, as (3/4J 2 +WJ)/3/4J 2 =1+3/4·W/J≒1.4.
第1図は従来の音声認識装置のブロツク図、第
2図はパターンA、Bの特徴ベクトルの対応関係
を示す図、第3図a〜fはi−j平面上の格子点
を選ぶ際の拘束条件例を示す図、第4図および第
5図はそれぞれ入力単語数が既知の場合、未知の
場合の連続単語音声認識におけるセグメンテーシ
ヨンおよび認識単語の決定手順を示すフローチヤ
ート、第6図は2段DP法の後向きアルゴリズム
の説明図、第7図a〜dはi−j平面上の格子点
を選ぶ際の拘束条件例を示す図、第8図は本発明
の原理説明図、第9図は本発明の一実施例のブロ
ツク図、第10図は同実施例装置の機能を実現し
たソフトウエアのフローチヤート、第11図、第
12図は同じく他の実施例におけるフローチヤー
トである。
1…音響分析部、3…標準パターン記憶部、7
…DPマツチング部、7a…フレーム間距離計算
部、7b…フレーム間距離記憶部、7c…部分距
離計算部、8…マツチング開始フレーム設定部、
9…部分距離記憶部、10…累積距離計算部、1
1…累積距離情報記憶部、12…セグメンテーシ
ヨン部、13…単語決定部。
Fig. 1 is a block diagram of a conventional speech recognition device, Fig. 2 is a diagram showing the correspondence between feature vectors of patterns A and B, and Figs. FIGS. 4 and 5 are diagrams showing examples of constraint conditions, and FIGS. 4 and 5 are flowcharts showing the segmentation and recognition word determination procedures in continuous word speech recognition when the number of input words is known and unknown, respectively. FIG. is an explanatory diagram of the backward algorithm of the two-stage DP method; Figures 7a to d are diagrams showing examples of constraint conditions when selecting grid points on the i-j plane; Figure 9 is a block diagram of one embodiment of the present invention, Figure 10 is a flowchart of software that realizes the functions of the device of the same embodiment, and Figures 11 and 12 are flowcharts of other embodiments. . 1...Acoustic analysis section, 3...Standard pattern storage section, 7
... DP matching unit, 7a... Inter-frame distance calculation unit, 7b... Inter-frame distance storage unit, 7c... Partial distance calculation unit, 8... Matching start frame setting unit,
9... Partial distance storage section, 10... Cumulative distance calculation section, 1
1... Cumulative distance information storage section, 12... Segmentation section, 13... Word determination section.
Claims (1)
系列A=a1,a2…aIに変換する特徴抽出手段と、
標準パターンBn=bn 1,bn 2…bnJn(n=1,2,
…,N)を記憶する標準パターン記憶手段と、Jn
のnに関する最小値をJmin、横軸を入力パター
ン、縦軸を標準パターンとする格子グラフにおい
て、マツチング径路の最大傾斜をSnax、最小傾斜
をSnioとするとき、W≦Jnio/SnaxなるWに対し、
前記時系列Aに対しマツチング計算の開始フレー
ムi0をWフレーム毎に設定するマツチング開始フ
レーム設定手段と、高々前記格子グラフにおける
点(ip,Jn)、(ip+W−1,Jn)、(ip+W−1,
1)、(ip−Jn/Snio,1)で囲まれる台形内の格
子点に対してのみ標準パターンおよび入力パター
ンの特徴ベクトルのフレーム間距離dn(i,j)
を前記開始フレームipが設定される毎に計算する
フレーム間距離計算手段と、該フレーム間距離計
算手段により計算されたフレーム間距離dn(i,
j)を記憶するフレーム間距離記憶手段と、該フ
レーム間距離記憶手段に記憶されているフレーム
間距離を読み出し、フレームiを始端とし、フー
レムi′を終端とする部分入力パターンと標準パタ
ーンBnとの部分距離Dno(i′:i)をi=ioから
i=io+W−1まで始端iを変化させて動的計画
法により計算する部分距離計算手段と、該部分距
離Dno(i′:i)を記憶する部分距離記憶手段と、
フレーi′−1までの累積距離D(I′−1)と前記部
分距離Dno(i′:i)の和をi′,nについて最小化
し、その結果フレームiまでの累積距離D(i)を求
める累積距離計算手段と、前記累積距離D(i)と累
積距離D(i)を求める際に用いた前記nおよびi′に
対してN(i)=nおよびB(i)=i′−1とを記憶する
累積距離情報記憶手段と、最終フレームIまでの
累積距離の計算が完了したとき、前記累積距離情
報記憶手段に記憶されているB(i)からB()、B
(B()),…,B(B(…B())…)、Oすな
わ
ち連続して入力されたパターンの境界を逆順に求
めるセグメンテーシヨン手段と、前記セグメンテ
ーシヨン手段により求められたB(),B(B
()),…,B(B(…B())…),Oを用い、
前
記累積距離情報記憶手段から認識パターンとし
て、N(),N(B()),…,N(B(…B(
))
…),…を逆順に求めるパターン決定手段とを備
えたことを特徴とするパターン比較装置。1. Feature extraction means for converting a continuous pattern input signal into a time series A=a 1 , a 2 ...a I of feature vectors a i ;
Standard pattern B n = b n 1 , b n 2 ... b n Jn (n = 1, 2,
..., N), and a standard pattern storage means for storing J n
In a lattice graph where the minimum value for n is Jmin, the horizontal axis is the input pattern, and the vertical axis is the standard pattern, when the maximum slope of the matching path is S nax and the minimum slope is S nio , W≦J nio /S nax For W,
a matching start frame setting means for setting a starting frame i 0 of matching calculation for the time series A every W frames ; ), (i p +W-1,
1), the inter-frame distance d n (i, j) of the feature vectors of the standard pattern and the input pattern only for the grid points within the trapezoid surrounded by (i p −J n /S nio , 1)
an inter-frame distance calculation means that calculates each time the start frame i p is set; and an inter-frame distance calculation means that calculates the inter-frame distance d n (i,
j), reads out the interframe distance stored in the interframe distance storage means, and generates a partial input pattern and a standard pattern B n with frame i as the starting point and frame i' as the ending point. A partial distance calculating means for calculating a partial distance D n o (i':i) between D n o ( i': partial distance storage means for storing i);
The sum of the cumulative distance D (I'-1) to frame i'-1 and the partial distance D n o (i':i) is minimized for i',n, and as a result, the cumulative distance D (I'-1) to frame i is i), and N(i)=n and B(i)= for the cumulative distance D(i) and the n and i' used in calculating the cumulative distance D(i); i'-1, and when the calculation of the cumulative distance to the final frame I is completed, the cumulative distance information stored in the cumulative distance information storage means is B(i) to B(), B.
(B()),...,B(B(...B())...), O, that is, segmentation means for obtaining boundaries of consecutively input patterns in reverse order; B(), B(B
Using ()),…,B(B(…B())…),O,
From the cumulative distance information storage means, N(), N(B()),..., N(B(...B()
))
...), and pattern determining means for determining ...) in reverse order.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP57110530A JPS592094A (en) | 1982-06-25 | 1982-06-25 | pattern comparison device |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP57110530A JPS592094A (en) | 1982-06-25 | 1982-06-25 | pattern comparison device |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPS592094A JPS592094A (en) | 1984-01-07 |
| JPH0247759B2 true JPH0247759B2 (en) | 1990-10-22 |
Family
ID=14538139
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP57110530A Granted JPS592094A (en) | 1982-06-25 | 1982-06-25 | pattern comparison device |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPS592094A (en) |
-
1982
- 1982-06-25 JP JP57110530A patent/JPS592094A/en active Granted
Also Published As
| Publication number | Publication date |
|---|---|
| JPS592094A (en) | 1984-01-07 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP2595495B2 (en) | Pattern matching device | |
| JPH07334184A (en) | Calculating device for acoustic category mean value and adapting device therefor | |
| JPH0561496A (en) | Voice recognizer | |
| JP2980026B2 (en) | Voice recognition device | |
| JPH0247760B2 (en) | ||
| JPH0247759B2 (en) | ||
| JP3039623B2 (en) | Voice recognition device | |
| JPH0361956B2 (en) | ||
| JP2853731B2 (en) | Voice recognition device | |
| JPH0247758B2 (en) | ||
| JP2804265B2 (en) | Voice recognition method | |
| US5956677A (en) | Speech recognizer having a speech data memory storing speech data and a reference pattern memory storing partial symbol trains of words for recognition | |
| JPS62144200A (en) | Continuous voice recognition equipment | |
| JPH0636155B2 (en) | Pattern comparison device | |
| JP2792720B2 (en) | Voice recognition device | |
| JP2712856B2 (en) | Voice recognition device | |
| JP2870268B2 (en) | Voice recognition device | |
| JP3097134B2 (en) | DP matching method | |
| JPWO2003042648A1 (en) | Speech coding apparatus, speech decoding apparatus, speech coding method, and speech decoding method | |
| JPH0451037B2 (en) | ||
| JPH022159B2 (en) | ||
| JPH09305195A (en) | Voice recognition device and voice recognition method | |
| JPH049319B2 (en) | ||
| JPS6337398A (en) | Pattern comparator | |
| JPH0436400B2 (en) |