KR100693284B1 - 음성 인식 장치 - Google Patents

음성 인식 장치 Download PDF

Info

Publication number
KR100693284B1
KR100693284B1 KR1020050031127A KR20050031127A KR100693284B1 KR 100693284 B1 KR100693284 B1 KR 100693284B1 KR 1020050031127 A KR1020050031127 A KR 1020050031127A KR 20050031127 A KR20050031127 A KR 20050031127A KR 100693284 B1 KR100693284 B1 KR 100693284B1
Authority
KR
South Korea
Prior art keywords
matching cost
matching
processing element
speech recognition
pattern
Prior art date
Application number
KR1020050031127A
Other languages
English (en)
Other versions
KR20060108895A (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 KR1020050031127A priority Critical patent/KR100693284B1/ko
Priority to US11/262,167 priority patent/US20060235686A1/en
Publication of KR20060108895A publication Critical patent/KR20060108895A/ko
Application granted granted Critical
Publication of KR100693284B1 publication Critical patent/KR100693284B1/ko

Links

Images

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/28Constructional details of speech recognition systems
    • G10L15/32Multiple recognisers used in sequence or in parallel; Score combination systems therefor, e.g. voting systems
    • 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/20Speech recognition techniques specially adapted for robustness in adverse environments, e.g. in noise, of stress induced speech
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L21/00Speech or voice signal processing techniques to produce another audible or non-audible signal, e.g. visual or tactile, in order to modify its quality or its intelligibility
    • G10L21/02Speech enhancement, e.g. noise reduction or echo cancellation
    • G10L21/0208Noise filtering

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • Acoustics & Sound (AREA)
  • Computational Linguistics (AREA)
  • Quality & Reliability (AREA)
  • Signal Processing (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Image Analysis (AREA)
  • Complex Calculations (AREA)

Abstract

본 발명은 히든 마코프 모델과 두 개의 레벨을 갖는 동적 프로그래밍을 이용한 음성 인식 장치에 관한 것이다.
본 발명에 따른 음성 인식 장치는 음성 신호를 샘플링하고 양자화하여 디지털 음성 신호로 변환하는 A/D 변환부; 변환된 디지털 음성 신호의 잡음을 제거하는 잡음 제거부; 잡음이 제거된 음성 신호로부터 특징 벡터를 생성하고 음성 인식을 위한 테스트 패턴으로 변환하는 특징 벡터 생성부; 및 다수 개의 프로세싱 엘리먼트가 병렬로 배치되며, 각 프로세싱 엘리먼트는 테스트 패턴과 레퍼런스 패턴의 매칭 코스트를 각각 계산하고 계산된 매칭 코스트 중 최소값을 선택하여 유입된 테스트 패턴의 최소 매칭 코스트로 산출하는 프로세싱부를 포함한다.
본 발명의 구성에 따르면, 신속히 음성 인식을 처리할 수 있을 뿐만 아니라 음성 인식률을 제고시키고 ASIC으로 대량 생산할 수 있는 음성 인식 장치를 제공할 수 있다.
히든 마코프 모델, 레퍼런스 패턴, 매칭 코스트

Description

음성 인식 장치 {APPARATUS FOR SPEECH RECOGNITION}
도 1은 본 발명의 실시예에 따른 음성 인식 장치를 도시한 블록도이다.
도 2는 도 1에 도시된 구성 요소의 구체적인 블록도이다.
도 3은 본 발명의 실시예에 따른 패턴 매칭부의 제1 레벨을 도시한 도면이다.
도 4는 본 발명에 적용되는 히든 마코프 알고리즘을 도시한 도면이다.
도 5는 본 발명의 실시예에 따른 패턴 매칭부의 비교 모듈의 구조를 도시한 도면이다.
도 6은 본 발명의 실시예에 다른 패턴 매칭부의 제2 레벨에 적용되는 알고리즘을 도시한 도면이다.
도 7은 본 발명의 실시예에 따른 패턴 매칭부의 제2 레벨을 도시한 도면이다.
도 8은 본 발명의 실시예에 따른 제2 레벨의 프로세싱 엘리먼트의 구조를 도시한 도면이다.
본 발명은 히든 마코프 모델과 두 개의 레벨을 가지는 동적 프로그래밍 기법을 이용한 음성 인식 장치에 관한 것이다.
음성 인식(speech recognition)은 컴퓨터가 음향학적 신호(acoustic speech signal)를 텍스트로 매핑시키는 과정이다. 즉, 일반적으로 마이크나 전화를 통하여 얻어진 음향학적 신호를 단어나 단어 집합 또는 문장으로 변환하는 과정을 말한다. 인식된 결과는 명령이나 제어, 데이터 입력, 문서 준비 등의 응용 분야에서 최종 결과로 사용될 수 있으며, 음성이해와 같은 분야에는 언어 처리 과정의 입력으로 사용될 수 있다. 또한, 음성인식 기술은 인간과 컴퓨터 간의 자연스러운 의사소통을 가능케 하며 컴퓨터를 인간에게 보다 밀착시킴으로써 인간의 생활을 보다 풍요롭게 만드는 데 필수적인 기술이다.
일반적인 음성 인식 방법은 인식될 단어와 대응시켜 미리 저장해 놓은 복수의 레퍼런스 패턴과 인식할 음성 신호를 매칭을 위하여 패턴화한 테스트 패턴을 대응시켜 가장 적합하게 매칭되는 것으로 판단된 레퍼런스 패턴에 해당하는 단어를 입력된 음성 신호로 인식한다.
이와 같이 가장 적합하게 매칭되는 레퍼런스 패턴을 분류하기 위해서는 히든 마코프 모델(HMM)과 같이 통계적으로 모델링하여 분류하는 방법, 뉴런 네트웍(time delay neural network; TDNN)과, 테스트 패턴과 레퍼런스 패턴의 시간적 길이의 차이가 있더라도 효율적으로 최적의 레퍼런스 패턴을 분류할 수 있는 동적 타임 워핑(DTW) 방법을 이용한 다양한 패턴 분류방법이 사용된다.
종래에는 상기와 같은 최적의 레퍼런스 패턴 분류 방법의 수행을 위하여 음 성인식 소프트웨어를 컴퓨터에 저장하여 두고, 컴퓨터로 이를 작동시켜 음성인식을 수행하였다.
따라서, 테스트 패턴과 레퍼런스 패턴을 매칭시키는 음성인식 소프트웨어를 하드웨어로 구현하여 높은 음성인식률로서 고속으로 동작하며, 작은 사이즈를 갖는 음성인식 장치가 요구되어 왔다. 또한, 현재까지 하드웨어로 구현된 경우는 주로 인식하고자 하는 단위가 단어로 한정되어 있어, 단어를 중심으로 학습을 하고 이를 인식하는 고립 단어 인식 장치에 한정되어 있었다.
본 발명이 이루고자 하는 기술적 과제는 실시간 음성 인식이 가능하며 작은 칩 사이즈로서 주문형 집적회로(application-specific integrated circuit; ASIC)로 대량 생산이 가능한 음성 인식 장치를 제공하는 것이다.
이러한 과제를 해결하기 위해, 본 발명의 한 특징에 따르면, 음성 신호를 샘플링하고 양자화하여 디지털 음성 신호로 변환하는 A/D 변환부, 변환된 디지털 음성 신호의 잡음을 제거하는 잡음 제거부, 잡음이 제거된 음성 신호로부터 특징 벡터를 생성하고 음성 인식을 위한 테스트 패턴으로 변환하는 특징 벡터 생성부, 및 다수 개의 프로세싱 엘리먼트가 병렬로 배치되어 각 프로세싱 엘리먼트는 테스트 패턴과 레퍼런스 패턴의 매칭 코스트를 각각 계산하고 계산된 매칭 코스트 중 최소값을 선택하여 유입된 테스트 패턴의 최소 매칭 코스트로 산출하는 프로세싱부를 포함하는 음성 인식 장치를 제공한다.
여기서, 상기 프로세싱부는 다수의 단어에 대응하는 다수의 레퍼런스 패턴을 저장하며, 상기 레퍼런스 패턴에 포함된 특징 벡터를 순차적으로 출력하여 매칭 코스트의 계산에 제공하는 메모리 모듈, 및 다수 개의 프로세싱 엘리먼트가 병렬로 배치된 프로세싱 엘리먼트 군을 적어도 하나 이상 포함하여 테스트 패턴에 대한 최소 매칭 코스트를 산출하고, 이에 대응하는 레퍼런스 패턴의 인덱스를 추출하는 패턴 매칭 모듈을 포함할 수 있다.
또한, 본 발명의 다른 특징에 따르면, 음성 신호의 테스트 패턴과 최소의 매칭 코스트값을 갖는 레퍼런스 패턴을 찾는 음성 인식 장치에 있어서, 잡음이 제거된 음성 신호로부터 특징 벡터를 생성하고 음성 인식을 위한 테스트 패턴으로 변환하는 특징 벡터 생성부; 및 다수의 단어에 대응하는 다수의 레퍼런스 패턴을 저장하고 있으며, 상기 레퍼런스 패턴들에 포함된 특징 벡터를 순차적으로 출력하는 메모리 모듈을 포함하며, 다수 개의 프로세싱 엘리먼트가 병렬로 배치되어, 각 프로세싱 엘리먼트는 테스트 패턴과 레퍼런스 패턴의 매칭 코스트를 각각 계산하고 계산된 매칭 코스트 중 최소값을 선택하여 유입된 테스트 패턴의 최소 매칭 코스트로 산출하는 프로세싱부를 포함하는 음성 인식 장치를 제공한다.
아래에서는 첨부한 도면을 참고로 하여 본 발명의 실시예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나, 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다.
도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략 하였다. 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다. 어떤 부분이 다른 부분과 연결되어 있다고 할 때, 이는 직접적으로 연결되어 있는 경우 뿐 아니라 그 중간에 다른 소자를 사이에 두고 연결되어 있는 경우도 포함한다.
본 발명에 따른 음성 인식 장치는 고속의 칩 형태로 구현되는 통신칩에 하드웨어로 구현 가능한 것으로, 본 발명이 적용되는 대상 시스템은 VLSI(very large scale integration) 칩 형태로 구현되는 하드웨어를 대상으로 한다. 특히, 본 발명은 ASIC, FPGA 기반의 칩 개발기술로서 칩에 최적화된 알고리즘을 개발하여 저전력 저가의 소형 장치의 구현이 가능하다. 음성인식 시스템을 하드웨어 장치로 구현함에 따라 크기가 작고 간단한 인터페이스로 컴퓨터가 없이도 단독적으로 음성인식을 사용하고자 하는 장치에 쉽게 설치가 가능하고, 속도 면에서도 매우 빠를 뿐만 아니라 병렬 구조 구현이 가능하기 때문에 실시간 음성 인식이 가능하다.
도 1은 본 발명의 실시예에 따른 음성 인식 장치를 도시한 블록도이다. 도 1에 나타낸 바와 같이, 본 발명의 실시예에 따른 음성 인식 장치는 A/D 변환부(10), 잡음제거부(20), 특징벡터 생성부(30) 및 프로세싱부(40)를 포함하며, 프로세싱부(40)는 패턴 매칭부(41)와 메모리부(42)를 포함한다.
A/D 변환부(10)는 아날로그 신호인 음성신호를 샘플링과 양자화 과정을 거쳐 디지털 음성신호로 변환시킨다.
잡음 제거부(20)는 A/D 변환부(10)를 거쳐 양자화된 음성 신호의 인식률을 높이기 위하여 아날로그 입력 신호에 포함되어 있었거나, 양자화 과정에서 발생할 수 있는 배경 잡음(background noise), 백색 잡음(white noise) 등을 제거하고, 디지털 음성 신호만을 특징 벡터 생성부(30)로 전송한다.
특징 벡터 생성부(30)는 디지털 음성신호를 패턴화하기 위한 특징 벡터를 생성한다. 생성된 특징 벡터는 하나의 테스트 패턴으로 변환되어 프로세싱부(40)로 전송된다. 그러나, 레퍼런스 패턴과의 매칭을 위하여 음성 신호로부터 산출된 테스트 패턴의 특징벡터의 수는 음성인식 칩의 설계자가 임의로 결정할 수도 있다.
프로세싱부(40)는 두 개의 레벨을 갖는 동적 프로그래밍(two-level dynamic programmin; TLDP) 기법을 기초로 구성되며, 특징 벡터 생성부(30)로부터 전송받은 특징 벡터의 테스트 패턴에 대해 미리 학습을 통해 정해져 있는 확률 파라미터를 매개변수로 하는 히든 마코프 모델(hidden Markov model; HMM)을 이용하여 음성 인식 결과를 출력한다. 즉, 프로세싱부(40)는 그 내부의 메모리부(42)에 미리 저장되어 있는 레퍼런스 패턴의 정보를 이용하여 테스트 패턴과 가장 매칭이 잘 되는 레퍼런스 패턴을 찾아내어 이에 대응되는 단어의 인덱스를 추출한다.
도 2는 도 1에 도시된 본 발명의 실시예에 따른 음성 인식 장치 중 프로세싱부(40) 내부의 패턴 매칭부(41)의 구체적인 구조 및 각 구성 요소들 사이에서 이루어지는 데이터의 흐름을 도시한 블록도이다.
패턴 매칭부(41)는 두 개의 레벨을 갖는 동적 프로그래밍 기법을 통하여 레퍼런스 패턴에 대한 최소의 매칭 코스트를 구하고, 이에 대응되는 인덱스를 추출한다.
도 2에 도시된 바와 같이, 패턴 매칭부(41)는 제1 프로세싱 엘리먼트 군 (50), 비교 모듈(60), 제2 프로세싱 엘리먼트 군(70), 역추적 모듈(80)을 포함한다.
제1 프로세싱 엘리먼트 군(50)은 히든 마코프 알고리즘을 이용하여 매칭 코스트를 계산하는 동일한 구조를 갖는 다수 개의 프로세싱 엘리먼트가 병렬로 배치되어 구성된다.
비교 모듈(60)은 제1 프로세싱 엘리먼트 군(50)을 구성하는 각각의 프로세싱 엘리먼트에서 계산된 다수 개의 매칭 코스트들 중 가장 작은 값을 판별하고, 판별된 최소값을 저장하여 이후의 계산에 사용한다.
제2 프로세싱 엘리먼트 군(70)은 비교 모듈(51)에서 결정된 매칭 코스트의 최소값을 이용하여 전체 프레임에 대한 레퍼런스 패턴과의 최적의 매칭 코스트를 구하여 단어의 경계점을 파악하여 연결단어를 인식하며, 동일한 구조를 갖는 다수 개의 프로세싱 엘리먼트가 병렬로 배치되어 형성된다.
역추적 모듈(80)은 제2 프로세싱 엘리먼트 군(70)에서의 연산 결과를 바탕으로 음성 인식의 결과에 해당하는 레퍼런스 패턴의 단어 배열을 구한다.
여기서, 제1 프로세싱 엘리먼트 군(50)과 비교 모듈(60)이 제1 레벨을 형성하고, 제2 프로세싱 엘리먼트 군(70)과 역추적 모듈(80)이 제2 레벨을 형성한다.
도 3은 본 발명의 실시예에 따른 패턴 매칭부(41)의 제1 레벨을 도시한 도면이다. 도 2 및 도 3에 도시된 바와 같이, 제1 레벨은 제1 프로세싱 엘리먼트 군(50)과 비교 모듈(60)을 포함하며, 제1 프로세싱 엘리먼트 군(50)은 상태 입력부(51), 매칭 코스트를 계산하는 동일한 구조를 가지며 병렬로 배치된 다수 개의 프 로세싱 엘리먼트(52a~52m)를 포함하여 구성된다.
전술한 구성을 갖는 제1 레벨은 히든 마코프 알고리즘 및 동적 프로그래밍 기법을 이용하여, 임의의 시작점과 끝점에서 테스트 패턴과 레퍼런스 패턴의 매칭 코스트를 구하고, 그 중 최소의 매칭 코스트를 판별한 후 이에 대응되는 레퍼런스 패턴의 인덱스를 추출한다. 즉, 각각의 프로세싱 엘리먼트에 대하여, 동적 프로그래밍 기법을 적용하여 매칭 코스트 계산을 위한 테스트 패턴과 레퍼런스 패턴의 비교를 위한 시작점이 다르게 설정되어 있으므로, 테스트 패턴이 M 개의 성분으로 구성되어 있는 경우에는 M 클록의 입력만으로도 각 성분들을 시작점으로 하는 매칭 코스트들을 계산할 수 있다.
특징 벡터 생성부(30)로부터 음성 신호의 특징 벡터가 입력되면 학습된 확률값에 따라 히든 마코프 모델 파라미터인 A, B 파라미터 값이 계산되어 상태 입력부(51)로 들어오게 된다. 상태 입력부(51)로부터 클록에 따라 순차적으로 히든 마코프 모델 파라미터들이 프로세싱 엘리먼트(52a~52m)들로 입력되어 매칭 코스트가 계산된다.
이하, 전술한 과정에서 매칭 코스트의 계산을 위하여 사용되는 히든 마코프 모델에 대하여 설명한다.
히든 마코프 모델은 음성 신호가 마코프 모델로 모델링될 수 있다는 가정 하에 훈련 과정에서는 음성 코퍼스를 이용해 마코프 모델의 확률적인 파라미터들을 구한 후 기준 마코프 모델을 만들고 인식 과정에서는 입력 음성과 가장 유사한 기준 마코프 모델을 선택함으로써 음성을 인식하는 방식이다. 히든 마코프 모델은 상태 천이에 의해 서로 연결된 상태의 모임으로서 각 천이에는 상태의 변화를 관장하는 천이 확률(transition probability)과 천이가 이루어졌을 때 유한 개의 관측 대상으로부터 각 출력 심벌이 나타나는 조건부 확률을 규정하는 출력 확률(observation probability)의 두 종류의 확률이 관련되어 있다. 히든 마코프 모델을 이용한 음성 인식 과정에 있어서 사용되는 변수들은 아래와 같다.
1) N은 히든 마코프 모델의 상태의 수를 나타내는 값으로, 각각의 상태의 집합은
Figure 112005019507832-pat00001
으로 시간 t에서의 상태는
Figure 112005019507832-pat00002
로 정의한다.
2) M은 각 상태에서의 출력 심볼의 수를 나타내는 값으로, 각각의 심볼의 집합은
Figure 112005019507832-pat00003
으로 정의한다.
3) T는 관측열의 길이를 나타내는 값이다.
4)
Figure 112005019507832-pat00004
는 관측열을 나타낸다.
5)
Figure 112005019507832-pat00005
는 상태 천이 확률로서,
Figure 112005019507832-pat00006
,
Figure 112005019507832-pat00007
이다.
6)
Figure 112005019507832-pat00008
는 상태 관찰 확률로서,
Figure 112005019507832-pat00009
,
Figure 112005019507832-pat00010
이다.
7)
Figure 112005019507832-pat00011
는 초기 상태 확률로서,
Figure 112005019507832-pat00012
,
Figure 112005019507832-pat00013
이다.
위의 1)~7)과 같이 변수들을 이용하는 히든 마코프 모델은
Figure 112005019507832-pat00014
로 간단히 표시될 수 있으며, 히든 마코프 모델은 ⅰ) 확률 평가 문제, ⅱ) 은닉 상태 열을 찾는 문제, ⅲ) 학습 문제 등의 세 가지 기본 문제의 해결을 통하여 음성인식을 수행한다.
첫째, 확률 평가 문제는 모델 매개변수
Figure 112005019507832-pat00015
와 관측열
Figure 112005019507832-pat00016
이 주어졌을 때 모델
Figure 112005019507832-pat00017
에 대한 관측열 O가 출력될 확률을 계산하는 문제로서 전향 알고리즘을 이용한다.
둘째, 은닉 상태열을 찾는 문제는 디코딩 작업에 해당하는 것으로서, 모델
Figure 112005019507832-pat00018
와 관측열
Figure 112005019507832-pat00019
가 주어졌을 때 모델
Figure 112005019507832-pat00020
에 대해서 최고의 확률
Figure 112005019507832-pat00021
를 갖는 경로를 찾음으로써 최적의 상태열
Figure 112005019507832-pat00022
을 구하는 문제로서, 비터비 알고리즘(Viterbi algorithm)을 사용한다.
셋째, 학습 문제는
Figure 112005019507832-pat00023
에 대해서 관측열
Figure 112005019507832-pat00024
가 출력될 확률
Figure 112005019507832-pat00025
를 최대화하도록 모델
Figure 112005019507832-pat00026
의 매개변수를 조절하는 문제로서, 바움-웰츠 알고리즘(Baum-Welch algorithm)을 사용한다.
본 발명의 실시예에 따른 패턴 매칭부는 평가와 디코딩 부분을 하드웨어로 구현하였으며, 학습 문제는 기존의 방법을 사용하여 소프트웨어로 구현하였다.
도 4는 전술한 히든 마코프 모델 알고리즘을 설명하기 위한 도면이다. 히든 마코프 모델의 천이 확률은 음성은 시간에 따라 진행하는 특성을 가지므로 상태가 뒤로 진행하는 경우가 없으며 또한 크게 변하는 경우가 없으므로 상태는 항상 왼쪽 에서 오른쪽으로 진행하는 특성을 갖는다는 가정 하에 도 4에 도시된 바와 같은 left-to-right model을 사용한다.
전술한 히든 마코프 모델과 동적 프로그래밍 기법을 이용하는 제1 프로세싱 엘리먼트 군(50)을 구성하는 각각의 프로세싱 엘리먼트는 히든 마코프 알고리즘에 따라서 매칭 코스트를 계산하며, p 번째 프로세싱 엘리먼트(52p)에서의 매칭 코스트
Figure 112005019507832-pat00027
의 계산은 아래의 수학식 1에 의한다.
Figure 112005019507832-pat00028
여기서,
Figure 112005019507832-pat00029
는 임의의 테스트 패턴의 시작점을,
Figure 112005019507832-pat00030
는 끝점을 나타내고, t는 테스트 패턴을,
Figure 112005019507832-pat00031
는 V 개의 인식하고자 하는 레퍼런스 패턴 중 v번 째 단어의 패턴을 나타내며, w(m)은 안정적이라고 가정할 수 있는 매우 짧은 시간 동안의 신호 단위 분석을 위하여 입력된 전체 프레임을 분할하는 윈도우를 나타내며, M은 전체 프레임의 크기를 나타낸다. 위 식은 (s,e) 구간에서 테스트 패턴과 레퍼런스 패턴 사이의 매칭 코스트를 나타낸다.
수학식 1에서 알 수 있는 바와 같이, p번 째 프로세싱 엘리먼트에서는 시작점이 p인 경우의 매칭 코스트를 p부터 M까지 순차적으로 계산한다. 이러한 프로세싱 엘리먼트가 M 개 존재하므로, 모든 시작점과 모든 끝점에 대해서 매칭 코스트를 구하게 된다. 따라서, 이 과정을 소프트웨어로 구현할 경우에는 M2 클록만큼의 매 칭 시간이 필요하게 되지만 본 발명의 실시예와 같은 병렬 하드웨어 구조에서는 전체 프레임의 크기에 해당하는 M 클록의 계산시간만으로도 동일한 계산 결과를 얻을 수 있는 효과가 있다.
도 5는 도 3의 비교 모듈(60)을 보다 상세히 도시한 도면이다. 비교 모듈(60)에는 제1 프로세싱 엘리먼트 군(50)에서 계산된 M 개의 매칭 코스트
Figure 112005019507832-pat00032
중 가장 작은 값이 저장되고, 이 때의 레퍼런스 패턴에 대응되는 인덱스가 메모리부(42)로부터 추출되어 함께 저장되며, 최소 매칭 코스트의 계산은 아래의 수학식 2에 의한다.
Figure 112005019507832-pat00033
여기서,
Figure 112005019507832-pat00034
는 메모리에 저장되는 매칭 코스트를 의미한다.
위 식에서 알 수 있는 바와 같이, 메모리에 저장되는 매칭 코스트는 이전에 입력되어 저장되어 있던 최소 매칭 코스트
Figure 112005019507832-pat00035
와 현재 입력되는
Figure 112005019507832-pat00036
를 비교하여 보다 작은 값을 저장한다. 즉, 특정 시점까지 입력된 매칭 코스트 중 가장 작은 값이 메모리에 저장된다. 이 때,
Figure 112005019507832-pat00037
값은 e 값이 1부터 M까지 순서대로 입력되기 때문에 비교 모듈(60) 내의 메모리의 구조는 M 개의 선입선출(first-input first-output; FIFO) 구조로서 순차적으로 비교 계산될 수 있도록 구성되며, 도 3에 도시된 바와 같이 세로축은 시작점, 가로축은 끝점 의 코스트가 저장되게 된다. 이 때, 시작점이 끝점보다는 클 수 없으므로 실제 유용한 값은 도 3의 비교 모듈(60) 중 빗금 친 부분에 저장된 값들에 해당한다.
이 때, 메모리 모듈(60)에는 최소 매칭 코스트와 함께 이에 대응되는 인덱스값을 함께 저장한다. 인덱스는 아래의 수학식 3에 의하여 구할 수 있다.
Figure 112005019507832-pat00038
메모리부(42)에 저장되어 있던 V 개의 모든 레퍼런스와 매칭이 이루어졌을 때 비교 모듈(60)에 저장되는 값은 아래의 수학식 4 및 수학식 5과 같이 나타낼 수 있다.
Figure 112005019507832-pat00039
Figure 112005019507832-pat00040
즉,
Figure 112005019507832-pat00041
는 특정 테스트 패턴에 대하여 가장 매칭이 잘 되는 레퍼런스 패턴과의 매칭 코스트이고,
Figure 112005019507832-pat00042
는 이에 대응되는 레퍼런스 패턴의 인덱스를 나타낸다. 이와 같이 계산된 매칭 코스트와 인덱스를 이용하여 제2 레벨에서는 전체 프레임과 가장 매칭이 잘 되는 단어의 배열을 구하게 된다. 여기서 전체 프레임이 몇 개의 단어로 이루어져 있는지도 매칭 과정을 통해 결정하게 된다.
도 6은 제2 레벨에서 최적의 매칭 코스트를 구하기 위하여 사용되는 알고리즘을 도시한 도면이다. 입력된 음성 신호 중 특징 벡터를 추출하여 형성된 e 개의 테스트 패턴에 대한 l 개의 레퍼런스 패턴과의 최적의 매칭 코스트를
Figure 112005019507832-pat00043
라고 할 때, 이를 구하는 알고리즘을 설명하기 위한 도면이며,
Figure 112005019507832-pat00044
는 아래의 수학식 6과 같이 정의한다.
Figure 112005019507832-pat00045
도 6에 도시된 바와 같이 제2 레벨에서
Figure 112005019507832-pat00046
를 구하기 위해서는
Figure 112005019507832-pat00047
,
Figure 112005019507832-pat00048
, …,
Figure 112005019507832-pat00049
의 값을 사용하며, e 값이 증가할수록 비교해야 하는 경우의 수가 늘어나게 된다.
즉, 제2 레벨에서는 수학식 6과 도 5로부터 알 수 있는 바와 같이 제(l-1)개의 레퍼런스 패턴과 (s-1)개의 매칭 코스트를 이용하여 제1 레벨에서 구한
Figure 112005019507832-pat00050
를 더해 (l) 개의 레퍼런스 패턴과의 매칭 코스트를 동적 프로그래밍 기법을 이용하여 구한다. 이와 같은 전체 알고리즘을 정리하면 아래와 같다.
Ⅰ. 제1 단계(초기화)
Figure 112005019507832-pat00051
Figure 112005019507832-pat00052
Figure 112005019507832-pat00053
Figure 112005019507832-pat00054
Ⅱ. 제2 단계(반복 계산)
Figure 112005019507832-pat00055
Figure 112005019507832-pat00056
Figure 112005019507832-pat00058
Figure 112005019507832-pat00059
Figure 112005019507832-pat00060
Ⅲ. 제3 단계(최종 해)
Figure 112005019507832-pat00061
즉, 마지막 최종계산 D*는 전체 매칭 코스트를 나타내고, 이 때 인식하고자 하는 단어의 배열은 역추적 모듈(80)에서 이에 대응되는 레퍼런스 패턴의 인덱스를 추출해 냄으로써 얻어진다.
도 7에 전술한 알고리즘을 실행하기 위한 본 발명의 실시예에 따른 제2 레벨의 구성을 보다 상세히 설명한다. 도 7에 도시된 바와 같이, 제2 레벨은 제1 레벨에서 계산된 하나의 테스트 패턴에 대한 최소 매칭 코스트
Figure 112005019507832-pat00062
를 기초로 하여 L 개의 레퍼런스 패턴과의 매칭 코스트
Figure 112005019507832-pat00063
를 계산하는 동일한 구조를 갖는 다수 개의 프로세싱 엘리먼트(71a~71m)가 병렬로 배치되어 형성된 제2 프로세싱 엘리먼트 군(70)과, 각 프로세싱 엘리먼트에서 계산된 매칭 코스트들을 개별적으로 저장하도록 구성된 레지스터(72)를 포함한다. 제2 레벨의 구조 또한 제1 레벨과 같이 같은 구조를 갖는 다수 개의 프로세싱 엘리먼트들을 포함하여 구성되어 있어 설 계가 쉽고 확장이 용이한 특성을 갖는다.
도 8에 제2 레벨의 제2 프로세싱 엘리먼트 군(70)을 구성하는 프로세싱 엘리먼트(71a~71m)의 구조를 도시하였다. 도 8에 도시된 바와 같이, 제2 레벨의 프로세싱 엘리먼트는 각각 두 개의 입력
Figure 112005019507832-pat00064
Figure 112005019507832-pat00065
을 제1 레벨의 메모리 모듈로부터 입력받아 덧셈하는 가산기(711)와, 가산기에서 계산된 값 즉,
Figure 112005019507832-pat00066
과 지연기(713)로부터의 출력값
Figure 112005019507832-pat00067
을 비교하여 보다 작은 값을 출력하는 비교기(712) 및 비교기의 출력
Figure 112005019507832-pat00068
를 지연시키기 위한 지연기(713)를 포함한다.
제2 프로세싱 엘리먼트 군의 프로세싱 엘리먼트(71a~71m)에는 도 7에 도시된 바와 같이 메모리 모듈(60)로부터
Figure 112005019507832-pat00069
값이 순차적으로 입력되고, 이와 동시에 이전에 계산되어 레지스터(72)에 저장되었던
Figure 112005019507832-pat00070
이 순서대로 레지스터로부터 입력된다. M 클록 동안 이와 같은 두 종류의 입력값이 프로세싱 엘리먼트(71a~71m)로 전송되고 이들의 합 중에서 가장 작은 값인
Figure 112005019507832-pat00071
이 선택되어, 이 값이 (M+1)번째 클록에서 출력되는 것이다. 그리고, 출력된
Figure 112005019507832-pat00072
를 레지스터에 저장하고, (l+1)번째 레퍼런스 패턴과의 매칭 코스트 계산을 하게 되는 것이다. 즉, 제2 레벨의 프로세싱 엘리먼트(71a~71m)는 M 클록 동안 레퍼런스 패턴과의 매칭 코스트를 계산하고 (M+1)번째 클록에서 레지스터에 업데이트를 하는 과정을 반복하는 구조로 이루어져 있다. 이와 같은 반복 과정이 메모리에 저장된 모든 레퍼런스 패 턴(Lmax)에 대하여 이루어지면 레지스터에는 모든
Figure 112005019507832-pat00073
이 저장되고, 이들 값을 이용하여 전술한 제3 단계에서 기재된 바와 같은 최종 매칭 코스트를 구할 수 있게 된다.
이와 같은 과정을 통하여 구한 최종 매칭 코스트
Figure 112005019507832-pat00074
를 이용하여 역추적 모듈(80)은 메모리부(42)에 저장된 레퍼런스 패턴에 대한 역추적 과정을 수행하여 이에 대응되는 레퍼런스 인덱스를 추출함으로써, 본 발명의 실시예에 따른 음성 인식 장치에 입력된 음성 신호를 인식할 수 있다.
이상에서 본 발명의 실시예에 대하여 상세하게 설명하였지만 본 발명의 권리범위는 이에 한정되는 것은 아니고 다음의 청구범위에서 정의하고 있는 본 발명의 기본 개념을 이용한 당업자의 여러 변형 및 개량 형태 또한 본 발명의 권리범위에 속하는 것이다.
이와 같이 본 발명의 실시예에 의하면, 음성 인식을 위한 히든 마코프 모델의 소프트웨어를 하드웨어로서 구현함으로써 보다 신속히 음성 인식을 처리할 수 있을 뿐만 아니라 음성 인식률을 제고시키고 ASIC으로 대량 생산할 수 있는 음성 인식 장치를 제공한다.
또한, 소프트웨어를 구동시키기 위한 컴퓨터를 필요로 하지 않는 작은 사이즈로 음성 인식이 가능한 음성 인식 장치를 제공하여 단독으로 음성인식을 사용하고자 하는 장치에 쉽게 설치가 가능하고, 속도 면에서도 매우 빠를 뿐만 아니라 병 렬 구조 구현이 가능하기 때문에 실시간 음성인식을 할 수 있다. 따라서, 음성인식이 사용될 수 있는 가전제품, 장난감, 이동통신 단말기, PDA와 같은 여러 분야에 사용될 수 있다.

