KR100464420B1 - 은닉 마코프 모델 탐색을 위한 관측 확률 연산 장치 - Google Patents

은닉 마코프 모델 탐색을 위한 관측 확률 연산 장치 Download PDF

Info

Publication number
KR100464420B1
KR100464420B1 KR10-2002-0037052A KR20020037052A KR100464420B1 KR 100464420 B1 KR100464420 B1 KR 100464420B1 KR 20020037052 A KR20020037052 A KR 20020037052A KR 100464420 B1 KR100464420 B1 KR 100464420B1
Authority
KR
South Korea
Prior art keywords
observation probability
probability
storage device
subtractor
mean
Prior art date
Application number
KR10-2002-0037052A
Other languages
English (en)
Other versions
KR20040001733A (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-0037052A priority Critical patent/KR100464420B1/ko
Priority to TW092110116A priority patent/TWI225640B/zh
Priority to US10/452,431 priority patent/US20040002862A1/en
Priority to US10/465,556 priority patent/US7356466B2/en
Priority to DE10329618A priority patent/DE10329618B4/de
Priority to GB0314977A priority patent/GB2391675B/en
Priority to JP2003185611A priority patent/JP4851684B2/ja
Priority to CNB031546188A priority patent/CN100359507C/zh
Publication of KR20040001733A publication Critical patent/KR20040001733A/ko
Application granted granted Critical
Publication of KR100464420B1 publication Critical patent/KR100464420B1/ko

Links

Classifications

    • GPHYSICS
    • G03PHOTOGRAPHY; CINEMATOGRAPHY; ANALOGOUS TECHNIQUES USING WAVES OTHER THAN OPTICAL WAVES; ELECTROGRAPHY; HOLOGRAPHY
    • G03BAPPARATUS OR ARRANGEMENTS FOR TAKING PHOTOGRAPHS OR FOR PROJECTING OR VIEWING THEM; APPARATUS OR ARRANGEMENTS EMPLOYING ANALOGOUS TECHNIQUES USING WAVES OTHER THAN OPTICAL WAVES; ACCESSORIES THEREFOR
    • G03B37/00Panoramic or wide-screen photography; Photographing extended surfaces, e.g. for surveying; Photographing internal surfaces, e.g. of pipe
    • G03B37/005Photographing internal surfaces, e.g. of pipe
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/50Constructional details
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/50Constructional details
    • H04N23/555Constructional details for picking-up images in sites, inaccessible due to their dimensions or hazardous conditions, e.g. endoscopes or borescopes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/18Closed-circuit television [CCTV] systems, i.e. systems in which the video signal is not broadcast
    • H04N7/183Closed-circuit television [CCTV] systems, i.e. systems in which the video signal is not broadcast for receiving images from a single remote source
    • H04N7/185Closed-circuit television [CCTV] systems, i.e. systems in which the video signal is not broadcast for receiving images from a single remote source from a mobile camera, e.g. for remote control

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Complex Calculations (AREA)

Abstract

은닉 마코프 모델 탐색을 위한 관측 확률 연산 장치
본 발명에 따른 관측 확률 연산 장치는 대표 음소들로부터 추출된 파라미터의 평균(mean)과 평균값의 분포 정도(1/σ)를 저장하는 저장 장치; 상기 저장 장치로부터 제공되는 평균과 인식 대상이 되는 음성 신호에서 추출한 파라미터(feature)와의 차이를 산출하는 감산기; 상기 감산기의 출력과 상기 저장 장치로부터 제공되는 분포 정도를 곱셈 연산하는 곱셈기; 상기 곱셈기의 곱셈 결과를 자승 연산하는 자승기; 및 상기 자승기의 출력을 누산하는 누산기를 포함하는 것을 특징으로 한다.
본 발명의 관측 확률 연산 장치에 의하면 은닉 마코프 모델 탐색 방법을 사용함에 있어서, 가장 많은 연산을 수행하는 관측확률 연산을 효율적으로 수행할 수 있다.

Description

은닉 마코프 모델 탐색을 위한 관측 확률 연산 장치{Apparatus for calculating an Observation Probability for a search of hidden markov model}
본 발명은 음성 인식 장치에 관한 것으로서 특히, 은닉 마코프 모델 탐색을 위한 관측 확률(Observation Probability) 연산 장치에 관한 것이다.
음성인식 기능은 인간이 일상생활에서 접할 수 있는 거의 모든 전자제품에 적용될 수 있으며 이러한 적용 추세는 저가의 e-toy 제품을 시작으로 점차 그 적용 범위가 확대될 전망이다.
음성 인식과 관련하여 최초로 사용화 기술을 제시한 회사는 IBM사로 문자인식에 처음 은닉 마코프 모델을 적용하면서 효율성을 입증하였다. (1997.06, US 5,636,291)
이러한 음성인식 방법은 크게 세부분으로 나뉘는데, 각각 전처리(Pre-processor) 부분, Front-end 부분, 모델링 부분이다. Pre-processor 부분은 처리 대상의 문자에 대한 어휘소를 인지하는 단계이다.
Front-end 부분은 인지된 어휘소로부터 비교대상이 되는 특징값(Feature value) 또는 파라미터들을 추출해내는 기능을 갖고 있다.
한편, 모델링 부분에서는 추출된 파라미터들을 근거로 향후 인지된 문자에 대한 정확한 판단 기준이 되는 모델을 학습과정(Training Phase)를 통해 구성해 나간다. 이와 함께 인지된 어휘소들을 바탕으로 미리 지정된 문자들중 어느 문자를 인식된 문자로 판단할 지를 결정하는 기능을 수행하게 된다.
이후 IBM사에서는 더 광범위한 영역에서 사용할 수 있는 은닉 마코프 모델을 이용한 음성인식 시스템 및 방법들을 공개하였다. (1998.08, US 5,799,278) 이 기술은 고립어에 대한 음성인식 처리 과정에서 은닉 마코프 모델을 이용하는 기술로써, 음성학적으로 다른 단어들을 인식할 수 있도록 Training되며, 그리고 많은 단어들을 인식하는데 적합한 은닉 마코프 모델을 사용하는 방법 및 음성인식 시스템에 대한 것이다.
이러한 음성 인식 장치를 구현함에 있어서 음성 인식에 필요한 연산 시간을 단축할 것이 요구된다. 관찰한 바에 의하면 은닉 마크프 모델을 사용하는 음성 인식 장치에 있어서 관측 확률 연산을 위한 연산이 약 62% 정도를 사용하고 있는 바 이러한 연산 속도를 개선할 것이 요구된다.
본 발명은 상기의 요구에 부응하기 위한 것으로서, 개선된 관측 확률 연산 장치를 제공하는 것을 그 목적으로 한다.
도 1은 일반적인 음성 인식 시스템의 구성을 보이는 블록도이다.
도 2는 임의의 음절에 대한 상태열을 구하는 방법을 도식적으로 보이기 위한 것이다.
도 3은 단어 인식에 대한 과정을 도식적으로 보이기 위한 것이다.
도 4는 본 발명에 따른 관측 확률 연산 장치의 구성을 보이는 블록도이다.
도 5는 비트 해상도의 선정에 대한 이해를 돕기위하여 도시된 것이다.
도 6은 본 발명에 따른 관측 확률 연산 장치의 적용례를 보이기 위하여 도시된 것이다.
도 7은 도 6에 도시된 장치에 있어서 제어 명령 및 데이터를 수신하는 과정을 도식적으로 보이기 위하여 도시된 블록도이다.
도 8은 도 6에 도시된 장치에 있어서 제어 명령 및 데이터를 수신하는 과정을 도식적으로 보이기 위한 타이밍도이다.
상기의 목적을 달성하는 본 발명에 따른 관측 확률 연산 장치는
대표 음소들로부터 추출된 파라미터의 평균(mean)과 평균값의 분포 정도(1/σ)를 저장하는 저장 장치;
상기 저장 장치로부터 제공되는 평균과 인식 대상이 되는 음성 신호에서 추출한 파라미터(feature)와의 차이를 산출하는 감산기;
상기 감산기의 출력과 상기 저장 장치로부터 제공되는 분포 정도를 곱셈 연산하는 곱셈기;
상기 곱셈기의 곱셈 결과를 자승 연산하는 자승기; 및
상기 자승기의 출력을 누산하는 누산기를 포함하는 것을 특징으로 한다.
본 발명의 관측 확률 연산 장치에 있어서, 상기 분산, 평균, 그리고 파라미터들을 각각 버퍼링하기 위한 레지스터들을 더 구비하는 것이 바람직하다.
본 발명의 관측 확률 연산 장치에 있어서, 누산기의 누산 결과를 버퍼링하기 위한 레지스터를 더 구비하는 것이 더욱 바람직하다. 이하 첨부된 도면을 참조하여 본 발명의 구성 및 동작을 상세히 설명하기로 한다.
도 1은 일반적인 음성 인식 시스템의 구성을 보이는 블록도이다. 도 1에 도시된 장치에 있어서, A/D 블록(101)은 연속적인 신호로 입력되는 음성신호를 연산이 용이한 디지털 신호로 바꿔 주는 기능을 한다.
Pre-emphasis 블록(102)은 음성의 특성상 발음의 구분을 명확하기 위해 고주파 성분을 강조시켜 주는 기능을 한다. 디지털 신호로 바뀐 음성신호는 일정한 샘플링 개수 단위로 분리하여 처리하게 되는데 여기서는 240개의 샘플(30㎳) 단위로 구분한다.
현재 은닉 마코프 모델에 사용되는 특징(Feature) 벡터로써 스펙트럼(Spectrum)에서 생성해낸 켑스트럼(Cepstrum)과 에너지를 일반적으로 사용하기 때문에, 이를 구하는 연산이 필요하며 이러한 에너지 및 스펙트럼을 구하는 연산 블록이 Energy Calculation 블록(103)이다. 여기서 에너지를 구하기 위해 타이밍 영역에서 에너지 계산 공식을 이용해 30㎳에 대한 순간 에너지를 계산한다. 이 계산식은 수학식 1과 같다.
<수학식 1>
이 에너지 값은 현재 입력된 신호가 음성신호인지 잡음인지를 판단하는데 사용된다. 이와 함께 주파수 영역에서의 스펙트럼을 구하기 위해서는 신호처리에서 많이 사용되는 고속 푸리어 변환(Fast Fourier Transform)을 이용한다. 이 스펙트럼은 256 포인트 FFT 연산을 통해 얻어진다. 이러한 FFT 연산은 256 Point Complex-FFT 연산을 수행하며 수학식 2와 같이 나타낼 수 있다.
<수학식 2>
에너지 연산 결과를 이용해 음성신호인지 잡음인지를 판별한 후 음성신호로 판명이 되면 음성의 시작과 끝을 결정하여야 한다. 이러한 음성신호의 시작과 끝을 결정하는 기능을 FineEndPoint 블록(104)에서 수행한다. 이와 같이 유효한 하나의 단어가 결정이 되면 이에 해당하는 스펙트럼 데이터들만이 버퍼에 저장이 된다. 따라서, 버퍼블록(105)에는 화자(Speaker)의 발화 단어중 잡음 부분이 제외된 유효한 음성신호만이 저장이 된다.
Mel-filter 블록(106)에서는 스펙트럼 값으로부터 켑스트럼(Cepstrum)을 구하기 위한 전처리 과정으로 32 대역폭으로 필터링하는 Mel-filtering 연산이 수행된다.
이 과정을 통해 32개 대역에 대한 스펙트럼 값이 구해진다. 주파수 영역에 있는 이 값을 다시 시간 영역으로 변환하면 은닉 마코프 모델에서 사용하는 파라미터인 켑스트럼(Cepstrum)을 구할 수 있다. 이러한 시간영역으로의 변환을 위해 Inverse Discrete Cosine Transform(IDCT) 연산을 수행한다. (IDCT 블록, 107)
은닉 마코프 모델을 이용한 검색을 위해 이러한 켑스트럼과 에너지 값이 사용되는데 에너지 값과 켑스트럼간의 값의 차이가 너무 크기 때문에 (10의 2승 크기의 차이), 이러한 값들간의 크기 조절이 필요하다. 이러한 값의 크기조절을 Scale 블록(108)에서 수행한다. 값의 조절은 Logarithm을 이용하여 조절한다. 이와 함께, Cepstral Window 블록(109)에서는 Mel-cepstrum 값에서 주기성과 에너지를 분리하는 작업과 잡음 특성을 개선하기 위한 작업을 수행한다. 여기서 잡음 특성을 개선하는 것은 수학식 3을 이용하여 계산한다.
<수학식 3>
여기서, Sin_Table은 다음 수학식 4와 같이 구성될 수 있다.
<수학식 4>
이상의 연산이 완료되면, 다음과 같은 Normalization 블록(110)을 통해 각 프레임의 9번째 데이터인 에너지 값들을 일정한 범위 이내의 값으로 정규화시킨다.
<수학식 5>
수학식 5와 같이 각 프레임의 9번째 데이터들 중에서 가장 큰 값을 찾고 이값을 수학식 6과 같이 모든 프레임의 에너지 데이터들에서 빼주면 Normalized Energy를 구할 수 있다.
<수학식 6>
일반적으로 인식률을 높이기 위해 파라미터(특징 값)의 종류를 늘리는 방법이 자주 사용된다. 가장 흔히 사용되는 방법이 각 프레임의 특징 값(Feature)외에 프레임과 프레임간 특징값의 차이를 또 하나의 특징 값으로 취하는 것이다. Dynamic Feature 블록(111)은 이러한 Delta Cepstrum을 계산하여 2차 특징 값으로 선정하는 부분이다. 이러한 켑스트럼들간의 차이를 계산하는 방법은 수학식 7과 같다.
<수학식 7>
일반적으로 연산 대상 프레임은 앞과 뒤 각각 2프레임씩이다. 이러한 연산이 완료되면 Cepstrum과 같은 수의 Delta Cepstrum이 생성된다.
이상과 같은 작업을 통해 은닉 마코프 모델 검색의 대상이 되는 특징 값들을 추출해 내게 된다.
이러한 특징 값들로 부터 미리 정해진 은닉 마코프 모델을 이용한 단어 탐색 작업을 수행하게 된다. 은닉 마코프 모델의 탐색 작업은 크게 세 단계를 거친다. 첫번째는 관측 확률(Observation Probability) 계산 블록(112)이다. 기본적으로 검색 및 결정과정은 확률을 근거로 한다. 확률적으로 가장 근사한 음절을 찾아 내는것이다. 확률 값은 크게 관측 확률(Observation Probability)과 천이 확률(Transition Probability)로 나뉘어 지며 이러한 확률 값을 누적하여 확률 값이 가장 큰 음절의 시퀀스(Sequence)가 선택되는 것이다. 관측 확률은 수학식 8과 같이 나타낼 수 있다.
<수학식 8>
여기서, dbx는 기준 평균치와 입력 신호에서 추출한 특징 값간의 확률적 거리이다. 확률적으로 거리가 가까울수록 확률적으로 큰 값이 된다. 이러한 확률적 거리를 구하는 공식은 수학식 9와 같다.
<수학식 9>
여기서, m은 파라미터의 평균값을 나타내며, Feature는 입력된 신호로부터 추출해 낸 파라미터 값을 의미한다. p는 Precision 값으로 분포 정도(분산 1/σ² )를 나타내며 lw는 Log weight로써 가중치를 나타낸다. i는 음소의 대표적인 유형을 나타내는 Mixture를 나타낸다. 예를 들어 인식의 정확도를 높이기 위하여 많은 사람들로부터 대표값을 얻는 것이 필요하고, 이들 대표값들을 하나의 음소에 대하여 공통적 유형을 나타내는 몇 개의 그룹들로 분류하면 i는 각 그룹의 대표값을 나타내는 인수가 된다. k는 프레임의 개수, 그리고 j는 파라미터의 개수를 나타낸다. 참고로 프레임의 개수는 단어의 유형에 따라 다르며 Mixture는 일반적은 사람의 발음 유형에 따라 다양하게 분류될 수 있다. Log Weight는 선형영역에서의 가중치 계산이 로그 영역에서의 가중치 계산으로 변환되면서 감산이 이루어진다.
이와 같이 계산된 관측확률은 미리 선정된 각 단어 음절의 음소가 관측될 수 있는 확률들로 해당 음소마다 각기 다른 확률 값을 갖게 된다. 따라서 모든 음소에 대한 관측확률이 정해지면 이를 미리 정해진 State Machine Sequence 블록(113)에 적용하여 가장 적합한 음소의 Sequence를 구하게 된다. 일반적으로 독립어 인식을 위한 은닉 마코프 모델의 각 State Machine은 인식하고자 하는 단어의 각 음소에 대한 특징 값을 근거로 이루어진 시이퀀스(Sequence)이다.
도 2는 임의의 음절에 대한 상태열을 구하는 방법을 도식적으로 보이기 위한 것으로서, 임의의 음절 "크"에 대한 상태열(State Machine Sequence)을 나타낸 것이다.
"크"라는 음절이 3개의 순차적인 상태열(S1, S2, S3)으로 구성된다고 가정할 때, 도 2에서는 최초 상태(S0)에서 출발하여, S1과 S2를 거처서 최종적으로 S3에 도달하는 과정을 도시하고 있다. 도 2에 있어서 같은 상태에서의 우측으로 진행하는 것은 지연 상태를 의미하며, 이러한 지연 상태는 화자 의존적인 것이다. 즉, 어떤 경우에 있어서 "크"라는 음절이 시간적으로 매우 짧게 발생할 수 있으나 다른 경우에 있어서는 상대적으로 긴 시간에 발생될 수 있다. 어떤 음절의 발생 시간이 길 수록 각 상태에서의 지연이 길어진다. 도 2에 있어서 Sil은 묵음(silent sound)을 나타낸다.
만약 사용자가 "크"라고 발음했다면 이 상태열이 가장 큰 확률 값을 갖게 될 것이다. 따라서 도 2와 같은 많은 상태열이 존재하게 되며 각각의 상태열 마다 하나의 입력 신호에 대한 확률 연산이 이루어 지므로 많은 연산량이 필요하다.
최종적으로 모든 음소에 대한 확률적 연산(음소별 상태열 처리 작업)이 완료되면 음소별 최종 단의 상태(State Machine)에는 확률 값이 저장된다. 도 2에서 각 상태 단을 진행하는 기준은 다음의 수학식 10을 이용해 최대인 가지(Branch)를 선택하면서 Alpha 값을 구하는 것이다. 이러한 Alpha 값은 결국 관측확률이 누적된 값으로 이전의 관측확률 값과 미리 경험적 실험을 통해 얻은 음소간 천이 확률(Transition Probability)을 이용해 구하게 된다.
<수학식 10>
여기서, State.Alpha는 새로이 계산되어 누적되는 확률 값이며, State.Alpha_prev는 이전까지 누적된 확률 값이다. 또한 trans_prob[0]는 상태 Sn에서 Sn으로 천이할 확률이며(예, S0→S0) trans_prob[1]은 상태 Sn에서 상태 Sn+1로 천이할 확률이다. (예, S0→S1) 그리고 o_prob는 현재의 상태에서 계산된 관측확률이다. Find Maximum Likelihood 블록(114)에서는 수학식 10과 같이 음소별 최종 누적된 확률 값을 근거로 인식된 단어를 선택하는 기능을 수행한다. 이때 확률 값이 가장 큰 해당 단어를 인식된 단어로 선택하게 된다.
"KBS"라는 단어를 인식하기 위한 과정을 예를 들어 설명하기로 한다.
"KBS"라는 단어는 "케이", "비", "에스"라는 3개의 음절로 구성되고, 또한, "케이"라는 음절은 "크", "에", "이"라는 3개의 음소들로 구성되고, "비"라는 음절은 "브"와 "이"라는 음소들로 구성되며, "에스"라는 음절은 "이", "에", 그리고 "스"라는 3개의 음소들로 구성된다.
"KBS"라는 단어는 "크", "에", "이", "브", "이", "이", "에", 그리고 "스"라는 8개의 음소들로 구성되며, 각 음소들의 관측 확률과 각 음소들 사이의 천이 확률에 의해 인식되게 된다.
즉, "KBS"라는 단어를 인식하기 위해서는 "크", "에", "이", "브", "이", "이", "에", 그리고 "스"라는 8개의 음소들이 최대한 정확하게 인식되어야 하고, 그것을 바탕으로 각 음소들 사이의 시퀀스가 최대한 유사한 단어인 "KBS"가 선택되어야 한다.
먼저 입력된 음성 신호에 대하여 각 음소별로 관측 확률이 계산된다. 관측 확률을 계산하기 위해서 데이터베이스에 저장된 대표 음소들과의 유사 정도 즉 확률이 계산되고, 확률이 가장 큰 대표 음소에 대한 확률이 관측확률이 된다. 예를 들면, "크"라는 음소에 대하여 데이터베이스에 저장된 대표 음소들 모두가 비교되고 그 중에서 가장 큰 확률을 보이는 "크"라는 대표 음소가 선택된다.
입력된 음성 신호에 대하여 각 음소별로 관측 확률이 계산되면, 즉, 음성 신호의 각 음소에 대한 대표 음소들이 결정되면, 입력된 음성 신호를 이들 대표 음소들로 이루어진 스테이트 머신 시퀀스에 적용시켜 가장 적합한 시퀀스를 결정하게된다. 스테이트 머신 시퀀스는 "크", "에", "이", "브", "이", "이", "에", 그리고 "스"라는 8개의 음소들로 구성되게 되며, 각 음소들의 관측 확률 및 이들의 누적값이 가장 큰 단어인 "KBS"가 선택되게 되는 것이다. 각각의 음소들은 세부적으로 3개의 스테이트로 구성된다.
도 3은 단어 인식에 대한 과정을 도식적으로 보이기 위한 것이다.
예를 들면, "KBS"라는 단어를 인식하기 위해서 관측 확률 연산 블록(112)를 통하여 각각의 음소들 "크", "에", "이", "브", "이", "이", "에", 그리고 "스"라는 8개의 음소들에 대한 관측 확률이 계산되고, 스테이트 머신(113)을 통하여 각 음소들의 관측 확률 및 이들의 누적값이 가장 큰 단어인 "KBS"가 선택되게 되는 것이다.
일반적으로 기존의 많은 음성인식 제품들은 이상의 기능들을 소프트웨어(C/C++ 언어)나 기계어(Assembly Code)로 설계하여 범용 프로세서를 이용해 기능을 수행시킨다.
또 다른 사용 형태는 전용 하드웨어(ASIC, Application Specific Integrated Circuit)로 구현하여 수행시키기도 한다. 이러한 두 가지 방법은 각각 장단점을 갖고 있다. 소프트웨어로 처리하는 방식은 연산시간이 상대적으로 많이 걸리지만 유연성이 높아 쉽게 기능의 변경이 가능하다.
한편, 전용 하드웨어로 처리하는 방식은 소프트웨어로 처리하는 것에 비해 상대적으로 처리 속도가 빠르고 적은 전력소모량을 나타내지만, 유연성이 없어 기능의 변경이 불가능하다.
따라서 본 발명에서는 기능의 변경이 용이한 소프트웨어 방식에 적합하면서 상대적으로 처리속도가 빠를 수 있도록 지원할 수 있는 장치를 제안한다.
소프트웨어 처리 방식으로 범용 프로세서를 사용할 경우 각 기능을 수행하는데 소요되는 연산수를 표 1에 나타내었다. 여기서 연산수는 실제 명령어 수가 아니라 곱셈, 덧셈, 로그, 지수연산과 같은 연산 횟수를 나타낸다.
<표 1>
연산 Pre-processing Mel-filtering Cepstrum HMM 합계
Pre-emphasis EnergyCalc. FFT Mel-Filter IDCT Scaling Cepstr. Observ.Prob. StateMachine
곱셈 160 240 4096 234 288 9 36 43200 0 48,263
덧셈 160 239 6144 202 279 0 1 45600 600 53,225
나눗셉 0 1 0 0 0 0 9 0 0 10
제곱근 0 1 0 0 0 0 0 0 0 1
LOG 0 0 0 32 0 0 0 0 1 33
총연산 320 481 10240 468 567 9 46 88800 601 101,532
표 1에서 알 수 있듯이 일반적인 음성인식 처리에 필요한 총 연산수는 약 100,000개이며 이 중에서 약 88.8% 정도가 관측확률 연산이다.
실제로 현재 널리 사용되고 있는 범용 프로세서인 ARM Processor 계열에 상기한 알고리즘을 실장하여 수행할 경우 전체 기능 수행을 위한 총 명령어 수 약 36백만 명령어가 수행되며 이 중에 약 33백만 명령어가 은닉 마코프 모델 검색에 소요되는 것으로 분석이 되었다. 표 2는 실제 ARM 프로세서를 이용하여 음성인식 기능을 수행할 경우 소요되는 명령어들을 기능 블록별로 분류한 것이다.
<표 2>
Function Block 명령어 cycle 수 Percentage(%)
Observation Probability 연산 22,267,200 61.7%
State Machine Update 11,183,240 30.7%
FFT 910,935 2.50%
Find Maximum Likelihood 531,640 1.46%
Mel-Filtering/IDCT/Scaling 473,630 1.30%
Dynamic Feature 283,181 0.78%
Pre-emphasis Energy Calculation 272,037 0.75%
Cepstral Window Normalize 156,061 0.43%
Find End Point 123,050 0.30%
Total 36,400,974 100.00%
표 2에서 알 수 있듯이, 명령어 수행에서도 약 62% 정도가 소요되는 것으로 나타났다. 따라서, 가장 많은 명령어가 수행되는 관측확률 연산 부분을 전용 장치로 지원함으로써 처리 속도 향상 및 소모전력 감소를 도모할 수 있다.
따라서 본 발명에서는 이러한 Observation Probability 연산을 적은 명령어 즉, 적은 사이클로도 수행할 수 있는 전용 장치를 제안한다.
관측확률을 계산 능력을 개선하기 위해, 본 발명에서는 가장 연산량이 많은 확률적 거리 계산식 수학식 9에서 수학식 10과 같은 연산을 하나의 명령어로 수행할 수 있는 전용 장치를 제시한다.
<수학식 11>
여기서, p[i][j]는 precision으로 분포정도(분산, 1/σ²)를 나타내며, mean[i][j]는 각 음소의 평균 값 그리고 feature[k][j]는 음소에 대한 파라미터 값으로 에너지와 켑스트럼을 의미한다. 수학식 11에서 mean[i][j] - feature[k][j]는 확률적으로 입력된 음소의 파라미터가 미리 정의된 대표 파라미터와 어느 정도 차이(거리)가 있는지를 나타내며 절대적인 확률적 거리를 계산하기 위해 자승을 취한다. 그리고 여기에 분산을 곱하면 객관적인 실제 거리를 예측할 수 있다. 여기서 대표 파라미터 값들은 수많은 음성 데이터를 통해 경험적으로 얻어낸 값들로 다양한 사람으로부터 얻어낸 음성 데이터가 많으면 많을수록 인식률은 개선된다.
그러나 본 발명에서는 하드웨어의 제한적 특성, 즉 데이터 비트(16 비트)의 한계를 고려하여 인식률을 최대한 올리기 위해 수학식 12와 같은 연산을 수행한다.
<수학식 12>
여기서, p[i][j]는 식⑾에서의 분산 1/σ²와 달리 분포 정도를 나타내는 1/σ이다. 분산 1/σ²대신에 분포 정도 1/σ를 사용하는 이유는 다음과 같다.
수학식 9에 의하면 (m[i][j]-feature[i][j]을 자승 연산한 결과와 p[i][j]를 곱셈 연산하고 있으나 수학식 12에 의하면 p[i][j]·(m[i][j]-feature[i][j])을 연산한 결과를 자승연산하고 있다.
수학식 9에 의하면 p[i][j]를 표현하기 위하여 자승 연산할 결과와 같은 정도의 비트 해상도가 필요하지만 수학식 12에 의하면 (m[i][j]-feature[i][j])의 결과와 같은 정도의 비트 해상도만이 필요하다는 것을 의미한다.
다시 말하면 16비트 비트 해상도를 유지하기 위해서는 수학식 9에 의하면 p[i][j]를 표현하기 위하여 32비트가 필요하지만 수학식 12에 의하면 p[i][j]를 표현하기 위하여 16비트만이 필요하다. 한편, 수학식 12에 의하면 p[i][j]·(m[i][j]-feature[i][j])을 연산한 결과를 자승연산하고 있으므로 결과적으로 수학식 9에서와 같이 1/σ²을 사용한 것과 비슷한 효과를 얻을 수 있다.
도 4는 본 발명에 따른 관측 확률 연산 장치의 구성을 보이는 블록도이다. 도 4에 도시된 장치는 감산기(405), 곱셈기(406), 자승기(407), 그리고 누산기(408)를 구비한다. 참조 번호 402, 403, 404, 그리고 409는 레지스터를 나타낸다.
외부 저장 장치(401)은 데이터 베이스화된 저장 장치로서 모든 대표 음소들에 대한 presion, mean, feature들을 저장한다. 여기서, precision으로 분포정도(1/σ)를 나타내며, mean은 각 대표 음소를 나타내는 파라미터들(에너지와 켑스트럼)의 평균값, 그리고 feature[k][j]는 음소에 대한 파라미터 값으로 에너지와 켑스트럼을 의미한다.
도 3에 도시된 장치에 있어서 먼저 감산기(405)를 이용해 mean과 feature의 차이를 구하며, 이 결과는 실제 거리를 구하기 위해 곱셈기(406)를 통하여 분산 정도(1/σ)가 곱해진다. 이 결과는 절대적인 차이를 구하기 위해 자승기(407)를 통하여 자승을 구하며, 이전 파라미터와의 누적을 위해 가산기(408)를 사용하게 된다.
즉, 수학식 12에 표현될 결과를 곱셈기(406)에서 얻고, 수학식 9에서 표현된연산의 결과를 누산기(408)에서 얻게 된다.
외부 저장 장치에는 p[i][j], mean[i][j], 그리고 feature[i][j]가 저장되고, 이들이 소정의 순서에 따라 순차적으로 레지스터들(402, 403, 404)에 제공된다. 소정의 순서는 i, j가 순차적으로 증가되도록 설정된다.
i, j를 바꾸어가면서 p[i][j], mean[i][j], 그리고 feature[i][j]들이 순차적으로 레지스터들(402, 403, 404)에 제공되고, 레지스터(409)에서 최종적으로 누적된 관측확률이 구해진다.
이러한 확률의 누적 계산에 의해 가장 확률적으로 유사한 음소의 경우 가장 큰 값을 갖게 된다. 연산의 시작단과 마지막 단의 레지스터들(402, 403, 404, 409)은 데이터의 안정화를 위해 사용된다.
도 4에 도시된 장치에 있어서 데이터의 비트 해상도(Bit Resolution)는 프로세서의 구조에 따라 달라질 수 있으며 비트 수가 커지면 커질수록 상세한 계산 결과를 얻을 수 있다. 그러나 이러한 비트 해상도는 회로의 크기와 관련이 있기 때문에 인식률을 고려하여 적절한 해상도를 선정해야 한다.
도 5는 비트 해상도의 선정에 대한 이해를 돕기위하여 도시된 것이다. 비트 해상도의 선정에 대한 한 예로 도 5는 16 비트 해상도를 갖는 프로세서에 대한 내부 비트 해상도를 나타내었다. 여기서 각 단계의 절단 과정은 16비트 데이터 폭의 한계에 따른 것으로 최대한 성능 저하를 막기 위한 선택이다. 본 발명에서 제시한 장치를 이용하면 범용 프로세서만을 사용하는 경우에 비해 처리 속도 측면에서 많은 개선을 거둘 수 있다.
feature와 mean은각각이 4비트의 정수와 12비트의 소수로 구성된다. 이들 feature와 mean을 감산기(405)를 통하여 감산하여 역시 4비트의 정수와 12비트의 소수로 구성된 결과값을 얻는다.
precision은 7비트의 정수와 9비트의 소수로 구성된다. precision과 감산기(405)의 감산 결과를 곱셈기(406)를 통하여 곱셈하여 10비트의 정수와 6비트의 소수로 구성된 결과값을 얻는다.
곱셈기(406)의 결과값을 자승기(407)를 통하여 자승연산하여 20비트의 정수와 12비트의 소수로 구성될 결과값을 얻고, 이들을 가산기(408)를 통하여 가산 및 스케일 연산하여 21비트의 정수와 11비트의 소수로 구성되는 결과값을 얻는다.
표 3은 일반적으로 많이 사용되는 은닉 마코프 모델을 사용한 음성인식 알고리즘을 범용 프로세서(ARM Series)에서 수행시킨 경우와 본 발명에서 제시한 관측확률 계산 전용 장치를 채택한 전용 프로세서에 수행시킨 경우를 비교 분석한 것이다.
<표 3>
Processor Cycle 수 Time](20M CLK)
ARM Processor 36,400,974 1.82s
관측확률 연산장치 채용 15,151,534 0.758s
표 3에서 범용 프로세서는 음성인식 기능을 수행하는데 약 3천6백만 사이클이 수행된 반면에 전용 장치를 채용한 전용 프로세서는 절반 수준인 1천5백만 사이클 정도면 필요 기능을 수행할 수 있다. 따라서 거의 실시간 음성인식 처리가 가능하며 이는 다시 말해서 낮은 클럭 주파수로도 범용 프로세서와 동일한 성능을 내기 때문에 소비전력 측면에서도 많은 효과를 거둘 수 있다는 것을 의미한다. 참고로 전력 소모량과 클럭 주파수와의 관계는 수학식 13과 같이 나타낼 수 있다.
<수학식 13>
여기서, P는 전력소모량이며, C는 회로를 구성하는 Capacitance 값을 나타낸다. f는 회로내 신호의 전체 천이 정도를 나타내는데, 거의 대부분을 클럭 속도가좌우한다. V는 공급전압이다. 따라서 클럭 속도를 반으로 떨어뜨리면, 이론적으로는 전력소모량도 반으로 줄게 된다.
본 발명의 장치는 도 4에서와 같이 외부 저장 장치(401)에 미리 경험적 방법에 의해 얻은 사람 유형별 대표음소의 평균 파라미터와 천이 확률 값들, 그리고 분포 정도와 새로이 입력된 음성에서 추출한 파라미터들을 저장해 놓는다. 이러한 데이터는 일단 전용장치 내부의 레지스터들(302,303,304)에 저장되는데 이는 외부의 데이터 변화에 따른 신호변화를 최소화하기 위한 것으로 전력소모와 깊은 관계가 있다. 내부 레지스터에 저장된 데이터중 입력된 음성에서 추출된 파라미터(Feature)와 미리 저장된 평균 파라미터(Mean)는 그들간의 차이를 구하기 위해 감산기(405)를 통해 감산 연산을 수행한다.
이 결과는 곱셈기(406)를 통해 분산정도(1/σ)를 나타내는 Precision과 곱해지고 다시 자승기(407)를 통해 실질적인 확률적 거리를 계산하게 된다. 이 값은 단어를 형성하는 많은 음성 파라미터 프레임들 중 시간적으로 현재의 파라미터만을 계산한 것이므로 가산기(408)를 통해 이전까지 계산된 확률적 거리와 가산되어 누적되어야 한다. 누적 연산을 위해 가산기(408)과 더불어 레지스터(409)가 사용되며 레지스터에 저장된 데이터는 다음 연산을 위해 가산기(408)에 제공된다.
이러한 레지스터는 누적연산을 위해서 뿐만 아니라, 신호 천이의 최소화를 위해서도 사용되어야 한다. 이상의 과정은 미리 정해 놓은 각 음소에 대해 동일하게 적용되며 각 음소별/상태별로 해당 저장 장소에 그 값이 저장된다. 결과적으로 입력된 단어에 대한 모든 파라미터들에 대한 연산이 완료되면 각 단어의 음소별로누적된 값들 중 가장 큰 값이 확률적으로 가장 유사한 단어로 인식될 수 있다. 이와 같이 누적된 값들을 이용해 최종 인식된 단어를 판단하는 것은 기존 프로세서에서 수행할 것이다.
도 6은 본 발명에 따른 관측 확률 연산 장치의 적용례를 보이기 위하여 도시된 것이다. 도 6에 도시된 장치는 화자독립 음성인식 전용 프로세서로서 3버스 시스템 방식을 사용한다. 본 발명에 따른 관측 확률 연산 장치는 도 4에 도시된 HMM 모듈(628)의 내부에 구현되며, 각 구성 모듈들은 데이터를 위한 3개의 버스(2개의 읽기 버스와 1개의 쓰기 버스) 동작 코드를 위한 2개의 OPcode 버스들을 공유한다.
도 6에 있어서 제어부(Ctrl Unit, 602)는 범용의 프로세서를 의미하고, REG FILE(레지스터 파일, 604)은 레지스터 파일(register file) 기능을 수행하는 모듈을 의미하고, ALU(506)는 Arithmatic Logic을 수행하는 모듈을 의미하고, MAC(608)는 Multiply and ACcummulate 기능을 수행하는 것을 의미하고, B SHIFTER(배럴 쉬프터, 610)은 Barrel SHIFT 기능을 수행하는 모듈을 의미하고, FFT(612)는 FFT연산을 수행하는 모듈을 의미하며, SQRT(514)는 square and root 연산 기능을 수행하는 모듈을 의미하며, TIMER(616)는 타이머 기능을 수행하는 모듈을 나타내며, CLKGEN(클록 발생기, 618)는 클록 발생 기능을 수행하는 모듈을 나타낸다. CLKGEN(618)는 도 4에 도시된 장치의 내부 혹은 외부에서 제공되는 클록 신호를 유입하여 도 4에 도시된 각 구성 모듈들에 제공되는 클록 신호를 발생하며, 특히 저전력 소모를 위하여 클록 속도를 조정한다.
마찬가지로, PMEM(프로그램 메모리, 620), PMIF(프로그램 메모리 인터페이스, 622), EXIF(외부 인터페이스, 624), MEMIF(메모리 인터페이스, 626), HMM(관측확률 연산, 628), SIF(직렬 인터페이스, 630), UART(비동기식 직렬 인터페이스, 632), GPIO(범용 인터페이스, 634), CODEC IF(코덱 인터페이스, 636), 그리고 CODEC(코덱, 640)로 표기된 것들은 각각 프로그램 메모리, 프로그램 메모리 인터페이스, 외부 인터페이스, 메모리 인터페이스, 히든 마코프 모델 연산, 동기식 직렬 인터페이스, 비동기식 직렬 인터페이스, 범용 입출력, 코덱 인터페이스, 그리고 코덱 기능들을 수행하는 모듈들이다. 특히 HMM(628)은 이러한 특징 값들로 부터 미리 정해진 은닉 마코프 모델을 이용한 단어 탐색 작업을 수행하게 된다.
또한, 외부 버스(452)는 외부 메모리와의 데이터 인터페이스를 위한 외부버스이다. EXIF(624)는 DMA(Dynamic Memory Access)를 지원한다. 특히, HMM(628)은 관측 확률 연산을 위한 도 3의 장치를 포함한다.
각 구성 요소들 내부의 제어기(디코더, 미도시)는 명령 버스(OPcode bus, 648, 650)를 통해 명령을 받아 디코딩하여 필요한 동작을 수행한다. 즉, HMM(628)내부의 제어기는 제어용 명령 버스(OPcode bus0, 1)를 통해 명령을 받아 디코딩하여 도 3에 도시된 바와 같은 본 발명의 관측 확률 연산 장치를 제어해서 관측 확률 연산을 수행하도록 한다. 한편, 데이터들은 2개의 읽기 버스(642, 644)들을 통하여 제공되거나 1개의 쓰기 버스(646)를 통하여 출력된다.
도 6에 도시된 장치는 프로그램 메모리(PMEM, Program MEMory, 620)를 구비하며, 프로그램은 외부 인터페이스 장치(EXIF, EXternal InterFace, 624)를 통하여 프로그램 메모리(PMEM, 620)에 로드된다.
HMM(628)은 도 6에 도시된 제어부(Ctrl Unit, 602)에서 제공되는 제어 명령을 2개의 OPcode bus들(648, 650)을 통해 전송받으며, 내부의 제어부(미도시)가 수신된 제어 명령을 디코딩하고 도 3에 도시된 바와 같은 관측 확률 연산 장치를 제어해서 관측 확률 연산을 수행하도록 한다.
도 7은 도 6에 도시된 장치에 있어서 제어 명령 및 데이터를 수신하는 과정을 도식적으로 보이기 위하여 도시된 블록도이다.
제어부(Ctrl Unit, 602)는 자신이 직접 제어 명령을 디코딩하여 지정된 동작을 수행하도록 제어하거나, OPcode bus 0,1(648, 650)를 이용하여 각 구성 모듈들의 동작을 제어한다. 각 구성 모듈들은 OPcode bus1,2 및 읽기 버스 A,B를 공유한다.
제어부(Ctrl Unit, 602)가 직접 제어하는 경우 프로그램 메모리(PMEM, 620)로부터 제어 명령을 펫취(fetch)하여 이를 디코딩하고, 제어 동작에 필요한 오퍼랜드(operand; 조작의 대상이 되는 데이터)를 읽어들여 레지스터 파일(REG FILE, 604)에 저장한다. 이후 제어 동작이 제어 논리일 경우에는 ALU(Arithmatic Logic Unit, 606)를, 승산 및 누산일 경우에는 MAC(Multiply and ACcummulate, 608)를, 배럴 쉬프트 동작일 경우에는 B SHIFTER(Barrel SHITER, 610)를, 자승(square)/근(root)연산일 경우에는 SQRT(SQart and RooT, 614) 등을 이용하여 제어 동작을 수행하고 그 결과값을 다시 레지스터 파일(REG FILE, 604)에 저장한다.
제어부(Ctrl Unit, 602)가 직접 제어하지 않는 경우에는 OPcode bus0,1(648, 650)를 이용한다. 제어부(Ctrl Unit, 602)는 프로그램 메모리(PMEM, 620)으로부터 펫취한 제어 명령을 디코딩하는 대신 OPcode bus0(648) 및 OPcode bus1(650)에 차례로 팻취한 제어 명령을 인가한다.
OPcode bus0(648)과 OPcode bus1(650)에는 동일한 제어 명령이 1클럭의 차이를 두고 차례로 인가된다. 구성 모듈들은 OPcode bus0(648)에 제어 명령이 인가되면 자신에게 해당하는 제어 명령인가를 판단하고, 자신에게 해당하는 것이라면 이를 디코딩하여 제어 명령에 의해 지정된 제어 동작을 수행할 대기 상태가 된다. 이를 위해 구성 모듈들은 제어 명령을 해독하기 위한 디코더들을 구비한다. 1클럭 후 OPcode bus1(650)에 동일한 제어 명령이 인가되면 이때에 비로소 지정된 제어 명령에 해당하는 동작을 수행하기 위한 제어를 수행한다. 각 OPcode bus들(648, 650)에 인가되는 제어 코드의 인에이블 여부를 나타내기 위하여 RT 및 ET신호선이 할당된다.
도 8은 도 6에 도시된 장치에 있어서 제어 명령 및 데이터를 수신하는 과정을 도식적으로 보이기 위한 타이밍도이다.
도 8에 있어서 최상위의 신호는 클럭 신호(CLK)이고, 차례로 OPcode bus0에 인가되는 제어 명령, OPcode bus1에 인가되는 제어 명령, RT 신호, ET 신호, 읽기 버스 A에 인가되는 데이터, 그리고 읽기 버스 B에 인가되는 데이터이다.
OPcode bus0(648)에 제어 명령이 인가되고, RT 신호에 의해 인에이블되면 도 4의 구성 모듈들 중의 하나가 이를 인식하고 이를 디코딩하여 대기 상태가 된다. 이후 OPcode bus1(650)에 동일한 제어 명령이 인가되고 ET신호에 의해 인에이블되면, 해당 구성 모듈이 제어 명령에 의해 지정된 동작을 수행한다. 구체적으로 읽기 버스 A 및 읽기 버스 B에 인가된 데이터를 받아들여, 지정된 동작을 수행하고, 쓰기 버스를 통하여 결과값을 출력한다.
본 발명의 관측 확률 연산 장치에 의하면 은닉 마코프 모델 탐색 방법을 사용함에 있어서, 가장 많은 연산을 수행하는 관측확률 연산을 효율적으로 수행할 수 있다.
본 발명을 통해 구현된 은닉 마코프 모델 탐색을 위한 관측확률 계산 전용 장치는 이러한 음성인식 기능의 처리 속도를 향상시키기 위해 발명된 장치이며, 이러한 장치를 사용하지 않았을 때 보다 50% 이상 명령어 횟수를 줄일 수 있기 때문에, 동일한 기능을 일정 시간에 처리하는 경우 낮은 클럭 속도로도 처리가 가능하며 전력 소모량도 1/2로 줄일 수 있다.
이외에도 본 장치는 은닉 마코프 모델을 이용한 확률적 연산에도 사용할 수 있다.

Claims (6)

  1. 대표 음소들로부터 추출된 파라미터의 평균(mean)과 평균값의 분포 정도(1/σ)를 저장하는 저장 장치;
    상기 저장 장치로부터 제공되는 평균과 인식 대상이 되는 음성 신호에서 추출한 파라미터(feature)와의 차이를 산출하는 감산기; 및
    상기 감산기의 출력과 상기 저장 장치로부터 제공되는 분포 정도를 곱셈 연산하는 곱셈기를 포함하는 관측 확률 연산 장치.
  2. 제1항에 있어서, i가 음소의 대표적 유형을 나타내는 인수이고, j는 파라미터의 개수를 나타내는 인수라고 할 때, 상기 저장 장치는 precision[i][j], mean[i][j]를 저장하며, 이들을 소정의 순서에 따라 상기 감산기에 제공하며,
    상기 감산기는 상기 소정의 순서에 따라 mean[i][j]과 feature[i][j]의 차를 감산하며,
    상기 곱셈기는 상기 소정의 순서에 따라 precision[i][j] 및 상기 감산기의 감산 결과를 곱셈연산하는 것을 특징으로 하는 관측 확률 연산 장치.
  3. 제2항에 있어서, 상기 곱셈기의 곱셈 결과를 자승 연산하는 자승기를 더 구비하는 것을 특징으로 하는 관측 확률 연산 장치.
  4. 제3항에 있어서, 상기 precision[i][j], mean[i][j], 그리고 feature[i][j]를 각각 버퍼링하기 위한 레지스터들을 더 구비하는 것을 특징으로 하는 관측 확률 연산 장치.
  5. 제3항에 있어서, 상기 자승기의 출력을 누산하는 누산기를 더 구비하는 것을 특징으로 하는 관측 확률 연산 장치.
  6. 제5항에 있어서, 상기 누산기의 누산 결과를 버퍼링하기 위한 레지스터를 더 구비하는 것을 특징으로 하는 관측 확률 연산 장치.
KR10-2002-0037052A 2002-06-28 2002-06-28 은닉 마코프 모델 탐색을 위한 관측 확률 연산 장치 KR100464420B1 (ko)

Priority Applications (8)

Application Number Priority Date Filing Date Title
KR10-2002-0037052A KR100464420B1 (ko) 2002-06-28 2002-06-28 은닉 마코프 모델 탐색을 위한 관측 확률 연산 장치
TW092110116A TWI225640B (en) 2002-06-28 2003-04-30 Voice recognition device, observation probability calculating device, complex fast fourier transform calculation device and method, cache device, and method of controlling the cache device
US10/452,431 US20040002862A1 (en) 2002-06-28 2003-05-30 Voice recognition device, observation probability calculating device, complex fast fourier transform calculation device and method, cache device, and method of controlling the cache device
US10/465,556 US7356466B2 (en) 2002-06-28 2003-06-20 Method and apparatus for performing observation probability calculations
DE10329618A DE10329618B4 (de) 2002-06-28 2003-06-26 Vorrichtung und Verfahren zur Beobachtungswahrscheinlichkeitsbestimmung bei einem Eingabesprachsignal
GB0314977A GB2391675B (en) 2002-06-28 2003-06-26 Method and apparatus for preforming observation probability calculations
JP2003185611A JP4851684B2 (ja) 2002-06-28 2003-06-27 隠れマルコフモデルアルゴリズムの観測確率の演算装置
CNB031546188A CN100359507C (zh) 2002-06-28 2003-06-28 用于执行观察概率计算的装置和方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR10-2002-0037052A KR100464420B1 (ko) 2002-06-28 2002-06-28 은닉 마코프 모델 탐색을 위한 관측 확률 연산 장치

Publications (2)

Publication Number Publication Date
KR20040001733A KR20040001733A (ko) 2004-01-07
KR100464420B1 true KR100464420B1 (ko) 2005-01-03

Family

ID=37313473

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2002-0037052A KR100464420B1 (ko) 2002-06-28 2002-06-28 은닉 마코프 모델 탐색을 위한 관측 확률 연산 장치

Country Status (1)

Country Link
KR (1) KR100464420B1 (ko)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100464428B1 (ko) * 2002-08-12 2005-01-03 삼성전자주식회사 음성 인식 장치
KR100737343B1 (ko) * 2005-12-08 2007-07-09 한국전자통신연구원 음성 인식 장치 및 방법
KR101217525B1 (ko) * 2008-12-22 2013-01-18 한국전자통신연구원 비터비 디코더와 이를 이용한 음성 인식 방법

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR970007791A (ko) * 1995-07-13 1997-02-21 김광호 관찰벡터의 디스토션 확률밀도(Distortion density)를 가진 은닉 마코프 모델(Hidden Markov Model)을 이용한 음성인식 방법
JPH10133682A (ja) * 1996-10-30 1998-05-22 Kokusai Denshin Denwa Co Ltd <Kdd> 音声認識方法及び装置
JP2002091485A (ja) * 2000-09-18 2002-03-27 Pioneer Electronic Corp 音声認識システム
JP2002091478A (ja) * 2000-09-18 2002-03-27 Pioneer Electronic Corp 音声認識システム

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR970007791A (ko) * 1995-07-13 1997-02-21 김광호 관찰벡터의 디스토션 확률밀도(Distortion density)를 가진 은닉 마코프 모델(Hidden Markov Model)을 이용한 음성인식 방법
JPH10133682A (ja) * 1996-10-30 1998-05-22 Kokusai Denshin Denwa Co Ltd <Kdd> 音声認識方法及び装置
JP2002091485A (ja) * 2000-09-18 2002-03-27 Pioneer Electronic Corp 音声認識システム
JP2002091478A (ja) * 2000-09-18 2002-03-27 Pioneer Electronic Corp 音声認識システム

Also Published As

Publication number Publication date
KR20040001733A (ko) 2004-01-07

Similar Documents

Publication Publication Date Title
KR100464428B1 (ko) 음성 인식 장치
CN107967916B (zh) 确定语音关系
US5937384A (en) Method and system for speech recognition using continuous density hidden Markov models
Yapanel et al. A new perceptually motivated MVDR-based acoustic front-end (PMVDR) for robust automatic speech recognition
US7139707B2 (en) Method and system for real-time speech recognition
US20110077943A1 (en) System for generating language model, method of generating language model, and program for language model generation
US20220262352A1 (en) Improving custom keyword spotting system accuracy with text-to-speech-based data augmentation
WO2013011397A1 (en) Statistical enhancement of speech output from statistical text-to-speech synthesis system
KR20180038707A (ko) 동적 가중치 값과 토픽 정보를 이용하는 음성인식 방법
Phadke et al. On design and implementation of an embedded automatic speech recognition system
US20040002862A1 (en) Voice recognition device, observation probability calculating device, complex fast fourier transform calculation device and method, cache device, and method of controlling the cache device
CN112750445A (zh) 语音转换方法、装置和系统及存储介质
Kumar et al. Performance evaluation of a ACF-AMDF based pitch detection scheme in real-time
Yuan et al. Speech recognition on DSP: issues on computational efficiency and performance analysis
KR101644039B1 (ko) 고정소수점 연산 방법 및 고정소수점 연산 장치
KR100464420B1 (ko) 은닉 마코프 모델 탐색을 위한 관측 확률 연산 장치
KR100480790B1 (ko) 양방향 n-그램 언어모델을 이용한 연속 음성인식방법 및장치
Sledevic et al. Upgrading FPGA implementation of isolated word recognition system for a real-time operation
You et al. Memory access optimized VLSI for 5000-word continuous speech recognition
JP4851684B2 (ja) 隠れマルコフモデルアルゴリズムの観測確率の演算装置
Tan et al. Fixed-point arithmetic
Karpov Efficient speaker recognition for mobile devices
KR100486307B1 (ko) 은닉 마코프 모델 알고리즘의 관측 확률 연산 장치
Rajput et al. Speech in Mobile and Pervasive Environments
Nishizawa et al. Development and evaluation of Japanese text-to-speech middleware for 32-bit microcontrollers

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: 20121130

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20131129

Year of fee payment: 10

LAPS Lapse due to unpaid annual fee