KR100794140B1 - Apparatus and Method for extracting noise-robust the speech recognition vector sharing the preprocessing step used in speech coding - Google Patents
Apparatus and Method for extracting noise-robust the speech recognition vector sharing the preprocessing step used in speech coding Download PDFInfo
- Publication number
- KR100794140B1 KR100794140B1 KR1020060061150A KR20060061150A KR100794140B1 KR 100794140 B1 KR100794140 B1 KR 100794140B1 KR 1020060061150 A KR1020060061150 A KR 1020060061150A KR 20060061150 A KR20060061150 A KR 20060061150A KR 100794140 B1 KR100794140 B1 KR 100794140B1
- Authority
- KR
- South Korea
- Prior art keywords
- speech
- signal
- channel
- noise
- feature vector
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/20—Speech recognition techniques specially adapted for robustness in adverse environments, e.g. in noise, of stress induced speech
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/28—Constructional details of speech recognition systems
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/28—Constructional details of speech recognition systems
- G10L15/30—Distributed recognition, e.g. in client-server systems, for mobile phones or network applications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/02—Feature extraction for speech recognition; Selection of recognition unit
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)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
1. 청구범위에 기재된 발명이 속한 기술분야1. TECHNICAL FIELD OF THE INVENTION
본 발명은 분산 음성 인식 단말기에서 음성 부호화기의 전처리를 공유해 잡음에 견고한 음성 특징 벡터를 추출하는 장치 및 그 방법에 관한 것임.The present invention relates to an apparatus and method for extracting a speech feature vector robust to noise by sharing preprocessing of a speech coder in a distributed speech recognition terminal.
2. 발명이 해결하려고 하는 기술적 과제2. The technical problem to be solved by the invention
본 발명은 사용자 음성 부호화 기능이 탑재된 휴대폰과 같은 단말기에서 음성 인식을 위한 음성 특징 벡터(음성 특징 파라미터)를 추출하는데 있어 음성 부호화 전처리 과정과 음성 특징 벡터 추출 전처리 과정을 공유해서 통신 환경 등에 의한 잡음에 견고한 음성 특징 벡터를 추출하는, 분산 음성 인식 단말기에서 음성 부호화기의 전처리를 공유해 잡음에 견고한 음성 특징 벡터를 추출하는 장치 및 그 방법을 제공하는데 그 목적이 있음.According to the present invention, a speech encoding preprocessing process and a speech feature vector extraction preprocessing process are used to extract a speech feature vector (speech feature parameter) for speech recognition in a terminal such as a mobile phone equipped with a user speech coding function. It is an object of the present invention to provide an apparatus and method for extracting a robust speech feature vector to noise by sharing preprocessing of a speech coder in a distributed speech recognition terminal.
3. 발명의 해결방법의 요지3. Summary of Solution to Invention
본 발명은, 분산 음성 인식 단말기에서 음성 부호화기의 전처리를 공유해 잡음에 견고한 음성 특징 벡터를 추출하기 위한 장치에 있어서, 외부로부터 입력받은 음성신호의 저주파 대역 신호를 제거하는 고대역 통과 필터; 상기 고대역 통과 필터에서 그 저주파 대역이 제거된 신호를 주파수 영역 상의 스펙트럼 신호로 변환시키는 주파수 영역 변환기; 상기 주파수 영역 변환기에서 변환시킨 스펙트럼 신호의 현재 프레임에 대한 채널 에너지 추정값을 계산하는 채널 에너지 추정기; 상기 채널 에너지 추정기에서 계산한 채널 에너지 추정값과 배경 잡음 추정기에서 계산한 배경 잡음 에너지 추정값을 토대로 상기 음성신호에 관한 채널 신호대잡음비를 추정하는 채널 신호대잡음비 추정기; 잡음 업데이트 결정기의 명령에 따라 상기 음성신호에 관한 배경 잡음 에너지 추정값을 계산하여 갱신하는 상기 배경 잡음추정기; 상기 채널 신호대잡음비 추정기에서 추정한 채널 신호대잡음비를 토대로 상기 음성신호에 관한 채널 상의 음성 메트릭들의 합을 계산하는 보이스 메트릭 계산기; 상기 채널 에너지 추정기에서 계산한 채널 에너지 추정값을 토대로 상기 음성신호에 관한 스펙트럼 편차를 추정하는 스펙트럼 편차 추정기; 상기 스펙트럼 편차 추정기에서 추정한 총 채널 에너지 추정값 및 현재 전력 스펙트럼에 대한 추정값과 평균 장구간 전력 스펙트럼에 대한 추정값간의 차이값을 토대로 잡음 추정값 갱신 명령을 내리는 상기 잡음 업데이트 결정기; 상기 보이스 메트릭 계산기에서 계산한 음성 메트릭들의 합을 토대로 상기 채널 신호대잡음비 추정기에서 추정한 채널 신호대잡음비를 수정하는 채널 신호대잡음비 추정값 수정기; 상기 채널 신호대잡음비 추정값 수정기에서 수정한 채널 신호대잡음비와 상기 배경 잡음 추정기에서 계산한 배경 잡음 에너지 추정값을 토대로 선형 채널 이득을 계산하는 채널 이득 산출기; 상기 주파수 영역 변환기에서 변환시킨 스펙트럼 신호에 대해 상기 채널 이득 산출기에서 계산한 선형 채널 이득을 적용시키는 주파수 영역 필터; 및 상기 주파수 영역 필터에서 선형 채널 이득을 적용시킨 스펙트럼 신호를 시간 영역 상의 음성신호로 변환시키는 시간 영역 변환기를 포함함.An apparatus for extracting a speech feature vector robust to noise by sharing preprocessing of a speech coder in a distributed speech recognition terminal, the apparatus comprising: a high pass filter for removing a low frequency band signal of a speech signal received from the outside; A frequency domain converter for converting a signal from which the low frequency band is removed in the high pass filter into a spectral signal in a frequency domain; A channel energy estimator for calculating a channel energy estimate for the current frame of the spectral signal converted by the frequency domain converter; A channel signal to noise ratio estimator for estimating a channel signal to noise ratio for the speech signal based on the channel energy estimate calculated by the channel energy estimator and the background noise energy estimated by the background noise estimator; The background noise estimator for calculating and updating a background noise energy estimate for the speech signal according to a command of a noise update determiner; A voice metric calculator for calculating a sum of voice metrics on a channel with respect to the voice signal based on the channel signal to noise ratio estimated by the channel signal to noise ratio estimator; A spectral deviation estimator for estimating a spectral deviation of the speech signal based on the channel energy estimate calculated by the channel energy estimator; The noise update determiner that issues a noise estimate update command based on a total channel energy estimate estimated by the spectrum deviation estimator and a difference value between an estimated value for the current power spectrum and an estimated long term power spectrum; A channel signal to noise ratio estimation value corrector for correcting the channel signal to noise ratio estimated by the channel signal to noise ratio estimator based on the sum of the voice metrics calculated by the voice metric calculator; A channel gain calculator for calculating a linear channel gain based on the channel signal-to-noise ratio modified by the channel signal-to-noise ratio estimation modifier and the background noise energy estimate calculated by the background noise estimator; A frequency domain filter applying the linear channel gain calculated by the channel gain calculator to the spectrum signal converted by the frequency domain converter; And a time domain converter for converting a spectral signal to which a linear channel gain is applied in the frequency domain filter into a voice signal in the time domain.
4. 발명의 중요한 용도4. Important uses of the invention
본 발명은 분산 음성 인식 분야 등에 이용됨.The present invention is used in the field of distributed speech recognition.
분산 음성 인식 시스템, 단말기, 음성 부호화 전처리, 음성 코딩, 음성 인식, 전처리 공유, 잡음 감쇄, 음성 특징 벡터 추출 Distributed speech recognition system, terminal, speech coding preprocessing, speech coding, speech recognition, preprocessing sharing, noise reduction, speech feature vector extraction
Description
도 1은 본 발명에 따른 분산 음성 인식 단말기에서 음성 부호화기의 전처리를 공유해 잡음에 견고한 음성 특징 벡터를 추출하는 장치에 대한 일실시예 구성도.1 is a block diagram of an apparatus for extracting a speech feature vector robust to noise by sharing preprocessing of a speech encoder in a distributed speech recognition terminal according to the present invention.
도 2는 도 1의 음성 코딩/인식 전처리부에 대한 일실시예 상세 구성도.FIG. 2 is a detailed block diagram of an embodiment of the speech coding / recognition preprocessor of FIG. 1. FIG.
도 3a는 본 발명에 따른 11 KHz 음성신호 처리를 위해 확장된 음성 코딩/인식 전처리부에 대한 일실시예 구성도.3A is a diagram illustrating an embodiment of an extended speech coding / recognition preprocessor for 11 KHz speech signal processing according to the present invention;
도 3b는 본 발명에 따른 16 KHz 음성신호 처리를 위해 확장된 음성 코딩/인식 전처리부에 대한 일실시예 구성도.Figure 3b is an embodiment configuration for an extended speech coding / recognition preprocessor for 16 KHz speech signal processing according to the present invention.
도 4는 본 발명에서 사용하는 음성 인식 과정에 대한 일실시예 설명도.4 is a diagram illustrating an embodiment of a speech recognition process used in the present invention.
도 5는 도 4에 있어 음향 모델 생성을 위한 학습 과정에 대한 일실시예 순서도.FIG. 5 is a flow chart of an embodiment of a learning process for generating an acoustic model in FIG. 4. FIG.
도 6은 본 발명을 적용시켜 추출한 음성 특징 벡터를 사용한 음성 인식 성능 을 나타내는 그래프.6 is a graph showing speech recognition performance using speech feature vectors extracted by applying the present invention.
* 도면의 주요 부분에 대한 부호 설명* Explanation of symbols on the main parts of the drawing
100 : 음성 특징 벡터 추출 모듈100: speech feature vector extraction module
150 : 음성 코딩 모듈150: voice coding module
11 : 음성 코딩/인식 전처리부 12 : 음성 특징 벡터 추출부11: speech coding / recognition preprocessor 12: speech feature vector extractor
13 : 음성 압축부 14 : 비트 스트림 전송부13
21 : 고대역 통과 필터 22 : 주파수 영역 변환기21
23 : 채널 에너지 추정기 24 : 채널 신호대잡음비 추정기23
25 : 보이스 메트릭 계산기 26 : 스펙트럼 편차 추정기25: Voice Metric Calculator 26: Spectral Deviation Estimator
27 : 잡음 업데이트 결정기 28 : 채널 신호대잡음비 추정값 수정기27: Noise Update Determinant 28: Channel Signal-to-Noise Ratio Estimator Corrector
29 : 채널 이득 산출기 30 : 배경 잡음 추정기29: channel gain calculator 30: background noise estimator
31 : 주파수 영역 필터 32 : 시간 영역 변환기31: frequency domain filter 32: time domain converter
본 발명은 분산 음성 인식 단말기에서 음성 특징 벡터를 추출하기 위한 장치 및 그 방법에 관한 것으로, 더욱 상세하게는 사용자 음성 부호화 기능이 탑재된 휴대폰과 같은 단말기에서 음성 인식을 위한 음성 특징 벡터(음성 특징 파라미터)를 추출하는데 있어 음성 부호화 전처리 과정과 음성 특징 벡터 추출 전처리 과정을 공유해서 통신 환경 등에 의한 잡음에 견고한 음성 특징 벡터를 추출하는, 분산 음성 인식 단말기에서 음성 부호화기의 전처리를 공유해 잡음에 견고한 음성 특징 벡터를 추출하는 장치 및 그 방법에 관한 것이다.The present invention relates to an apparatus and method for extracting a speech feature vector from a distributed speech recognition terminal, and more particularly, to a speech feature vector (voice feature parameter) for speech recognition in a terminal such as a mobile phone having a user speech encoding function. The speech feature pre-processing process and the speech feature vector extraction preprocessing process are used to extract the speech feature vectors robust to the noise caused by the communication environment. It relates to an apparatus and a method for extracting.
분산 음성 인식 기술(DSR; Distributed Speech Recognition)은 휴대폰 등과 같은 저사양 단말기에서도 음성 인식 기능이 구현될 수 있도록 하는 기술로서, 저사양 단말기에서는 음성 신호의 특징을 인식하고, 고사양 음성 인식서버에서는 저사양 단말기로부터 제공받은 음성 특징을 토대로 음성 인식을 수행하는 이원적 처리 시스템으로 이루어진다.Distributed Speech Recognition (DSR) is a technology that enables the speech recognition function to be implemented in low-end terminals such as mobile phones, and recognizes the characteristics of voice signals in low-end terminals and provides them from low-end terminals in high-end speech recognition servers. It consists of a dual processing system that performs speech recognition based on the received speech features.
일반적으로, 위와 같은 음성 인식 분야에 있어 MFCC(Mel-Frequency Cepstrum Coefficient)가 보편적으로 사용된다. MFCC란 멜스케일로 표현된 주파수 스펙트럼의 형태를 정현파 성분으로 나타낸 것으로서, 사용자로부터 입력받은 음성을 표현하는 음성 특징 벡터(일명 음성 특징 파라미터)를 말한다.In general, in the speech recognition field as described above, MFCC (Mel-Frequency Cepstrum Coefficient) is commonly used. The MFCC is a sine wave component representing the form of the frequency spectrum expressed in mel scale, and refers to a speech feature vector (also called speech feature parameter) representing a speech received from a user.
단말기측에서는 사용자로부터 입력받은 음성으로부터 MFCC를 통해 음성 특징 벡터를 추출하고서, 이를 통신망에 전송하기 적합한 형태로 처리하기 위해 음성 특징 벡터를 비트 스트림에 실어서 음성인식 서버측으로 전송한다. 예컨대, 사용자로부터 입력받은 음성에 대응되는 MFCC를 유한한 수로 이루어진 코드북(codebook)의 중심 벡터들 중에서 가장 가까운 거리를 갖는 벡터를 골라 내어서 이를 비트 스트림 데이터로 전송하는 것이다. 여기서 코드북은 사용자로부터 발화되는 음성에 관해서 유사한 값을 갖는 군집에 대한 중심값을 갖으며, 통상적으로 수많은 음성 데 이터로부터 학습 데이터(학습 MFCC 벡터)를 추출한 후에 이 추출한 훈련 데이터 중에서 가장 대표되는 값으로 선정된다.In the terminal side, the voice feature vector is extracted from the voice input from the user through the MFCC, and the voice feature vector is loaded in the bit stream and transmitted to the voice recognition server in order to process the voice feature vector into a form suitable for transmission to the communication network. For example, a MFCC corresponding to a voice received from a user is selected from a vector having the closest distance among center vectors of a codebook of a finite number and transmitted as bit stream data. Here, the codebook has a center value for a cluster having a similar value with respect to the voice spoken by the user, and is typically the most representative value among the extracted training data after extracting the training data (learning MFCC vector) from a large number of voice data. Is selected.
그리고, 음성인식 서버측에서는 단말기로부터 수신받은 비트 스트림에 실린 음성 특징 벡터를 역양자화시키고서, 음성 모델로서 HMM(Hidden Markov Model)을 사용해 음성에 대응되는 단어를 인식한다. 여기서, HMM은 음성 인식을 위한 기본 단위, 예컨대 음소를 모델링하는 프로세스로서, 음성 인식 엔진으로 들어오는 음소와 음성 인식 엔진 내의 DB에 등록되어 있는 음소를 결합해 단어와 문장을 만드는 것이다.The speech recognition server side dequantizes the speech feature vector carried in the bit stream received from the terminal, and recognizes a word corresponding to the speech using the HMM (Hidden Markov Model) as the speech model. Here, the HMM is a process of modeling a basic unit, for example, a phoneme, for speech recognition. The HMM combines phonemes coming into the speech recognition engine and phonemes registered in a DB in the speech recognition engine to form words and sentences.
한편, 최근에 디지털 컨버젼스 추세에 맞추어 분산 음성 인식 단말기로는 휴대폰이 각광받고 있으며, 이러한 휴대폰에는 그 고유 기능인 사용자 음성신호 처리 기능, 예컨대 음성 부호화기가 탑재되어 있다.On the other hand, in recent years, in accordance with the trend of digital convergence, a mobile phone has been in the spotlight as a distributed voice recognition terminal, and such a mobile phone is equipped with a user voice signal processing function, for example, a voice encoder.
그런데, 전술한 바와 같이 사용자 발화 음성에 대한 음성 특징 벡터를 추출하는데 있어 그 사용자 음성신호 전처리 과정, 특히 잡음 감쇄 처리가 요구되나, 일반적인 휴대폰에 있어 음성 통화를 위한 사용자 음성신호 전처리 과정과 음성 인식을 위한 사용자 음성신호 전처리 과정이 별개로 이루어지고 있다.However, as described above, in order to extract the voice feature vector for the user's spoken voice, the user's voice signal preprocessing process, in particular, the noise attenuation process is required. The user voice signal preprocessing process is performed separately.
예컨대, 음성 통화나 음성 인식에 있어 사용자 음성신호 처리를 하는 것은 동일하나, 휴대폰에서는 이를 별개의 전처리 과정, 특히 별개의 전처리 장치로서 처리함으로서, 저사양 특성을 갖는 휴대폰에 있어 추가적인 메모리와 연산량이 요구되며, 이는 휴대폰의 자원 낭비를 초래하고 있는 형편이다.For example, the processing of a user voice signal is the same for voice calls and voice recognition, but the mobile phone processes it as a separate preprocessing process, especially as a separate preprocessing device, which requires additional memory and computational amount in a mobile phone having low specification characteristics. This is causing a waste of resources in mobile phones.
또한, 음성 부호화 등과 같은 음성 전처리 과정은 단말 내부적으로 지연을 갖는데, 이는 휴대폰에 있어 음성 통화 프로세스와 음성 인식 프로세스간의 전환 지연을 가져오고 있는 형편이다. 예컨대, 사용자가 휴대폰을 통해 음성 인식 기능을 수행하는 도중에 전화가 걸려온 경우에 이 전화를 받는데 시간적 지연이 생기는 것이다.In addition, a speech preprocessing process such as speech encoding has a delay internally in the terminal, which causes a delay in switching between a voice call process and a speech recognition process in a mobile phone. For example, if a call is received while a user is performing a voice recognition function through a mobile phone, there is a time delay in receiving the call.
이하, 종래 방식에서의 휴대폰에 있어 음성 통화를 위한 전처리 과정과 음성 인식을 위한 전처리 과정에 대해 설명하면 다음과 같다.Hereinafter, a preprocessing process for a voice call and a preprocessing process for voice recognition in a conventional mobile phone will be described.
종래 방식에 따른 휴대폰에는 음성 코딩 모듈[음성 부호화기](speech coding module)과 음성 특징 벡터 추출 모듈(distributed speech recognition front-end module)이 탑재되어 있다.The conventional mobile phone is equipped with a speech coding module (speech coding module) and a speech feature vector extraction module (distributed speech recognition front-end module).
상기 음성 코딩 모듈은 음성 부호화 전처리기(pre-processing for speech coding), 모델 파라미터 추정기(model parameter estimation), 음성 압축기(compression) 및 비트 스트림 전송기(bit stream)로 이루어진다.The speech coding module consists of a pre-processing for speech coding, a model parameter estimation, a speech compressor and a bit stream.
상기 음성 특징 벡터 추출 모듈은 음성 인식 전처리기(pre-processing for speech recognition), 음성 특징 벡터 추출기(MFCC front-end), 음성 압축기(compression) 및 비트 스트림 전송기(bit stream)으로 이루어진다.The speech feature vector extraction module comprises a pre-processing for speech recognition, a speech feature vector extractor (MFCC front-end), a speech compressor and a bit stream transmitter.
위와 같이 종래 방식에서는 사용자 음성신호에 섞인 잡음 등을 감쇄시키기 위한 구성요소로서, 음성 부호화 전처리기와 음성 인식 전처리기가 휴대폰에 있어 각각 별도로 탑재되어 있는데, 이는 음성 부호화 과정 및 음성 특징 벡터 추출 과정에 있어 그 전처리 신호가 서로 상이한 것에 기인한다.As described above, in the conventional method, as a component for attenuating noise mixed in a user's voice signal, a speech encoding preprocessor and a speech recognition preprocessor are separately installed in a mobile phone, which is used in a speech encoding process and a speech feature vector extraction process. This is due to the different preprocessing signals.
따라서, 음성 부호화 전처리기와 음성 인식 전처리기와 같이 동일한 기능을 수행하는 점을 고려하여, 음성 부호화 과정 및 음성 특징 벡터 추출 과정에 있어 그 전처리 과정을 공유해서 통합적으로 처리할 수 있는 기술이 절실히 요구되고 있다.Therefore, in view of performing the same functions as the speech encoding preprocessor and the speech recognition preprocessor, there is an urgent need for a technology capable of integrating the preprocessing process in the speech encoding process and the speech feature vector extraction process. .
본 발명은 상기와 같은 문제점을 해결하고 상기와 같은 요구에 부응하기 위하여 제안된 것으로, 사용자 음성 부호화 기능이 탑재된 휴대폰과 같은 단말기에서 음성 인식을 위한 음성 특징 벡터(음성 특징 파라미터)를 추출하는데 있어 음성 부호화 전처리 과정과 음성 특징 벡터 추출 전처리 과정을 공유해서 통신 환경 등에 의한 잡음에 견고한 음성 특징 벡터를 추출하는, 분산 음성 인식 단말기에서 음성 부호화기의 전처리를 공유해 잡음에 견고한 음성 특징 벡터를 추출하는 장치 및 그 방법을 제공하는데 그 목적이 있다.SUMMARY OF THE INVENTION The present invention has been proposed to solve the above problems and meet the above demands, and to extract a speech feature vector (speech feature parameter) for speech recognition from a terminal such as a mobile phone equipped with a user speech encoding function. An apparatus for extracting a robust speech feature vector to noise by sharing the preprocessing of a speech coder in a distributed speech recognition terminal by sharing a speech coding preprocessing process and a speech feature vector extraction preprocessing process to extract a speech feature vector robust to noise caused by a communication environment, etc. The purpose is to provide a method.
상기의 목적을 달성하기 위한 본 발명의 장치는, 분산 음성 인식 단말기에서 음성 부호화기의 전처리를 공유해 잡음에 견고한 음성 특징 벡터를 추출하기 위한 장치에 있어서, 외부로부터 입력받은 음성신호의 저주파 대역 신호를 제거하는 고대역 통과 필터; 상기 고대역 통과 필터에서 그 저주파 대역이 제거된 신호를 주파수 영역 상의 스펙트럼 신호로 변환시키는 주파수 영역 변환기; 상기 주파수 영역 변환기에서 변환시킨 스펙트럼 신호의 현재 프레임에 대한 채널 에너지 추정값을 계산하는 채널 에너지 추정기; 상기 채널 에너지 추정기에서 계산한 채널 에너지 추정값과 배경 잡음 추정기에서 계산한 배경 잡음 에너지 추정값을 토대로 상기 음성신호에 관한 채널 신호대잡음비를 추정하는 채널 신호대잡음비 추정기; 잡음 업데이트 결정기의 명령에 따라 상기 음성신호에 관한 배경 잡음 에너지 추정값을 계산하여 갱신하는 상기 배경 잡음 추정기; 상기 채널 신호대잡음비 추정기에서 추정한 채널 신호대잡음비를 토대로 상기 음성신호에 관한 채널 상의 음성 메트릭들의 합을 계산하는 보이스 메트릭 계산기; 상기 채널 에너지 추정기에서 계산한 채널 에너지 추정값을 토대로 상기 음성신호에 관한 스펙트럼 편차를 추정하는 스펙트럼 편차 추정기; 상기 스펙트럼 편차 추정기에서 추정한 총 채널 에너지 추정값 및 현재 전력 스펙트럼에 대한 추정값과 평균 장구간 전력 스펙트럼에 대한 추정값간의 차이값을 토대로 잡음 추정값 갱신 명령을 내리는 상기 잡음 업데이트 결정기; 상기 보이스 메트릭 계산기에서 계산한 음성 메트릭들의 합을 토대로 상기 채널 신호대잡음비 추정기에서 추정한 채널 신호대잡음비를 수정하는 채널 신호대잡음비 추정값 수정기; 상기 채널 신호대잡음비 추정값 수정기에서 수정한 채널 신호대잡음비와 상기 배경 잡음 추정기에서 계산한 배경 잡음 에너지 추정값을 토대로 선형 채널 이득을 계산하는 채널 이득 산출기; 상기 주파수 영역 변환기에서 변환시킨 스펙트럼 신호에 대해 상기 채널 이득 산출기에서 계산한 선형 채널 이득을 적용시키는 주파수 영역 필터; 및 상기 주파수 영역 필터에서 선형 채널 이득을 적용시킨 스펙트럼 신호를 시간 영역 상의 음성신호로 변환시키는 시간 영역 변환기를 포함한다.The apparatus of the present invention for achieving the above object is a device for extracting a speech feature vector robust to noise by sharing the preprocessing of the speech encoder in a distributed speech recognition terminal, to remove the low frequency band signal of the speech signal received from the outside A high pass filter; A frequency domain converter for converting a signal from which the low frequency band is removed in the high pass filter into a spectral signal in a frequency domain; A channel energy estimator for calculating a channel energy estimate for the current frame of the spectral signal converted by the frequency domain converter; A channel signal to noise ratio estimator for estimating a channel signal to noise ratio for the speech signal based on the channel energy estimate calculated by the channel energy estimator and the background noise energy estimated by the background noise estimator; The background noise estimator for calculating and updating a background noise energy estimate for the speech signal according to a command of a noise update determiner; A voice metric calculator for calculating a sum of voice metrics on a channel with respect to the voice signal based on the channel signal to noise ratio estimated by the channel signal to noise ratio estimator; A spectral deviation estimator for estimating a spectral deviation of the speech signal based on the channel energy estimate calculated by the channel energy estimator; The noise update determiner that issues a noise estimate update command based on a total channel energy estimate estimated by the spectrum deviation estimator and a difference value between an estimated value for the current power spectrum and an estimated long term power spectrum; A channel signal to noise ratio estimation value corrector for correcting the channel signal to noise ratio estimated by the channel signal to noise ratio estimator based on the sum of the voice metrics calculated by the voice metric calculator; A channel gain calculator for calculating a linear channel gain based on the channel signal-to-noise ratio modified by the channel signal-to-noise ratio estimation modifier and the background noise energy estimate calculated by the background noise estimator; A frequency domain filter applying the linear channel gain calculated by the channel gain calculator to the spectrum signal converted by the frequency domain converter; And a time domain converter for converting the spectral signal to which the linear channel gain is applied in the frequency domain filter into a voice signal in the time domain.
한편, 본 발명의 다른 장치는, 분산 음성 인식 단말기에서 음성 부호화기의 전처리를 공유해 잡음에 견고한 음성 특징 벡터를 추출하는 장치에 있어서, 음성 통화 모드 시에 부호화된 음성신호가 음성 트래픽 채널을 통해 외부로 전송되도록 하기 위한 음성 코딩 수단; 음성 인식 모드 시에 추출된 사용자 음성 특징 벡터가 외부로 전송되도록 하기 위한 음성 특징 벡터 추출 수단; 및 외부로부터 입력받은 음성신호에 섞인 잡음을 감쇄시키기 위한 음성 코딩/인식 전처리부를 포함하되, 상기 음성 코딩 수단으로 입력되는 음성신호 및 상기 음성 특징 벡터 추출 수단으로 입력되는 음성신호는 상기 음성 코딩/인식 전처리부에서 전처리되는 것을 특징으로 한다.Meanwhile, another apparatus of the present invention is a device for extracting a speech feature vector that is robust to noise by sharing preprocessing of a speech coder in a distributed speech recognition terminal. Speech coding means for being transmitted; Speech feature vector extraction means for causing the extracted user speech feature vector to be transmitted to the outside in the speech recognition mode; And a speech coding / recognition preprocessor for attenuating noise mixed in the speech signal received from the outside, wherein the speech signal inputted to the speech coding means and the speech signal inputted to the speech feature vector extracting means are speech coding / recognition. It is characterized in that the pretreatment in the pretreatment unit.
한편, 본 발명의 또 다른 장치는, 분산 음성 인식 단말기에서 음성 부호화기의 전처리를 공유해 잡음에 견고한 음성 특징 벡터를 추출하는 장치에 있어서, 음성 통화 모드 시에 부호화된 음성신호가 음성 트래픽 채널을 통해 외부로 전송되도록 하기 위한 음성 코딩 수단; 음성 인식 모드 시에 추출된 사용자 음성 특징 벡터가 외부로 전송되도록 하기 위한 음성 특징 벡터 추출 수단; 외부로부터 입력받은 음성신호의 주파수 대역을 다운 샘플링하기 위한 주파수 다운 샘플러; 및 상기 주파수 다운 샘플러에서 다운 샘플링한 음성신호에 섞인 잡음을 감쇄시키기 위한 음성 코딩/인식 전처리부를 포함하되, 상기 음성 코딩 수단으로 입력되는 음성신호 및 상기 음성 특징 벡터 추출 수단으로 입력되는 음성신호는 상기 음성 코딩/인식 전처리부에서 전처리되는 것을 특징으로 한다.Meanwhile, another apparatus of the present invention is a device for extracting a speech feature vector that is robust to noise by sharing preprocessing of a speech encoder in a distributed speech recognition terminal, wherein the speech signal encoded in the voice call mode is externally transmitted through a speech traffic channel. Speech coding means for being transmitted to the network; Speech feature vector extraction means for causing the extracted user speech feature vector to be transmitted to the outside in the speech recognition mode; A frequency down sampler for down sampling the frequency band of the audio signal received from the outside; And a speech coding / recognition preprocessor for attenuating noise mixed in the down-sampled speech signal by the frequency down sampler, wherein the speech signal inputted to the speech coding means and the speech signal inputted to the speech feature vector extracting means include: It is characterized in that the pre-processing in the speech coding / recognition preprocessor.
한편, 본 발명의 또 다른 장치는, 분산 음성 인식 단말기에서 음성 부호화기의 전처리를 공유해 잡음에 견고한 음성 특징 벡터를 추출하는 장치에 있어서, 음성 통화 모드 시에 부호화된 음성신호가 음성 트래픽 채널을 통해 외부로 전송되도록 하기 위한 음성 코딩 수단; 음성 인식 모드 시에 추출된 사용자 음성 특징 벡터가 외부로 전송되도록 하기 위한 음성 특징 벡터 추출 수단; 외부로부터 입력받은 음성신호에 대해 저주파 대역 신호를 통과시키기 위한 저대역 통과 쿼드러쳐 미러 필터; 외부로부터 입력받은 상기 음성신호에 대해 고주파 대역 신호를 통과시키기 위한 고대역 통과 쿼드러쳐 미러 필터; 및 상기 저대역 통과 쿼드러쳐 미러 필터에서 통과시킨 음성신호에 섞인 잡음을 감쇄시키기 위한 음성 코딩/인식 전처리부를 포함하되, 상기 음성 코딩 수단으로 입력되는 음성신호 및 상기 음성 특징 벡터 추출 수단으로 입력되는 음성신호는 상기 음성 코딩/인식 전처리부에서 전처리되는 것을 특징으로 한다.Meanwhile, another apparatus of the present invention is a device for extracting a speech feature vector that is robust to noise by sharing preprocessing of a speech coder in a distributed speech recognition terminal, wherein the speech signal encoded in the voice call mode is externally transmitted through a speech traffic channel. Speech coding means for being transmitted to the network; Speech feature vector extraction means for causing the extracted user speech feature vector to be transmitted to the outside in the speech recognition mode; A low pass quadrature mirror filter for passing a low frequency band signal to a voice signal received from an outside; A high pass quadrature mirror filter for passing a high frequency band signal to the voice signal received from the outside; And a speech coding / recognition preprocessor for attenuating noise mixed in the speech signal passed by the low pass quadrature mirror filter, wherein the speech signal inputted to the speech coding means and the speech inputted to the speech feature vector extracting means. The signal is preprocessed by the speech coding / recognition preprocessor.
한편, 본 발명의 방법은, 분산 음성 인식 단말기에서 음성 부호화기의 전처리를 공유해 잡음에 견고한 음성 특징 벡터를 추출하기 위한 방법에 있어서, 외부로부터 입력받은 음성신호의 저주파 대역 신호를 제거하는 단계; 상기 저주파 대역이 제거된 신호를 주파수 영역 상의 스펙트럼 신호로 변환시키는 단계; 상기 변환시킨 스펙트럼 신호의 현재 프레임에 대한 채널 에너지 추정값을 계산하는 단계; 상기 계산한 채널 에너지 추정값을 토대로 상기 음성신호에 관한 스펙트럼 편차를 추정하는 단계; 상기 추정한 총 채널 에너지 추정값 및 현재 전력 스펙트럼에 대한 추정값과 평균 장구간 전력 스펙트럼에 대한 추정값간의 차이값을 토대로 잡음 추정값 갱신 명령을 내리는 단계; 상기 잡음 추정값 갱신 명령을 받으면 상기 음성신호에 관한 배경 잡음 에너지 추정값을 계산하여 갱신하는 단계; 상기 계산한 채널 에너지 추정값과 배경 잡음 에너지 추정값을 토대로 상기 음성신호에 관한 채널 신호대잡음비를 추정하는 단계; 상기 추정한 채널 신호대잡음비를 토대로 상기 음성신호에 관한 채널 상의 음성 메트릭들의 합을 계산하는 단계; 상기 계산한 음성 메 트릭들의 합을 토대로 상기 추정한 채널 신호대잡음비를 수정하는 단계; 상기 수정한 채널 신호대잡음비와 상기 계산한 배경 잡음 에너지 추정값을 토대로 선형 채널 이득을 계산하는 단계; 상기 변환시킨 스펙트럼 신호에 대해 상기 계산한 선형 채널 이득을 적용시키는 단계; 및 상기 선형 채널 이득을 적용시킨 스펙트럼 신호를 시간 영역 상의 음성신호로 변환시키는 단계를 포함한다.In the method of the present invention, a method for extracting a speech feature vector robust to noise by sharing preprocessing of a speech encoder in a distributed speech recognition terminal, the method comprising: removing a low frequency band signal of a speech signal received from an external device; Converting the signal from which the low frequency band has been removed into a spectral signal in a frequency domain; Calculating a channel energy estimate for the current frame of the transformed spectral signal; Estimating a spectral deviation of the speech signal based on the calculated channel energy estimate; Issuing a noise estimate update command based on the estimated total channel energy estimate and the difference between the estimated value for the current power spectrum and the estimated value for the average long-term power spectrum; Calculating and updating a background noise energy estimate for the speech signal when the noise estimate update command is received; Estimating a channel signal to noise ratio for the speech signal based on the calculated channel energy estimate and background noise energy estimate; Calculating a sum of speech metrics on a channel with respect to the speech signal based on the estimated channel signal to noise ratio; Modifying the estimated channel signal to noise ratio based on the sum of the calculated speech metrics; Calculating a linear channel gain based on the modified channel signal to noise ratio and the calculated background noise energy estimate; Applying the calculated linear channel gain to the transformed spectral signal; And converting the spectral signal to which the linear channel gain is applied to an audio signal in the time domain.
상술한 목적, 특징 및 장점은 첨부된 도면과 관련한 다음의 상세한 설명을 통하여 보다 분명해 질 것이며, 그에 따라 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명의 기술적 사상을 용이하게 실시할 수 있을 것이다. 또한, 본 발명을 설명함에 있어서 본 발명과 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에 그 상세한 설명을 생략하기로 한다. 이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 일실시예를 상세히 설명하기로 한다.The above objects, features and advantages will become more apparent from the following detailed description taken in conjunction with the accompanying drawings, whereby those skilled in the art may easily implement the technical idea of the present invention. There will be. In addition, in describing the present invention, when it is determined that the detailed description of the known technology related to the present invention may unnecessarily obscure the gist of the present invention, the detailed description thereof will be omitted. Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings.
도 1은 본 발명에 따른 분산 음성 인식 단말기에서 음성 부호화기의 전처리를 공유해 잡음에 견고한 음성 특징 벡터를 추출하는 장치(이하, "음성 특징 벡터 추출 장치"라 함)에 대한 일실시예 구성도이다.1 is a configuration diagram of an apparatus for extracting a speech feature vector robust to noise by sharing preprocessing of a speech encoder in a distributed speech recognition terminal according to the present invention (hereinafter, referred to as a "voice feature vector extraction apparatus").
본 발명에 따른 음성 특징 벡터 추출 장치가 탑재된 분산 음성 인식 단말기(예; 휴대폰 등)에는 음성 코딩 모듈[음성 부호화기](speech coding module)(150)와, 음성 특징 벡터 추출 모듈(distributed speech recognition front-end module)(100)이 탑재되어 있는데, 도 1에 도시된 바와 같이 음성 코딩 모듈의 음성 부호화 전처리기와 음성 특징 벡터 추출 모듈의 음성 인식 전처리기가 음성 코딩/인식 전처리부(11)로 서로 공유됨을 알 수 있다.A distributed speech recognition terminal (eg, a mobile phone, etc.) equipped with a speech feature vector extracting apparatus according to the present invention includes a
즉, 본 발명에 따른 휴대폰에는 음성 특징 벡터 추출 모듈(100)이 음성 코딩/인식 전처리부(11), 음성 특징 벡터 추출부(MFCC front-end)(12), 음성 압축부(compression)(13) 및 비트 스트림 전송부(bit stream)(14)로 이루어진다.That is, in the mobile phone according to the present invention, the voice feature
그리고, 본 발명에 따른 휴대폰에는 음성 코딩 모듈(150)이 음성 코딩/인식 전처리부(11), 음성 코더(speech coder)(15), 음성 압축부(compression)(16) 및 비트 스트림 전송부(bit stream)(17)로 이루어진다.In the mobile phone according to the present invention, the
물론, 본 발명에 따른 휴대폰에는 음성 통화 모드와 음성 인식 모드간의 천이를 위한 스위치(50)가 탑재되어 있으며, 이러한 스위치(50)의 동작에 따라, 음성 통화 모드에 있어 그 부호화된 사용자 음성신호가 음성 트래픽 채널을 통해 이동통신 시스템으로 전송되며, 음성 인식 모드에 있어 그 추출된 사용자 음성 특징 벡터가 무선 데이터 채널을 통해 음성인식 서버로 전송된다.Of course, the mobile phone according to the present invention is equipped with a
특히, 음성 코딩/인식 전처리부(11)는 사용자 음성신호(input speech 8 KHz)에 섞인 잡음을 감쇄시키는 기능을 수행하는데, 본 발명에서는 음성 특징 벡터 추출 모듈에 별도의 잡음 감쇄 장치를 구비하지 않고서 음성 부호화 전처리 장치로 사용되는 잡음 감쇄 장치로 대체시킨다.In particular, the speech coding /
예컨대, 본 발명에서는 음성 특징 벡터 추출 모듈에서 잡음에 견고한 음성 특징 벡터(MFCCs)를 추출할 수 있도록, 음성 코딩/인식 전처리부(11)에서 잡음 감쇄 기능을 수행시키되, 이러한 음성 코딩/인식 전처리부(11)가 음성 통화를 위한 신호 전처리 및 음성 인식을 위한 신호 전처리를 모두 수행할 수 있는 스펙으로 구현되도록 한다.For example, in the present invention, the speech coding /
위에서 전술한 바와 같은 본 발명에서 제시하는 음성 코딩/인식 전처리부(11)에 대해서는 도 2를 참조하여 상세히 후술하기로 하며, 공지기술을 따르는 도 1의 도면부호 "12, 13, 14, 15, 16, 17" 각각에 대응되는 구성요소에 대해서는 그 상세한 설명을 생략하기로 한다.The speech coding /
도 2는 도 1의 음성 코딩/인식 전처리부에 대한 일실시예 상세 구성도이다.FIG. 2 is a detailed block diagram of an embodiment of the speech coding / recognition preprocessor of FIG. 1.
도 2에 도시된 바와 같이, 본 발명에 따른 음성 코딩/인식 전처리부(11)는 고대역 통과 필터(high pass filter)(21), 주파수 영역 변환기(frequency domain conversion)(22), 채널 에너지 추정기(channel energy estimation)(23), 채널 신호대잡음비 추정기(channel SNR estimation)(24), 보이스 메트릭 계산기(voice metric calculation)(25), 스펙트럼 편차 추정기(spectral deviation estimation)(26), 잡음 업데이트 결정기(noise update decision)(일명 배경 잡음 추정값 갱신기)(27), 채널 신호대잡음비 추정값 수정기(channel SNR modifier)(28), 채널 이득 산출기(channel gain computation)(29), 배경 잡음 추정기(background noise estimation)(30), 주파수 영역 필터(31) 및 시간 영역 변환기(time domain conversion)(32)를 포함한다.As shown in FIG. 2, the speech coding /
본 발명에서는 음성 통화를 위한 음성 부호화 전처리 및 음성 인식을 위한 음성 특징 벡터 추출 전처리를 모두 만족할 수 있는 스펙, 예를 들어 CDMA 방식에 서 사용되는 IS-127(EVRC) 등을 응용해 음성 코딩/인식 전처리부(11)를 구현한다.In the present invention, speech coding / recognition is applied by applying a specification that can satisfy both a speech coding preprocessing for a voice call and a speech feature vector extraction preprocessing for speech recognition, for example, IS-127 (EVRC) used in the CDMA method. The
한편, 상기 음성 코딩/인식 전처리부(11)로 입력되는 사용자 음성신호 sLFB(n)은 8 KHz 샘플링 주파수를 갖는 uniform PCM 포맷(16 bits) 형태의 데이터이다.Meanwhile, the user voice signal s LFB (n) input to the voice coding /
일반적으로, 음성 부호화 과정 이전 및 음성 특징 벡터 추출 과정 이전에 신호 품질 개선을 위해 음성신호에 섞인 잡음을 감쇄시켜야 되는데, 본 발명에서 제시하는 음성 코딩/인식 전처리부(11)도 이러한 잡음 감쇄 기능을 그 주요 기능으로 수행하며, 도면에 도시된 바와 같이 입력되는 사용자 음성신호 sLFB(n)이 잡음이 감쇄된 s'(n)으로 출력됨을 알 수 있다.In general, before the speech coding process and before the speech feature vector extraction process, the noise mixed in the speech signal must be attenuated to improve the signal quality. The speech coding /
이하, 음성 코딩/인식 전처리부(11)의 각 구성요소에 대해 살펴보기로 한다.Hereinafter, each component of the speech coding /
상기 고대역 통과 필터(21)는 마이크 등을 통해 입력받은 사용자 음성신호 sLFB(n)의 저주파 대역 신호를 제거하며, 이와 같은 고대역 통과 필터(21)는 120 Hz의 차단 주파수 대역을 갖도록 구현된다.The
이하, 고대역 통과 필터(21)에서 필터링된 신호를 shp(n)이라 정의하며, 이러한 신호 shp(n)이 잡음 감쇄 대상 신호이며, 이 잡음 감쇄 대상 신호의 프레임 사이즈는 10ms이며, 여기서 현재 프레임을 m으로 정의하기로 한다.Hereinafter, a signal filtered by the
상기 주파수 영역 변환기(22)는 고대역 통과 필터(21)에서 필터링된 신호 shp(n)을 주파수 영역 상으로 변환시키는데, 평탄화된 사다리꼴 윈도우(smoothed trapezoid windows)를 사용하여 이 shp(n)을 주파수 영역 상으로 변환시킨다[윈도윙(windowing)]. 이 주파수 영역 변환 과정에 대해 살펴보면 다음과 같다.The
평탄화된 사다리꼴 윈도우에 있어 m번째 프레임의 입력 프레임 버퍼(input frame buffer) {d(m,n)} 상의 첫번째 D 샘플들은 이전 프레임의 마지막 D 샘플들과 겹쳐져 있는데, 이러한 겹침 현상은 다음의 [수학식 1]로 표현된다.In the flattened trapezoidal window, the first D samples on the input frame buffer {d (m, n)} of the mth frame overlap with the last D samples of the previous frame. Equation 1].
여기서, m은 현재 프레임이고, n은 버퍼 {d(m)}의 샘플 인덱스이며, 80의 값을 갖는 L은 프레임 길이이고, 24의 값을 갖는 D는 샘플들 내에서의 겹침(또는 지연) 정도를 나타낸다. 여기서, 입력 버퍼의 남은 샘플들은 다음의 [수학식 2]와 같이 프리-엠퍼시스(pre-emphasis)된다.Where m is the current frame, n is the sample index of the buffer {d (m)}, L with a value of 80 is the frame length, and D with a value of 24 is the overlap (or delay) within the samples. Indicates degree. Here, the remaining samples of the input buffer are pre-emphasis as shown in
여기서, "-0.8"의 값을 갖는 는 프리-엠퍼시스 계수이다. 상기 [수학식 1]에서 입력 버퍼는 104(L+D=104) 개의 샘플을 갖으며, 이 샘플들 내에서 첫번째 D 샘플들은 이전 프레임으로부터 프리-엠퍼사이즈드 오버랩(pre-emphasized overlap)된 부분이고, 다음의 샘플들은 현재의 프레임으로부터 프리-엠퍼사이즈드 입력(pre-emphasized input)이 되는 부분이다. 이를 토대로, 평탄화된 사다리꼴 윈도우를 입력 버퍼에 사용하여 다음의 [수학식 3]과 같은 윈도윙된 신호를 획득한다.Where a value of "-0.8" Is the pre-emphasis coefficient. In Equation 1, the input buffer has 104 (L + D = 104) samples, and the first D samples in these samples have a pre-emphasized overlap from the previous frame. The following samples are the parts that become pre-emphasized input from the current frame. Based on this, a flattened trapezoidal window is used as an input buffer to obtain a windowed signal as shown in Equation 3 below.
여기서, 128의 값을 갖는 M은 이산 푸리에 변환(DFT; discrete Fourier transform) 길이이며, 이 M을 통해 다음의 [수학식 4]와 같은 스펙트럼 신호 G(k)를 구할 수 있다.Here, M having a value of 128 is a discrete Fourier transform (DFT) length, and through this M, a spectral signal G (k) as shown in Equation 4 can be obtained.
위와 같이 주파수 영역 변환기(22)에서 주파수 영역 상으로 변환된 스펙트럼 신호 G(k)는 채널 에너지 추정기(23)의 입력 신호로 사용된다.As described above, the spectral signal G (k) transformed on the frequency domain by the
상기 채널 에너지 추정기(23)는 주파수 영역 변환기(22)로부터 입력받은 스펙트럼 신호 G(k)의 현재 프레임 m에 대한 채널 에너지 추정값을 다음의 [수학식 5]와 같이 계산한다.The
여기서, 0.0625의 값을 갖는 Emin은 최소 허용 채널 에너지값을 나타내고, 은 다음의 [수학식 6]에 정의된 채널 에너지 평탄 인수이고, 16의 값을 갖는 Nc는 결합된 채널 수를 나타낸다. 그리고, fL(i) 및 fH(i) 각각은 i번째 채널의 저주파수의 DFT bin 및 i번째 채널의 고주파수의 DFT bin을 나타낸다. 이러한 fL(i) 및 fH(i) 각각은 다음과 같다. Here, E min with a value of 0.0625 represents the minimum allowable channel energy value, Is a channel energy flatness factor defined in Equation 6 below, and N c having a value of 16 represents the number of combined channels. And, f L (i) and f H (i) each represent a low frequency DFT bin of the i-th channel and a high frequency DFT bin of the i-th channel. Each of these f L (i) and f H (i) is as follows.
fL={2,4,6,8,10,12,14,17,20,23,27,31,36,42,49,56},f L = {2,4,6,8,10,12,14,17,20,23,27,31,36,42,49,56},
fH={3,5,7,9,11,13,16,19,22,26,30,35,41,48,55,63}.f H = {3,5,7,9,11,13,16,19,22,26,30,35,41,48,55,63}.
위와 같이 [수학식 5]를 통해 계산한 채널 에너지 추정값에 있어, 채널 에너지 평탄 인수 가 첫번째 프레임(m=1)에 대한 값이 영(0)인 경우에는 그 채널 에너지 추정값이 첫번째 프레임의 필터링되지 않은 채널 에너지값으로 초기화되는 것을 허용하는 의미한다.In the channel energy estimate calculated by Equation 5, the channel energy flatness factor If the value for the first frame (m = 1) is zero, it means that the channel energy estimate is allowed to be initialized to the unfiltered channel energy value of the first frame.
상기 채널 신호대잡음비 추정기(24)는 채널 상에 존재하는 신호대잡음비(SNR; Signal-Noise Rate)를 추정하는데, 채널 에너지 추정기(23)에서 추정한 채널 에너지 추정값과 배경 잡음 추정기(30)에서 추정한 배경 잡음 에너지 추정값을 토대로 그 양자화된 채널 SNR 인덱스들을 다음의 [수학식 7]과 같이 계산한다.The channel signal-to-
한편, 배경 잡음 추정기(30)에서 계산되는 En(m)은 현재의 채널 잡음 에너지 추정값을 나타내는데, 이를 토대로 [수학식 7]을 통해 계산되는 의 값은 0에서 89 사이의 값을 갖게 된다.Meanwhile, E n (m) calculated by the
상기 보이스 메트릭 계산기(25)는 채널 신호대잡음비 추정기(24)에서 추정한 신호대잡음비, 예컨대 양자화된 채널 SNR 인덱스 를 토대로 현재 채널 상의 음성 메트릭들의 합을 다음의 [수학식 8]과 같이 계산한다.The voice
여기서, V(k)는 다음과 같이 90개의 원소로 이루어지는 음성 메트릭이다.Here, V (k) is a negative metric composed of 90 elements as follows.
V(k)={2,2,2,2,2,2,2,2,2,2,2,3,3,3,3,3,4,4,4,5,5,5,6,6,7,7,7,8,8,9,9,10,10,11,12,12,13,13,14,15,15,16,17,17,18,19,20,20,21,22,23,24,24,25,26,27,28,28,29,30,31,32,33,34,35,36,37,37,38,39,40,41,42,43,44,45,46,47,48,49,50,50,50,50,50,50,50,50,50,50}.V (k) = {2,2,2,2,2,2,2,2,2,2,2,3,3,3,3,3,4,4,4,5,5,5, 6,6,7,7,7,8,8,9,9,10,10,11,12,12,13,13,14,15,15,16,17,17,18,19,20, 20,21,22,23,24,24,25,26,27,28,28,29,30,31,32,33,34,35,36,37,37,38,39,40,41, 42,43,44,45,46,47,48,49,50,50,50,50,50,50,50,50,50,50}.
상기 스펙트럼 편차 추정기(26)는 채널 에너지 추정기(23)에서 추정한 채널 에너지 추정값 Ech(m)을 토대로 현재 채널 상의 신호에 대한 그 스펙트럼 편차를 추 정한다. 이러한 스펙트럼 편차 추정 과정은 다음과 같다.The
먼저, 상기 채널 에너지 추정값 Ech(m)을 파라미터로 하여 다음의 [수학식 9]를 통해 현재 채널 상의 로그 전력 스펙트럼을 계산한다.First, the log power spectrum on the current channel is calculated by the following Equation 9 using the channel energy estimate E ch (m) as a parameter.
그리고서, 상기 [수학식 9]에서 계산한 현재 전력 스펙트럼에 대한 추정값과 평균 장구간 전력 스펙트럼에 대한 추정값간의 차이값을 다음의 [수학식 10]을 통해 계산한다.Then, the difference value between the estimated value for the current power spectrum and the estimated value for the average long-term power spectrum calculated in Equation 9 is calculated through Equation 10 below.
여기서, 은 이전 프레임 동안에 계산된 평균 장구간 전력 스펙트럼에 대한 추정값이다. 다만, 이러한 평균 장구간 전력 스펙트럼 은 스펙트럼 편차 추정 과정을 통해 갱신되기 전, 예컨대 초기값은 다음의 [수학식 11]과 같이 첫번째 프레임의 로그 전력 스펙트럼에 대한 추정값으로 설정된다.here, Is an estimate of the average long-term power spectrum calculated during the previous frame. However, these average long-term power spectrum Before is updated through the spectral deviation estimation process, The initial value is set as an estimate of the log power spectrum of the first frame as shown in
그리고, 상기 채널 에너지 추정값 Ech(m)을 파라미터로 하여 다음의 [수학식 12]를 통해 현재 프레임 m에 대한 총 채널 에너지 추정값 Etot(m)을 계산한다. 이와 같이 계산된 총 채널 에너지 추정값 Etot(m)과, 현재 전력 스펙트럼에 대한 추정값과 평균 장구간 전력 스펙트럼에 대한 추정값간의 차이값인 은 하기의 잡음 업데이트 결정기(27)에서 배경 잡음 추정값을 갱신하는데 사용되는 파라미터로서 입력된다.The channel energy estimate E ch (m) is used as a parameter to calculate the total channel energy estimate E tot (m) for the current frame
한편, 지수 창함수 인수 은 총 채널 에너지 추정값 Etot(m)에 관한 함수로서 다음의 [수학식 13]으로 계산된다. Meanwhile, exponential window function argument Is a function of the total channel energy estimate E tot (m) and is calculated by
여기서, [수학식 13]을 통해 계산된 지수 창함수 인수 은 다음의 [수학식 14]에 의해 사이의 값으로 제한된다.Here, the exponential window function factor calculated through
또한, EH와 EL은 로 제한된 으로 변환된 Etot(m)의 선형 내삽치에 대한 dB로 표현되는 에너지 끝점들이며, 이러한 세 상수들의 값은 로 정의된다. 예를 들어, 40 dB의 상대적인 에너지를 갖는 어떤 신호는 다음에 이어지는 계산을 위해서 의 지수 창함수 인수를 사용하게 된다.In addition, E H and E L Limited to Are the energy endpoints expressed in dB for the linear interpolation of E tot (m) converted into. Is defined as For example, some signals with a relative energy of 40 dB may be used for subsequent calculations. We will use the exponential window function argument of.
마지막으로, 위와 같이 계산한 지수 창함수 인수 , 초기값 등을 파라미터로 하여 다음의 [수학식 15]를 통해 다음 프레임에 대한 평균 장구간 전력 스펙트럼 추정값을 갱신한다.Finally, the exponential window function argument calculated as above , Using the initial value as a parameter, the average long-term power spectrum estimation value for the next frame is updated through
상기 잡음 업데이트 결정기(27)는 스펙트럼 편차 추정기(26)에서 추정한 총 채널 에너지 추정값 Etot(m), 현재 전력 스펙트럼에 대한 추정값과 평균 장구간 전력 스펙트럼에 대한 추정값간의 차이값 을 토대로, 다음의 의사코드로 표현된 로직을 통해 배경 잡음 추정기(30)에서 추정한 잡음 추정값에 대해 어떠한 추정 값으로 갱신하라는 명령, 예컨대 update_flag를 내린다.The
상기 의사코드로 표현된 로직 상에서, 그 사용 상수들의 값들은 각각, UPDATE_THLE=35, NOISE_FLOOR_DB=, DEV_THLD=28, UPDATE_CNT_THLD=50, HYSTER_CNT_THLD=6이다.On the logic represented by the pseudo code, the values of the usage constants are UPDATE_THLE = 35 and NOISE_FLOOR_DB =, respectively. , DEV_THLD = 28, UPDATE_CNT_THLD = 50, and HYSTER_CNT_THLD = 6.
상기 채널 신호대잡음비 추정값 수정기(28)는 보이스 메트릭 계산기(25)에서 추정한 현재 채널 상의 음성 메트릭들의 합 V(m)을 토대로 채널 신호대잡음비 추정기(24)에서 추정한 양자화된 채널 SNR 인덱스 의 값을 수정한다. 이러한 수정된 채널 SNR 인덱스 은 채널 이득 산출기(29)의 입력 파라미터로서 사용된다. 다음의 의사코드로 표현된 로직은 채널 신호대잡음비 추정값을 어떻게 수정하는지에 대해 보여주고 있다.The channel signal to noise
상기 의사코드로 표현된 로직 상에서, 상수들과 임계치들의 값들은 다음과 같다.On the logic represented by the pseudo code, the values of the constants and thresholds are as follows.
상기 채널 이득 산출기(29)는 채널 신호대잡음비 추정값 수정기(28)에서 수정한 채널 SNR 인덱스 과 배경 잡음 추정기(30)에서 추정한 배경 잡음 에너지 추정값 En(m)을 토대로 선형 채널 이득 을 계산한다. 이러한 선형 채널 이득 산출 과정에 대해 설명하면 다음과 같다.The
먼저, 다음의 [수학식 16]을 통해 현재 프레임에 대한 전체 이득 요소를 계산한다.First, the overall gain factor for the current frame is calculated using
여기서, 최소 전체 이득 은 -13이고, 잡음 에너지 최저 한도(noise floor energy) 는 1이며, 배경 잡음 에너지 추정값 En(m)은 배경 잡음 추정기(30)에서 추정한 값을 따른다.Where minimum overall gain Is -13, and noise floor energy Is 1, and the background noise energy estimate E n (m) follows the value estimated by the
다음으로, 채널 이득(in dB)들을 다음의 [수학식 17]을 통해 계산한다.Next, the channel gains (in dB) are calculated through
여기서, 이득 기울기 는 0.39이며, 이 이득 기울기를 다음의 [수학식 18]과 같이 선형 채널 이득들로 바꾸는 것이 바람직하다.Where gain slope Is 0.39, and it is preferable to change this gain slope to linear channel gains as shown in Equation 18 below.
상기 주파수 영역 필터(31)는 주파수 영역 변환기(22)에서 변환한 스펙트럼 신호 G(k)에 대해 채널 이득 산출기(29)에서 계산한 선형 채널 이득 을 다음의 [수학식 19]와 같이 적용한다. The
상기 [수학식 19]에서, 채널 이득에 의해 스펙트럼 신호 G(k)가 신호 H(k)로 변경되는데, 그 중 채널 이득에 의해 변경되지 않는 주파수 대역의 신호, 예컨대 H(k)=G(k)도 존재한다. 이러한 채널 이득에 의해 변경되지 않는 주파수 대역의 신호는 다음의 [수학식 20]과 같으며, H(k)의 그 크기가 이븐(even)이어야 되고 그 위상이 오드(odd)이어야 됨을 알 수 있다.In Equation 19, the spectral signal G (k) is changed to the signal H (k) by the channel gain, of which signals in the frequency band not changed by the channel gain, for example, H (k) = G ( k) is also present. The signal in the frequency band that is not changed by the channel gain is expressed by Equation 20 below. It can be seen that the magnitude of H (k) should be even and the phase should be odd. .
여기서, 켤례 복소수(complex conjugate)는 H(k)에 inverse DFT를 구하기 위해 필요하다.Here, a complex conjugate is needed to find an inverse DFT at H (k).
특히, 상기 배경 잡음 추정기(30)는 전술한 바와 같이 현재 채널 상에 존재 하는 잡음신호에 대한 그 에너지 추정값 En(m)을 추정하는데, 잡음 업데이트 결정기(27)에서 내린 명령, 예컨대 update_flag에 따라 해당되는 잡음 추정값을 갱신한다.In particular, the
즉, 잡음 추정값 갱신 update_flag가 트루(true)인 경우에 배경 잡음 추정기(30)에서는 다음의 [수학식 21]을 통해 다음 프레임에 대한 채널 상의 잡음 추정값을 갱신한다.That is, when the noise estimate update update_flag is true, the
여기서, 최소 채널 에너지 Emin은 0.0625이고, 채널 잡음 평활화 인수 은 0.9이다. 한편, 잡음 추정값은 다음의 [수학식 22]와 같이 처음의 네개의 프레임들 각각에 대해 채널 에너지 추정값으로서 초기화되어 있다.Here, the minimum channel energy E min is 0.0625 and the channel noise smoothing factor Is 0.9. On the other hand, the noise estimate is initialized as a channel energy estimate for each of the first four frames as shown in
여기서, 최소 채널 잡음 초기 에너지 Einit는 16이다.Here, the minimum channel noise initial energy E init is 16.
상기 시간 영역 변환기(32)는 주파수 영역 필터(31)를 통해 입력받은 잡음이 감쇄된 사용자 음성신호, 예컨대 주파수 영역 상에서 표현된 사용자 음성신호를 시간 영역 상의 사용자 음성신호로 변환한다. 이러한 시간 영역 변환 과정에 대해 살펴보면 다음과 같다.The
먼저, 주파수 영역 필터(31)에서 필터링된 신호를 다음의 [수학식 23]을 통해 역DFT를 사용하는 시간 영역으로 변환한다.First, the signal filtered by the
그리고나서, 상기 [수학식 23]에 대해 오버랩-앤드-애드(overlap-and-add)를 적용하여 다음의 [수학식 24]와 같이 주파수 영역 필터링 과정을 수행한다. Then, overlap-and-add is applied to
마지막으로, 상기 [수학식 24]에 대해 디-엠퍼시스(de-emphasis)를 적용하여 다음의 [수학식 25]와 같이 시간 영역 상의 사용자 음성신호로 변환한다.Finally, de-emphasis is applied to
여기서, 디-엠퍼시스 인수 는 0.8이며, 는 320개의 샘플들을 담을 출력 버퍼를 나타낸다.Where the de-emphasis factor Is 0.8, Denotes an output buffer that will contain 320 samples.
전술한 바와 같이, 본 음성 코딩/인식 전처리부(11)를 통해 잡음이 감쇄된 사용자 음성신호 S'(n)을 획득할 수 있으며, 이러한 사용자 음성신호 S'(n)은 음성 통화 모드 또는 음성 인식 모드에 따라, 음성 특징 벡터 추출 모듈(100)의 음성 특징 벡터 추출부(12)로 입력되거나 또는 음성 코딩 모듈(150)의 음성 코더(15)로 입 력된다.As described above, the user voice signal S '(n) whose noise is attenuated through the voice coding /
덧붙여, 본 음성 코딩/인식 전처리부(11)의 설명 서두에 정의한 바와 같이 잡음 감쇄 대상 신호의 프레임 사이즈를 10ms로 설정했기에, 매 10ms 프레임마다 잡음 감쇄가 수행되므로, 위에서 전술한 사용자 음성신호 S'(n)[음성 코딩/인식 전처리부의 출력 신호]는 이다. 물론, 잡음 감쇄 대상 신호의 프레임 사이즈의 그 설정 크기에 따라 사용자 음성신호 S'(n)를 다르게 출력할 수도 있음을 당업자라면 쉽게 이해할 수 있을 것이다.In addition, since the frame size of the noise reduction target signal is set to 10 ms as defined in the description of the speech coding /
한편, 도 2를 참조하여 전술한 본 발명의 장치, 예컨대 음성 특징 벡터 추출 모듈 및 음성 코딩 모듈을 위한 전처리 장치인 음성 코딩/인식 전처리부에 대응되는 방법은, 통상의 음성신호 처리 분야에 있어 그 장치에 대응되는 시계열적인 프로세스로 이루어지며, 이에 별도로 본 발명의 방법적인 플로우에 대해서는 설명하지 않기로 한다.Meanwhile, a method corresponding to the speech coding / recognition preprocessor, which is a preprocessing device for the apparatus of the present invention, for example, the speech feature vector extraction module and the speech coding module described above with reference to FIG. It is a time series process corresponding to the apparatus, and the method flow of the present invention will not be described separately.
도 3a는 본 발명에 따른 11 KHz 음성신호 처리를 위해 확장된 음성 코딩/인식 전처리부에 대한 일실시예 구성도이며, 도 3b는 본 발명에 따른 16 KHz 음성신호 처리를 위해 확장된 음성 코딩/인식 전처리부에 대한 일실시예 구성도이다.FIG. 3A is a diagram illustrating an embodiment of an extended speech coding / recognition preprocessor for 11 KHz speech signal processing according to the present invention, and FIG. 3B illustrates an extended speech coding / 16 KHz speech signal processing according to the present invention. One embodiment configuration diagram for the recognition preprocessor.
앞서 도 2를 참조하여 설명한 본 발명의 음성 코딩/인식 전처리부(11)는 8 KHz의 사용자 음성신호가 그 잡음 감쇄 대상 신호이다. 이에, 본 발명에서는 도 3a를 참조해 11 KHz의 사용자 음성신호를 처리하는 음성 코딩/인식 전처리부와, 도 3b를 참조해 16 KHz의 사용자 음성신호를 처리하는 음성 코딩/인식 전처리부에 대해서도 제시한다.In the speech coding /
도 3a에는 11 KHz 음성신호 처리를 위해, 도 2에 도시된 음성 코딩/인식 전처리부의 앞단에 11 KHz의 사용자 음성신호를 8 KHz의 사용자 음성신호로 변환하기 위한 주파수 다운 샘플러(41)가 구비된다. 이와 같이 주파수 다운 샘플러(41)에서 다운 샘플링된 사용자 음성신호는 본 음성 코딩/인식 전처리부로 입력된다.3A is provided with a frequency down
도 3b에는 16 KHz 음성신호 처리를 위해, 도 2에 도시된 음성 코딩/인식 전처리부의 앞단에 저대역 통과 쿼드러쳐 미러 필터(low pass quadrature-mirror filter(QMF LP))[DEC by 2](46)와 고대역 통과 쿼드러쳐 미러 필터(high pass quadrature-mirror filter(QMF HP))[DEC by 2 and SI](47)가 구비된다.FIG. 3B shows a low pass quadrature-mirror filter (QMF LP) in front of the speech coding / recognition preprocessor shown in FIG. 2 for processing 16 KHz speech signals [DEC by 2] (46). ) And a high pass quadrature-mirror filter (QMF HP) [DEC by 2 and SI] 47.
상기 저대역 통과 쿼드러쳐 미러 필터(46)는 입력받은 16 KHz 음성신호를 0 KHz ~ 4 KHz의 저주파 대역으로 나누며, 상기 고대역 통과 쿼드러쳐 미러 필터(47)는 입력받은 16 KHz 음성신호를 4 KHz ~ 8 KHz의 고주파 대역으로 나눈다.The low pass
특히, 상기 저대역 통과 쿼드러쳐 미러 필터(46)에서 처리한 저주파 신호는 본 음성 코딩/인식 전처리부로 입력되지만, 상기 고대역 통과 쿼드러쳐 미러 필터(47)에서 처리한 고주파 신호는 음성 특징 벡터 추출 모듈(100)의 음성 특징 벡터 추출부(MFCC front-end)(12)로 입력된다. 이는 음성 특징 벡터 추출부(12)에서 음성 특징 벡터 MFCCs를 추출하는데 있어 26 개의 Mel-filter bank를 이용하도록 한다.In particular, the low frequency signal processed by the low pass
위와 같이, 저대역 통과 쿼드러쳐 미러 필터(46)에서 처리된 저주파 신호는 음성 코딩/인식 전처리부를 통해 음성 특징 벡터 추출부(12)로 입력되고, 고대역 통과 쿼드러쳐 미러 필터(47)에서 처리된 고주파 신호는 음성 특징 벡터 추출부(12)로 입력된 상태에서 이 음성 특징 벡터 추출부 상에서 서로 하나의 신호로서 합쳐진다. 예컨대, 이러한 고주파 신호는 로그 필터 뱅크 에너지가 켑스트럼 계수로 변환되기 이전에 저주파 신호와 합쳐진다. 덧붙여, 모든 주파수 대역의 로그 파라미터(log-energy) 역시 고주파 신호와 저주파 신호 모두가 이용되어져 계산된다.As described above, the low frequency signal processed by the low pass
덧붙여, 도 3a 및 도 3b에 도시된 확장된 음성 코딩/인식 전처리부는 11 KHz 또는 16 KHz의 샘플링 주파수 신호를 사용할 수 있도록, ETSI DSR 표준(ETSI ES 202 050 v1.1.3)의 주파수 확장 방식 스펙에 따라 구현될 수 있다.In addition, the extended speech coding / recognition preprocessor shown in FIGS. 3A and 3B is subject to the frequency extension scheme specification of the ETSI DSR standard (ETSI ES 202 050 v1.1.3) so that a sampling frequency signal of 11 KHz or 16 KHz can be used. Can be implemented accordingly.
도 4는 본 발명에서 사용하는 음성 인식 과정에 대한 일실시예 설명도이며, 도 5는 도 4에 있어 음향 모델 생성을 위한 학습 과정에 대한 일실시예 순서도이며, 도 6은 본 발명을 적용시켜 추출한 음성 특징 벡터를 사용한 음성 인식 성능을 나타내는 그래프이다.4 is a diagram illustrating an embodiment of a speech recognition process used in the present invention, FIG. 5 is a flowchart illustrating an embodiment of a learning process for generating an acoustic model in FIG. 4, and FIG. 6 is applied to the present invention. It is a graph showing speech recognition performance using extracted speech feature vectors.
도 1, 도 2, 도 3a 및 도 3b를 참조해 설명한 본 발명은 분산 음성 인식 단말기, 예컨대 휴대폰 등에 적용될 수 있으며, 이러한 본 발명이 음성 인식 성능에 어떠한 영향을 미치는지에 대해 검증할 필요가 있다.The present invention described with reference to Figs. 1, 2, 3A and 3B can be applied to a distributed voice recognition terminal such as a mobile phone, and it is necessary to verify how the present invention affects the voice recognition performance.
이에, 이하 음성 인식 과정과, 음향 모델 생성을 위한 학습 과정을 통해 본 발명이 적용된 음성 인식 성능에 관해 살펴보기로 한다.Thus, the speech recognition performance to which the present invention is applied will be described through a speech recognition process and a learning process for generating an acoustic model.
도 4는 HMM(Hidden Markov Model)을 이용한 음성 인식 과정을 나타낸 것으로 서, 사용자의 음성으로부터 그 음성 특징을 추출하고서(301), 이 추출한 음성 특징에 대해 음향 모델(303), 언어 모델(304) 및 발음 사전(305)을 탐색해 패턴 매칭(302)을 통해 그 음성에 대응되는 단어, 문장을 인식하는 과정을 거친다.FIG. 4 illustrates a speech recognition process using a Hidden Markov Model (HMM). The speech feature is extracted from the user's speech (301), the acoustic model (303), and the language model (304) for the extracted speech feature. In addition, the
음성 특징 추출(301)에 있어서는 유럽전기통신표준협회(ETSI)의 표준안 "ETSI ES 201 108"에서 제안하는 방식을 사용한다. 즉, 음성 데이터로부터 MFCC를 통해 그 음성 특징이 추출되어져 고차의 계수로서 음성 특징 벡터가 형성되며, 이 음성 특징 벡터에 대해 음향 모델(303), 언어 모델(304) 및 발음 사전(305)을 이용한 패턴 매칭을 통해 확률값을 최대로 갖는 단어열을 찾는다.In the
특히, 종래 방식의 음성 인식 성능 검증을 위해, 위와 같이 음성 특징 추출에 있어 사용되는 음성신호를 ETSI DSR 표준(ETSI ES 202 050 v1.1.3)에 정의된 전처리 과정을 거쳐 잡음이 감쇄된 신호 또는 IS-127에 정의된 전처리 과정을 거쳐 잡음이 감쇄된 신호를 사용한다.In particular, to verify the speech recognition performance of the conventional method, the signal or the IS of which the noise is attenuated through the preprocessing process defined in the ETSI DSR standard (ETSI ES 202 050 v1.1.3) is used for the speech signal used for speech feature extraction as described above. The signal is attenuated using the preprocessing process defined in -127.
한편, 본 발명의 음성 인식 성능 검증을 위해, 위와 같이 음성 특징 추출에 있어 사용되는 음성신호를 본 음성 코딩/인식 전처리부(11)를 거쳐 잡음이 감쇄된 신호를 사용한다.On the other hand, to verify the speech recognition performance of the present invention, a signal whose noise is attenuated through the speech coding /
이러한 음성 특징 추출 과정에 있어 그 입력신호를 앞서 언급한 바와 같은 MFCC front-end를 사용하여 13차 MFCCs와 log-energy를 추출한다. 이 중에서 12차 MFCCs(c0, …, c12)와 log-energy 및 이들의 delta, delta-delta를 음향 모델 학습 및 인식을 위한 파라미터로서 사용한다.In the speech feature extraction process, the 13th MFCCs and log-energy are extracted using the MFCC front-end as the input signal. Among them, 12th order MFCCs (c0, ..., c12), log-energy, and their delta and delta-delta are used as parameters for learning and recognizing acoustic models.
한편, 음향 모델(303)에 있어서는 HMM이 사용되며, 본 발명에서는 음향 모델 로서 언어에 따른 음소 모델을 사용한다. 이러한 음소 모델 생성을 위한 학습 과정에 대해서는 도 5를 참조하여 설명하면 다음과 같다.On the other hand, the HMM is used in the
먼저, 학습 데이터에서 추출한 음성 특징 벡터를 이용해 음소 독립형 모델인 모노폰(monophone) 기반 모델을 생성한다(401).First, a monophone based model, which is a phoneme independent model, is generated using a speech feature vector extracted from training data (401).
그리고 나서, 상기 생성한 모노폰 기반 모델을 토대로 포스드 얼라이먼트시켜 음소 레이블 파일을 새로 생성한다(402).Then, a new phoneme label file is generated by performing forced alignment based on the generated monophone-based model (402).
한편, 상기 생성한 모노폰 기반 모델을 확장시켜 음소 종속형 모델인 트라이폰(triphone) 기반 모델을 생성한다(403).Meanwhile, the generated monophone based model is extended to generate a triphone based model, which is a phoneme dependent model (403).
그런 후, 상기 생성한 트라이폰 기반 모델에 대한 훈련 데이터량이 적은 점을 고려해 상태 공유를 수행한다(404).Then, state sharing is performed in consideration of the small amount of training data for the generated triphone-based model (404).
그리고 나서, 상기 상태 공유를 수행한 결과로서 얻은 모델을 혼합 밀도 증가시켜 최종적인 음향 모델을 생성한다(405).Then, the model obtained as a result of the state sharing is increased by mixing density to generate a final acoustic model (405).
한편, 도 4에 도시된 상기 언어 모델(304)에 있어서는 통계 기반 방식을 사용한다. 여기서, 통계 기반 방식은 주어진 상황에서 발화된 음성의 DB로부터, 가능한 단어열의 확률값을 통계적으로 추정하는 방식을 말한다. 이러한 통계 기반 방식의 언어 모델 중 대표적인 것이 엔-그램(n-gram)이다. 이 엔-그램 방식은 단어열의 확률을 이전 n개 이전의 조건부 확률들의 곱으로 근사화하여 사용하며, 도 4에 있어서는 bigram을 사용한다.Meanwhile, the
상기 발음 사전(305)에 있어서는, 한국어의 경우에는 SiTEC의 "CleanSent01"에서 제공하는 발음 사전을 사용하며, 영어의 경우에는 Carneige Mellon 대학교에 서 제공하는 "CMU dictionary V.0.6"을 사용한다. 추가적으로, "CleanSent01"에서 제공되지 않는 어절의 발음에 대해서는 "표준어 규정의 표준발음법"을 이용하여 자체적으로 제작한 발음 변환기를 이용하였다. "CleanSent01"에서 제공하는 발음 사전의 총 어절수는 36,104 개이고, 음성 인식기에 사용된 발음 사전의 어절 수는 총 223,857 개 이다.In the
한편, 도 4에 사용되는 음성 DB에 있어서는, 한국어의 경우에는 음성정보산업기술센터(SiTEC)에서 제공하는 "낭독문장 음성 DB(CleanSent01)"를 사용하며, 영어의 경우에는 ETSI에서 구축한 "AURORA 4 DB(Wall Street Journal)"를 사용한다.On the other hand, in the speech DB used in FIG. 4, in the case of Korean, the "reading sentence speech DB (CleanSent01)" provided by the Voice Information Industry Technology Center (SiTEC) is used, and in the case of English, "AURORA" constructed by ETSI. 4 DB (Wall Street Journal).
한편, 언어 모델 생성을 위해, 학습에 사용된 텍스트 데이터 중 5,000 문장, ETRI에서 제공하는 "음성인식 언어모델용 텍스트DB" 중 선별된 텍스트 데이터 3,000 문장 등이 사용될 수도 있다. 이러한 언어모델 생성을 위해 HTK(Hidden Markov Model Toolkit) v3.1을 사용하였으며, 최종적으로 생성된 모델은 31,582 단어에 대한 네트워크로 구성된다.Meanwhile, in order to generate a language model, 5,000 sentences of text data used for training, and 3,000 sentences of selected text data among “text DB for speech recognition language model” provided by ETRI may be used. HTK (Hidden Markov Model Toolkit) v3.1 was used to generate these language models. Finally, the generated model consists of a network of 31,582 words.
도 6에는 종래 방식에 따라 처리한 잡음이 감쇄된 신호를 음성 인식 과정에 사용한 결과의 단어 인식률(68,51 %)과, 본 발명에 따라 처리한 잡음이 감쇄된 신호를 음성 인식 과정에 사용한 결과의 단어 인식률(69.31 %)을 나타내고 있으며, 도 6을 통해 알 수 있듯이 본 발명이 적용된 음성 인식 성능이 종래 방식보다 향상됨을 이해할 수 있다.Figure 6 shows the result of using the noise attenuated signal processed according to the conventional method in the speech recognition process (68, 51%), and the result of using the noise attenuated signal processed according to the present invention in the speech recognition process The word recognition rate (69.31%) is shown, and as can be seen from FIG. 6, it can be understood that the speech recognition performance to which the present invention is applied is improved compared to the conventional method.
예컨대, 본 발명에서 제시하는 단말기에 있어 음성 부호화 전처리 과정과 음성 특징 벡터 추출 전처리 과정을 공유해서 통신 환경 등에 의한 잡음에 견고한 음 성 특징 벡터를 추출함으로서, 저사양 단말기의 메모리, 연산량을 적게 소모하면서도 그 음성 인식 성능을 향상시킴을 당업자라면 쉽게 이해할 수 있을 것이다.For example, in the terminal of the present invention, by extracting a speech feature vector robust to noise due to a communication environment by sharing a speech encoding preprocessing process and a speech feature vector extraction preprocessing process, the memory of the low specification terminal and the amount of calculations are reduced. It will be readily apparent to those skilled in the art that improving speech recognition performance.
상술한 바와 같은 본 발명의 방법은 프로그램으로 구현되어 컴퓨터로 읽을 수 있는 형태로 기록매체(씨디롬, 램, 롬, 플로피 디스크, 하드 디스크, 광자기 디스크 등)에 저장될 수 있다. 이러한 과정은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있으므로 더 이상 상세히 설명하지 않기로 한다.As described above, the method of the present invention may be implemented as a program and stored in a recording medium (CD-ROM, RAM, ROM, floppy disk, hard disk, magneto-optical disk, etc.) in a computer-readable form. Since this process can be easily implemented by those skilled in the art will not be described in more detail.
이상에서 설명한 본 발명은, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 있어 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 여러 가지 치환, 변형 및 변경이 가능하므로 전술한 실시예 및 첨부된 도면에 의해 한정되는 것이 아니다.The present invention described above is capable of various substitutions, modifications, and changes without departing from the technical spirit of the present invention for those skilled in the art to which the present invention pertains. It is not limited by the drawings.
상기와 같은 본 발명은 음성 통화 및 음성 인식을 위한 전처리 과정을 공유함으로써, 저사양 단말기의 메모리와 연산량을 적게 소모하면서도 그 음성 인식 성능을 향상시킬 수 있는 효과가 있다.The present invention as described above, by sharing the pre-processing for voice calls and speech recognition, there is an effect that can improve the speech recognition performance while consuming less memory and calculation amount of the low-end terminal.
또한, 본 발명은 단말기에 있어 음성 부호화 전처리 과정 및 음성 특징 벡터 추출 전처리 과정으로 인한 음성 통화 프로세스, 음성 인식 프로세스간의 전환 지연을 방지하는 효과가 있다.In addition, the present invention has an effect of preventing the switching delay between the voice call process and the voice recognition process due to the speech encoding preprocessing process and the speech feature vector extraction preprocessing process in the terminal.
또한, 본 발명은 음성 부호화 및 음성 특징 벡터 추출에 있어 그 사용자 음성신호에 섞인 잡음을 제대로 감쇄시킬 수 있는 효과가 있다.In addition, the present invention has the effect of properly attenuating noise mixed in the user's voice signal in speech coding and speech feature vector extraction.
Claims (25)
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020060061150A KR100794140B1 (en) | 2006-06-30 | 2006-06-30 | Apparatus and Method for extracting noise-robust the speech recognition vector sharing the preprocessing step used in speech coding |
PCT/KR2006/005831 WO2008001991A1 (en) | 2006-06-30 | 2006-12-28 | Apparatus and method for extracting noise-robust speech recognition vector by sharing preprocessing step used in speech coding |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020060061150A KR100794140B1 (en) | 2006-06-30 | 2006-06-30 | Apparatus and Method for extracting noise-robust the speech recognition vector sharing the preprocessing step used in speech coding |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20080002359A KR20080002359A (en) | 2008-01-04 |
KR100794140B1 true KR100794140B1 (en) | 2008-01-10 |
Family
ID=38845730
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020060061150A KR100794140B1 (en) | 2006-06-30 | 2006-06-30 | Apparatus and Method for extracting noise-robust the speech recognition vector sharing the preprocessing step used in speech coding |
Country Status (2)
Country | Link |
---|---|
KR (1) | KR100794140B1 (en) |
WO (1) | WO2008001991A1 (en) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9449602B2 (en) * | 2013-12-03 | 2016-09-20 | Google Inc. | Dual uplink pre-processing paths for machine and human listening |
KR101684554B1 (en) * | 2015-08-20 | 2016-12-08 | 현대자동차 주식회사 | Voice dialing system and method |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR19980024790A (en) * | 1996-09-20 | 1998-07-06 | 이데이 노브유끼 | Speech encoding method and apparatus, Speech decoding method and apparatus |
KR100316077B1 (en) | 1993-12-22 | 2002-02-28 | 러셀 비. 밀러 | Distributed speech recognition system |
KR20040033425A (en) * | 2002-10-14 | 2004-04-28 | 와이더덴닷컴 주식회사 | Preprocessing of digital audio data for mobile speech codecs |
KR20040064064A (en) * | 2003-01-09 | 2004-07-16 | 와이더덴닷컴 주식회사 | Preprocessing of Digital Audio data for Improving Perceptual Sound Quality on a Mobile Phone |
US20040260540A1 (en) | 2003-06-20 | 2004-12-23 | Tong Zhang | System and method for spectrogram analysis of an audio signal |
KR20060022156A (en) * | 2004-09-06 | 2006-03-09 | 삼성전자주식회사 | Distributed speech recognition system and method |
KR20060064270A (en) * | 2004-12-08 | 2006-06-13 | 주식회사 라이브젠 | Digital audio signal preprocessing method for mobile telecommunication terminal |
JP2007097070A (en) * | 2005-09-30 | 2007-04-12 | Fujitsu Ten Ltd | Structure for attaching speaker unit |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6411926B1 (en) * | 1999-02-08 | 2002-06-25 | Qualcomm Incorporated | Distributed voice recognition system |
US7089178B2 (en) * | 2002-04-30 | 2006-08-08 | Qualcomm Inc. | Multistream network feature processing for a distributed speech recognition system |
-
2006
- 2006-06-30 KR KR1020060061150A patent/KR100794140B1/en not_active IP Right Cessation
- 2006-12-28 WO PCT/KR2006/005831 patent/WO2008001991A1/en active Application Filing
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100316077B1 (en) | 1993-12-22 | 2002-02-28 | 러셀 비. 밀러 | Distributed speech recognition system |
KR19980024790A (en) * | 1996-09-20 | 1998-07-06 | 이데이 노브유끼 | Speech encoding method and apparatus, Speech decoding method and apparatus |
KR20040033425A (en) * | 2002-10-14 | 2004-04-28 | 와이더덴닷컴 주식회사 | Preprocessing of digital audio data for mobile speech codecs |
KR20040064064A (en) * | 2003-01-09 | 2004-07-16 | 와이더덴닷컴 주식회사 | Preprocessing of Digital Audio data for Improving Perceptual Sound Quality on a Mobile Phone |
US20040260540A1 (en) | 2003-06-20 | 2004-12-23 | Tong Zhang | System and method for spectrogram analysis of an audio signal |
KR20060022156A (en) * | 2004-09-06 | 2006-03-09 | 삼성전자주식회사 | Distributed speech recognition system and method |
KR20060064270A (en) * | 2004-12-08 | 2006-06-13 | 주식회사 라이브젠 | Digital audio signal preprocessing method for mobile telecommunication terminal |
JP2007097070A (en) * | 2005-09-30 | 2007-04-12 | Fujitsu Ten Ltd | Structure for attaching speaker unit |
Non-Patent Citations (5)
Title |
---|
10-2004-0033425 |
10-2004-0064064 |
10-2006-0022156 |
10-2006-0064270 |
특1997-0700353 |
Also Published As
Publication number | Publication date |
---|---|
WO2008001991A1 (en) | 2008-01-03 |
KR20080002359A (en) | 2008-01-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100316077B1 (en) | Distributed speech recognition system | |
US6411926B1 (en) | Distributed voice recognition system | |
US7337107B2 (en) | Perceptual harmonic cepstral coefficients as the front-end for speech recognition | |
US7319960B2 (en) | Speech recognition method and system | |
Hirsch et al. | A new approach for the adaptation of HMMs to reverberation and background noise | |
Bahl et al. | Multonic Markov word models for large vocabulary continuous speech recognition | |
US20020091515A1 (en) | System and method for voice recognition in a distributed voice recognition system | |
US7136815B2 (en) | Method for voice recognition | |
Vlaj et al. | A computationally efficient mel-filter bank VAD algorithm for distributed speech recognition systems | |
KR100794140B1 (en) | Apparatus and Method for extracting noise-robust the speech recognition vector sharing the preprocessing step used in speech coding | |
US6792405B2 (en) | Bitstream-based feature extraction method for a front-end speech recognizer | |
KR100901640B1 (en) | Method of selecting the training data based on non-uniform sampling for the speech recognition vector quantization | |
Bauer et al. | Automatic recognition of wideband telephone speech with limited amount of matched training data | |
Kotnik et al. | Efficient noise robust feature extraction algorithms for distributed speech recognition (DSR) systems | |
Yoon et al. | A MFCC-based CELP speech coder for server-based speech recognition in network environments | |
CN117153196B (en) | PCM voice signal processing method, device, equipment and medium | |
Carmona et al. | iLBC-based transparametrization: a real alternative to DSR for speech recognition over packet networks | |
Yoon et al. | Efficient distribution of feature parameters for speech recognition in network environments | |
Mahlanyane | Using a low-bit rate speech enhancement variable post-filter as a speech recognition system pre-filter to improve robustness to GSM speech | |
Bauer et al. | Spectral Restoration of Narrowband Speech Recordings Supported by Phonetic Transcriptions | |
WO2001031636A2 (en) | Speech recognition on gsm encoded data |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
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: 20121228 Year of fee payment: 6 |
|
FPAY | Annual fee payment |
Payment date: 20140102 Year of fee payment: 7 |
|
LAPS | Lapse due to unpaid annual fee |