Claims (9)

  1. 음성 신호를 샘플링하고 양자화하여 디지털 음성 신호로 변환하는 A/D 변환부;
    변환된 디지털 음성 신호의 잡음을 제거하는 잡음 제거부;
    잡음이 제거된 음성 신호로부터 특징 벡터를 생성하고 음성 인식을 위한 테스트 패턴으로 변환하는 특징 벡터 생성부; 및
    다수 개의 프로세싱 엘리먼트가 병렬로 배치되며, 각 프로세싱 엘리먼트는 테스트 패턴과 레퍼런스 패턴의 매칭 코스트를 각각 계산하고 계산된 매칭 코스트 중 최소값을 선택하여 유입된 테스트 패턴의 최소 매칭 코스트로 산출하는 프로세싱부를 포함하는 음성 인식 장치.
  2. 제1항에 있어서,
    상기 프로세싱부는
    다수의 단어에 대응하는 다수의 레퍼런스 패턴을 저장하며, 상기 레퍼런스 패턴에 포함된 특징 벡터를 순차적으로 출력하여 매칭 코스트의 계산에 제공하는 메모리부; 및
    다수 개의 프로세싱 엘리먼트가 병렬로 배치된 프로세싱 엘리먼트 군을 적어도 하나 이상 포함하여 테스트 패턴에 대한 최소 매칭 코스트를 산출하고, 이에 대응하는 레퍼런스 패턴의 인덱스를 추출하는 패턴 매칭부을 포함하는 음성 인식 장치.
  3. 제2항에 있어서,
    상기 패턴 매칭부은
    병렬로 배치된 다수의 프로세싱 엘리먼트에 대하여 테스트 패턴과 레퍼런스 패턴 사이의 매칭 코스트 계산의 시작점이 각각 다르게 설정되어, 모든 시작점과 끝점에서의 매칭 코스트를 계산하는 제1 프로세싱 엘리먼트 군;
    상기 제1 프로세싱 엘리먼트 군에서 계산된 다수의 매칭 코스트 중 최소의 매칭 코스트를 산출하고, 상기 메모리부로부터 이에 대응되는 레퍼런스 패턴의 인덱스를 추출하여 저장하는 비교부;
    상기 비교부로부터 입력된 최소 매칭 코스트를 이용하여 입력된 음성 신호의 테스트 패턴과 가장 매칭이 잘 되는 레퍼런스 패턴을 구하는 제2 프로세싱 엘리먼트 군; 및
    상기 제2 프로세싱 엘리먼트 군에서의 계산 결과를 역추적하여 대응되는 인덱스를 추출하는 역추적부을 포함하는 음성 인식 장치.
  4. 제3항에 있어서,
    상기 제1 프로세싱 엘리먼트 군에서의 매칭 코스트는
    Figure 112005019507832-pat00075
    (w(m): 윈도우 함수, t(m): 테스트 패턴,
    rv(m): v 번째 레퍼런스 패턴, s: 매칭 코스트 계산의 시작점,
    e: 매칭 코스트 계산의 끝점, m: 전체 프레임의 크기)
    인 음성 인식 장치.
  5. 제3항에 있어서,
    상기 비교부는 특정 시점 이전에 입력되어 저장되어 있는 매칭 코스트와 특정 시점에 입력된 매칭 코스트를 비교하여 보다 작은 값을 산출하는 비교기; 및
    선입선출 방식으로 운영되어 입력된 음성 신호가 순차적으로 비교되도록 하는 메모리를 포함하는 음성 인식 장치.
  6. 제3항에 있어서,
    상기 제2 프로세싱 엘리먼트 군에 포함된 각각의 프로세싱 엘리먼트는
    상기 비교 모듈로부터 출력되는 상기 제1 프로세싱 엘리컨트 군에서 결정된 테스트 패턴의 (l)개의 레퍼런스 패턴에 대한 최소 매칭 코스트와, 상기 최소 매칭 코스트의 입력 시점 이전에 계산되어 저장되어 있던 (l-1)개의 레퍼런스 패턴에 대한 최소 매칭 코스트를 더하는 가산기;
    상기 가산기의 출력값과, 상기 출력값이 지연기를 거쳐 지연된 값을 비교하여 보다 작은 값을 결정하는 비교기; 및
    상기 비교기로부터 출력된 매칭 코스트를 한 클럭 지연시켜 출력하는 상기 지연기
    를 포함하는 음성 인식 장치.
  7. 제3항에 있어서,
    상기 제2 프로세싱 엘리먼트 군은 각 프로세싱 엘리먼트에서 계산된 매칭 코스트를 각각 별도의 저장 공간을 할당하여 저장하는 레지스터를 더 포함하는 음성 인식 장치.
  8. 제7항에 있어서,
    상기 제2 프로세싱 엘리먼트는 M 클록 동안 레퍼런스 패턴과의 매칭 코스트를 계산하고 (M+1)번 째 클록에서 상기 레지스터에 매칭코스트를 업데이트하는 음성 인식 장치.
  9. 음성 신호의 테스트 패턴과 최소의 매칭 코스트값을 갖는 레퍼런스 패턴을 찾는 음성 인식 장치에 있어서,
    잡음이 제거된 음성 신호로부터 특징 벡터를 생성하고 음성 인식을 위한 테스트 패턴으로 변환하는 특징 벡터 생성부; 및
    다수의 단어에 대응하는 다수의 레퍼런스 패턴을 저장하며, 상기 레퍼런스 패턴들에 포함된 특징 벡터를 순차적으로 출력하는 메모리 모듈을 포함하며, 다수 개의 프로세싱 엘리먼트가 병렬로 배치되어, 각 프로세싱 엘리먼트는 테스트 패턴과 레퍼런스 패턴의 매칭 코스트를 각각 계산하고 계산된 매너칭 코스트 중 최소값을 선택하여 유입된 테스트 패턴의 최소 매칭 코스트로 산출하는 프로세싱부를 포함하는 음성 인식 장치.
