KR910007728B1 - 패턴인식장치 - Google Patents

패턴인식장치 Download PDF

Info

Publication number
KR910007728B1
KR910007728B1 KR1019880001872A KR880001872A KR910007728B1 KR 910007728 B1 KR910007728 B1 KR 910007728B1 KR 1019880001872 A KR1019880001872 A KR 1019880001872A KR 880001872 A KR880001872 A KR 880001872A KR 910007728 B1 KR910007728 B1 KR 910007728B1
Authority
KR
South Korea
Prior art keywords
data
digital
circuit
output
partial product
Prior art date
Application number
KR1019880001872A
Other languages
English (en)
Other versions
KR880010371A (ko
Inventor
히로시 시게하라
Original Assignee
가부시키가이샤 도시바
아오이 죠이치
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by 가부시키가이샤 도시바, 아오이 죠이치 filed Critical 가부시키가이샤 도시바
Publication of KR880010371A publication Critical patent/KR880010371A/ko
Application granted granted Critical
Publication of KR910007728B1 publication Critical patent/KR910007728B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition

Abstract

내용 없음.

Description

패턴인식장치
제1도는 종래 패턴인식장치에서의 연산부에 대한 구성을 나타낸 블럭도.
제2도는 종래장치에 사용되는 승산기의 회로도.
제3도는 종래장치에 사용되는 제곱회로의 회로도.
제4도는 본 발명에 따른 복합유사도방법을 사용하는 패턴인식장치를 음성인식장치에 적용시킨 경우의 전체구성을 나타낸 블럭도.
제5도는 제4도에 도시된 패턴인식장치의 특성데이터추출회로의 구성을 나타낸 도면.
제6도는 특성데이터추출회로에 의해 얻어지는 각 시간에서의 채널의 파워를 3차원적으로 나타낸 도면.
제7도는 제4도에 도시된 패턴인식장치의 연산부에 대한 구성을 나타낸 블럭도.
제8도는 제7도에 도시된 연산부의 상세한 구성을 나타낸 도면.
제9도는 제8도에 도시된 멀티플렉서의 구성을 나타낸 도면.
제10도는 제8도에 도시된 Y디코더와 부분곱생성회로에 대한 구성을 부분적으로 나타낸 도면.
제11도는 Y디코더의 입출력데이터와 부분곱생성회로의 입출력데이터사이의 관계를 나타낸 표.
제12도는 제8도에 도시된 연산부에 사용되는 기본클럭신호를 나타낸 도면.
제13도는 클럭사이의 관계를 나타낸 도면.
제14도는 제8도에 도시된 시프터의 출력데이터를 나타낸 도면.
제15a도 내지 제15z도와 제15a도 내지 제15f도는 제8도에 도시된 연산부의 동작을 설명하기 위한 타이밍챠트이다.
* 도면의 주요부분에 대한 부호의 설명
11 : 증폭기(수신수단) 12 : 특성데이터추출회로
13,74 : 제어회로 14 : RAM(특성데이터기억수단)
15 : 사전메모리회로 16 : 연산부(디지탈연산회로)
21 : 대역통과필터 22 : 전파정류기
23 : 대역통과필터 24 : 아날로그멀티플렉서
25 : 아날로그디지탈변환기 26 : 필터뱅크
29,32 : 독출회로(제1데이터선택회로)
30,33 : 독출회로(제2데이터선택회로)
31 : 데이터버스 34,54 : X레지스터(제1레지스터회로)
35,55 : Y레지스터(제2레지스터회로)
36 : 부분곱생성회로
37 : 시프트회로 38 : 디지탈가산기
39 : A레지스터(제3레지스터회로)
40 : 제 3 데이터선택회로(멀티플렉서)
49,50 : 독출회로 51 : 데이터비스
52,53,62 : 멀티플렉서 57 : 시프터
58A,58B : 전가산기 6,61,67,70,73 : 랫치회로
63 : Y디코더 81,88 : 익스클루시브오아게이트
82,83,85,86 : 앤드게이트 84 : 오아게이트.
본 발명은 디지탈신호처리에 의한 패턴인식장치에 관한 것으로, 특히 복합유사도방법(multiple similarity method)을 사용하는 패턴인식장치에 관한 것이다.
복합유사도방법을 사용하는 패턴인식장치는 예컨대 미합중국 특허 제 3,688,267호에 소개되어 있는 바, 이하 그 패턴인식장치에 대해 설명한다.
인식되는 패턴이 영역(R)상에서 정의되는 X의 함수이고 이 함수는 f(x)로 표시되는 것으로 가정하면, 입력패턴이 그래픽패턴인 경우 영역(R)는 2차원적 평면이고, x는 2차원적인 위치벡터를 나타내며, 함수f(x)는 위치(x)에서의 그래픽패턴의 농도(밀도)를 나타낸다. 또한, 입력패턴이 음성패턴인 경우에는 영역(R)은 시간축과 주파수축의 직교되는 2차 원평면으로 되고, x는 그 시간축과 주파수축의 직교하는 2차원 평면상의 위치벡터를 나타내며, 함수 f(x)는 음성신호의 주어진 시간 및 주파수에서의 음의 크기(loudness)를 나타낸다.
여기서, 함수 f(x)는 예컨대 M으로 한정되는 샘플링위치 [xr](1≤r≤M)에서의 f(x)의 값인 [f(xr)]로 근사화될 수 있고, 복합유사도측정치 S(k)(f)는 입력패턴벡터(f)와 소정의 표준패턴벡터(ø)를 사용하는 다음의 식(1)로 주어지게 된다.
Figure kpo00001
여기서 (f,ø(k)n)은 입력패턴벡터(f)와 표준패턴벡터(ø)의 내부곱을 나타내고,
f=[f(xr)]=[f(x1), f(x2), … f(xM)]T,
ø(k)n=[ø(k)n1, ø(k)n2, … ø(k)nM]T이며, 상기 k=1,2,3,…k[k는 음성인식필드에서 어휘에 포함된 단어수에 대응되는 카테고리(Category)의 수이다]이고, 상기 n=1, 2, 3, …N(N은 주어진 단어에 대한 표준패턴의 수에 대응되는 예컨대 1개의 카테고리에 대해 제공되는 표준패턴의 수)이다.
그리고, 복합유사도 S(k)(f)는 다음의 식(2)에 의해 표시되는 범위내에 있게 된다.
Figure kpo00002
또한, 복합유사도 S(k)(f)의 값이 1에 보다 근접하게 되면 입력패턴 f는 표준패턴
Figure kpo00003
과 유사한 패턴으로 간주할 수 있게 된다. 그리고 ε이 작은 정(+)의 수일 때에
Figure kpo00004
의 관계를 만족하게 되면, 입력패턴 f와 표준패턴 ø는 동일한 카테고리에 속하는 것으로 고려할 수 있게 된다.
또 상기 미합중국 특허 제 3,688,267호에서 ∥f∥는 카테고리에 관계없이 일정하게 된다. 그러므로
Figure kpo00005
의 값을 최대치로 하기 위한 k를 식(1)로부터 검출되게 되면 입력패턴 k번째 카테고리에 속하는 것을 판정할 수 있게 된다.
이하, 제1도를 참조해서
Figure kpo00006
을 산출함과 더불어
Figure kpo00007
이 최대한 되는 카테고리를 검출하는 회로에 대해 설명한다.
제1도는 미합중국 특허 제3,688,267호에서의 제2도에 도시된 회로와 실질적으로 동일한 것으로, 내부곱생성회로(91)는 표준패턴벡터(ø)와 입력패턴벡터(f)의 내부곱(f,ø(k)n)을 산출하여 그 산출생성된 내부곱을 제곱회로(92)에 공급하게 되고, 각 제곱회로(92)는 입력되는 내부곱을 제곱계산하게 된다. 이어 제곱내부곱은 가산기(93)에 공급되어 상호 가산되게 되고, 이 가산기(93)로부터의 출력이 최대치검출기(94)에 공급되게 되는 바, 이 최대치검출기(94)는 K의 출력단자(01, 02, …OK)를 갖추어 합이 최대인 카테고리에 대응하는 출력단자로부터 신호를 출력하게 된다.
그런데, 제1도에 도시된 회로에서는 다수의 하드웨어구성소자가 필요하게 된다는 불합리한 점이 있게 되는 바, 즉 제1도에 도시된 회로에서는 K×N개의 내부곱생성회로(91)와 K×N개의 제곱회로(92) 및 K개의 가산기(93)가 필요하게 된다. 또한, 상기 각 내부곱생성회로(91)는 승산기와 가산기로 구성되고, 각 제곱회로(92)는 승산기를 포함하여 구성되므로 결국 제1도에 도시된 종래의 장치에서는 최소한 M×K×N개의 승산기와 K×N+K개의 가산기가 필요하게 된다. 따라서, 예컨대 표준패턴의 수(N)가 10, 샘플링위치의 수(M)가 16, 어휘에서의 단어의 수(K)가 10인 경우에는 승산기의 총수는 1600(M×K×N=16×10×10=1600)으로 되고, 가산기의 총수는 110(K×N+K=10×10+10=110)으로 된다.
그리고, 상기 미합중국 특허 제3,688,267호에서 승산기(91)는 제2도에 나타낸 바와같이 연산증폭기(95)와 M개의 저항(R1∼RM) 및 궤환용 저항(RF)으로 이루어진 아날로그회로를 포함하여 구성되어 있고, 가산기(93)는 제2도에서의 저항(R1∼RM, RF)의 저항값을 모두 동일하게 설정함으로써 실현되며, 제곱회로(92)는 제3도에 나타낸 바와같이 다이오드(D)와 저항(2R, R)으로 구성되는 아날로그회로를 포함하여 구성되게 된다(상기 미합중국 특허 제3,688,267호의 제1b와 제3도 참조). 따라서 이와같은 회로를 사용하는 경우에는 예컨대 표준패턴의 수(N)와 샘플링위치의 수(M) 및 어휘에서의 단어수(K)가 각각 10, 16, 10이라면 승산기(91)와 가산기(93)에는 110개의 연산증폭기와 약 1900개의 저항이 필요하게 되고, 제곱회로(92)에는 10개의 저항(R)과 90개의 다이오드(D)가 필요하게 된다.
이와 같이 상기 미합중국 특허 제3,688,267호에 소개된 장치에서는 아날로그회로가 사용됨과 더불어 다량의 하드웨어소자가 필요하게 되므로 이러한 장치를 1개의 칩에다 집적화하기에는 어려움이 있게 된다.
또한, 상기 미합중국 특허 제3,688,267호에는 소개된 장치에서는 아날로그회로에 대한 회로조정이 곤란하게 되는 바, 예컨대 저항은 RF/Rr=ø(k)n(r=1, 2, …, M)이 산출되도록 설정되어야만 되므로 저항을 정밀하게 설정하는 것이 어렵게 되고, 또 아날로그회로의 경우에는 잡음여유, 오프셋트, 특성의 변동등과 같이 고려되고 조정되어야 하는 다수의 요소가 내포되어 있기 때문에 종래의 장치는 집적화에 적당치 않게 된다.
더욱이, 상기 미합중국 특허 제3,688,267호에 소개된 장치에서는 표준패턴 ø(k)n이 저항(R1∼RM)에 의해 설정되기 때문에 표준패턴의 변형시에는 100개의 저항(=10×10)의 저항값을 변경시켜야만 하는 바, 이는 패턴인식을 수행하는 장치의 적용성이 불량함을 의미하는 것이다. 따라서 종래의 장치는 음성인식에서와 같이 인식되는 어휘가 변화되는 것에 대한 적용에는 사용할 수 없게 되어 범용성이 없다는 결점이 있었다.
이에, 본 발명은 상기한 바와같이 종래장치에서의 제반 결점을 해소하기 위해 발명된 것으로, 하드웨어소자의 수를 감소시킬 수 있고 높은 적용성의 연산부를 갖춘 복합유사도방법을 사용하는 패턴인식장치를 제공함에 그 목적이 있다.
본 발명에 따른 복합유사도방법을 사용하는 패턴인식장치는 입력신호를 인가받는 수신회로(11)와, 이 수신회로(11)에 접속됨과 더불어 입력신호에 따라 입력패턴벡터(f)를 정의하는 특성데이터를 측정하는 특성데이터추출회로(12), 이 특성데이터추출회로(12)에 접속되어 특성데이터를 기억하는 특성데이터기억회로(14), 소정의 표준패턴벡터(ø)를 정의하기 위한 표준패턴데이터를 기억하는 사전메모리회로(15), 상기 특성데이터기억회로(14)와 사전메모리회로(15)에 접속됨과 더불어 복합유사도 방법에 근거하는 소정의 연산동작프로그램에 따라 특성데이터와 표준패턴데이터사이의 유사도연산을 수행하는 디지탈연산회로(16) 및, 이 디지탈연산회로(16)의 동작을 제어함과 더불어 그 디지탈연산수단(16)에서의 연산결과를 기초로 입력신호를 인식 및 판정하는 제어판정회로를 포함하여 구성되어 있다.
그리고 상기 디지탈연산회로(16)는 데이터를 전송하는 데이터버스(31)와, 상기 특성데이터기억회로(14)와 데이터버스(31)에 접속되어 특성데이터와 데이터버스(31)상의 데이터 및 소정의 정수(θ)중에서 어느 하나를 출력하는 제1데이터선택회로(29,32), 상기 특성데이터기억회로(14)와 사전메모리회로(15) 및 데이터버스(31)에 접속되어 상기 특성데이터와 데이터버스(31)상의 데이터 및 표준패턴데이터중에서 어느 하나를 출력하는 제2데이터선택회로(30,33), 상기 제1데이터선택회로(32)로부터의 출력데이터를 기억하는 제1레지스터회로(34), 상기 제2데이터선택회로(33)로부터의 출력데이터를 기억하는 제2레지스터회로(35), 소정의 승산알고리즘에 따라 상기 제1레지스터회로(34)와 제2레지스터회로(35)에 기억된 데이터의 부분곱(partial products)을 연속적으로 생성하여 출력하는 부분곱생성회로(36), 승산알고리즘에 따라 소정수의 비트씩 상기 부분곱생성회로(36)에서 연속적으로 출력되는 부분곱을 시프트시켜 그 시프트된 곱을 연속적으로 출력하는 시프트회로(37), 이 시프트회로(37)로부터 연속적으로 출력되는 데이터와 다른 데이터사이의 가산을 연속적으로 수행하여 그 가산결과를 상기 데이터버스(31)상으로 연속적으로 출력하는 디지탈가산기(38), 이 디지탈가산기(38)로부터의 출력데이터를 기억하는 제3레지스터회로(39) 및, 연산동작프로그램과 승산프로그램에 따라 상기 제3레지스터회로(39)의 기억데이터와 디지탈가산기로부터의 데이터중에서 하나를 선택하여 그 선택된 데이터를 다른 데이터로서 디지탈가산기(38)에 공급함으로써 그 디지탈가산기(38)가 부분곱의 누산동작을 수행하도록 하는 제3데이터선택회로(40)를 포함하여 구성되어 있다.
이와 같이 구성되는 본 발명에 따른 패턴인식장치에서는 후술하는 바와같이 복합유사도방법을 수행하게 되는 바, 먼저 제1데이터선택회로(32)는 특성데이터를 선택해서 제1레지스터회로(34)에 기억시키고, 제2데이터선택회로(32)는 표준패턴데이터를 선택해서 제2레지스터회로(35)에 기억시키게 되는데, 여기서 특성데이터와 표준패턴데이터는 벡터이면서 다수의 벡터성분(스칼라량)으로 분해되게 된다.
그리고, 상기 제1, 제2레지스터회로(34,35)에 기억된 동일벡터성분의 부분곱이 부분곱생성회로(36)에 의해 산출되고, 이렇게 산출된 부분곱은 필요에 따라 시프트회로(37)에 의해 소정수의 비트씩 시프트되며, 상기 시프트회로(37)로부터의 출력은 디지탈가산기(38)의 한 입력단자에 입력데이터로서 인가되게 된다. 또한, 상기 디지탈가산기(38)로부터의 출력데이터는 그 다른 입력데이터로서 궤환공급되게 되고, 상기 디지탈가산기(38)는 상기 양측 데이터의 합을 산출해서 부분곱을 연산해내게 되는 바, 이와같이 해서 특성데이터(입력패턴벡터)의 내부곱과 하나의 표준패턴데이터(하나의 표준패턴벡터)가 산출되게 된다.
이어, 상기와 같이 산출된 내부곱은 데이터버스(31)를 통해 제1 및 제2레지스터(34,35)에 기억되고, 이러한 내부곱산출과 동일한 방법으로 부분곱의 누산이 수행되어 그 제곱값이 제3레지스터회로(39)에 기억된다.
그후, 제1데이터선택회로(32)는 재차 특성데이터를 선택해서 제1레지스터(34)에 기억시키고, 제2데이터선택회로(33)는 선행의 카테고리와 동일한 카테고리에 속하는 다른 표준패턴데이터를 선택해서 제2레지스터회로(35)에 기억시키게 된다. 이후 상기한 바와 동일한 방법으로 양데이터의 내부곱을 산출해낸 다음 내부곱의 제곱산출을 마찬가지로 수행하게 되는데, 이러한 제곱의 산출중에 새로운 제곱값이 제3레지스터회로(39)에 기억된 제곱값에 가산된 다음 그 합이 다시 제3레지스터회로(39)에 기억된다. 또 동일카테고리에서 표준패턴데이터에 대한 제곱값이 산출되어 제3레지스터회로(39)에 기억된 값에 가산되고, 동일카테고리에서의 모든 표준패턴데이터에 대한 제곱연산이 종료된 다음 그 제곱값의 누산값이 산출되게 된다.
따라서, 본 발명에서는 패턴인식이 디지탈처리에 의해 수행되게 되므로 본 발명에 따른 패턴인식장치에서는 별도의 조정작업이 필요없게 된다. 또한, 동일한 하드웨어소자가 시분할방법으로 여러가지 연산동작에 사용되게 되므로 하드웨어를 구성하는 소자수가 감소되게 되고, 표준패턴의 수도 자유롭게 변경시켜 줄 수 있게 되어 매우 높은 적용성을 가질 수 있게 된다.
이하, 본 발명에 따른 복합유사도방법을 사용하는 특성데이터에 대해 예시도면을 참조하여 상세히 설명한다.
제4도는 본 발명에 따른 특성데이터의 전체 구성을 나타낸 것으로, 음성인식장치로서 기능하도록 적용한 일례에 관한 것이다.
제4도에 있어서, 마이크로폰을 통해 입력되는 음성신호(아날로그신호)는 증폭기(11)에 인가되어 증폭되고, 이 증폭된 음성신호는 특성데이터추출회로(12)에 인가되게 된다. 그리고, 이 특성데이터추출회로(12)는 입력신호로부터 입력패턴벡터를 이루는 특성데이터를 추출하게 되는 바, 이러한 특성데이터추출회로(12)는 제5도에 나타낸 바와같이 다수채널의 필터뱅크(26; filter bank)와 이들 필터뱅크(26)로부터의 출력중에서 하나를 선택하는 아날로그멀티플렉서(24) 및 아날로그/디지탈(A/D)변환기(25)로 구성되어 있다. 그중 각 필터뱅크(26)는 대응하는 주파수범위에서 입력신호의 파워(power)를 검출해서 그 검출된 파워를 출력하게 되는데, 이러한 한 챈널의 필터뱅크(26)는 대역통과필터(BPF; 21)와 전파정류기(RECT; 22) 및 저역통과필터(LPF; 23)로 구성되어 있다.
이어, 상기 특성데이터추출회로(12)의 출력은 제어회로(13)에 인가되게 되는 바, 이 제어회로(13)는 소정의 제어프로그램과 복합유사도방법에 기초하는 패턴인식에 따른 프로그램이 기억된 ROM과 ROM에 기억된 프로그램에 따라 동작하게 되는 CPU를 포함해서 구성되어 있다. 또 이 제어회로(13)는 버스(17)를 통해 RAM(14)과 사전메모리회로(15) 및 디지탈연산회로인 연산부(16)에 접속되어, RAM(14)에다 특성데이터를 저장하게 된다.
그리고, 상기 사전메모리회로(15)는 어휘에서의 단어(K; K는 카테고리의 수)에 대한 표준패턴벡터를 이루는 표준패턴데이터를 기억하게 되는 바, 이 표준패턴(N; N은 각 카테고리에 대한 표준패턴벡터의 수)은 어휘에서의 각 단어에 대해 제공되게 된다.
또, 디지탈연산회로인 연산부(16)는 제어회로(13)의 제어하에 특성 데이터기억회로로서의 RAM(14)과 사전메모리회로(15)를 억세스하여 특성데이터와 표준패턴데이터를 인가받은 다음, 그 인가받은 데이터를 사용하는 복합유사도방법에 기초해서 유사도연산을 수행하여 그 연산결과를 버스(17)를 경유해서 제어회로(13)에 전송해 주게 된다.
또, 제어회로(13)는 상기 디지탈연산회로인 연산부(16)로부터 전송된 연산결과를 사용하여 최대치검출과 같은 한정작업을 수행하여 그 한정결과에 응답해서 "인식(recognize)", "기각(reject)" 또는 "모순(conflict)"와 같은 인식결과를 출력하게 되는데, 여기서 "기각"은 입력패턴과 부분 표준패턴과의 유사도가 어느 것도 소정값 이하이여서 입력패턴이 어떠한 표준패턴과도 유사하지 않은 경우를 의미하고, "모순"은 입력패턴과 표준패턴과의 유사도중 2이상의 표준패턴과의 유사도가 소정값을 초월하여 입력패턴과 표준패턴이 유사한지의 여부를 판단하기 어려운 경우를 의미한다.
한편, 상기 특성데이터추출회로(12)는 증폭기(11)의 출력이 A/D변환된 다음 그 디지탈데이터가 디지탈필터에 의해 주파수분석되도록 구성해 줄 수도 있게 된다.
제6도는 특성데이터추출회로(12)에서 얻어지는 각 시간에서의 각 챈널의 입력신호에 대한 파워를 3차원적으로 나타낸 것으로, 제6도에서 챈널들은 주파수에 대응되게 설정되어 있고, 챈널의 수는 S, P샘플링위치는 시간축을 따라 구분되어 있다. 여기서 샘플링위치의 수(P)와 챈널의 수(S)가 무한정으로 증가되면 곡면(curved plane)은 3차원공간에서 정의되게 되고, 이 곡면은 특성패턴[즉, 입력패턴 f(x)]에 대응된다. 실제로, 챈널의 수(S)와, 샘플링위치의 수(P)는 한정되는 수이므로 곡면f(x)는 주파수축을 따른 챈널의 격자점과 시간축을 따르는 샘플링위치 S·P에서의 파워값에 의해 이산되는 상태로 되고, 이렇게 이산되는 곡면 f(x)는 상기 식(1)에서의 벡터 f가 된다. 이 경우,
Figure kpo00008
여기서, T는 전체행렬(transpose matrix)임을 나타내는 것이다.
또한, 사전메모리회로(15)에 기억된 각 표준패턴벡터 ø(k)n은
Figure kpo00009
을 다수번 사용하여 성립된다.
Figure kpo00010
그리고, 복합유사도는 다음의 식(4)에 의해 정의되게 된다.
Figure kpo00011
한편, 디지탈연산회로인 연산부(16)는 다음의 식(5)와 식(6)의 연산동작을 수행하게 된다.
Figure kpo00012
제7도에는 디지탈연산회로인 연산부(16)의 상세한 구성이 도시되어 있는 바, 이 제7도에서 제 1데이터선택회로인 독출회로(29)는 RAM(14)에 기억된 특성데이터를 독출하게 되고, 독출회로(30)는 사전메모리회로(15)에 기억된 표준패턴데이터를 독출하게 되며, 상기 독출회로(29)로부터의 출력데이터 f(xr)과 데이터버스(31)상의 데이터 및 정수데이터 θ는 제1데이터선택회로인 멀티플렉서(32)에 인가되어 하나의 입력데이터만이 선택되는 한편, 상기 독출회로(29)로부터의 출력데이터 f(xr)과 상기 독출회로(30)로부터의 출력데이터 ø(k)(xr) 및 데이터버스(31)상의 데이터는 멀티플렉서(33)에 인가되어 하나의 입력데이터만이 선택되고, 이어 상기 멀티플렉서(32)로부터의 출력데이터는 제1레지스터회로로서의 X레지스터(34)에 기억되는 반면 상기 멀티플렉서(33)로부터의 출력데이터는 제2선택회로로서의 Y레지스터(35)에 기억되게 되며, 상기 X, Y레지스터(34,35)의 기억데이터는 부분곱생성회로(36)에 인가되게 된다.
그리고, 부분곱생성회로(36)에서는 소정의 승산알고리즘에 따라 부분곱을 생성하게 되는데, 이렇게 부분곱생성회로(36)에서 생성된 부분곱은 시프트회로(37)에 인가되어 시프트회로(37)에 의해 승산알고리즘에 따라 시프트되게 된다. 예컨대, 상기 시프트회로(37)의 승산알고리즘이 가산기어레이방법에 대응된다면 부분곱은 (i-1)비트(i는 i번째의 부분곱을 나타냄)씩 시프트되게 되고, 시프트회로(37)의 승산알고리즘이 부스(Booth)알고리즘에 대응된다면 부분곱은 2-(i-1)비트씩 시프트되게 된다. 이어 상기 시프트회로(37)의 출력데이터는 후술하는 제3데이터선택회로인 멀티플렉서(40)의 출력데이터와 더불어 디지탈가산기(38)에 의해 상호 가산되게 되고, 이 디지탈가산기(38)의 출력데이터가 제3레지스터회로인 A레지스터(39)에 기억되게 된다.
그후, 상기 A레지스터(39)와 디지탈가산기(38)의 출력데이터중 어느 하나가 멀티플렉서(40)에 의해 선택되어 상기 디지탈가산기(38)에 궤환인가되고, 디지탈가산기(38)로부터 출력이 데이터버스(31)상에 출력되게 된다. 또 타이밍생성회로(41)는 각 회로부에 동작타이밍을 나타내는 신호를 공급하게 된다.
다음, 제7도에 도시된 디지탈연산회로인 연산부(16)의 동작을 상세히 설명한다.
입력패턴벡터 f와 표준패턴벡터 ø(k)n은 디지탈연산회로에서 직접 계산할 수는 없기 때문에 이들 벡터는 미리 M벡터성분(스칼라량)으로 분해된 다음 동일 벡터성분이 연산동작의 대상으로 되게 된다.
먼저 디지탈가산기(38)는 제1카테고리에 속하는 제1표준패턴벡터의 제1성분 ø(1)11과 입력패턴벡터 f의 제1성분 f1의 곱을 얻어내기 위한 계산을 수행하게 된다. 이어 멀티플렉서(32)는 입력패턴벡터 f의 제1성분 f(x1)을 선택하게 되는 반면 멀티플렉서(33)는 제1카테고리의 제1표준패턴벡터의 제1성분 ø(1)11을 선택하게 되고, 이렇게 선택된 각 성분들은 X, Y레지스터(34,35)에 각각 기억되게 된다.
그리고, 부분곱생성회로(36)에서는 입력패턴벡터와 표준패턴벡터의 제1성분에 대한 제1부분곱을 생성해서 시프트회로(37)에 인가하게 되는데, 이때 시프트회로(37)에서는 제1부분곱을 시프트시키지 않고서 디지탈가산기(38)에 공급해 주게 된다.
또, 초기상태에서 디지탈가산기(38)의 출력데이터는 "0"으로 되고, 이 데이터"0"은 멀티플렉서(40)을 통해 상기 디지탈가산기(37)의 다른 입력단자에 인가되게 되므로 디지탈가산기(38)에서는 데이터 "0"에 제1부분곱을 가산하여 그 합을 멀티플렉서(40)를 통해 디지탈가산기(38)에 궤환하게 된다.
상기 디지탈가산기(38)에서 가산동작이 수행되는 경우 부분곱생성회로(36)에서는 제2부분곱을 생성하게 되고, 이렇게 생성된 제2부분곱은 시프트회로(37)에서 승산알고리즘에 따른 복수의 비트씩 시프트되어 디지탈가산기(38)에 입력되게 되며, 디지탈가산기(38)에서는 멀티플렉서(40)를 통해 입력되는 데이터와 시프트된 제2부분곱을 가산하게 되고, 그 가산결과의 합이 멀티플렉서(40)를 통해 상기 디지탈가산기(38)에 다시 공급하게 된다.
계속해서, 부분곱의 연산동작이 소정 횟수만큼 반복수행되어 제1성분의 곱 f1×ø(1)11이 계산되게 되고, 이어 벡터성분 f2와 ø(1)12가 X, Y레지스터(34,35)에 셋트되게 되는데, 이러한 부분곱을 얻기위한 동작이 반복수행되어 그 부분곱이 누산되게 된다. 그리고, fM×ø(k)1M의 연산동작이 종료된 다음 입력패턴과 하나의 표준패턴사이의 내부곱
Figure kpo00013
이 계산되어 데이터버스(31)상으로 출력되게 된다.
이어, 멀티플렉서(32,33)가 데이터버스(31)상의 내부곱을 선택하여 X, Y레지스터(34,35)에 기억시킨 다음, 상기한 바와 동일한 동작에 의해 상기 내부곱들의 승산이 이루어지게 되는 바, 이러한 동작에 따라 제1카테고리의 제1표준패턴벡터 ø(1)1과 입력패턴벡터 f의 내부곱에 대한 제곱
Figure kpo00014
이 계산된 다음 A레지스터(39)에 기억되게 된다.
그리고, 제1카테고리에서의 제2표준패턴 ø(1)2와 입력패턴 f사이의 내부곱은 상기한 바와 동일한 동작에 의해 계산됨과 더불어 내부곱의 제곱이 계산되며, 이어 A레지스터(39)에 저장된 데이터는 디지탈가산기(38)의 다른 입력단자에 공급되어 제1부분곱에 가산된 다음, 그 디지탈가산기(38)로부터의 출력이 그 디지탈가산기(38)의 다른 입력단자에 궤환되어 부분곱으로 누산되게 된다. 이에 따라 내부곱의 제곱을 계산해내는 처리를 수행하는 동안 A레지스터(39)에 저장된 제곱치와 새로이 계산되는 제곱치가 디지탈가산기(38)에서 가산되어, 그 합이 A레지스터(39)에 다시 기억된다.
한편, 내부곱의 제곱누산결과는 A레지스터(39)에 기억되고, 상기 식(5)에 의해 주어지는 S(k)(f)와 같은 동일카테고리에서 N표준패턴에 대한 제곱치의 누산값은 데이터버스(31)와 버스(17)를 경유해서 제어회로(13)에 보내지게 되며, 이어 상기한 바와 동일한 연산동작이 다른 카테고리에 대해 반복수행되게 된다.
또, 상기 식(6)에서
Figure kpo00015
의 연산동작은 다음과 같이 수행된다. 즉, 벡터 f의 동일벡터성분에 대한 곱은 상기한 바와 동일한 방법으로 계산되고, 이렇게 계산된 곱은 벡터 f와 벡터 f의 내부곱을 얻기위해 누산되어 그 결과가 Y레지스터(35)에 기억되는 한편, X레지스터(34)에는 정수데이터(θ)가 기억되며, 이어 내부곱과 정수데이터(θ)의 곱이 계산되어 그 결과인 θ∥f∥2가 데이터버스(31)를 통해 제어회로(13)에 전송되게 된다.
여기서, θ∥f∥2의 값이 소정치를 초과하게 되면 제어회로(13)는 S(k)(f)의 값을 사용해서 최대값 검출과 같은 한정동작을 수행하게 되는 반면 θ∥f∥2의 값이 소정치보다 작다면 제어회로(13)는 한정동작을 수행하지 않고 "기각" 또는 "모순"을 나타내는 데이터를 출력하게 된다.
그리고, 본 실시예에서는 내부곱의 계산이라던지, 내부곱의 제곱계산, 내부곱의 제곱치누산 및 입력패턴의 ∥f∥2등은 상기 제7도에 나타낸 바와 같은 하드웨어를 사용하여 수행되게 되므로 유사도계산은 작은 수의 하드웨어를 사용하여 수행할 수 있게 되고, 또 연산동작에 제7도에 나타낸 하드웨어소자를 사용하여 파이프라인(pipeline)방법으로 실행되게 되어 유사도계산이 고속으로 수행될 수 있게 되며, 연산부(16)를 디지탈회로로 구성할 수 있게 되므로 조정이 불필요하게 되어 집적회로에 적합하게 된다.
다음, 제7도에 나타낸 승산회로의 구성을 제8도에 보다 상세히 도시해 놓았는 바, 제8도를 참조하여 상기 승산회로에 대해 설명한다.
이 제8도에 도시된 회로에서 2차부스알고리즘(secondary Booth's algorithm)이 승산알고리즘으로서 사용되고, 또 2개의 가산기가 파이프라인적인 계산을 위해 사용된다.
이 경우, 입력패턴벡터(f)와 표준패턴벡터 ø(k)n의 각 성분은 16비트데이터로 이루어져 있다.
여기서, 산술부의 구성을 설명하기에 앞서 제12도를 참조해서 기본 클럭신호를 설명하면, 연산부는 2개 위상의 기본클럭신호(ø1,ø2)를 사용하게 되는데, 상기 기본클럭신호(ø2)는 클럭신호(ø1)와 동일한 주기를 가지면서 1/2비트정도 시프트되게 된다. 또, 클럭신호{Ti}(i=1∼10)는 기본클럭신호(ø1,ø2)를 기초로 구성되고, 클럭신호(T1∼T10)의 펄스폭은 클럭신호(ø2)의 주기와 동일하게 되어 있으면서, 이들 신호들은 기본클럭신호(ø2)와 동기되어 있다.
그리고, 클럭신호(T1∼T8)의 주기는 예컨대 한 구간에서 1주기는 8클럭으로 구성되면서 다른 구간에서 1주기는 10클럭으로 구성되고, 클럭신호(T9,T10)의 각 주기는 10클럭으로 구성되는데, 이러한 예가 제13도에 도시되어 있다.
즉, 제13도에 도시된 바와 같이 신호(Ti)의 8클럭은 fM-1×ø(k)nM-1의 연산동작시까지 1주기를 이루어 클럭(T1∼T8)이 출력되고, 또 fM×ø(k)nM의 연산동작과 내부곱의 제곱계산중 클럭신호(Ti)의 1주기는 10펄스로 구성되어 클럭(T1∼T10)이 출력된다.
제12도와 제13도에서 펄스신호(W1∼WM+1)는 신호(Ti)의 주기와 동일한 펄스폭을 갖는 펄스신호로서 신호(ø2)(T1)와 동기되어 있고, 제13도에 나타낸 바와 같이 신호(Ti)의 1주기가 10클럭으로 이루어지는 경우 신호(WM,WM+1)가 출력되는 한편 펄스신호(W1∼WM-1)는 신호(Ti)의 1주기가 8클럭으로 구성되는 경우 출력되며, 상기 제13도에서의 FI(I=1∼N)는 신호(W1∼WM+1)에 대응되는 펄스폭을 갖는 펄스신호로서 신호(ø2)(T1)와 동기되어 있다.
이어, 제8도에 도시된 회로구성에 대한 동작을 상세히 설명한다.
데이터버스(51)는 16비트로 구성되면서 제7도에서의 데이터버스(31)에 대응되고, 독출회로(49,50)는 제7도에서의 독출회로(29,30)에 대응되게 구성되며, 멀티플렉서(52)는 제어신호(C1)에 응답해서 상기 독출회로(49)의 출력데이터 f(X2)와 데이터버스(51)상의 데이터 및 정수데이터(θ)중의 어느 하나를 선택출력해주는 것으로 상기 멀티플렉서(32)에 대응된다. 또, 멀티플렉서(53)는 제어신호(C2)에 응답해서 상기 독출회로(49)의 출력데이터 f(Xr)와 독출회로(50)의 출력데이터 ø(k)n(Xr; ø(k)nr) 및 데이터버스(51)상의 데이터중 어느 하나를 선택해서 출력해 주는 것으로서 상기 멀티플렉서(33)에 대응되게 되고, X레지스터(54)는 상기 X레지스터(34)에 대응되면서, 펄스(XL; T1·ø1)에 동기되어 멀티플렉서(53)의 출력데이터를 랫치시켜 주는 반면, Y레지스터(55)는 상기 Y레지스터(35)에 대응되면서 펄스(YL; T1·ø1)에 동기되어 멀티플렉서(53)의 출력데이터를 랫치시켜주게 된다.
이어, 상기 X레지스터(54)의 출력데이터는 클럭신호(ø2)에 동기되어 동작되는 랫치회로(61)에 공급되고, 이 랫치회로(61)의 출력(AX)은 상기 부분곱생성회로(36)에 대응되는 부분곱생성회로(56)에 인가된다. 또 상기 Y레지스터(55)의 출력데이터는 클럭신호(Ti'=i=1∼8)에 의해 제어되는 멀티플렉서(62)에 인가되는데, 상기 클럭신호(Ti')는 클럭신호(Ti)를 클럭신호(ø2; 1/2주기 지연되는)의 1/2비트정도 지연시켜 줌으로써 얻어지게 된다. 그리고 멀티플렉서(62)는 Y레지스터(55)에 저장된 데이터의 인접된 3비트를 선택해서 출력시키게 되는데, 이 멀티플렉서(62)의 출력데이터는 2차부스알고리즘에 따라 입력신호를 디코드시키는 Y디코더(63)에 입력되고, Y디코더(62)로부터의 3비트 데이터는 클럭신호(ø2)에 동기되어 동작하게 되는 랫치회로(64)에 인가되며, 이 랫치회로(64)의 출력(AY)은 부분곱생성회로(56)에 입력된다.
이어, 부분곱생성회로(56)는 데이터(AX,AY)로부터 17비트부분곱[(PP)i]을 생성해 내게 되고, 또 승산기는 16비트로 되어 있으면서 부스알고리즘을 채용하게 된다. 그러므로, 8부분곱(PP)i가 최종적으로 생성되게 되는데, 이 8부분곱은 [(PP)i; i=1∼8]으로 표시되게 된다. 또 부분곱생성회로(56)에 의해 생성된 17비트부분곱(PP)i와 랫치회로(64)로부터의 캐리신호(CA)는 신호(LOOPO)를 제어하는 시프터(57)에 입력되는데, 이 시프터(57)는 부분곱시프트회로(37)에 대응되는 것으로, 입력부분곱(PP)i를 2차부스알고리즘에 따라 시프트시켜 부분곱을 (PP)i×2i-1의 형태로 변환시킴과 더불어 그에 코드연장비트를 가산하게 되고, 또한 캐리데이터(CA)를 CA×2i-1의 형태로 변환시키게 된다.
이어, 시프터(57)로부터 출력되는 데이터의 캐리(C)와 하위 18비트(FixL)는 클럭신호(ø1)에 동기되어 동작하게 되는 랫치회로(65)에 인가되고, 이 랫치회로(65)의 출력은 전가산기(58A)의 단자(EL)에 인가된다.
이때 상기 전가산기(58A)의 단자(GL)에는 클럭신호(ø1)에 동기되어 동작하게 되는 랫치회로(66)의 출력이 인가되게 되고, 이 전가산기(58A)의 출력은 클럭신호(ø2)에 동기되어 동작하게 되는 랫치회로(67)에 인가됨과 더불어 클럭신호(øLL)에 동기되어 동작하게 되는 랫치회로(59A)에 인가되는데, 이 경우 랫치회로(67)는 리셋트신호로서 제어신호(ZEROH)를 인가받게 된다. 또, 상기 랫치회로(59A,67)의 출력은 스위치(SW1,SW2)를 통에 랫치회로(66)에 데이터(BL)로서 공급되는 한편 랫치회로(59A,67)로부의 캐리데이터는 클럭신호(ø1)에 동기되어 동작하게 되는 랫치회로(72)에 인가된다.
그리고, 시프터(57)에서 출력되는 데이터의 상위18비트(FixH)는 클럭신호(ø1)에 동기되어 동작하게 되는 랫치회로(68)에 인가되고, 이 랫치회로(68)의 출력은 클럭신호(ø2)에 동기되어 동작하게 되는 랫치회로(69)에 인가되며, 이 랫치회로(69)의 출력은 클럭신호(ø1)에 동기되어 동작하게 되는 랫치회로(70)에 인가되고, 이 랫치회로(70)의 출력은 18비트 전가산기(58B)의 단자(EH)에 인가된다. 이때 전가산기(58B)의 단자(GH)에는 클럭신호(ø1)에 동기되어 동작하게 되는 랫치회로(71)의 출력이 인가됨과 더불어 캐리입력단자에는 래치회로(72)의 출력이 인가되게 된다. 이어 상기 전가산기(58B)의 출력데이터는 클럭신호(ø2)에 동기되어 동작하게 되는 랫치회로(73)에 인가됨과 더불어, 클럭신호(øLH)에 동기되어 동작하게 되는 랫치회로(59B)에 인가되는데, 이 랫치회로(73)는 리셋트신호로서 제어신호(ZEROH)를 인가받게 된다. 또 이들 랫치회로(59B,73)의 출력은 스위치(SW3, SW4)를 통해 랫치회로(71)에 데이터(BH)로서 인가되면서, 상기 랫치회로(73)의 출력은 스위치(SW5)를 통해 데이터버스(51)상에 출력된다. 여기서, 상기 스위치(SW1∼SW5)에는 제어신호(CSW1∼CSW5)가 인가되는 한편, 상기 클럭신호와 타이밍펄스 및 제어신호들은 타이밍제어신호[74 ; 제어회로(3)에서 공급될 수도 있음]에서 공급되게 된다.
또, 상기 랫치회로(59A,58B)는 제7도에서의 A레지스터(39)에 대응되고, 스위치(SW1∼SW4)는 멀티플렉서(40)에 대응된다. 또, 가산기(58A,59B)는 가산기(38)에 대응되는데, 여기서 가산기(58A)는 가산기(38)의 하위비트계산에 적용되고, 가산기(58B)는 가산기(38)의 상위비트계산에 적용된다.
그리고, 제8도에 도시된 회로에서 상기 전가산기(58A,58B)로부터의 가산출력중 상위가산기(58B)의 출력만이 데이터버스(51)상에 출력되는 반면 하위가산기(58A)로부터의 출력은 데이터버스(51)상에 출력되지 않게 된다. 즉 가산기(58A)의 출력값은 전체 가산결과에 비해 매우 작기 때문에 하위가산기의 출력이 버려지게 된다.
제9도는 제8도에 도시된 멀티플렉서(62)의 상세한 구성을 나타낸 것으로, 이 멀티플렉서(62)는 Y레지스터(55)의 16비트출력중 인접한 3비트(y2i,y2i+1,y2i+2,; i=0,1,2,…,7)를 펄스신호(Ti; i=1∼8)에 응답해서 선택출력하게 된다.
제10도는 부분곱생성회로(56)의 j번째 구성(56j)과 Y디코더(63)의 구성을 나타낸 것으로, 이 Y디코더(63)는 익스클루시브오아게이트(81)의 2개의 앤드게이트(82,83) 및 오아게이트(84)로 구성되면서 이 Y디코더(63)에서는 3비트데이터(y2i,y2i+1,y2i+2)를 기초로 신호(A,B,C)를 출력해 주게 되고, 부분곱생성회로(56j)는 2개의 앤드게이트(85,86)와 익스클루시브오아게이트(88)로 구성되면서, 이 부분곱생성회로(56j)는 랫치회로(61)에 랫치된 16비트데이터의 비트데이터(xj-1,xj)를 인가받아 부분곱의 j번째 비트데이터(PPi)j와 캐리(CA)를 출력해 주게 된다. 여기서 x0="0",x17(코드연장비트)=16으로 되어 있고, 부분곱생성회로(56)는 17비트데이터를 출력하게 된다.
제11도는 Y디코더(63)의 입출력데이터와 부분곱생성회로(56)의 출력데이터사이의 관계를 나타낸 것으로, 상기 제10도에 나타낸 회로에서 부분곱(PP)i가 -X 또는 -2X와 y2i=y2i+1=y2i+1="0"인경우 부분곱(PP)i는 1의 보수형태로 출력되고, 이때문에 출력부분곱을 본래의 값으로 회복시켜 주기 위해서는 부분곱(PP)i의 LSB[하위비트(바이트)]에다 "1"을 가산하여 2의 보수형태로 변환하게 된다. 이러한 목적으로 본 실시예에서는 부분곱(PP)i와 캐리(CA)가 후술하는 바와 같이 가산동작에서 전가산기(58A)에 의해 상호가산되게 된다.
또, 시프터(57)는 2차부스알고리즘에 따라 2(i-1)정도로 입력부분곱(PP)i를 시프트시키게 된다. 제14도에는 상기 시프터(57)의 출력신호가 나타내어져 있는 바, 이 제14도에서 시프터(57)의 출력데이터는 36비트인 것으로 가정한 것이다. 또, 시프터(57)는 캐리(CA)를 2(i-1)비트씩 시프트시키게 된다. 또한 제14도에서 우측에 도시된 T1∼T8은 좌측에 도시된 변형부분곱(PP)i와 캐리(CA)가 이들 펄스신호에 의해 정의되는 타이밍에서 출력되는 상태를 의미하고, 시프터(57)에 출력되는 제어신호(LOOPO)는 강제적으로 그 시프터(57)의 출력을 "0"으로 셋트시켜 주게 된다.
이하, 제8도에 도시된 구성에 의한 상기 식(5)와 식(6)의 연산 수행동작을 제15a도 내지 제15a도와 제15a도 내지 제15f도를 참조해서 설명한다.
제15a도 내지 제15z도는 주로 펄스(FI)의 제1, 제2부분을 나타내는데, 이 펄스(FI)는 n=I의 경우에 ∑(fi×ø(k)I)로 계산되는 지속기간을 갖게 된다. 또 제15a도 내지 제15f도는 제13도에 나타낸 타이밍과 동일한 타이밍을 정의하고 있다.
그리고, 독출회로(49,50)는 RAM(14)으로부터의 입력패턴벡터(f)의 제1성분 f1{=f(X1)}을 독출해냄과 더불어 사전메모리회로(15)로부터 K번째 카테고리에서의 표준패턴벡터 ø(1)I(X1)의 제1성분 ø(k)I1{=
Figure kpo00016
I(X1)}를 독출해내게 되고, 제어신호(C1)에 응답해서 멀티플렉서(52)는 입력패턴벡터(f)의 성분 f1을 선택하게 되며, 멀티플렉서(53)는 제어신호(C2)에 응답해서 표준패턴벡터 ø(k)의 제1성분 ø(k)I1을 선택하게 된다. 이어, 이렇게 선택된 성분들은 각각 X, Y레지스터(54,55)에 공급됨에 따라 X, Y레지스터(54,55)는 제15f도와 g도에 도시된 펄스(XL,YL)에 동기되어 입력데이터를 랫치시킨 다음 제15h도와 i도에 도시된 타이밍에서 랫치된 데이터를 출력시켜 주게 된다.
또, 멀티플렉서(62)는 펄스신호(Ti')에 동기되어 Y레지스터(55)의 출력데이터에서 소정의 3비트(y0,y1,y2)를 선택하게 출력시키는 한편, Y디코더(63)는 제11도에 나타낸 관계에 따라 3비트데이터를 디코드해서 제15j도에 나타낸 타이밍으로 그 디코드된 결과를 출력해 주게 되고, 랫치회로(64)는 클럭신호(ø2)에 동기되어 상기 디코더(63)의 출력(YDEC)을 랫치한 다음 제15k도에 도시된 타이밍에서 그 랫치된 데이터를 출력시키게 된다.
또, 랫치회로(61)는 클럭신호(ø2)에 동기되어 X레지스터(54)로부터의 출력데이터를 랫치시킨 다음 제15l도에 도시된 타이밍에서 데이터(AX)로서 출력시키게 되는데, 이 데이터(AX,AY)는 부분곱생성회로(56)에 공급되고, 부분곱생성회로(56)에서는 17비트의 부분곱(PP)1을 생성해서 제15m도에 도시된 타이밍에서 출력시키게 된다.
이어, 생성된 부분곱(PP)1과 랫치(64)로부터의 캐리(CA)는 시프터(57)에 공급되고, 시프터(57)에서는 부분곱(PP)1과 캐리(CA)를 각각 2(i-1)비트정도 시프트시킨 다음 코드비트를 가산하게 되며, 이어 이 시프터(57)는 제15n도에 도시된 타이밍에서 캐리(CA)와 36비트데이터를 출력하게 된다.
그후 시프터(57)로부터 캐리(CA)와 36비트데이터중의 하위18비트(FixL)는 랫치회로(65)에 공급되게 되는데, 이때 제15r도와 s도에 도시된 바와 같이 신호(ZEROL,CSW1)가 활성화(Active)되어 랫치회로(67)가 리셋트됨과 더불어 스위치(SW1)는 턴온된다.
그리고 랫치회로(66)는 스위치(SW1)를 통해 데이터 "0"을 인가받게 되고, 이어 제15o도와 p도에 도시된 바와 같이 랫치회로(65,66)는 클럭신호(ø1)에 동기되어 입력데이터를 랫치시킨 다음 가산기(58A)에 데이터를 공급하게 되며, 가산기(58A)는 공급된 데이터를 가산하게 된다.
그리고, 그 가산결과가 출력될 때 신호(ZEROL)는 제15r도에 도시된 바와 같이 비활성화레벨로 되고, 랫치회로(67)는 클럭신호(ø2)에 동기되어 가산기(58A)로부터의 출력을 랫치하게 된다.
이어, 제15s도에 도시된 바와 같이 신호(CSW1)는 활성화레벨을 유지하게 되어 랫치회로(67)로부터의 출력데이터가 제15q도에 도시된 타이밍에서 데이터(BL)로서 랫치회로(66)에 공급되어지고, 가산기(58A)에서의 가산중에 생성된 캐리데이터가 랫치회로(72)에 인가되어 타이밍이 조정된다.
또, 시프터(57)로부터 출력되는 데이터의 상위18비트는 가산기(58B)에 의해 랫치회로(71)로부터의 데이터에 가산되고, 상위18비트데이터(FixH)가 공급되어지는 타이밍으로 캐리데이터(CR)가 가산기(58B)에 공급되어지는 타이밍을 조정해 주기 위해 상위비트(FixH)는 랫치회로(68,69)에 의해 지연된다.
이어 제15x도와 y도에 도시된 바와 같이 신호(CSW3,ZEROH)는 활성화레벨로 되어 랫치회로(71)는 스위치(SW3)에 의해 선택된 랫치회로(73)로부터의 데이터 "0"을 인가받게 되고, 제15t도 내지 제15v도에 도시된 바와 같이 캐리데이터(CR)와 상위 18비트데이터(FixH) 및 데이터(BH)는 클럭신호(ø1)에 동기되어 가산기(58B)에 공급되고, 가산기(58B)는 시프터(57)로부터 공급된 데이터(FixH)와 하위가산기(58A)로부터의 캐리(CR) 및 랫치회로(71)로부터의 랫치데이터 "0"을 가산하게 된다. 그리고, 제15y도에 도시된 바와 같이 그 가산결과가 출력되면 제어신호(ZEROH)는 비활성화레벨로 되어 가산기(58B)로부터의 가산결과가 랫치회로(73)를 통해 랫치회로(71)에 공급된다.
또, 데이터가 랫치회로(61,64)에 의해 랫치됐을 때부터 클럭의 1/2이 통과하는 것에 대응하는 간격후에 데이터는 하위가산기(58A)에 입력되고, 하나의 클럭이 통과하는 것에 대응하는 간격후에 하위비트가산이 완료되며, 또 1.5클럭에 대응하는 간격후에 데이터는 상위가산기(58B)에 공급되고, 그 클럭이 통과하는 것에 대응하는 간격후에 상위비트가산이 완료된다.
그리고, 입력데이터(BL)로서 제1부분곱(PP)1의 하위비트가산결과가 클럭신호(ø2)에 동기한 랫치회로(66)에 공급되었을 때, 랫치회로(61,64)는 후속데이터를 랫치시키고, 후속부분곱(PP)2는 부분곱생성회로(56)로부터 출력됨과 더불어 후속의 36비트데이터는 시프터(57)로부터 출력된다. 또 후속의 클럭신호(ø1)에 동기되어 제1가산결과의 하위비트는 (GL)입력으로서 전가산기(58A)에 공급되고, 후속부분곱(PP)2의 2비트 시프트된 데이터중에서 하위비트는 단자(EL)입력으로서 전가산기(58A)에 공급되므로, 전가산기(58A)는 부분곱(PP)2의 하위비트에 제1가산결과를 가산해 주게 된다.
여기서, 8부분곱이 하나의 벡터성분에 대해 나타나게 되므로 제1벡터성분에 대한 승산결과의 하위비트는 상기 가산루우프가 8회 실행된 다음 후속의 클럭신호(ø2)에 동기되어 얻어지게 되고, 하나의 클럭에 대응되는 시간이 경과된 다음 상위가산기(58B)에 의해 제1벡터성분에 대한 제1벡터성분의 승산결과의 상위비트가 얻어지게 된다.
또, 8클럭에 대응되는 시간이 경과되고 FIW2의 주기가 시작된 후, 독출회로(49,50)는 입력패턴 f의 제 2 성분 f(S2)(=f2)와 표준패턴
Figure kpo00017
의 제2성분
Figure kpo00018
를 읽어내어 각각 멀티플렉서(52,53)에 공급해 주게 되고, 멀티플렉서(53)는 표준패턴 ø(k)I2를 선택해서 그 선택된 데이터를 X, Y레지스터(54,55)에 공급해 주게 된다. 그후 주기(W1)와 동일한 동작이 반복수행되어 제2성분의 부분곱생성 및 누산이 수행되고, 누산값의 상위비트가 랫치회로(71)에 저장됨과 더불어 하위비트가 랫치회로(66)에 저장된다.
이와 같이 해서, 제8도에 나타낸 회로에서 부분곱은 이들 부분곱의 누산동작을 실행하기 위해 시프터(57)에 연속으로 공급되게 되고, X, Y레지스터(54,55)에서의 데이터가 갱신되어지는 주기는 8클럭에 대응되게 된다. 그러므로, W1∼WM의 각 주기가 펄스(T1∼T8)에 의해 구성되고, X, Y레지스터(54,55)에서의 데이터는 각 주기의 T1·ø1타이밍에서 갱신되어
Figure kpo00019
의 계산이 실행된다.
또, 내부곱의 제곱을 계산하기 위해 내부곱의 계산이 완료된 다음, 내부곱은 X, Y레지스터에 저장되어 상기와 동일한 계산이 실행되게 되고, 이 경우 최종벡터성분에 대한 상위비트의 승산이 완료되는데 10클럭이 필요하게 되므로 주기 WM은 10클럭으로 구성되게 된다.
그리고, 상위가산기(58B)가 최종가산치를 출력시킬 때 제15z도에 나타낸 바와 같이 신호(SCW5)가 출력되어 스위치(SW5)가 턴온되면서 제15a도에 나타낸 바와 같이 최종곱이 데이터버스(51)상으로 출력된다. 그리고, 타이밍제어회로(74)는 제15f도,g도에 나타낸 바와 같이 신호(XL,YL)를 출력시켜 내부곱을 X,Y레지스터(54,55)에 저장시키게 된다. 이어 부분곱들은 상기한 바와 동일한 방법으로 계속 생성되고, 이렇게 생성되는 부분곱은 시프트되게 된다.
한편, 신호(CSW2,CSW4)는 제15b도와 c도에 나타낸 타이밍에서 출력되고, 랫치회로(59A,59B)에 보존된 데이터(미리 얻어진 내부곱의 제곱치의 누산값)는 데이터(BL,BH)로서 각각 랫치회로(66,71)에 공급되며, 이어 제곱치의 누산값과 부분곱은 제곱치의 누산값을 얻도록 누산된다. 또 내부곱의 제곱치 누산값의 하위비트는 제15e도에 나타낸 신호(øLL)에 동기되어 랫치회로(59A)에 저장되는 한편 상위비트는 제15f도에 나타낸 신호(øLH)에 동기되어 랫치회로(59B)에 보존된다.
그리고, 독출회로(49,59)는 다음의 (I+2)번째 표준패턴벡터 ø(k)(I+1)의 성분과 입력패턴벡터 f의 성분을 읽어내어 (I+1)번째 표준패턴벡터및 입력패턴벡터의 내부곱을 계산하고, 이얼 내부곱의 제곱치 누산값이 계산되어 누산값의 하위비트가 랫치회로(59A)에 저장되는 한편 상위비트는 랫치회로(59B)에 저장되며, 이와 같이 동작이 반복실행되어 n=N인 경우에 계산이 완료될 때 대상으로 되는 카테고리에 관한 계산이 완료된다.
이어 제곱치의 최종누산값은 스위치(SW5)를 통하여 데이터버스(51)에 출력되어진 다음 버스영역(나타나지 않음)을 통하여 제1도에 도시된 제어회로(13)에 보내진다.
또, θ×∥f∥2의 계산은 이상에서 설명한 것처럼 내부곱(f,f)의 계산이 완료된 다음 그 내부곱의 결과와 정수 θ의 부분곱을 계산하여 수행하게 된다.
한편, 제12도, 제13도에 나타낸 타이밍챠트는 단지
Figure kpo00020
를 계산하는 과정을 설명하고 있지만, 다른 계산들도 그와 유사하게 수행된다.
그리고, 본 실시예에 따른 장치에서 N값은(즉, 펄스 F의 수) 표준패턴의 변경에 맞추어 변경될 수 있고, M은 입력패턴벡터의 차수변경(샘플링위치×챈널수)에 따라 변경시켜 줄 수 있게 되므로, 본 발명에 따른 실시예는 매우 높은 적용성을 갖추게 된다.
또한, 상기 실시예에서는 인식되는 패턴이 음성신호로 되어있지만 본 발명은 그래픽패턴을 인식하는 장치에도 유사하게 적용될 수 있게 된다. 또 패턴인식이 디지탈처리에 의해 수행되게 되므로 상기 실시예의 장치는 조정이 불필요하게 되고, 동일한 하드웨어소자가 시분할방법으로 여러가지 계산 에 사용되므로 하드웨어소자의 수를 감소시킬 수 있으며, 표준패턴의 수가 값(N)의 가감에 의해 변경될 수 있게 되므로 용이하게 그 표준패턴수를 변경시켜 줄 수 있게 되어 높은 적용성을 갖추게 된다.
또, 상기 제7도 또는 제8도에 나타낸 연산부가 이용되는 경우 전체 회로는 파이프라인처리를 기초로 동작하게 되어 고속처리가 가능해지게 되고, 부분곱이 2차부스알고리즘을 사용하여 얻어지게 되므로 고속의 처리가 실행되며, 2개의 가산기가 파이프라인방식으로 배열되어져 있어 고속처리가 가능해지게 된다. 또한, 이 경우 선택회로출력의 가산이 하나의 클럭주기네에서 수행될 수 있게 된다면 파이프라인구성을 적용시켜 줄 필요는 없게 된다.

Claims (10)

  1. 입력패턴신호를 인가받게 되는 수신수단과, 입력패턴을 복합유사도방법을 기초로 인식하게 되는 패턴인식수단으로 구성되면서, 상기 패턴인식수단은 상기 수신수단(11)에 접속되면서 입력신호에서 디지탈데이터로서의 특성데이터를 추출해서 입력패턴벡터 f를 정의해 주는 특성데이터추출수단(12)과, 상기 특성데이터추출수단(12)에 접속되면서 특성데이터가 기억되는 특성데이터기억수단(14), 소정의 표준패턴벡터 ø를 정의해 주는 표준패턴데이터가 기억되는 사전메모리수단(15), 상기의 특성데이터기억수단(14)과 사전메모리수단(15)에 접속되면서 복합유사도방법을 기초로 소정의 연산동작프로그램에 따라 특성데이터와 표준패턴데이터사이의 유사도계산을 수행하게 되는 디지탈연산수단(16) 및, 상기 디지탈연산수단(16)의 동작을 제어해 주면서 그 디지탈연산수단(16)으로부터의 계산결과와 복합유사도방법을 기초로 입력신호를 인식한정해 주는 제어/한정수단을 갖추어 구성되고, 상기 디지탈연산부(16)는 데이터를 전송해 주는 데이터버스수단(31)과, 상기 특성데이터기억수단(14)과 데이터버스수단(31)에 접속되면서 소정의 정수(θ)를 인가받아 특성데이터와 데이터버스수단(31)상의 데이터 및 소정의 정수(θ)중 어느 하나를 출력해 주는 제 1 데이터선택수단(29,32), 상기 특성데이터기억수단(14)과 사전메모리수단(15) 및 데이터버스수단(31)에 접속되면서 특성데이터와 표준패턴데이터 및 상기 데이터버스수단(31)상의 데이터중 어느 하나를 출력해 주는 제2데이터선택수단(30,33), 상기 제1데이터선택수단(29,32)에 접속되면서 그 제1데이터선택수단(32)의 출력데이터를 저장해 주는 제1레지스터수단(34), 상기 제2데이터선택수단(30,33)에 접속되어 제2데이터출력수단(33)의 출력데이터를 저장해 주는 제2레지스터수단(35), 상기 제1,제2레지스터수단(34,35)에 접속되면서 소정의 승산알고리즘의 따라 상기 제1레지스터수단(34)과 제2레지스터수단(35)에 저장된 데이터의 부분곱을 연속적으로 생성, 출력해 주는 부분곱생성수단(36), 상기 부분곱생성수단(36)에 접속되어 이 부분곱생성수단(36)으로부터 연속적으로 출력되는 부분곱을 승산알고리즘에 따라 소정비트수정도 시프트시켜 주면서 그 시프트된 부분곱을 연속적으로 출력시켜 주는 시프트수단(37)과, 상기 시프트수단(37)에 접속되어 그 시프트수단(37)에서 연속적으로 출력되는 데이터와 다른 데이터사이의 가산을 수행해서 그 가산결과를 상기 데이터버스수단(31)을 출력시켜 줄 수 있는 디지탈연산수단(38), 상기 디지탈연산수단(38)에 접속되어 이 디지탈연산수단(38)의 출력데이터를 저장해 주는 제3레지스터수단(39) 및, 상기 디지탈연산수단(38)과 상기 제3레지스터수단(39)에 접속되어 연산동작프로그램과 승산프로그램에 따라 상기 디지탈연산수단(38)의 출력데이터와 상기 제3레지스터수단(30)의 기억데이터중 어느 하나를 선택해서 다른 데이터로서 상기디지탈연산수단(38)에 공급해 주게 됨과 더불어 상기 디지탈연산수단(38)이 부분곱의 누산동작을 수행하도록 해주는 제3데이터선택수단(40)으로 구성된 것을 특징으로 하는 패턴인식장치.
  2. 제1항에 있어서, 상기 디지탈연산수단(16)은 최소한 입력패턴벡터와 표준패턴벡터의 내부곱을 계산해 냄과 더불어 그 내부곱의 제곱치를 계산해 내게 되고, 상기 제1데이터선택수단(29,32)은 상기 내부곱의 계산중에 입력패턴벡터 f의 벡터성분을 연속적으로 출력해 주게 됨과 더불어, 상기 제2데이터선택수단(30,33)은 표준패턴벡터 ø의 벡터성분을 연속적으로 출력해 주게 되며, 내부곱의 제곱치가 계산된 경우, 상기 제1, 제2데이터선택수단(29,30,32,33)은 각각 내부곱을 출력해 주게 되고, 상기 부분곱생성수단(36)은 내부곱의 계산중에 입력패턴벡터 f와 표준패턴벡터의 동일벡터성분에 대한 부분곱을 연속적으로 출력해 주게 됨과 더불어, 내부곱의 제곱치 계산중에 내부곱의 부분곱을 연속적으로 출력해 주는 되며, 상기 제3데이터선택수단(40)은 상기 디지탈연산수단(38)의 출력데이터를 내부곱의 계산 및 내부곱의 제곱치계산중에 다른 데이터로서 부분곱을 누산해 주는 상기 디지탈연산수단(38)에 공급해 줌과 더불어 내부곱이 상기 디지탈연산수단(38)에서 출력되어질 때 출력되는 내부곱을 데이터버스수단(31)을 경유하여 제1, 제2 데이터선택수단(29,30,32,33)에 공급해 주게 되고, 상기 제3레지스터수단(29)은 상기 디지탈연산수단(38)에서 출력되는 내부곱의 제곱치누산값을 저장하게 되는 것을 특징으로 하는 패턴인식장치.
  3. 제1항에 있어서, 상기 디지탈연산수단(16)은 입력패턴벡터와 표준패턴벡터의 내부곱의 계산과 다른 주기에서 계산된 내부곱의 제곱치의 계산을 수행하게 되는 것을 특징으로 하는 패턴인식장치.
  4. 제1항에 있어서, 상기 디지탈연산수단(38)이 1회의 가산을 완료하게 되는 각 시간에 상기 부분곱생성수단(36)은 후속부분곱을 출력해 주게 되는 것을 특징으로 하는 패턴인식장치.
  5. 제1항에 있어서, 상기 디지탈연산수단(38)은 가산결과의 소정상위비트를 계산하는 제1전가산기와 가산결과의 상위비트이외의 소정하위비트를 계산하는 제2전가산기로 구성되고, 상기 제1, 제2전가산기는 파이프라인방식으로 동작하게 되는 것을 특징으로 하는 패턴인식장치.
  6. 제1항에 있어서, 소정의 승산알고리즘은 2차부스알고리즘인 것을 특징으로 하는 패턴인식장치.
  7. 입력신호를 인가받아 그 입력신호로부터 디지탈데이터로서의 특성데이터를 추출해서 입력패턴벡터를 정의해 주는 특성데이터추출수단(11,12)과, 상기 특성데이터추출수단(11,12)에 접속되면서 특성데이터를 기억해 주는 특성데이터기억수단(14), 소정의 표준패턴벡터를 정의해 주는 표준패턴벡터를 기억하게 되는 사전메모리수단(15), 상기 특성데이터기억수단(14)과 사전메모리수단(15)에 접속되면서 소정의 연산동작프로그램에 따라 복합유사도방법을 기초로 특성데이터와 표준패턴데이터사이의 복합유사도계산을 실행하는 디지탈연산수단(16) 및, 상기 디지탈연산수단(16)에 접속되어 이 디지탈연산수단(16)의 동작을 제어해 주면서 그 디지탈연산수단(16)의 계산결과를 기초로 입력신호를 한정시켜 주는 한정수단(13)으로 구성되고, 상기 디지탈연산수단(16)은 상기 특성데이터기억수단(14)과 사전메모리수단(15)에 접속되어 그 특성데이터기억수단(14)과 사전메모리수단(15)에 기억되어 있는 데이터를 독출해 내는 독출수단(29,30,32∼35)과, 상기 독출수단(29,30,32∼35)으로부터 독출되는 표준패턴데이터와 특성데이터의 부분곱을 소정의 승산알고리즘에 따라 연속적으로 생성해 주는 부분곱생성수단(36), 상기 부분곱생성수단(36)으로부터 출력되는 부분곱을 소정의 승산알고리즘에 따라 소정비트수정도 시프트시켜 주는 시프트수단(37), 이 시프트수단(37)의 출력데이터와 다른 데이터를 가산해 주는 디지탈연산수단(38) 및, 상기 디지탈연산수단(38)의 출력데이터를 다른 데이터로서 상기 디지탈연산수단(38)에 공급해 주면서 그 디지탈연산수단(38)이 부분곱을 누산하도록 해 주는 누산수단으로 구성된 것을 특징으로 하는 패턴인식장치.
  8. 제7항에 있어서, 상기 디지탈연산수단(16)은 표준패턴데이터와 특성데이터의 내부곱의 계산과 다른 주기에서 계산된 내부곱의 제곱치의 계산를 수행하게 되는 것을 특징으로 하는 패턴인식장치.
  9. 제7항에 있어서, 상기 디지탈연산수단(38)이 1회의 가산을 완료하는 각 시간에 상기 부분곱생성수단(36)이 후속의 부분곱을 출력해 주는 것을 특징으로 하는 패턴인식장치.
  10. 제7항에 있어서, 상기 디지탈연산수단(38)은 상위비트에 대한 제1전가산기와 하위비트에 대한 제2전가산기로 구성되고, 상기 제1, 제2전가산기는 파이프라인방식으로 동작하게 되는 것을 특징으로 하는 패턴인식장치.
KR1019880001872A 1987-02-23 1988-02-23 패턴인식장치 KR910007728B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP62-39587 1987-02-23
JP62039587A JPH0734228B2 (ja) 1987-02-23 1987-02-23 複合類似度法によるパタ−ン認識装置

Publications (2)

Publication Number Publication Date
KR880010371A KR880010371A (ko) 1988-10-08
KR910007728B1 true KR910007728B1 (ko) 1991-09-30

Family

ID=12557231

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019880001872A KR910007728B1 (ko) 1987-02-23 1988-02-23 패턴인식장치

Country Status (5)

Country Link
US (1) US4942608A (ko)
EP (1) EP0280216B1 (ko)
JP (1) JPH0734228B2 (ko)
KR (1) KR910007728B1 (ko)
DE (1) DE3889356T2 (ko)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5255342A (en) * 1988-12-20 1993-10-19 Kabushiki Kaisha Toshiba Pattern recognition system and method using neural network
DE69325786T2 (de) * 1992-12-04 2000-02-17 Koninkl Philips Electronics Nv Prozessor für gleichförmige Operationen auf Datenreihenfolgen in entsprechenden parallelen Datenströmen
US5734600A (en) * 1994-03-29 1998-03-31 International Business Machines Corporation Polynomial multiplier apparatus and method
AU2003270874A1 (en) * 2002-09-24 2004-04-19 Interdigital Technology Corporation Computationally efficient mathematical engine

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS4912778B1 (ko) * 1969-11-05 1974-03-27
JPS4934247A (ko) * 1972-07-28 1974-03-29
FR2308144A1 (fr) * 1975-04-18 1976-11-12 Ibm France Dispositif generateur de fonction de convolution discrete et filtre numerique incorporant ledit dispositif
JPS5822782B2 (ja) * 1980-03-13 1983-05-11 株式会社東芝 パタ−ン類似度計算装置
US4486900A (en) * 1982-03-30 1984-12-04 At&T Bell Laboratories Real time pitch detection by stream processing
JPS6057475A (ja) * 1983-09-07 1985-04-03 Toshiba Corp パタ−ン認識方式
JPS62169199A (ja) * 1986-01-22 1987-07-25 株式会社デンソー 音声認識装置

Also Published As

Publication number Publication date
JPH0734228B2 (ja) 1995-04-12
EP0280216A3 (en) 1990-06-13
DE3889356D1 (de) 1994-06-09
EP0280216B1 (en) 1994-05-04
DE3889356T2 (de) 1994-09-08
JPS63205786A (ja) 1988-08-25
EP0280216A2 (en) 1988-08-31
KR880010371A (ko) 1988-10-08
US4942608A (en) 1990-07-17

Similar Documents

Publication Publication Date Title
CA1172363A (en) Continuous speech recognition method
TW541517B (en) Speech recognition system
Cybenko et al. Computing the minimum eigenvalue of a symmetric positive definite Toeplitz matrix
US4393272A (en) Sound synthesizer
CA1172364A (en) Continuous speech recognition method for improving false alarm rates
CA1172362A (en) Continuous speech recognition method
JPS6350747B2 (ko)
GB1569989A (en) Frequency compensation method for use in speech analysis apparatus
US4340781A (en) Speech analysing device
EP0112717A1 (en) Continuous speech recognition apparatus
KR910007728B1 (ko) 패턴인식장치
EP0652525A2 (en) High efficiency learning network
US4720864A (en) Speech recognition apparatus
EP0083248B1 (en) Apparatus for calculating auto-correlation coefficients
EP0754011A1 (en) Real time digital reception focusing method and apparatus adopting the same
JPS63258119A (ja) Leroux−gueguenアルゴリズムを使用して線形予測による信号コ−ド化を行なう装置
KR100462472B1 (ko) 동적 타임 워핑 디바이스와 이를 이용한 음성 인식 장치
CA1334689C (en) Pattern matching system
US4433397A (en) Circuit arrangement for the formation and processing of group signals
Yoshizawa et al. A high‐speed HMM VLSI module with block parallel processing
JPH0578049B2 (ko)
SU1013987A1 (ru) Устройство дл распознавани случайных сигналов
JP2707577B2 (ja) ホルマント抽出装置
JPH11119795A (ja) 特徴量の濃縮合成方法、及び特徴量の濃縮合成装置
JPH02146094A (ja) 電子楽器の楽音制御方法

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
G160 Decision to publish patent application
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20030901

Year of fee payment: 13

LAPS Lapse due to unpaid annual fee