KR100462472B1 - 동적 타임 워핑 디바이스와 이를 이용한 음성 인식 장치 - Google Patents

동적 타임 워핑 디바이스와 이를 이용한 음성 인식 장치 Download PDF

Info

Publication number
KR100462472B1
KR100462472B1 KR10-2002-0054940A KR20020054940A KR100462472B1 KR 100462472 B1 KR100462472 B1 KR 100462472B1 KR 20020054940 A KR20020054940 A KR 20020054940A KR 100462472 B1 KR100462472 B1 KR 100462472B1
Authority
KR
South Korea
Prior art keywords
matching cost
value
processing element
test pattern
reference pattern
Prior art date
Application number
KR10-2002-0054940A
Other languages
English (en)
Other versions
KR20040023251A (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 학교법인 포항공과대학교
Priority to KR10-2002-0054940A priority Critical patent/KR100462472B1/ko
Priority to US10/277,978 priority patent/US7143034B2/en
Publication of KR20040023251A publication Critical patent/KR20040023251A/ko
Application granted granted Critical
Publication of KR100462472B1 publication Critical patent/KR100462472B1/ko

Links

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • G10L15/12Speech classification or search using dynamic programming techniques, e.g. dynamic time warping [DTW]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computational Linguistics (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Tests Of Electronic Circuits (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

본 발명은 동적 타이밍 워핑 알고리즘의 소프트웨어를 하드웨어로 구현한 동적 타이밍 워핑 디바이스 및 이를 이용한 음성인식장치를 개시한다.
동적 타이밍 워핑 디바이스는 테스트패턴의 특징벡터와 미리 설정한 레퍼런스패턴의 특징벡터를 선입선출하는 메모리와, 클럭에 따라 상기 테스트패턴과 레퍼런스패턴의 특징벡터를 서로 역방향으로 쉬프트시켜 가며 산출한 상기 특징벡터 간의 차이값에 가중치를 승산하고 가중치가 고려된 상기 차이값에 인접한 노드의 매칭코스트값을 각각 가산한 후 최소값을 비교하여 선택하는 직렬로 접속된 복수의 프로세싱 엘리먼트를 포함한다.
본 발명에 따르면 음성인식을 위한 동적 타임 워핑방식의 소프트웨어를 하드웨어로서 구현함으로써 보다 신속히 음성인식을 처리할 수 있을 뿐만 아니라 비교되는 노드에 따라 가중치를 고려하여 음성의 인식률을 제고시키고 ASIC으로 대량 생산할 수 있는 동적 타임 워핑 디바이스를 제공한다. 또한, 상기 동적 타임 워핑디바이스를 적용함으로써 소프트웨어를 구동시키기 위한 컴퓨터를 필요로 하지 않는 작은 사이즈로 음성인식이 가능한 음성인식장치를 제공한다.

Description

동적 타임 워핑 디바이스와 이를 이용한 음성 인식 장치 {Dynamic time warping device and voice recognizing apparatus using the same}
본 발명은 음성인식 장치에 관한 것으로서, 특히 음성인식에 있어서 동적 타임 워핑 방법을 하드웨어로 구현한 디바이스 및 이를 이용한 음성인식 장치에 관한 것이다.
일반적인 음성인식 방법은 인식할 음성신호을 매칭에 적합하게 패턴화한 테스트패턴을 미리 인식될 단어마다 대응하여 저장한 복수의 레퍼런스패턴과 매칭시켜 가장 적합하게 매칭되는 것으로 분류된 레퍼런스패턴을 입력된 음성신호의 단어로 인식한다.
이와 같이 가장 적합하게 매칭되는 레퍼런스패턴을 분류하기 위해서는 히든 마르코프 모델(Hidden Markov Model: HMM)과 같이 통계적으로 모델링하여 분류하는 방법, 뉴런 네트웍(Time Delay Neural Network: TDNN)과, 테스트패턴과 레퍼런스패턴의 시간적 길이의 차이가 있더라도 효율적으로 최적의 레퍼런스패턴을 분류할 수 있는 동적 타임 워핑(Dynamic Time Warping: DTW) 방법을 이용한 다양한 패턴 분류방법이 사용된다.
종래에는 상기와 같이 최적의 레퍼런스패턴을 분류하는 방법을 수행하기 위하여 음성인식 소프트웨어를 통상의 컴퓨터에 저장하고, 컴퓨터로 음성인식소프트웨어를 작동시켜 음성인식을 수행하였다.
따라서, 테스트패턴과 레퍼런스패턴을 동적 타임 워핑하는 음성인식 소프트웨어를 하드웨어로 구현하여 높은 음성인식률로서 고속으로 동작하며, 작은 사이즈를 갖는 음성인식 시스템이 요구되어 왔다.
본 발명은 음성신호에 대한 단어 인식률이 높고 작은 칩 사이즈로서 ASIC으로 대량생산이 가능한 동적 타임 워핑용 디바이스를 제공하는 것을 목적으로 한다.
본 발명의 다른 목적은 상기 동적 타임 워핑용 디바이스를 적용한 음성인식 장치를 제공하는데 있다.
도 1은 본 발명의 음성인식 장치를 설명하기 위한 블록도이다.
도 2는 동적 타임 워핑의 개념을 설명하기 위한 그래프이다.
도 3은 본 발명에 적용되는 동적 타임 워핑 알고리즘을 도시한 도면이다.
도 4는 도 3의 좌표를 변형한 동적 타임 워핑의 격자구조를 도시한 도면이다.
도 5a는 i=0 내지 N-1번째의 클럭에서의 신호처리를 설명하기 위한 본 발명에 따른 동적 타임 워핑 디바이스의 블록도이다.
도 5b는 i=N 내지 2N-1번째의 클럭에서의 신호의 흐름을 설명하기 위한 본 발명에 따른 동적 타임 워핑 디바이스의 블록도이다.
도 6a는 도 5a에 도시된 장치에서 n번째 테스트패턴과 m번째 레퍼런스패턴의 데이터의 흐름도이다.
도 6b는 도 5a에 도시된 장치에서 n번째 테스트패턴과 m+1번째 레퍼런스패턴의 데이터의 흐름도이다.
도 6c는 도 5a에 도시된 장치에서 n번째 테스트패턴과 m+1번째 레퍼런스패턴의 데이터의 흐름도이다.
도 7은 도 5a 내지 도 6c에 도시된 프로세싱 엘리먼트의 내부 구조이다.
상기 목적을 달성하기 위한 본 발명에 따른 유입된 음성신호의 테스트패턴과 최소의 매칭코스트값을 갖는 레퍼런스패턴을 찾는 동적 타임 워핑 디바이스는,
클럭신호에 따라 테스트패턴에 포함된 P개의 특징벡터를 순차적으로 유입하여 선입선출로 쉬프트하여 출력하는 테스트패턴 메모리;
복수의 단어에 대응하는 복수의 레퍼런스패턴을 저장하며, 상기 레퍼런스패턴들에 포함된 P개의 특징벡터를 순차적으로 출력하는 레퍼런스패턴 메모리;
(2P-1)=N개의 프로세싱 엘리먼트가 시리얼로 접속되며, 상기 직렬 접속된 프로세싱 엘리먼트 군의 일단은 상기 테스트패턴 메모리의 출력측에 접속되고 타단은 상기 레퍼런스패턴 메모리에서 접속되어 각 특징벡터를 서로 역방향으로 순차적으로 쉬프트시키며, 각 프로세싱 엘리먼트는 상기 특징벡터들의 차이값과 인접한 프로세싱 엘리먼트의 매칭코스트값을 이용하여 매칭코스트값을 각각 구한 후, 각 프로세싱 엘리먼트에서의 산출된 상기 매칭코스트값 중 가장 작은 값을 선택하여 유입된 레퍼런스패턴의 최소 매칭코스트값으로 산출하는 프로세싱부; 및
상기 프로세싱부에서 출력되는 복수의 레퍼런스패턴의 매칭코스트값들 중에서 가장 작은 매칭코스트값을 갖는 해당 레퍼런스패턴의 단어 인덱스를 출력하는 매칭결과 결정부;를 포함함을 특징으로 한다.
또한, 상기 프로세싱부는 각 프로세싱 엘리먼트에서 순차적으로 유입된 상기 테스트패턴과 레퍼런스패턴의 특징벡터의 가중치가 승산된 차이값에, 현재의 위치의 프로세싱 엘리먼트와 전, 후측에 인접하여 접속된 프로세싱 엘리먼트에서 바로 이전 클럭에서 생성된 매칭코스트값을 각각 가산한 후 최소값을 해당 프로세싱 엘리먼트의 최소 매칭코스트값으로 산출하며, 인접한 프로세싱 엘리먼트에서 산출된 상기 최소 매칭코스트값을 순차적으로 비교하여 가장 작은 값을 테스트패턴과 레퍼런스패턴간의 최소 매칭코스트값으로 산출함을 특징으로 한다.
또한, 상기 프로세싱부의 중앙에 위치한 프로세싱 엘리먼트는 1로, 나머지 프로세싱 엘리먼트는 무한대값으로 초기값이 설정됨을 특징으로 한다.
또한, 상기 프로세싱부의 인접하여 접속된 프로세싱 엘리먼트끼리는 입력된 클럭이 짝수 번째인가 홀수번째 인가에 따라 서로 교호하여 최소매칭코스트값을 산출함을 특징으로 한다.
또한, 상기 프로세싱부에서 노드 D(i,j)에 대응되는 상기 프로세싱 엘리먼트는, 순차적으로 유입되는 테스트패턴의 벡터와 레퍼런스패턴의 특징벡터간의 차이값를 출력하는 감산기; 상기 차이값에 소정의 가중치를 승산하는 승산기; 상기 승산기의 출력값을 노드 D(i-1,j+1)와 노드 D(i-1,j-1)의 최소 매칭코스트값에 각각 가산하는 제1 및 제3가산기; 상기 감산기의 출력값을 노드 D(i-1,j)의 최소 매칭코스값에 각각 가산하는 제2가산기; 상기 제1 내지 제3가산기의 출력값 중에서 최소 매칭코스트값을 출력하는 제1비교기; 상기 제1비교기의 최소 매칭코스트값을 한 클럭 지연시켜 노드 D(i-1, j)의 매칭코스트값을 출력하는 제1지연부;를 구비한 제1회로블록 및
노드 D(i-1, j+1)의 매칭코스트와 상기 제1지연부에서 출력되는 노드 D(i-1, j)의 매칭코스트값을 유입하여 최소 값을 출력하는 제2비교기; 상기 제2비교기의 출력값을 한 클럭 지연하는 제2지연기;를 구비한 제2회로블록을 포함함을 특징으로 하는 동적 타임 워핑 디바이스.
(여기서, i는 상기 테스트패턴과 레퍼런스패턴의 특징벡터가 중앙의 프로세싱 엘리먼트가 처음 매칭되는 값을 산출할 때를 0 번째로 정의하는 클럭이며 상기 프로세싱 엘리먼트에 인가된 클럭에 의해 매칭코스트가 산출됨에 따라 1이 증가하며, j는 j번째의 프로세싱 엘리먼트를 나타낸다.)
또한, 상기 제1회로블록은 i= 0, 1, ..., N-1번째 클럭에서 실행되며, 상기 제2회로블록은 매칭코스트값 산출은 i= N, N+1, ..., 2N-1번째 클럭에서 실행됨을 특징으로 한다.
또한, 상기 승산기에서 승산하는 가중치는 2임을 특징으로 한다.
또한, 상기 다른 목적을 달성하기 위한 음성 인식장치는,
아날로그 음성신호를 디지털 음성신호로 변환하는 A/D변환기;
필터뱅크를 구비하여 상기 디지털 음성신호로부터 테스트패턴의 특징벡터를 생성하는 특징벡터생성부; 및
상기 테스트패턴의 특징벡터를 저장된 레퍼런스패턴의 특징벡터와 순차적으로 매칭시켜 최소의 매칭코스트값을 갖는 레퍼런스패턴의 인덱스를 인식된 단어의 인덱스로 출력하는 상기 동적 타이밍 워핑 디바이스를 포함함을 특징으로 한다.
이하, 첨부 도면을 참조하여 본 발명의 실시예를 상세히 설명하기로 한다.
도 1은 본 발명의 음성인식 장치를 설명하기 위한 블록도이다.
도 1에서, 입력된 아날로그 음성신호를 디지털음성신호로 변환하는 A/D변환기(100)와, 디지털 음성신호로부터 특징벡터를 생성하는 특징벡터생성부(110)와 특징벡터로 구성된 테스트패턴을 저장하는 테스트패턴 메모리(112)와 사전에 인식하고자하는 각각의 단어의 음성과 대응한 특징벡터로 구성된 레퍼런스패턴을 저장하는 레퍼런스패턴 메모리(114)와 복수의 프로세싱 엘리먼트로 구성되며, 상기 테스트패턴과 레퍼런스 메모리(112),(114)로부터 레퍼런스패턴을 유입하여 입력된 레퍼런스패턴의 최소 매칭코스트값을 산출하는 프로세싱부(116)와 산출된 복수의 레퍼런스패턴 중에서 매칭코스트가 가장 낮은 레퍼런스패턴에 대응되는 단어의 인덱스를 출력하는 매칭결과 결정부(120)를 포함한다.
도 1에서 A/D변환기(100)는 아날로그 음성신호를 샘플링과 양자화를 하여 디지털 음성신호로 변환시킨다. 특징벡터생성부(110)는 디지털 음성신호를 패턴화하기 위한 특징벡터를 생성한다. 특징벡터생성부(110)를 구성하는 필터뱅크(Filter Bank)는 초당 20개의 특징벡터를 생성하며, 한 단어가 2초 동안 발음될 경우에는40개의 특징 벡터가 생성된다. 테스트패턴 메모리(112)는 유입된 특징벡터를 하나의 테스트패턴으로 저장하여 프로세싱부(116)에 전송한다. 후술되는 프로세싱부(116)와 매칭결과 결정부(120)는 미리 저장되어 있는 레퍼런스패턴의 특징벡터를 차례로 유입하여 테스트패턴의 가장 매칭이 잘되는 레퍼런스패턴을 분류하여 대응된 단어의 인덱스를 출력한다.
도 2는 동적 타임 워핑의 기본 개념을 개락적으로 설명하기 위한 그래프이다. 도 2에서 참조부호 20은 각 단어에 따라 미리 설정된 레퍼런스패턴이고, 참조부호 24는 입력된 음성신호로부터 산출된 특징벡터의 궤적인 테스트패턴이다. 사람이 단어를 발음할 때마다 각 개개인간에 발음길이의 차이가 있기 때문에 단어 발음 시간에 따라 테스트패턴과 레퍼런스패턴을 일대일로 대응시켜 패턴의 유사성을 판단하는 것은 곤란하다. 이를 고려하여 동적 타임 워핑방법은 발음속도에 관계없이 레퍼런스패턴(20)과 테스트패턴(24)을 서로 대응시켜 비교할 수 있는 워핑 함수(22)의 중앙부분 영역(26)의 궤적을 찾아낸다.
이러한 레퍼런스패턴과 매칭을 위해 음성신호로부터 산출된 테스트패턴의 특징벡터의 수는 음성인식 칩의 설계자가 임의로 결정할 수 있으며, P개의 특징벡터를 갖는 임의의 n번째 테스트패턴은 T(n)={tk(n)│k=0,1, ..., P-1}로 나타낼 수 있다. 이와 유사한 방법으로 서로 다른 레퍼런스 단어가 Nw개일 때 r번째 단어의 레퍼런스패턴은 R(m)={rI(m)│I=0,1, ..., Nr-1}으로 정의할 수 있다. 여기서, rI(m)는 특징벡터이며, r의 범위는 r∈[0,NW-1]이 된다. 상기 레퍼런스패턴은 미리 설정되어있는 패턴이므로 각 단어에 대한 레퍼런스패턴의 특징벡터의 개수를 알 수 있다.
도 3은 본 발명의 특징벡터의 매칭순서가 적용된 레퍼런스패턴과 테스트패턴이 동적 타임 워핑 알고리즘을 설명하기 위한 도면이다.
도 3에서, 좌표상에 표시된 흰색원의 노드들은 원점노드(30)에서 해당 노드까지의 최소 매칭코스트값을 저장하게 된다. X축은 테스트패턴을 구성하는 각각의 특징벡터의 위치를 나타내며, Y축은 레퍼런스패턴을 구성하는 각각의 특징벡터의 위치를 나타낸다. 또한, 도 3에서 좌측 상단에서 우측 하단으로 그어진 점선들에 부가된 숫자들은 본 발명에 적용되는 매칭코스트값을 구하는 순서로서, 동적 타임 워핑 디바이스에 유입된 클럭에 따라 순차적으로 처리되는 단계를 표시한 것이다.
우선, 원점의 노드(30)에 대한 매칭코스트값은 테스트패턴의 첫 번째 특징벡터와 비교되는 레퍼런스패턴의 첫 번째 특징벡터의 차이값으로 산출된다. 또한, 노드(32)의 매칭코스트는 레퍼런스패턴의 두 번째 특징벡터와 테스트패턴의 첫 번째 특징벡터의 차이값에 가중치 곱한 후에 산출된 노드(30)의 매칭코스트값을 가산하여 산출된다.
노드(34)인 D(i,j)에서 i는 레퍼런스패턴과 테스트패턴을 비교하기 시작한 시점부터 현 시점까지의 클럭의 수를 나타내며, j는 차후에 설명되는 프로세싱 엘리먼트로서 각 노드의 입력신호를 처리하여 출력한다. 노드(34)의 D(i,j)는 원점 노드(30)에서 노드(34)까지의 최적의 경로를 따라 매칭된 최소 코스트값이 저장되게 되고, 노드(42)의 D(i,j-2)는 노드(34) D(i,j)와 동일시점에서 동작하며, 우측으로 두번째 접속된 프로세싱 엘리먼트를 의미한다. 여기서, 원점에서 두 패턴의비교를 시작하는 것은 두 패턴의 단어의 발음 시작점이 같다는 가정에 의한 것이다.
노드(34)의 D(i,j)에서의 최소 매칭코스트값을 구하기 위해서는 3개의 노드(36),(38),(40)의 D(i-1,j-1)와 D(i-1,j), D(i-1,i+1)에 저장된 최소 매칭코스값을 알고 있으면 된다. 원점노드(30)에서 노드(34) D(i,j)까지 도달되는 경로 중에서 노드(34) D(i,j)와 인접한 노드를 세 개로 제한하고 이들 세 흰색 원의 노드의 매칭코스트값들 중에서 가중치를 고려하면 가장 작은 매칭코스트값을 선택할 수 있다. 노드(34)에 대하여 우선 레퍼런스패턴과 테스트패턴에서 각각 3번째 특징벡터의 차이값 구한 후에, 노드(34)에 수평과 수직으로 인접한 2개의 노드(36, 40) D(i-1, j+1), D(i-1, j-1)의 각각의 매칭코스트값에는 가중치를 고려하여 상기 차이값의 2배를 더하여 상기 노드(34)에 입력한다. 또한, 노드(34)의 한 클럭 전에 처리된 노드(38) D(I-1, J)의 매칭코스트값에는 가중치 없이 상기 차이값을 더하여 노드(34)에 입력한 후 최소값을 선택하면 선택된 값이 노드(34)의 최소 매칭코스트값이 된다. 이를 다음 수학식 1과 같이 나타낼 수 있다.
D(i,j,m,n)=mink∈[-1,0,1]k
여기서, i는 클럭에 따른 처리 스텝을 나타내며, j는 j번째 위치한 프로세싱 엘리먼트, m은 m번째 단어의 레퍼런스패턴, n은 n번째의 테스트패턴을 나타낸다. wk는 가중치로서 k=0일 때는 1이고, k=1, -1일 때 2로 한다.
이와 같은 방법으로 원점노드(30)로부터 출발하여 모든 노드의 매칭코스트값을 산출하여 나가면 최종적으로 도 3에서 가장 위쪽에 위치한 노드들에 대한 최소 매칭코스트값이 산출되며, 가장 위쪽에 있는 노드의 값들 중에서 가장 작은 값을 산출하면 해당 패턴의 최소 매칭코스트값을 산출할 수 있다. 예컨대, 위쪽의 5개의 노드를 X, Y좌표로 나타낼 때, (0,5), (1,5), (2,5), (3,5), (4,5), (5,5)들 중 (4,5)의 노드 값이 가장 작으면 테스트패턴의 길이를 4로 결정하고 이때 매칭된 최소 매칭코스트값을 이 노드값으로 결정하게 되는 것이다.
동적 타임 워핑 알고리즘에서 각 노드의 값을 찾는 순서는 여러 가지 방법이 있으나, 어떠한 순서로 찾든 최종 맨위의 노드값들 중에서 최소값만 찾으면 된다. 본 발명의 실시예에서는 동적타이밍워핑 알고리즘을 하드웨어로 구현하기 위하여 도 3에 도시된 점선으로 나타낸 대각선 방향으로 노드의 값의 결정 순서를 정하는 방법을 사용하였다.
도 4는 도 3에 도시된 좌표를 본 발명의 하드웨어에 적용하기 위해 45도 반시계 방향으로 회전시켜 변형한 동적타이밍워핑 격자구조이다. 도 4에서 흰색 원은 활성노드로서 도 3에서의 마름모꼴의 사각형내의 노드들은 하드웨어적으로는 프로세싱 엘리먼트를 나타내고, 검은색 원은 비활성 노드로서 본 발명의 장치의 구조상 추가된 임의의 노드이다. 도면에서 아래쪽에 기재된 번호들은 각 프로세싱 엘리먼트의 위치를 나타내고 세로로 나열된 번호는 시간 경과에 따라 각 프로세싱 엘리먼트에 인가되는 클럭의 카운트 수를 나타낸다. 클럭수의 카운트가 짝수 번째의 단계에서는 짝수번째 노드인 프로세싱 엘리먼트만이 활성화되고 반대로 클럭수의카운트가 홀수번째인 단계에서는 홀수번째 프로세싱 엘리먼트만이 활성화가 된다. 여기서, 0번째 클럭의 기준시점은 중앙에 위치한 4번째 프로세싱 엘리먼트(48)에 제일 먼저 쉬프트되어 입력된 테스트와 레퍼런스패턴의 특징벡터의 매칭코스트값을 산출하는 시점으로 정의하며, 비활성화의 의미는 프로세싱 엘리먼트가 매칭코스트값을 산출하지 않고 바로 이전 클럭에서 산출된 매칭코스트값을 한 클럭 동안 그대로 유지함을 나타낸다. 비활성 프로세싱 엘리먼트의 매칭코스트값은 수학식 2에서와 같이 나타낼 수 있다.
D(i,j,m,n)=D(i-1,j,m,n), i,j=0,1, ..., N-1
도 4에서 5개의 특징벡터(P)를 갖는 테스트패턴과 레퍼런스패턴과의 최소 매칭코스트값을 산출하기 위해서는 9개 즉, 2P-1개의 프로세싱 엘리먼트가 요구되며, 0번째 클럭에서는 4번째 프로세싱 엘리먼트(48)를 제외하고는 무한대값으로 초기화되어 차후 단계에서 활성화되어 계산된 노드의 값이 최소값으로 선택되도록 한다. 예컨대 1번째 클럭에서 노드(46)가 활성화되었을 때는 노드(44)의 초기값인 무한대값보다 노드(48)에서 산출된 값이 선택된다. 반면에 0번째 클럭에서 동작하는 4번째 프로세싱 엘리먼트의 초기값은 1로 설정되어, 테스트패턴과 레퍼런스패턴의 첫 번째 특징벡터의 차이값이 생성된다. 클럭이 입력됨에 따라 각 노드의 값은 화살표 방향으로 진행되면서 최소값을 순차적으로 산출하게 된다.
도 5a는 도 4의 격자 구조에 따라 시리얼로 결합된 프로세싱 엘리먼트를 설명하기 위한 블록도이다.
도 5a에 도시된 다이내믹 타임워핑 디바이스는 클럭신호에 따라 테스트패턴을 구성하는 P개의 특징벡터를 순차적으로 유입하여 쉬프트하는 테스트패턴 메모리(500)와 복수의 단어에 대응하는 레퍼런스패턴을 저장하고 순차적으로 레퍼런스패턴에 포함된 특징벡터를 출력하는 레퍼런스패턴 메모리(520), N개의 프로세싱 엘리먼트가 시리얼로 연결되며, 한단의 프로세싱 엘리먼트(501)는 상기 테스트패턴 메모리(500)의 출력측에 접속되고 타단의 프로세싱 엘리먼트(510)는 상기 레퍼런스패턴메모리(520)에 접속되어 구성된다.
동작을 살펴보면, 입력된 음성신호로부터 변환된 n번째의 테스트패턴 tp-1(n)에 포함된 P개의 특징벡터가 테스트패턴 메모리(500)에서 클럭에 따라 프로세싱 엘리먼트(501)와 시리얼로 접속되어 있는 동일구조의 프로세싱 엘리먼트(502),(504),(506),(510)로 순차적으로 쉬프트된다. 또한, 레퍼런스패턴 메모리(520)에서 m번째 단어에 대한 레퍼런스패턴 r(m)에 포함된 특징벡터는 테스트패턴의 특징벡터의 쉬프트되는 방향과 역방향으로 프로세싱 엘리먼트(510)를 통하여 프로세싱 엘리먼트(506),(504),(502)로 순차적으로 쉬프트된다. 중앙에 위치한 프로세싱 엘리먼트(504)에서의 매칭코스트값을 산출하는 과정은 프로세싱 엘리먼트(504)는 유입되는 테스트패턴과 레퍼런스패턴의 특징벡터의 차이값을 구한다. 그 후, 프로세싱 엘리먼트(504)와 바로 인접한 전, 후측에 위치한 프로세싱 엘리먼트(502),(506)에서 i-1번째 클럭에 생성된 매칭코스트값 즉, 노드 D(i-1,j-1,m,n)와 D(i-1,j+1,m,n)의 매칭코스트값과 프로세싱 엘리먼트(504)의 내부에서 지연된 노드 D(i-1,j,m,n)의 매칭코스트값에 가중치를 고려한 상기 차이값을 각각 가산한값에서 가장 작은 값이 i번째 클럭시의 노드 D(i,j,m,n)에서의 최소 매칭코스트값이 된다. 이 경우, 도 4에 도시된 바와 같이 예컨대 한 프로세싱 엘리먼트(504)가 최소매칭코스트값을 산출할 때 인접한 전, 후의 프로세싱 엘리먼트(502, 506)는 최소 매칭코스트값을 산출하지 않고 비활성화되어 단지 바로 이전 클럭에서 산출한 매칭코스트값을 그대로 출력하게 된다. 이를 위해 유입된 두 개의 클럭마다 첫 번째 클럭에서 프로세싱 엘리먼트의 도 7에 도시된 최소 매칭코스트의 제1비교부(610)가 한번 동작하고, 이후 두 번째 클럭에서 인접한 프로세싱 엘리먼트의 내부의 최소 매칭코스트의 미도시된 제1비교부가 동작하도록 설계할 수 있다. n번째의 테스트패턴 tp-1(n)의 매칭이 완료되면 스위치(524)의 작동에 의하여 n+1 번째의 테스트패턴 tp-1(n+1)이 입력되어 매칭을 수행하게 된다.
이와 같이 하여 테스트패턴 tp-1(n)의 특징벡터는 각 프로세싱 엘리먼트를 순차적으로 쉬프트하여 레퍼런스패턴 r(m)의 특징벡터와 한번씩 매칭한 다음 테스트패턴 메모리(500)에 저장되며, 각 테스트패턴과 레퍼런스패턴의 특징벡터들이 모든 프로세싱 엘리먼트를 순차적으로 통과하게 되면 각 프로세싱 엘리먼트에는 해당 노드에 대하여 최소 매칭코스트값이 저장되게 된다.
도 5b는 도 5a에 도시된 프로세싱 엘리먼트에 저장된 해당 노드에 대한 최소 매칭코스트값에서 가장 작은 매칭코스값을 결정하는 방법을 설명하기 위한 블록도이며, 도 5a에서 레퍼런스패턴 메모리(520)와 저장된 레퍼런스패턴에 대응하여 인덱스를 저장하는 인덱스 메모리(522)와, 프로세싱 엘리먼트는 도 5a에 도시된 구성요소이므로 동일한 참조부호를 부여한다.
i=0, 1, ..., N-1 번째의 클럭 동안에 각각의 프로세싱 엘리먼트에서 산출되어 유지하고 매칭코스트값은 i=0, N+1, ..., 2N-1 번째의 클럭 동안에는 프로세싱 엘리먼트(510)와 인접한 미도시된 프로세싱 엘리먼트와 매칭코스값을 서로 비교하여 보다 작은 매칭코스트값을 화살표 방향의 다음 프로세싱 엘리먼트와 순차적으로 비교하여 산출된 레퍼런스패턴 r(m)의 최소 매칭코스트값을 최소값비교부(530)로 출력한다. 또한, 이와 동시에 레퍼런스패턴 r(m)과 대응되는 인덱스가 인덱스메모리(522)에서 출력되어 최소값 비교부(530)로 출력된다. 여기서, 인덱스메모리(522)는 레퍼런스패턴 메모리(520)과 같이 사용될 수 있다.
최소값 비교부(530)는 이전의 레퍼런스패턴들에서 산출되어 저장된 최소 매칭코스트값을 레지스터(532)로부터 리드하여 보다 작은 매칭코스트값과 레퍼런스패턴의 인덱스를 레지스터(532)에 저장하며, 모든 레퍼런스패턴의 매칭코스트값이 완료되면 최소값의 매칭코스트값을 갖는 레퍼런스패턴의 인덱스를 출력하여 테스트패턴에 대응된 단어를 인식할 수 있도록 한다.
도 6a는 도 5a에 도시된 프로세싱 엘리먼트와 테스트패턴 메모리에서의 n번째 테스트패턴과 m번째 레퍼런스패턴의 특징벡터들의 흐름을 설명하기 위한 블록도이다.
테스트패턴 메모리(500)에서 저장된 n번째 테스트패턴을 구성하는 p개의 특징벡터 t0(n),t1(n),..., tp-1(n)과 p개의 특징벡터 r0(m),r1(m),..., rP-1(m)로 구성된 m번째 단어의 레퍼런스패턴이 프로세싱부내에서 클럭에 따라 서로 역방향으로순차적으로 쉬프트되어 한 개의 테스트패턴과 한 개의 레퍼런스패턴의 매칭이 수행된다. 여기서 클럭의 구동장치는 평이한 기술이며, 당업자 수준으로 본 발명의 요지를 이해하는 어려움이 없으므로 클럭 구동장치의 기술은 생략하기로 한다.
도 6b는 도 5a에서 n번째 테스트패턴과 m+1번째 레퍼런스패턴의 특징벡터들의 흐름을 설명하기 위한 블록도로서, 도 5a의 m번째의 레퍼런스패턴의 최소 매칭코스트가 산출되면 m+1번째의 단어와 대응되는 레퍼런스패턴의 특징벡터 r(m+1)이 순차적으로 프로세싱 엘리먼트로 유입되어 테스트패턴과 n번째 테스트패턴과 매칭이 수행된다. 도 6c는 도 5a에서 n번째 테스트패턴에서 n+1번째 테스트패턴으로 매칭과정이 변환되는 과정을 보이는 도면이다.
도 7은 도 5a 및 도b에 도시된 프로세싱 엘리먼트의 상세 구조를 설명하기 위한 블록도이다.
참조부호 620은 도 5a에서 동작하는 프로세싱 엘리먼트의 제1블록이며, 참조부호 630은 도 5b에서 동작하는 프로세싱 엘리먼트의 제2블록이다.
테스트패턴과 레퍼런스패턴의 특징벡터 t(m), r(m)이 감산기(600)유입되면 특징벡터의 차이값이 2배 승산기(602)를 통하여 제1, 제3가산기(604, 608)에 각각 인가되어, 인접한 프로세싱 엘리먼트의 노드 D(i-1, j+1), D(i-1, j-1)에서 유입되는 바로 이전의 클럭에서 생성된 매칭코스트값과 가산된다. 또한, 특징벡터차이값은 제2가산기(606)에서 현재 노드에서 바로 이전에 산출된 매칭코스트값과 가산된다.
가산된 값들은 제1비교부(610)에서 최소값이 선택되며 현재 노드의 D(i,j)의값으로 출력되며 다음 입력값을 가산하기 위하여 제1지연기(612)를 통하여 제2가산기(606)에 피드백되고 인접한 프로세싱 엘리먼트들에 인가하기 위해 출력단자로 출력된다.
제2블록(630)은 도 5b에 도시된 각 프로세싱 엘리먼트에서 산출한 매칭코스트값 중에서 가장 작은 값을 산출하기 위한 회로 블록으로서, 바로 미도시된 후단의 프로세싱 엘리먼트로부터 D(i-1, j+1)에 대한 매칭코스트와 도시된 프로세싱 엘리먼트에서 생성된 매칭코스트값을 비교하여 작은 값을 제2비교부(614)에서 비교한 다음 제2지연기(616)를 통하여 다음 프로세싱 엘리먼트로 쉬프트하여 비교치 중에서 가장 작은 값이 최종 프로세싱 엘리먼트에서 출력되도록 한다.
본 발명에 따르면 음성인식을 위한 동적 타임 워핑방식의 소프트웨어를 하드웨어로서 구현함으로써 보다 신속히 음성인식을 처리할 수 있을 뿐만 아니라 비교되는 노드에 따라 가중치를 고려하여 음성의 인식률을 제고시키고 ASIC으로 대량 생산할 수 있는 동적 타임 워핑 디바이스를 제공한다. 또한, 상기 동적 타임 워핑디바이스를 적용함으로써 소프트웨어를 구동시키기 위한 컴퓨터를 필요로 하지 않는 작은 사이즈로 음성인식이 가능한 음성인식장치를 제공한다.

Claims (8)

  1. 유입된 음성신호의 테스트패턴과 최소의 매칭코스트값을 갖는 레퍼런스패턴을 찾는 동적 타임 워핑 디바이스에 있어서,
    클럭신호에 따라 테스트패턴에 포함된 P개의 특징벡터를 순차적으로 유입하여 선입선출로 쉬프트하여 출력하는 테스트패턴 메모리;
    복수의 단어에 대응하는 복수의 레퍼런스패턴을 저장하며, 상기 레퍼런스패턴들에 포함된 P개의 특징벡터를 순차적으로 출력하는 레퍼런스패턴 메모리;
    (2P-1)=N개의 프로세싱 엘리먼트가 시리얼로 접속되며, 상기 직렬 접속된 프로세싱 엘리먼트 군의 일단은 상기 테스트패턴 메모리의 출력측에 접속되고 타단은 상기 레퍼런스패턴 메모리에서 접속되어 각 특징벡터를 서로 역방향으로 순차적으로 쉬프트시키며, 각 프로세싱 엘리먼트는 상기 특징벡터들의 차이값과 인접한 프로세싱 엘리먼트의 매칭코스트값을 이용하여 매칭코스트값을 각각 구한 후, 각 프로세싱 엘리먼트에서의 산출된 상기 매칭코스트값 중 가장 작은 값을 선택하여 유입된 레퍼런스패턴의 최소 매칭코스트값으로 산출하는 프로세싱부; 및
    상기 프로세싱부에서 출력되는 복수의 레퍼런스패턴의 매칭코스트값들 중에서 가장 작은 매칭코스트값을 갖는 해당 레퍼런스패턴의 단어 인덱스를 출력하는 매칭결과 결정부;를 포함함을 특징으로 하는 동적 타임 워핑 디바이스.
  2. 제 1항에 있어서,
    상기 프로세싱부는 각 프로세싱 엘리먼트에서 순차적으로 유입된 상기 테스트패턴과 레퍼런스패턴의 특징벡터의 가중치가 승산된 차이값에, 현재의 위치의 프로세싱 엘리먼트와 전, 후측에 인접하여 접속된 프로세싱 엘리먼트에서 바로 이전 클럭에서 생성된 매칭코스트값을 각각 가산한 후 최소값을 해당 프로세싱 엘리먼트의 최소 매칭코스트값으로 산출하며, 인접한 프로세싱 엘리먼트에서 산출된 상기 최소 매칭코스트값을 순차적으로 비교하여 가장 작은 값을 테스트패턴과 레퍼런스패턴간의 최소 매칭코스트값으로 산출함을 특징으로 하는 동적 타임 워핑 디바이스.
  3. 제 2항에 있어서,
    상기 프로세싱부의 중앙에 위치한 프로세싱 엘리먼트는 1로, 나머지 프로세싱 엘리먼트는 무한대값으로 초기값이 설정됨을 특징으로 하는 동적 타임 워핑 디바이스.
  4. 제 3항에 있어서,
    상기 프로세싱부의 인접하여 접속된 프로세싱 엘리먼트끼리는 입력된 클럭이 짝수 번째인가 홀수번째 인가에 따라 서로 교호하여 최소 매칭코스트값을 산출함을 특징으로 하는 동적 타임 워핑 디바이스.
  5. 제 1항에 있어서,
    상기 프로세싱부에서 노드 D(i,j)에 대응되는 상기 프로세싱 엘리먼트는,
    순차적으로 유입되는 테스트패턴의 벡터와 레퍼런스패턴의 특징벡터간의 차이값를 출력하는 감산기; 상기 차이값에 소정의 가중치를 승산하는 승산기; 상기 승산기의 출력값을 노드 D(i-1,j+1)와 노드 D(i-1,j-1)의 최소 매칭코스트값에 각각 가산하는 제1 및 제3가산기; 상기 감산기의 출력값을 노드 D(i-1,j)의 최소 매칭코스값에 각각 가산하는 제2가산기; 상기 제1 내지 제3가산기의 출력값 중에서 최소 매칭코스트값을 출력하는 제1비교기; 상기 제1비교기의 최소 매칭코스트값을 한 클럭 지연시켜 노드 D(i-1, j)의 매칭코스트값을 출력하는 제1지연부;를 구비한 제1회로블록 및
    노드 D(i-1, j+1)의 매칭코스트와 상기 제1지연부에서 출력되는 노드 D(i-1, j)의 매칭코스트값을 유입하여 최소 값을 출력하는 제2비교기;
    상기 제2비교기의 출력값을 한 클럭 지연하는 제2지연기;를 구비한 제2회로블록을 포함함을 특징으로 하는 동적 타임 워핑 디바이스.
    (여기서, i는 상기 테스트패턴과 레퍼런스패턴의 특징벡터가 중앙의 프로세싱 엘리먼트가 처음 매칭되는 값을 산출할 때를 0 번째로 정의하는 클럭이며 상기 프로세싱 엘리먼트에 인가된 클럭에 의해 매칭코스트가 산출됨에 따라 1이 증가하며, j는 j번째의 프로세싱 엘리먼트를 나타낸다.)
  6. 제 5항에 있어서,
    상기 제1회로블록은 i= 0, 1, ..., N-1 번째 클럭 동안에 실행되며, 상기 제2회로블록은 매칭코스트값 산출은 i= N, N+1, ..., 2N-1 번째 클럭 동안에 실행됨을 특징으로 하는 동적 타임 워핑 디바이스.
  7. 제 5항에 있어서,
    상기 승산기에서 승산하는 가중치는 2임을 특징으로 하는 동적 타임 워핑 디바이스.
  8. 아날로그 음성신호를 디지털 음성신호로 변환하는 A/D변환기;
    필터뱅크를 구비하여 상기 디지털 음성신호로부터 테스트패턴의 특징벡터를 생성하는 특징벡터생성부;
    클럭신호에 따라 테스트패턴에 포함된 P개의 특징벡터를 순차적으로 유입하여 선입선출로 쉬프트하여 출력하는 테스트패턴 메모리;
    복수의 단어에 대응하는 복수의 레퍼런스패턴을 저장하며, 상기 레퍼런스패턴들에 포함된 P개의 특징벡터를 순차적으로 출력하는 레퍼런스패턴 메모리;
    (2P-1)=N개의 프로세싱 엘리먼트가 시리얼로 접속되며, 상기 직렬 접속된 프로세싱 엘리먼트 군의 일단은 상기 테스트패턴 메모리의 출력측에 접속되고 타단은 상기 레퍼런스패턴 메모리에서 접속되어 각 특징벡터를 서로 역방향으로 순차적으로 쉬프트시키며, 각 프로세싱 엘리먼트는 상기 특징벡터들의 차이값과 인접한 프로세싱 엘리먼트의 매칭코스트값을 이용하여 매칭코스트값을 각각 구한 후, 각 프로세싱 엘리먼트에서의 산출된 상기 매칭코스트값 중 가장 작은 값을 선택하여 유입된 레퍼런스패턴의 최소 매칭코스트값으로 산출하는 프로세싱부; 및
    상기 프로세싱부에서 출력되는 복수의 레퍼런스패턴의 매칭코스트값들 중에서 가장 작은 매칭코스트값을 갖는 해당 레퍼런스패턴의 단어 인덱스를 출력하는 매칭결과 결정부;를 포함함을 특징으로 하는 음성인식장치.
KR10-2002-0054940A 2002-09-11 2002-09-11 동적 타임 워핑 디바이스와 이를 이용한 음성 인식 장치 KR100462472B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR10-2002-0054940A KR100462472B1 (ko) 2002-09-11 2002-09-11 동적 타임 워핑 디바이스와 이를 이용한 음성 인식 장치
US10/277,978 US7143034B2 (en) 2002-09-11 2002-10-23 Dynamic time warping device for detecting a reference pattern having a smallest matching cost value with respect to a test pattern, and speech recognition apparatus using the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR10-2002-0054940A KR100462472B1 (ko) 2002-09-11 2002-09-11 동적 타임 워핑 디바이스와 이를 이용한 음성 인식 장치

Publications (2)

Publication Number Publication Date
KR20040023251A KR20040023251A (ko) 2004-03-18
KR100462472B1 true KR100462472B1 (ko) 2004-12-17

Family

ID=31987388

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2002-0054940A KR100462472B1 (ko) 2002-09-11 2002-09-11 동적 타임 워핑 디바이스와 이를 이용한 음성 인식 장치

Country Status (2)

Country Link
US (1) US7143034B2 (ko)
KR (1) KR100462472B1 (ko)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7343249B2 (en) 2005-03-23 2008-03-11 International Business Machines Corporational Vectorization of sequence alignment computation using distance matrix reshaping
US8010589B2 (en) 2007-02-20 2011-08-30 Xerox Corporation Semi-automatic system with an iterative learning method for uncovering the leading indicators in business processes
US8639506B2 (en) * 2010-03-11 2014-01-28 Telefonica, S.A. Fast partial pattern matching system and method
JP6618884B2 (ja) * 2016-11-17 2019-12-11 株式会社東芝 認識装置、認識方法およびプログラム
US10607601B2 (en) * 2017-05-11 2020-03-31 International Business Machines Corporation Speech recognition by selecting and refining hot words

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4348553A (en) * 1980-07-02 1982-09-07 International Business Machines Corporation Parallel pattern verifier with dynamic time warping
US4918733A (en) * 1986-07-30 1990-04-17 At&T Bell Laboratories Dynamic time warping using a digital signal processor
US5073939A (en) * 1989-06-08 1991-12-17 Itt Corporation Dynamic time warping (DTW) apparatus for use in speech recognition systems

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6304844B1 (en) * 2000-03-30 2001-10-16 Verbaltek, Inc. Spelling speech recognition apparatus and method for communications
US6983246B2 (en) * 2002-05-21 2006-01-03 Thinkengine Networks, Inc. Dynamic time warping using frequency distributed distance measures

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4348553A (en) * 1980-07-02 1982-09-07 International Business Machines Corporation Parallel pattern verifier with dynamic time warping
US4918733A (en) * 1986-07-30 1990-04-17 At&T Bell Laboratories Dynamic time warping using a digital signal processor
US5073939A (en) * 1989-06-08 1991-12-17 Itt Corporation Dynamic time warping (DTW) apparatus for use in speech recognition systems

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Volume 3, pages 1549-1552 Tokyo, Japan, 7-11 April 1986. *

Also Published As

Publication number Publication date
KR20040023251A (ko) 2004-03-18
US7143034B2 (en) 2006-11-28
US20040049387A1 (en) 2004-03-11

Similar Documents

Publication Publication Date Title
CN111292764B (zh) 辨识系统及辨识方法
US5651094A (en) Acoustic category mean value calculating apparatus and adaptation apparatus
US4389540A (en) Adaptive linear prediction filters
US20070133811A1 (en) Sound source separation apparatus and sound source separation method
US5956676A (en) Pattern adapting apparatus using minimum description length criterion in pattern recognition processing and speech recognition system
US7460995B2 (en) System for speech recognition
KR100462472B1 (ko) 동적 타임 워핑 디바이스와 이를 이용한 음성 인식 장치
US6131089A (en) Pattern classifier with training system and methods of operation therefor
CA2051602C (en) Method and apparatus for generating models of spoken words based on a small number of utterances
CA2228109A1 (en) Speaker recognition system capable of accurately selecting inhibiting reference patterns by using small amount of calculation
US20060235686A1 (en) Speech recognition device
JP2017126051A (ja) テンプレート生成装置、テンプレート生成方法、テンプレート生成プログラムおよびフレーズ検知システム
Rigoll et al. A NN/HMM hybrid for continuous speech recognition with a discriminant nonlinear feature extraction
Nosek et al. Synthesized speech detection based on spectrogram and convolutional neural networks
Karanasou et al. I-vectors and structured neural networks for rapid adaptation of acoustic models
EP0731447B1 (en) Reference pattern training system and speech recognition system using the same
KR20200120595A (ko) 언어 모델 학습 방법 및 장치, 음성 인식 방법 및 장치
Li et al. Self-Supervised Learning-Based Source Separation for Meeting Data
US20060136210A1 (en) System and method for tying variance vectors for speech recognition
Renals et al. Improving statistical speech recognition
JPH04295894A (ja) 神経回路網モデルによる音声認識方法
JP7270869B2 (ja) 情報処理装置、出力方法、及び出力プログラム
JP3226716B2 (ja) 音声認識装置
CN1162836C (zh) 确定一系列声音模块以合成调性语言的语言信号的方法
KR20180106619A (ko) 호출어 검출을 위한 심층 신경망 구축 방법

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20121011

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20130930

Year of fee payment: 10

LAPS Lapse due to unpaid annual fee