KR1020050031127A 2005-04-14 2005-04-14 음성 인식 장치 KR100693284B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020050031127A KR100693284B1 (ko) 2005-04-14 2005-04-14 음성 인식 장치
US11/262,167 US20060235686A1 (en) 2005-04-14 2005-10-28 Speech recognition device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020050031127A KR100693284B1 (ko) 2005-04-14 2005-04-14 음성 인식 장치

Publications (2)

Publication Number Publication Date
KR20060108895A KR20060108895A (ko) 2006-10-18
KR100693284B1 true KR100693284B1 (ko) 2007-03-13

Family

ID=37109646

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020050031127A KR100693284B1 (ko) 2005-04-14 2005-04-14 음성 인식 장치

Country Status (2)

Country Link
US (1) US20060235686A1 (ko)
KR (1) KR100693284B1 (ko)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7110525B1 (en) 2001-06-25 2006-09-19 Toby Heller Agent training sensitive call routing system
KR100861653B1 (ko) * 2007-05-25 2008-10-02 주식회사 케이티 음성 특징을 이용한 네트워크 기반 분산형 음성 인식단말기, 서버, 및 그 시스템 및 그 방법
US8364481B2 (en) 2008-07-02 2013-01-29 Google Inc. Speech recognition with parallel recognition tasks
US8645061B2 (en) 2010-06-16 2014-02-04 Microsoft Corporation Probabilistic map matching from a plurality of observational and contextual factors
US9767793B2 (en) * 2012-06-08 2017-09-19 Nvoq Incorporated Apparatus and methods using a pattern matching speech recognition engine to train a natural language speech recognition engine
KR102033929B1 (ko) * 2017-06-28 2019-10-18 포항공과대학교 산학협력단 아식칩과 스마트폰을 구비하는 실시간 음성인식 장치
CN110737268B (zh) * 2019-10-14 2022-07-15 哈尔滨工程大学 一种基于Viterbi算法的确定指令的方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20000053337A (ko) * 1996-11-18 2000-08-25 스켈톤 에스. 알. 음성 처리 시스템

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS57136000A (en) * 1981-02-17 1982-08-21 Nippon Electric Co Pattern matching apparatus
JPS62169199A (ja) * 1986-01-22 1987-07-25 株式会社デンソー 音声認識装置
US5073939A (en) * 1989-06-08 1991-12-17 Itt Corporation Dynamic time warping (DTW) apparatus for use in speech recognition systems
US6594392B2 (en) * 1999-05-17 2003-07-15 Intel Corporation Pattern recognition based on piecewise linear probability density function
US6671669B1 (en) * 2000-07-18 2003-12-30 Qualcomm Incorporated combined engine system and method for voice recognition
US6754629B1 (en) * 2000-09-08 2004-06-22 Qualcomm Incorporated System and method for automatic voice recognition using mapping
US6898567B2 (en) * 2001-12-29 2005-05-24 Motorola, Inc. Method and apparatus for multi-level distributed speech recognition
US6879954B2 (en) * 2002-04-22 2005-04-12 Matsushita Electric Industrial Co., Ltd. Pattern matching for large vocabulary speech recognition systems
US7149689B2 (en) * 2003-01-30 2006-12-12 Hewlett-Packard Development Company, Lp. Two-engine speech recognition
JP3907194B2 (ja) * 2003-05-23 2007-04-18 株式会社東芝 音声認識装置、音声認識方法及び音声認識プログラム

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20000053337A (ko) * 1996-11-18 2000-08-25 스켈톤 에스. 알. 음성 처리 시스템

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
1020000053337
1020050031127 - 708895
2004 한국정보과학회 가을 학술발표논문집 Vol.31, No
IEEE Trans. Speech and Audio Processing, Vol.7 No.

Also Published As

Publication number Publication date
US20060235686A1 (en) 2006-10-19
KR20060108895A (ko) 2006-10-18

Similar Documents

Publication Publication Date Title
CN107680582B (zh) 声学模型训练方法、语音识别方法、装置、设备及介质
KR102167719B1 (ko) 언어 모델 학습 방법 및 장치, 음성 인식 방법 및 장치
KR100693284B1 (ko) 음성 인식 장치
CN111199727B (zh) 语音识别模型训练方法、系统、移动终端及存储介质
US11107461B2 (en) Low-power automatic speech recognition device
CN111402861B (zh) 一种语音识别方法、装置、设备及存储介质
KR100932538B1 (ko) 음성 합성 방법 및 장치
JPS62231996A (ja) 音声認識方法
JP2019159654A (ja) 時系列情報の学習システム、方法およびニューラルネットワークモデル
CN109147774B (zh) 一种改进的延时神经网络声学模型
JP7418991B2 (ja) 音声認識方法及び装置
KR100911429B1 (ko) 환경 이동을 위한 잡음 적응형 음향 모델 생성 방법 및 장치
CN113035231A (zh) 关键词检测方法及装置
KR102167157B1 (ko) 발음 변이를 적용시킨 음성 인식 방법
Picheny et al. Trends and advances in speech recognition
CN111241820A (zh) 不良用语识别方法、装置、电子装置及存储介质
JP6973192B2 (ja) 言語モデルを利用する装置、方法及びプログラム
CN115691475A (zh) 用于训练语音识别模型的方法以及语音识别方法
JP6577900B2 (ja) 音素誤り獲得装置、音素誤り獲得方法、およびプログラム
US20030105632A1 (en) Syntactic and semantic analysis of voice commands
JP3589044B2 (ja) 話者適応化装置
CN113327578B (zh) 一种声学模型训练方法、装置、终端设备及存储介质
JP2018081294A (ja) 音響モデル学習装置、音声認識装置、音響モデル学習方法、音声認識方法、およびプログラム
KR20200120595A (ko) 언어 모델 학습 방법 및 장치, 음성 인식 방법 및 장치
Roy et al. Sequence modeling for intelligent typing assistant with Bangla and English keyboard

Legal Events

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

Payment date: 20120305

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20120511

Year of fee payment: 7

LAPS Lapse due to unpaid annual fee