KR100557113B1 - 다수의 대역들을 이용한 대역별 음성신호 판정장치 및 방법 - Google Patents
다수의 대역들을 이용한 대역별 음성신호 판정장치 및 방법 Download PDFInfo
- Publication number
- KR100557113B1 KR100557113B1 KR1020030045549A KR20030045549A KR100557113B1 KR 100557113 B1 KR100557113 B1 KR 100557113B1 KR 1020030045549 A KR1020030045549 A KR 1020030045549A KR 20030045549 A KR20030045549 A KR 20030045549A KR 100557113 B1 KR100557113 B1 KR 100557113B1
- Authority
- KR
- South Korea
- Prior art keywords
- band
- value
- bands
- signal
- voice
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims description 92
- 238000001914 filtration Methods 0.000 claims abstract description 12
- 238000001514 detection method Methods 0.000 claims description 13
- 230000005236 sound signal Effects 0.000 claims description 6
- 239000003102 growth factor Substances 0.000 claims description 5
- 238000004364 calculation method Methods 0.000 claims description 2
- 238000012850 discrimination method Methods 0.000 claims 2
- 238000005311 autocorrelation function Methods 0.000 description 27
- 230000008569 process Effects 0.000 description 22
- 239000011295 pitch Substances 0.000 description 19
- 238000013139 quantization Methods 0.000 description 13
- 238000010586 diagram Methods 0.000 description 9
- 230000015572 biosynthetic process Effects 0.000 description 6
- 238000003786 synthesis reaction Methods 0.000 description 6
- 230000005284 excitation Effects 0.000 description 5
- 230000006870 function Effects 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 3
- 238000001228 spectrum Methods 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 230000003247 decreasing effect Effects 0.000 description 2
- 239000000284 extract Substances 0.000 description 2
- 230000003595 spectral effect Effects 0.000 description 2
- 239000013598 vector Substances 0.000 description 2
- 241000287107 Passer Species 0.000 description 1
- 230000003044 adaptive effect Effects 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 230000019771 cognition Effects 0.000 description 1
- 238000005314 correlation function Methods 0.000 description 1
- 230000007123 defense Effects 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 229920001690 polydopamine Polymers 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
- G10L19/04—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using predictive techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
- G10L19/02—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using spectral analysis, e.g. transform vocoders or subband vocoders
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L25/00—Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
- G10L25/03—Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 characterised by the type of extracted parameters
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Multimedia (AREA)
- Acoustics & Sound (AREA)
- Human Computer Interaction (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Health & Medical Sciences (AREA)
- Signal Processing (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Data Mining & Analysis (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Spectroscopy & Molecular Physics (AREA)
- Pure & Applied Mathematics (AREA)
- Databases & Information Systems (AREA)
- Mathematical Optimization (AREA)
- Mathematical Analysis (AREA)
- Software Systems (AREA)
- Computational Mathematics (AREA)
- Algebra (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
음성코덱의 음성신호를 판별하는 장치가, 입력되는 음성신호를 고역여파하여 직류 성분을 제거하는 고역여파기와, 음성신호의 주파수 특성에 따라 적어도 두 개의 대역으로 음성신호를 분할하기 위한 대역여파기들로 구성되며, 음성신호를 각각 설정된 대역으로 여파하는 대역여파부와, 각 대역들에서 여파되는 음성신호들의 상관값을 각각 계산하는 상관값계산부와, 대역별 상관값들을 각각 인접한 대역들의 상관값들과 비교하여 보정하며, 보정된 상관값들을 분석하여 음성 및 비음성신호로 결정하여 양자화하는 판정부로 구성된다.
대역 음성신호, mel-band, 음성판정
Description
도 1은 본 발명의 실시예를 포함하는 음성 코덱의 전체적인 구성을 도시하는 도면
도 2는 본 발명의 실시예에 따른 대역별 음성신호 판정장치에서 주파수 대역을 분할하는 예를 설명하기 위한 도면
도 3a 및 도 3b는 본 발명의 실시예에 따른 대역 분할방법에서 mel-bands를 사용하는 경우의 분석필터 및 합성필터의 주파수 특성을 설명하기 위한 도면
도 4a 및 도 4b는 입력신호의 포착선 검출을 위한 저역통과필터의 필터 특성을 도시하는 도면
도 5는 본 발명의 실시예에 따른 대역별 음성신호 판정장치의 구성을 도시하는 도면
도 6a - 도 6s는 도 5의 장치에서 각 부 동작 특성을 설명하기 위한 도면
도 7은 상기 도 5의 각 부 동작 특성을 설명하는 도면
도 8은 도 5의 판정부에서 분석된 음성신호를 보정하는 제1방법의 절차를 도시하는 흐름도
도 9a 및 도 9b는 도 8과 같은 절차를 수행하여 보정되는 음성신호의 특성을 설명하기 위한 도면
도 10은 도 5의 판정부에서 분석된 음성신호를 보정하는 제2방법의 절차를 도시하는 흐름도
도 11a 및 도 11b는 도 10과 같은 절차를 수행하여 보정되는 음성신호의 특성을 설명하기 위한 도면
도 12는 도 5의 판정부에서 각 대역별 신호의 음성 여부를 판정하여 양자화하는 절차를 도시하는 흐름도
본 발명은 음성코덱 장치 및 방법에 관한 것으로, 특히 음성 코덱 장치에서 사용하는 파라미터들 중에서 다수의 대역들을 이용한 대역별 음성신호를 판정하는 장치 및 방법에 관한 것이다.
일반적으로 음성부호화 방식은 부호화하는 방법에 따라 크게 세가지로 나눌 수 있다. 첫 번째 방법은 음성신호의 파형을 직접 양자화하여 부호화하는 파형부호화(waveform coding)방법이다. 두 번째 방법은 음성신호를 디지털 시스템으로 모델링하여 얻어지는 선형예측계수, 피치, 이득, 유/무성음 정보 등과 같은 파라미터를 부호화하는 보코딩(vocoding)이라는 불리는 파라미터 부호화(parameter coding) 방 법이다. 세 번째의 방법은 위 두가지 방법의 장점을 적절하게 혼합하여 사용하는 혼합부호화(hybrid coding) 방법이 있다.
상기 파형부호화 방법은 원음과 가까운 매우 양호한 음질을 얻을 수 있으나, 전송속도가 주로 32kbps 이상으로 비교적 높으며, PCM(Pulse Coded Modulation) 및 ADPCM(Adaptive Differential PCM) 등과 같은 PCM의 변형된 형태가 대표적이다. 상기 보코딩 방법은 일반적으로 3kbps 이하로 전송속도를 낮출 수 있는 장점이 있으나, 음질이 자연스럽지 못한 단점을 가진다. 보코딩 방법을 사용하는 대표적인 음성부호화기로는 미국방성 표준인 LPC-10e 보코더와 이의 개선된 형태인 MELP(Mixed Excitation Linear Prediction) 보코더가 있다. 혼합 부호화 방식은 위 두가지 방법의 장점을 취해서 일반적으로 4.8kbps - 16kbps의 전송속도에서 양호한 음질을 얻을 수 있다. 대표적인 방법으로는 CELP(Code Excited Linear Prediction) 계열의 음성부호화기가 있으며, 전세계에서 다양한 형태로 변형, 발전되어 통신서비스의 표준안으로 사용되고 있다.
그러나 상기와 같은 방법을 사용하는 음성 코덱들에서는 4kbps 이하의 저속 비트율에서는 코드북을 표현하기 위한 비트할당이 부족해서 급격한 음질 저하를 보이게 되며, 이로인해 저속음성부호화기의 구현에 한계를 가지게 된다. CPU의 성능 및 메모리 크기의 제약을 가지는 장치, 예를들면 휴대용 무선통신장치(핸드폰, PDA 등)는 중저속 음성부호화기를 사용하는 것이 유리하다. 상기와 같은 중저속 음성부호화 방법을 구현하려면 양호한 합성음의 음질 보장 및 연산량을 고려해서 음성신호의 특징 파라미터 추출과 효율적인 비트할당 방법이 선행되어야 한다. 상기와 같 은 음성 부호화 방법들 중에서 음성신호의 특징을 나타내는 주요한 파라미터로서는 대역통과 유성음 강도, 선형 예측계수, 피치, 이득, 선형예측잔차신호들이 될 수 있다.
따라서 본 발명의 목적은 음성 코덱에서 다수의 대역여파기들을 이용하여 각 대역의 음성신호를 검출하고, 상기 검출된 각 대역들의 음성신호들을 분석하여 유성음의 강도를 판정할 수 있는 장치 및 방법을 제공함에 있다.
본 발명의 다른 목적은 다수의 대역여파기들을 이용하여 음성신호를 판정하는 음성코덱에서 각 대역별 음성신호를 발생하기 위한 대역분할을 수행할 수 있는 장치 및 방법을 제공함에 있다.
본 발명의 또 다른 목적은 다수의 대역별 음성신호를 판정하는 장치를 구비하는 음성코덱에서 각각 대역여파된 음성신호들과 이들의 포락선검출신호의 상관값을 검출하여 더 큰 상관값을 가지는 음성신호를 음성신호로 판정할 수 있는 장치 및 방법을 제공함에 있다.
본 발명의 또 다른 목적은 다수의 대역별 음성신호를 판정하는 장치를 구비하는 음성코덱에서 각 대역별로 검출되는 음성신호를 트랙킹하여 검출된 음성신호를 보정할 수 있는 장치 및 방법을 제공함에 있다.
본 발명의 또 다른 목적은 다수의 대역별 음성신호를 판정하는 장치를 구비하는 음성코덱에서 각 대역별로 검출되는 음성신호를 분석하여 특정 대역의 음성신 호가 작은 값을 가지는 경우 인접 대역의 음성신호 값을 보간하여 보정할 수 있는 장치 및 방법을 제공함에 있다.
본 발명의 또 다른 목적은 다수의 대역별 음성신호를 판정하는 장치를 구비하는 음성코덱에서 각 대역별로 검출되는 음성신호를 분석하여 특정 대역의 음성신호가 큰 값을 가지는 경우 인접대역의 음성신호를 이값으로 보정할 수 있는 장치 및 방법을 제공함에 있다.
상기 목적을 달성하기 위한 본 발명의 실시예에 따른 음성코덱의 음성신호를 판별하는 장치가, 입력되는 음성신호를 고역여파하여 직류 성분을 제거하는 고역여파기와, 음성신호의 주파수 특성에 따라 적어도 두 개의 대역으로 상기 음성신호를 분할하기 위한 대역여파기들로 구성되며, 상기 음성신호를 각각 설정된 대역으로 여파하는 대역여파부와, 상기 각 대역들에서 여파되는 음성신호들의 상관값을 각각 계산하는 상관값계산부와, 상기 대역별 상관값들을 각각 인접한 대역들의 상관값들과 비교하여 보정하며, 상기 보정된 상관값들을 분석하여 음성 및 비음성신호로 결정하여 양자화하는 판정부로 구성된 것을 특징으로 한다.
또한 음성코덱의 음성신호를 판별하는 방법이, 입력되는 음성신호를 고역여파하여 직류 성분을 제거하는 과정과, 음성신호의 주파수 특성에 따라 적어도 두 개의 대역으로 상기 음성신호를 분할하며, 상기음성신호를 분할된 대역으로 여파하는 과정과, 상기 여파된 각 대역들의 음성신호들의 상관값을 각각 계산하는 과정과, 상기 대역별 상관값들을 각각 인접한 대역들의 상관값들과 비교하여 보정하는 과정과, 상기 보정된 상관값들을 분석하여 음성 및 비음성신호로 결정하여 양자화 하는 과정으로 이루어짐을 특징으로 한다.
이하 본 발명의 바람직한 실시예들의 상세한 설명이 첨부된 도면들을 참조하여 설명될 것이다. 도면들 중 동일한 구성들은 가능한 한 어느 곳에서든지 동일한 부호들을 나타내고 있음을 유의하여야 한다.
하기 설명에서 분할된 대역주파수들 및 대역여파기의 수 등과 같은 같은 특정 상세들이 본 발명의 보다 전반적인 이해를 제공하기 위해 나타나 있다. 이들 특정 상세들 없이 또한 이들의 변형에 의해서도 본 발명이 용이하게 실시될 수 있다는 것은 이 기술분야에서 통상의 지식을 가진 자에게 자명할 것이다.
현재 일반적으로 사용되는 음성부호화 방법은 CELP(Code Excited Linear Prediction) 부호화 방법, HSX(Harmonic Stochastic eXcitation) 부호화 방법, 그리고 MELP(Mixed Excitation Linear Prediction) 부호화 방법들이다. 이들 부호화 방법들 중에서 유/무성음 성분을 혼합한 MELP 방식에 기반한 혼합여기신호(mixed excitation)와 선형예측 합성 필터를 이용하는 음성 합성 모델을 이용하여 음성 코덱을 중저속 음성 부호화 알고리즘을 구현할 수 있다. 이런 합성 모델을 이용할 때 필요한 음성신호의 특징을 나타내는 주요 파라미터는 대역통과 유성음 강도, 선형예측계수, 피치, 이득 및 선형예측잔차신호들이 될 수 있다. 상기한 바와 같은 5가지의 주요한 특징을 기반으로 MELP 음성 부호화기의 음성 분석 및 양자화 과정은 하기 도 1과 같은 구성을 가진다.
상기 도 1을 참조하면, DC제거부10은 입력되는 신호를 고역여파하여 부호화하고자 하는 신호의 DC성분을 제거한다.
대역별 음성신호판정부20은 상기 DC 성분이 제거된 신호를 적어도 2개의 대역으로 대역여파하여 대역별로 유성음의 강도를 분석한 파라미터 bpvc신호를 발생한다.
선형예측부(Linear Predict Analysis and Quantization part)30은 매 프레임 마다 윈도우를 취해서 얻어지는 음성신호의 자기상관함수 값으로부터 Levinson 알고리즘으로 선형예측계수(Linear Predict Coefficient: LPC)를 추출하며, 상기 추출된 선형예측계수는 양자화와 보간 특성이 우수한 LSF(Line Spectral Frequency)로 변환되어 양자화되며, 상기 양자화된 LSF는 합성필터의 임펄스 응답 특성을 구하기 위해 다시 선형예측계수로 변환된다.
피치검출부(Pitch Analysis and Quantization part)40은 입력신호를 대역확장(bandwidth expansion)하며, 시간영역과 주파수 영역에서 각각 구해진 자기상관함수를 이용하여 상기 대역확장된 신호의 개루프 피치(open loop pitch)를 검사한다. 그리고 상기와 같이 구해진 개루프 피치를 중심으로 합성음의 스펙트럼과 원음성의 스펙트럼의 오차를 최소화시키는 피치를 검색하는 정밀 피치 검색(fine pitch search)을 수행한 후, 이를 양자화한다.
선형예측잔차신호검출부(LPC Residual Signal Analysis and Quantization part)50에서 상기 LPC 잔차신호의 크기 스펙트럼(magnitude spectrum)은 여기신호를 구성할 때, 보다 원신호에 가까운 특성을 가지도록 다수(여기서는 20개로 가정 함)의 하모닉스 성분을 찾아서 다음과 같이 양자화한다. 먼저 양자화된 LSF 벡터로부터 양자화된 선형예측계수를 구한다. 두 번째로 양자화된 예측계수를 사용하여 LPC 잔차신호를 생성한다. 세 번째로 상기 생성된 LPC 잔차신호에 상기 LPC 분석에서 사용된 윈도우를 취하고, 제로 패딩(zero padding)을 한 후 퓨리에 변환(여기서는 512 point Fast Fourier Transform을 사용할 수 있다)을 한다. 네 번째로 상기 퓨리에 변환 크기(FFT magnitude)에서 하모닉 성분을 스펙트랄 피크-피킹 알고리즘(spectral peak-picking algorithm)으로 탐색한다. 그리고 상기 하모닉 성분들을 탐색한 후, RMS 값을 이용하여 정규화시키고, 다수개의 코드벡터(여기서는 256개)를 가진 코드북을 사용하여 양자화한다.
이득검출부(gain analysis and Quantization part)60은 상기 입력신호의 이득을 구한 후 이를 양자화한다.
따라서 상기 도 1에 도시된 바와 같은 구조를 가지는 코덱은 먼저 입력되는 음성신호를 고역여파하여 음성신호에 포함된 DC성분을 제거한다. 이후 상기 DC 성분이 제거된 음성신호를 이용하여 부호화를 위한 파라미터들을 생성한다. 이때 상기 파라미터들은 상기한 바와 같이 각 대역별 유성음의 강도 BPVC, 선형 예측계수의 주파수 LSF, 피치 pitch, 선형예측잔차신호 Residual Mag. 이득 gain들이 되며, 이들 각 파라미터들은 각각 양자화되어 파라미터 멀티플렉서70에 인가되어 다중화된다. 그리고 상기 다중화되는 파라미터들은 도시하지 않은 부호화기에서 부호화된다.
상기 도 1과 같은 코덱의 구조에서 대역별음성신호판정부20은 먼저 각 대역 별로 음성 정보를 얻기 위해서 신호의 스펙트럼을 적어도 두 개 이상의 대역여파기들을 이용하여 각 대역별로 자기 상관함수 값을 구해 이를 음성 정보로 이용한다. 도 2a, 도 2b 및 도 2c는 대역여파기의 대역 특성을 비교 설명하기 위한 도면이다. 여기서 상기 도 2a는 음성 주파수 대역을 5개의 대역 0Hz-500Hz, 500Hz-1000Hz, 1000Hz-2000Hz, 2000Hz-3000Hz, 3000Hz-4000Hz로 분할한 예를 도시하고 있다. 즉, 상기 도 2a는 음성 주파수 대역을 일정한 주파수 간격을 분할한 예를 도시하고 있다. 그리고 상기 도 2b 및 도 2c는 인간의 청각인지 특성을 고려하여 4개 또는 5개의 대역(mel-band)을 이용하여 분할한 예를 도시하고 있다. 즉, 상기 음성 주파수 대역에서 각 대역별 유성음 강도를 구하기 위한 대역 분할은 도 2a와 같이 일정 주파수 간격으로 대역들을 분할할 수 있으며, 또한 인간의 청각 인지 특성을 이용하여 도 2b 및 도 2c와 같이 mel-band로 분할하는 방법을 사용할 수 있다. 또한 음성주파수 대역에서 각 대역별 유성음의 강도를 구하기 위하여, 상기 대역 분할은 많이 하면 더 세밀한 유성음의 강도를 분석할 수 있다. 본 발명의 실시예에서는 도 2b 및 도 2c와 같이 4개 또는 5개의 mel-band로 대역을 분할하는 경우를 가정하여 설명하기로 한다.
상기 Mel-band는 하기 <수학식 1>과 같이 대수적 주파수상에서 균일하게 분포하는 대역(band)을 분할하여 하기 <표 1>과 같이 구할 수 있다.
상기 <수학식 1>에서 Q(number of band) = 4, C(bandwidth of first filter) = 300 Hz , bi = bandwidth of i-th filter, f1(center frequency of first filter)= 600 Hz, α(logarithmic growth factor) = 1.352396으로 설정하면, 도 2b 및 하기 <표 1>과 같은 4개의 mel-bands를 설정할 수 있다.
대역 | 주파수 대역(Hz) |
BAND 1 | 0Hz - 600Hz |
BAND 2 | 600Hz - 1412Hz |
BAND 3 | 1412Hz - 2512Hz |
BAND 4 | 2512Hz - 4000Hz |
또한 상기 <수학식 2>에서 Q(number of band) = 5, C(bandwidth of first filter) = 400 Hz , bi = bandwidth of i-th filter, f1(center frequency of first filter)= 200 Hz, α(logarithmic growth factor) = 1.352396으로 설정하면, 도 2c 및 하기 <표 2>와 5개의 mel-band를 설정할 수 있다.
대역 | 주파수 대역(Hz) |
BAND 1 | 0Hz - 400Hz |
BAND 2 | 400Hz - 941Hz |
BAND 3 | 941Hz - 1673Hz |
BAND 4 | 1673Hz - 2662Hz |
BAND 5 | 2662Hz - 4000Hz |
상기 <수학식 1>에 의해 상기 <표 1>과 같이 구해지는 mel-band신호를 대역여파하기 위한 대역통과필터는 도 3a 및 도 3b와 같은 특성을 갖도록 설계한다. 여기서 상기 도 3a는 분석 필터로는 6차의 버터워스 필터(Butterworth filter)를 사용하였고, 도 3b는 합성 필터로서 32차의 FIR필터를 사용한다. 또한 각 대역별 음성정보는 자기상관함수 값에 의해 결정되는데, 상기 자기 상관함수 값을 구하는 방법은 사용되는 입력신호에 따라 2가지 방법으로 구한다. 그 한가지 방법은 원신호에 대해서 자기 상관함수를 구하는 것이고, 다른 한가지 방법은 원신호의 포락선 신호에 대해서 자기 상관함수를 구하는 방법이다. 상기 원신호의 정규화된 자기 상관함수 값은 피치의 변화가 작을 때 큰 값을 나타내지만, 상기 피치가 천이하는 구간에서는 값이 작아서 나쁜 특성을 보인다. 따라서 이런 경우에는 입력신호의 포락선 신호에 대해서 자기 상관함수를 취함으로써 더 나은 특성을 얻을 수 있다. 신호의 포락선은 원신호에 절대값을 취한 후, 저역통과필터를 통과시키므로써 구할 수 있다. 상기 저역통과필터에 대한 필터 특성은 상기 도 4a 및 도 4b와 같으며, 이를 이용하여 전체적인 대역별 유성음 정보를 구하는 대역별음성신호판정부20의 구성은 도 5와 같다.
상기 도 5와 같은 구조를 가지는 대역별음성신호판정부20의 동작을 살펴보면, 적어도 2개 이상의 mel-band로 나누어진 각각의 대역에서 음성신호의 세기 bpvc(band pass voicing strength)를 구한다. 이때 상기 음성신호의 세기 BPVC를 구할 때 자기상관함수(autocorrelatio) 값을 이용해서 각 대역별로 유성음을 결정(voicing decision)하는 과정에서 bpvc 추적(bpvc Tracking)과정을 수행한다. 이하의 설명에서는 mel-band로 음성주파수 대역을 분할하며, 이때 mel-band는 상기 <표 2>에 나타낸 바와 같이 5개의 대역들을 가진다고 가정한다.
먼저 상기 <표 2>와 같은 mel-band들을 가지는 5개의 대역통과기211-219들로 구성되는 대역여파부210은 입력되는 음성신호를 각각 대응되는 대역통과기들을 통해 5개의 대역통과 음성신호들을 발생한다. 그리고 대역통과신호들은 포락검출부220에 입력되어 해당 대역의 포락선신호들로 발생된다. 그리고 자기상관값 검출부230의 상관값검출기231-239들은 각각 상기 대역여파부210에서 출력되는 5개의 대역통과신호들과 상기 포락선검출부220에서 출력되는 4개의 포락선신호들의 자기상관함수들을 구한다. 그리고 최대값검출부240은 상기 대역통과신호들과 이에 대응되는 포락선검출신호의 자기상관값들을 비교하여 해당 대역에서 더 큰 상관값을 가지는 자기상관함수를 선택하여 출력한다.
이후 판정부250은 상기 자기상관(Autocorrelation) 분석에 의해 구해진 bpvc(band pass voicing strength) 값(즉, 해당하는 mel-band를 통과하는 음성신호의 유성음의 강도 값)들을 검사한다. 이때 특정 대역의 bpvc 값이 설정 크기 이상으로 작은 값(또는 큰값)으로 나타나는 경우 해당 대역의 bpvc 값을 보간(interpolation) 방법으로 보정한다. 또한 상기 판정부250은 상기 각 대역들의 bpvc 값들을 양자화하여 디지털 데이터로 변환한다.
상기한 바와 같이 대역별음성신호판정부20은 적어도 두 개의 mel-band로 분할하고, 이들 분할한 대역의 음성신호를 대역여파한다. 이후 상기 대역여파된 음성신호들로부터 bpvc 값을 분석한다. 상기 bpvc 값을 분석하는 구성은 포락선검출부220, 자기상관값 검출부230 및 최대값선택부240 등이 될 수 있다. 이후 상기 각 대역의 자기상관값 분석에 의해 구해진 각 mel-band의 bpvc 값들은 인터폴레이션에 의해 보정된 후 양자화되어 디지털 데이터로 변환된 후, 상기 도 1의 멀티플렉서70에 인가된다.
도 5는 상기 대역별음성신호판정부20의 구성을 도시하는 도면이다.
상기 도 5를 참조하면, 대역여파기211-219는 도 6a와 같이 입력되는 음성신호를 각각 설정된 대역의 음성신호를 대역 통과시켜 각각 도 6b, 도 6d, 도 6h, 도 6l, 도 6p와 같은 대역통과신호를 발생한다. 이때 상기 대역여파기211-219에서 출력되는 대역통과 주파수는 상기 <표 1>과 같이 설정될 수 있다. 그리고 상기 대역여파기211-219에서 각각 출력되는 도 6b, 도 6d, 도 6h, 도 6l, 도 6p와 같은 대역통과신호들은 각각 대응되는 포락선검출기222-228 및 상관값검출기231-239에 각각 입력된다. 이때 대역여파기211의 출력인 제1대역주파수신호(0Hz-400Hz)의 포락선은 검출하지 않으며, 제2대역주파수신호에서 제5대역주파수신호들의 포락선들은 검출한다. 이때 상기 포락선검출기222-228에서 각각 검출되는 포락선신호들은 도 6f, 도 6j, 도 6n 및 도 6r과 같다. 그리고 상기 상기 포락선검출기222-228에서 각각 출력되는 도 6f, 도 6j, 도 6n 및 도 6r과 같은 포락선신호들은 각각 대응되는 상관값 검출기233-239에 입력된다.
그러면 상관값검출기231은 입력되는 상기 도 6a와 같은 제1대역통과신호의 자기 상관값을 검출하여 도 6c와 같이 자기상관함수를 출력한다. 그리고 상관값검출기233은 각각 입력되는 상기 도 6d 와 같은 제2대역통과신호 및 도 6f와 같은 제2대역통과신호의 포락선검출신호의 자기 상관값을 검출하여 각각 도 6e 및 도 6g와 같은 자기상관함수들을 출력한다. 또한 상관값검출기235는 각각 입력되는 상기 도 6h 와 같은 제2대역통과신호 및 도 6j와 같은 제3대역통과신호의 포락선검출신호의 자기 상관값을 검출하여 각각 도 6i 및 도 6k와 같은 자기상관함수들을 출력한다. 그리고 상관값검출기237은 각각 입력되는 상기 도 6l 와 같은 제4대역통과신호 및 도 6n과 같은 제4대역통과신호의 포락선검출신호의 자기 상관값을 검출하여 각각 도 6m 및 도 6o와 같은 자기상관함수들을 출력한다. 마지막으로 상관값검출기239는 각각 입력되는 상기 도 6p와 같은 제5대역통과신호 및 도 6r과 같은 제5대역통과신호의 포락선검출신호의 자기 상관값을 검출하여 각각 도 6q 및 도 6s와 같은 자기상관함수들을 출력한다.
그러면 최대값 선택기242는 상기 상관값검출기233에서 출력되는 도 6e 및 도 6g와 같은 상제2대역통과신호 및 제2대역통과신호의 포락선신호에 대한 자기상관함수 값들 중에서 더 큰 값을 가지는 자기상관함수를 선택하여 출력한다. 그리고 최대값 선택기244는 상기 상관값검출기235에서 출력되는 도 6i 및 도 6k와 같은 상기 제3대역통과신호 및 제3대역통과신호의 포락선신호에 대한 자기상관함수 값들 중에서 더 큰 값을 가지는 자기상관함수를 선택하여 출력한다. 최대값 선택기246은 상기 상관값검출기237에서 출력되는 도 6m 및 도 6o와 같은 상기 제4대역통과신호 및 제4대역통과신호의 포락선신호에 대한 개루프 피치에서의 자기상관함수 값들 중에서 선택하여 출력한다. 최대값 선택기248은 상기 상관값검출기239에서 출력되는 도 6q 및 도 6s와 같은 상기 제5대역통과신호 및 제5대역통과신호의 포락선신호에 대한 자기상관함수 값들 중에서 더 큰 값을 가지는 자기상관함수를 선택하여 출력한다.
여기서 상기 대역통과신호 및 이에 따른 포락선호의 자기상관함수 값이 하기 <표 3>과 같을 때 상기 최대값선택기242-248에서 각각 선택되는 자기상관함수는 하기 <표 3>과 같다.
대역(Hz) | 대역통과신호의 BPVC 상관값 | 포락선검출신호의 BPVC 상관값 | 선택된 BPVC 상관값 |
0-400 | 0.983964 | - | 0.983964 |
400-941 | 0.964477 | 0.987925 | 0.987925 |
941-1673 | 0.951852 | 0.989569 | 0.989569 |
1673-2662 | 0.713815 | 0.826268 | 0.826268 |
2662-4000 | 0.128846 | 0.755025 | 0.755025 |
즉, 상기 최대값 검출기242-248은 각각 해당되는 대역통과신호 및 대응되는 대역통과신호의 포락선검출신호들 중에서 더 큰 상관값을 가지는 자기상관함수를 선택하여 출력하며, 이는 상기한 바와 같이 피치가 천이하는 구간에서도 양호한 특성을 가지는 자기상관함수를 검출하기 위함이다. 즉, 정규화된 자기상관함수값은 피치변화가 작을 때 큰 값을 나타내지만 피치가 천이하는 구간에서는 값이 작아서 나쁜 특성을 가지므로, 피치가 변화하지 않는 구간에서는 큰 상관값을 가지는 해당 대역통과신호의 자기상관함수 값을 선택하고 피치가 변화하는 구간에서는 상대적으 로 큰 상관값을 가지는 해당 대역통과신호의 포락선검출신호에 대한 자기상관함수 값을 선택한다.
도 7은 상기 도 5와 같은 구성을 가지는 대역별음성신호판정부20의 상기와 같은 동작 특성을 도시하는 도면이다.
본 발명의 실시예에서는 상기 도 5에 도시된 바와 같이 5개의 mel-band로 나누어진 각각의 대역에서 bpvc(band pass voicing strength)를 구한다. 그리고 각 대역을 통과하는 bpvc의 자기상관 값을 이용하여 각 대역별로 음성신호를 결정(voicing decision)하는 과정은 좀 더 자연스러운 음성 정보를 얻을 수 있도록 한다. 즉, 판정부250은 bpvc 트랙킹(bpvc Tracking)과정을 수행한다.
상기와 같이 자기상관(Autocorrelation) 분석에 의해 구해진 bpvc(band pass voicing strength) 값(즉, 해당하는 mel-band를 통과하는 음성신호의 유성음의 강도 값)들이 전반적으로 어느 정도 이상으로 큰 값(예를들면 0.5 정도)을 가진다. 그러나 상기 각 대역의 bpvc 값들 중에서 특정 대역의 bpvc 상관 값이 인접한 다른 대역의 bpvc 상관값 보다 작은(또는 큰) 값을 갖는 경우가 발생될 수 있다. 이런 경우, 상기 판정부250은 주변의 다른 대역의 bpvc 상관값들에 비해 갑자기 작은(또는 큰) 값을 갖는 값을 그대로 사용하지 않고, 인접한 대역에서 구해진 상기 bpvc 값들을 보간하여 해당 대역의 bpvc 값을 보정한다. 즉, 상기 자기상관(Autocorrelation) 방법으로 구한 J개(본 발명의 실시예에서는 5개로 가정하고 있음)의 분석된 bpvc 값들을 분석하여, 특정 대역의 bpvc 값이 인접한 다른 대역의 bpvc 값들에 비해 작은(또는 큰) 값을 갖는 경우가 발생하는가를 먼저 확인 한다. 그리고 j-1 번째 대역에서의 bpvc[j-1] 값과 j+1번째 대역에서의 bpvc[j+1]의 값이 각각 문턱값 thr1, thr2(이때, thr1과 thr2는 대략 0.5 정도의 값을 사용한다) 보다 큰(또는 작은) 값을 가지고 j번째 대역에서의 bpvc[j] 값이 문턱값 thr3(이때, thr3는 대략 0.5 정도의 값을 사용한다) 보다 작은(큰) 경우 bpvc[j] 값을 그대로 사용하지 않고, 하기 <표 4> 또는 <표 5>와 같이 인접한 값들bpvc[j-1]과 bpvc[j+1]의 값을 선형적으로 보간하여 사용한다. 하기 <표 4>는 상기 bpvc 보정 과정에서 bpvc를 보간하여 보정하는 과정을 나타내고 있으며, <표 5>는 상기 bpvc 보정 과정에서 bpvc를 단조 감소시키는 과정을 나타내고 있다.
for (j = 1; j < J; j++) { // J : number of bands if ((bpvc[j-1] > thr1(=0.5)) & (bpvc[j+1] > thr2(=0.5))) { if (bpvc[j] < thr3(=0.5)) bpvc[j] = 0.5*bpvc[j-1] + 0.5*bpvc[j+1]; } } |
if ((bpvc[J-1] < bpvc[J])) bpvc[J-1] = bpvc[J]; - - - if ((bpvc[1] < bpvc[2])) bpvc[1] = bpvc[2]; |
먼저 상기 판정부250이 특정 대역이 bpvc 값이 인접한 대역의 bpvc 값들보다 작은 경우에 상기 <표 4>와 같이 bpvc를 보간하는 절차를 도 8을 참조하여 살펴본다. 도 8의 bpvc 보간 방법은 특정 대역의 bpvc 값이 인접한 대역의 bpvc 값들에 비해 갑자기 작은 값을 갖는 경우(유성음 성분이 강하다고 판단되어야 하지만, 실제로는 약하다고 판단된 경우)에 대한 보상하는 절차를 도시하는 도면이다.
상기 도 8을 참조하면, 상기 판정부250은 상관값검출기231에서 제1대역의 bpvc 값 및 최대값선택기242-248에서 각각 해당하는 대역의 bpvc 값들이 입력되면, bpvc 보간절차를 수행하기 위하여 먼저 311단계에서 상기 수신되는 각 대역의 bpvc 값들을 저장한 후 첫 번째 대역의 bpvc 값을 지정한다. 여기서 j는 bpvc값을 보정하기 위한 변수를 의미하며, J는 대역들의 수(number of bands)가 된다. 본 발명의 실시예에서는 상기 도 5에 도시된 바와 같이 5(대역1-대역5)라고 가정한다. 이후 313단계에서 bpvc 보간 절차를 구동한다.
이후 상기 판정부250은 315단계에서 현재의 대역에서 인접한 대역의 bpvc 값이 있는가, 그리고 있으면 인접한 대역의 bpvc 값이 설정된 드레시홀드 값을 넘는가 검사한다. 이런 경우 상기 대역1(0-400Hz)의 경우에는 이전의 인접 대역이 없으므로 321단계로 진행하며, 대역5(2662-4000Hz)의 경우에는 다음의 인접대역이 없으므로 상기 321단계로 진행한다. 그리고 대역2-대역4의 경우에는 이전 및 다음의 인접 대역이 있으므로 이전 및 다음의 인접한 대역의 드레시홀드 값과 해당 대역의 bpvc 값을 비교한다. 여기서 bpvc[j]는 현재 bpvc 값을 분석하기 위한 대역을 의미하며, thr3은 bpvc[j] 대역의 드레시홀드 값을 의미한다. 그리고 bpvc[j-1]은 이전의 인접 대역을 의미하고, thr1은 bpvc[j-1] 대역의 bpvc 드레시홀드 값을 의미하 며, bpvc[j+1]은 다음의 인접 대역을 의미하고, thr2는 bpvc[j+1] 대역의 bpvc 드레시홀드 값을 의미한다. 또한 여기서 상기 각 대역의 bpvc 드레시홀드 값 thr1-thr3은 각각 고유의 설정된 값을 사용할 수 있는데, 여기서는 상기 bpvc 드레시홀드 값 thr1-thr3들은 모두 0.5라고 가정한다.
따라서 상기 315단계에서 j=1이면 상기 321단계로 진행하며, 321단계에서 j를 1 증가시킨 후 323단계에서 j가 마지막 대역인가 검사한다. 이때 상기 j=2이므로 상기 315단계로 진행하여 j=2인 400-941Hz의 bpvc 값을 검사한다. 그러면 상기 315단계에서 j=1인 대역1의 bpvc1이 드레시홀드 thr1 보다 크고, j=3인 대역3의 bpvc3이 드레시홀드 thr2 보다 큰가를 검사한다. 이때 상기 bpcv1이 thr1 보다 크고 bpvc3이 thr2보다 큰 경우에만 317단계로 진행하고, 그렇지 않으면 321단계로 진행한다. 이는 현재 j=2인 대역2의 인접 대역인 대역1의 bpvc1 또는 대역3의 bpvc3들 중의 어느 한 bpvc값이라도 드레시홀드 thr1 또는 thr3 보다 작은 값을 가지면 보간 동작을 수행하지 않도록 하는 것을 의미한다. 즉, 현재 대역2의 인접 대역1 및 3의 bpvc 값이 모두 드레시홀드 값인 0.5를 초과하는 경우에만 대역2의 bpvc에 대한 보간 동작을 수행한다.
이후 상기 317단계로 진행한 경우, 상기 판정부250은 317단계에서 현재 대역2의 bpvc 값이 드레시홀드 thr3 보다 큰 가를 검사한다. 이때 상기 대역2의 bpvc 값이 드레시홀드 thr3보다 크면 이는 정상적인 상태이므로 보간없이 321단계로 진행한다. 그러나 상기 317단계에서 상기 대역2의 bpvc 값이 드레시홀드 thr3보다 작으면, 상기 대역2의 bpvc 값이 인접한 대역1 및 대역3의 bpvc 값 보다 갑자기 작은 값을 가진 경우가 된다. 즉, 상기 bpcv2 값은 유성음이 강하게 검출되어야하지만 실제로는 약하게 검출된 경우가 된다. 이런 경우 상기 판정부250은 319단계에서 이전 대역1의 bpvc 값1과 다음 대역3의 bpvc3 값의 중간값을 bpvc2 값으로 보간하여 보정한다. 즉, 상기 319단계에서는 bpvc[j] 값을 0.5*bpvc[j-1]+0.5*bpvc[j+1] 값으로 보간한다.
이후 상기 판정부250은 321단계에서 j 값을 1 증가(j=j+1)시켜 j변수 값을 변경하고(이 경우 j=3이 됨), 323단계에서 j변수 값이 J(여기서는 J=5)인가 검사하며, 아니면 상기 315단계로 되돌아가 상기와 같은 동작을 반복 수행한다.
따라서 j=1 및 j=5인 대역1 및 대역5의 경우에는 인접한 대역이 없는 경우이며, 판정부250은 315단계에서 이를 감지하고 보간 절차를 수행하지 않는다. 그리고 j=2,3,4인 대역에서는 인접한 이전대역 및 다음 대역의 bpvc 값을 검사한다. 이때 인접한 대역들의 bpvc 값이 드레시홀드 값보다 작으면 보간 절차를 수행하지 않는다. 그러나 상기 인접한 대역들의 bpvc 값이 각각 드레시홀드값 보다 큰 값을 가지면 317단계에서 현재 대역의 bpvc 값이 드레시홀드 값보다 작은 값을 가지는가 검사한다. 이때 상기 현재 대역의 bpvc 값이 설정된 드레시홀드 값보다 큰 값을 가지면 보간 절차를 수행하지 않으며, 설정된 드레시홀드 값보다 작은 가지는 경우에만 보간절차를 수행하여 bpvc 값을 보정한다. 이때 bpvc 값의 보정은 bpvc[j] = 0.5*bpvc[j-1]+0.5*bpvc[j+1]으로 한다.
도 9a는 상기 판정부250에 입력되는 bpvc1-bpvc5 값의 예를 도시하는 도면이다. 여기서 드레시홀드 thr1-thr3은 0.5로 가정하고 있다. 이때 상기 도 9a에서 bpvc2 및 bpvc4의 값은 0.5보다 큰 값을 가지는데 반하여, bpvc3의 값은 드레시홀드 값인 0.5보다 작은 값을 가진다. 이런 경우, 상기 판정부250은 상기 도 8과 같은 절차를 수행하여 도 9b와 같이 bpvc3의 값을 보정한다. 이때 bpvc3의 보정은 상기 bpvc2 및 bpvc4 값을 보간하여 이루어진다. 상기한 바와 같이, 인접한 대역의 bpvc값들은 모두 thr1(=~0.5),thr2(=~0.5) 이상의 비교적 강한 유성음 특성을 갖고, 특정 대역의 bpvc 값이 thr3(=~0.5)보다 작은 값을 가질 경우, 본 발명의 실시예에서는 이 값을 그대로 사용하지 않고 양쪽의 모두 0.5 이상인 값의 중간값(선형적으로 interpolate)을 사용해서 대략 0.5 이상의 값을 가지도록 보장해준다.
또한 상기 도 8에서는 인접 대역들의 bpvc 값들이 모두 작은 bpvc 값들을 가지지만, 특정 대역의 bpvc 값이 특별하게 큰 값을 갖는 경우는 위와 같은 보상과정을 적용하지 않는다. 즉 유성음 특성이 강한 구간을 무성음 특성이 강하다고 판단하면 합성음 생성시 잡음 성분이 지나치게 많이 첨가되어 듣기에 거슬리고, 노이즈 처럼 들리게 되므로 보상과정이 필요하다. 하지만 반대의 경우, 즉 무성음 성분이 강할 때, 유성음 특성이 강하다고 판단하는 경우에는 합성음 생성시 무성음 대신 유성음 성분이 들어가더라도, 반대의 경우처럼 듣기에 거북한 소리는 크게 느껴지지 않게 된다. 따라서 작은 값을 가질 때, 보간 과정은 적용하고, 주위 값에 비해서 큰 값을 가질 경우에는 보간 과정을 적용하지 않는다.
상기한 바와 같이 대역별음성신호판정부20을 사용하는 음성부호화기(예를들면 MELP음성부호화기)에서는 다수개의 대역들에 대해 분석된 자기 상관값을 그대로 받아들여서 사용하기 때문에 특정 대역에서는 갑자기 음성신호의 강도가 작은 값을 가질 수 있다. 일반적으로 유성음 성분은 주파수가 증가할수록 감소한다는 전형적인 특징을 가지고 있으므로, 거꾸로 말하면 주파수가 낮을수록 유성음 성분이 강하게 유지되는 특성을 가진다고 할 수 있다. 따라서 도 8과 같은 보간 절차를 수행하면서 bpvc 값을 보정할 수 있다.
그러나 반대로 주파수가 높은 대역의 bpvc 값이 낮은 주파수 대역의 bpvc 값보다 크게 나타날 수 있다. 도 11a는 대역1의 bpvc1 보다 대역2의 bpvc2가 더 큰 값을 가지는 예를 도시하고 있다. 상기한 바와 같이, 각 대역들의 bpvc(band pass voicing strength) 값을 분석하는 과정에서 높은 대역에서의 bpvc 값이 낮은 대역에서의 bpvc보다 큰 값을 가질 경우 높은 대역의 bpvc 값을 낮은 대역의 bpvc값과 동일하거나 또는 이보다 낮은 값으로 보정하는 것이 바람직하다. 본 발명의 실시예에서는 높은 대역의 bpvc 값이 낮은 대역의 bpvc보다 큰 값을 가질 경우 높은 대역의 bpvc 값을 낮은 대역의 bpvc값으로 대체하여 사용하는 것을 예로들어 설명하기로 한다. 또한 본 발명의 실시예에서는 상기와 같은 보정을 수행할 때, 모든 대역에 대해 이러한 제약을 가하지는 않고, 도 11b에 도시된 바와 같이 앞쪽의 3개 대역(0~1673 Hz)에만 수행하는 것으로 가정한다. 상기와 같은 절차는 상기 <표 5>와 같이 표현할 수 있으며, 도 10과 같이 수행된다.
상기 도 10을 참조하면, 먼저 상기 판정부250은 412단계에서 설정된 수의 bpvc 값들을 결정하고, 414단계에서 보정 절차를 시작한다. 본 발명의 실시예에서는 상기한 바와 같이 5개의 mel-bands를 사용하며, 상기 도 10과 절차는 낮은 대역의 대역1-대역3의 bpvc1-bpvc3 값들에 대해서만 수행하는 것으로 가정한다.
이를 위하여 상기 판정부250은 높은 대역의 bpvc 값이 낮은 대역의 bpvc 값보다 큰 값을 가지는가 검사하며, 높은 대역의 bpvc 값이 낮은 대역의 bpvc 값보다 큰 값을 가지면 상기 높은 대역의 bpvc 값을 낮은 대역의 bpvc 값으로 보정한다. 그리고 상기와 같은 동작은 높은 주파수 대역에서 낮은 주파수 대역의 순서로 진행된다. 본 발명의 실시예에서는 상기 대역1-대역3의 bpvc 값들에 대해서만 수행되는 것으로 가정하고 있으므로, 먼저 bpvc2 및 bpvc3 값을 검사하여 보정하고, 이후 bpvc1과 bpvc2 값을 검사하여 보정하는 순으로 진행된다.
따라서 상기 판정부250은 416단계에서 bpvc3의 값이 bpvc2의 값보다 큰가를 검사하며, 상기 bpvc3의 값이 bpvc2의 값보다 크면 418단계에서 상기 bpvc2의 값을 bpvc3의 값으로 보정한다. 즉, 상기 낮은 대역의 bpvc2 값은 높은 대역의 bpvc3의 값으로 보정한다. 상기 판정부250은 상기 416단계에서 상기 bpvc3 값이 bpvc2의 값보다 크지 않거나 또는 상기 418단계를 수행한 후, 420단계에서 bpvc2의 값이 bpvc1의 값보다 큰가를 검사한다. 이때 상기 420단계에서 상기 bpvc2의 값이 bpvc1의 값보다 크면 422단계에서 상기 bpvc1의 값을 bpvc2의 값으로 보정한다. 따라서 상기한 바와 같이 낮은 대역의 bpvc1 값은 높은 대역의 bpvc2의 값으로 보정된다.
상기와 같은 절차를 수행하면, bpvc1 및 bpvc2의 값이 높은 대역인 bpvc3의 값보다 작으면 상기 bpvc1 및 bpvc2의 값은 bpvc3의 값으로 보정되며, bpvc1의 값이 높은 대역인 bpvc2의 값보다 작으면 상기 bpvc1의 값은 bpvc2의 값으로 보정된다. 따라서 상기 도 11a와 같이 각 대역의 bpvc 값이 입력되면, 상기 판정부250은 상기 도 10과 같은 절차를 수해하면서 도 11b와 같이 bpvc값을 단조 감소시켜 보정 한다. 즉, 상기 도 10과 같은 절차를 수행하면, 상기 bpvc 값들을 단조감소(monotonically decreasing) 하는 형태의 bpvc 특성을 보장할 수 있다.
상기와 같이 각 대역별 bpvc 값을 구한 후, 상기 bpvc 값을 소정 크기를 가지는 기준값을 이용하여 양자화할 수 있다. 즉, 상기 bpvc[1]-[5]의 값을 각각 소정 크기를 가지는 기준값(여기서는 0.6이라 가정한다)과 비교하여 음성("1") 또는 비음성("0")으로 판정한다. 이때 상기 bpvc[1]-[5] 값은 각각 도 8 및 도 10과 같은 절차를 수행하면서 보정되었으므로, 인접 대역들의 값에 따라 안정되게 양자화될 수 있다. 상기 양자화는 1개의 대역 음성신호당 1비트로 발생되며, 따라서 5개의 mel-band로 분할된 경우에는 5비트의 양자화비트가 발생되며, 4개의 mel-band로 분할된 경우에는 4개의 양자화비트로 발생된다.
상기와 같은 양자화비트 발생 방법 이외에 피크니스 값을 사용하여 양자화 절차를 수행할 수도 있다. 즉, 상기와 같이 각 대역별 bpvc 값을 구한 후, 각 대역의 유성음 강도를 결정하기 위한 또 하나의 파라미터로 피크니스(peakness) 값을 사용할 수 있다. 상기 피크니스 P는 하기 <수학식 2>와 같이 구할 수 있다.
상기 <수학식 2>에서 N은 피크니스의 계산에 사용되는 샘블의 수를 나타내 고, rn은 잔차신호를 의미한다. 상기 피크니스 P 값은 주위 샘플 값에 비해 갑자기 커지는 펄스 형태의 샘플이 많을수록 값이 커지는 특성을 가지므로, 파열음이나 주기성이 큰 잔차신호에서 큰 값을 가진다. 따라서 피크니스 P 값이 크면 펄스성 신호가 존재하는 것으로 간주하여 주기성이 강한 유성음으로 판단할 수 있다. 상기와 같이 구한 피크니스 P값과 상기 보정된 자기상관함수 값을 사용하여 각 대역별로 유성음 강도를 결정하는 절차는 도 12에 도시되어 있다.
상기 도 12를 참조하면, 상기 판정부250은 511단계에서 bpvc값들 및 피크니스 값을 계산한다. 이후 상기 판정부250은 513단계에서 피크니스 P가 1.34보다 크면, 515단계에서 주기성이 있는 신호로 간주하여 가장 낮은 대역의 신호 bpvc[0]의 유성음 강도를 음성으로 판정한다. 그리고 517단계에서 피크니스 P값이 1.6보다도 크면 519단계에서 주기성이 강한 신호로 판단하여 두 번째 및 세 번째 대역까지의 bpvc[2] 및 bpvc[3]을 모두 음성으로 판정한다.
그러나 상기 513단계에서 상기 피크니스 P값이 1.34보다 작을 경우, 상기 판정부250은 523단계에서 bpvc[1] 값이 0.6보다 작은가 검사한다. 상기 bpvc[1] 값이 0.6보다 작으면, 상기 판정부250은 525단계에서 무성음으로 간주하여 모든 대역들을 비음성으로 판정한다. 그리고 상기 523단계에서 상기 bpvc[1] 값이 0.6보다 크거나, 또는 상기 517단계에서 상기 피크니스 P값이 1.6보다 작으면 521단계에서 각 대역별 자기상관함수 값을 문턱값과 비교하여 결정한다. 즉, bpvc[i]가 0.6보다 크면 음성신호로 판정하고 0.6보다 작으면 비음성신호로 결정한다.
프레임당 분석된 각 대역의 음성신호의 강도는 문턱값 0.6과 비교하여 0 또는 1(비음성 또는 음성)로 양자화한다. 첫 번째 대역의 유성음 강도가 0일 경우 나머지 4개의 대역들은 모두 비음성으로 처리하여 양자화시에는 4개 대역의 값만을 양자화한다. 첫 번째 대역의 값이 0인 경우는 피치 양자화시에 할당되는 상태들 중 하나를 이용하여 전체 비음성인 상태를 나타낸다. 따라서 대역통과 유성음 강도의 양자화에는 프레임당 4비트가 할당된다. 첫 번째 대역의 값이 1인 경우 양자화된 피치값이 갖는 인덱스 값을 보고 알 수 있으므로 별도로 양자화하지 않아도 된다.
상술한 바와 같이, 음성 코덱에서 다수의 대역여파기들을 이용하여 각 대역의 음성신호를 검출하고, 상기 검출된 각 대역들의 음성신호들을 분석하여 유성음의 강도를 판정하여 양자화할 수 있다. 이때 다수의 대역여파기들을 이용하여 음성신호를 판정하는 음성코덱에서 각 대역별 음성신호를 발생하기 위한 대역분할을 수행하며, 각각 대역여파된 음성신호들과 이들의 포락선검출신호의 상관값을 검출하여 더 큰 상관값을 가지는 음성신호를 유성음 강도 판정에 사용한다. 이때 상기 다수의 대역별 음성신호를 판정할 때 각 대역별로 검출되는 음성신호를 트랙킹하여 특정 대역의 음성신호가 작은 값을 가지는 경우 인접 대역의 음성신호 값을 보간하여 보정하고, 특정 대역의 음성신호가 인접한 대역의 음성신호보다 큰 값을 가지는 경우 인접대역의 음성신호로 보정할 수 있다.
Claims (11)
- 음성코덱의 음성신호를 판별하는 장치에 있어서,입력되는 음성신호를 고역여파하여 직류 성분을 제거하는 고역여파기와,음성신호의 주파수 특성에 따라 적어도 두 개의 대역으로 상기 음성신호를 분할하기 위한 대역여파기들로 구성되며, 상기 음성신호를 각각 설정된 대역으로 여파하는 대역여파부와,상기 각 대역들에서 여파되는 음성신호들의 상관값을 각각 계산하는 상관값계산부와,상기 대역별 상관값들을 입력하며, 상기 입력된 각 대영의 상관값을 각각 인접한 대역들의 상관값들과 비교하고, 비교 결과 상기 인접대역들의 상관값과 설정 크기 이상의 차이를 가지면 상기 인접대역의 상관값들의 보간값으로 보정하며, 상기 보정된 상관값들을 분석하여 음성 및 비음성신호로 결정하여 양자화하는 판정부로 구성된 것을 특징으로 하는 상기 음성신호 판별장치.
- 제1항에 있어서, 상기 상관값 계산부가,상기 대역여파기들에서 출력되는 대역여파신호들의 포락선을 각각 검출하는 포락선검출기들과,상기 대역여파신호들과 상기 포락선검출신호들의 자기상관값들을 각각 검출하는 상관값 검출기들과,상기 대역여파신호 및 포락선검출신호의 상관값들 중에서 각각 더 큰 상관값을 선택하여 출력하는 최대값 선택기들로 구성된 것을 특징으로 하는 상기 음성신호 판별장치.
- 제1항에 있어서, 상기 판정부가 상기 비교 결과 특정 대역의 신호가 상기 인접대역들의 상관값 보다 설정 크기 이상 작으면, 상기 특정 대역의 신호를 상기 인접대역의 상관값들의 중간값으로 보간하여 조정하는 것을 특징으로 하는 상기 음성신호 판별장치.
- 제1항에 있어서, 상기 판정부가 높은 대역의 상관값이 낮은 대역의 상관값 보다 큰 값을 가지면 낮은 대역의 상관값들을 높은 대역의 상관값으로 보정하는 것을 더 구비함을 특징으로 하는 상기 음성신호 판별장치.
- 음성코덱의 음성신호를 판별하는 방법에 있어서,입력되는 음성신호를 고역여파하여 직류 성분을 제거하는 과정과,음성신호의 주파수 특성에 따라 적어도 두 개의 대역으로 상기 음성신호를 분할하며, 상기음성신호를 분할된 대역으로 여파하는 과정과,상기 여파된 각 대역들의 음성신호들의 상관값을 각각 계산하는 과정과,상기 대역별 상관값들을 입력하며, 상기 입력된 각 대역의 상관값을 각각 인접한 대역들의 상관값들과 비교하고, 비교 결과 상기 인접대역들의 상관값과 설정 크기 이상의 차이를 가지면 상기 인접대역의 상관값들의 보간값으로 보정하는 과정과,상기 보정된 상관값들을 분석하여 음성 및 비음성신호로 결정하여 양자화하는 과정으로 이루어짐을 특징으로 하는 상기 음성신호 판별방법.
- 제8항에 있어서, 상기 상관값을 계산하는 과정이,상기 대역여파신호들의 포락선을 각각 검출하는 과정과,상기 대역여파신호들과 상기 포락선검출신호들의 자기상관값들을 각각 계산하는 과정과,상기 대역여파신호 및 포락선검출신호의 상관값들 중에서 각각 더 큰 상관값을 선택하여 출력하는 과정으로 이루어짐을 특징으로 하는 상기 음성신호 판별방법.
- 제9항에 있어서, 상기 대역별 상관값을 보정하는 과정이, 입력된 대역별 상관값을 분석하여 특정 대역과 인접한 대역들의 상관값이 설정된 크기를 가지고 상기 특정 대역의 상관값이 설정된 크기를 갖지 못하면, 상기 특정 대역의 상관값을 인접대역의 상관값들의 중간값으로 보간하여 조정하는 것을 특징으로 하는 상기 음성신호 판별방법.
- 제9항에 있어서, 상기 대역별 상관값을 보정하는 과정이, 상기 입력된 대역별 상관값을 분석하여 높은 대역의 상관값이 낮은 대역의 상관값 보다 큰 값을 가지면 낮은 대역의 상관값들을 높은 대역의 상관값으로 보정하는 것을 특징으로 하는 상기 음성신호 판별방법.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020030045549A KR100557113B1 (ko) | 2003-07-05 | 2003-07-05 | 다수의 대역들을 이용한 대역별 음성신호 판정장치 및 방법 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020030045549A KR100557113B1 (ko) | 2003-07-05 | 2003-07-05 | 다수의 대역들을 이용한 대역별 음성신호 판정장치 및 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20050005604A KR20050005604A (ko) | 2005-01-14 |
KR100557113B1 true KR100557113B1 (ko) | 2006-03-03 |
Family
ID=37219802
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020030045549A KR100557113B1 (ko) | 2003-07-05 | 2003-07-05 | 다수의 대역들을 이용한 대역별 음성신호 판정장치 및 방법 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100557113B1 (ko) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4800645B2 (ja) * | 2005-03-18 | 2011-10-26 | カシオ計算機株式会社 | 音声符号化装置、及び音声符号化方法 |
WO2021162489A1 (en) * | 2020-02-12 | 2021-08-19 | Samsung Electronics Co., Ltd. | Method and voice assistance apparatus for providing an intelligence response |
-
2003
- 2003-07-05 KR KR1020030045549A patent/KR100557113B1/ko not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
KR20050005604A (ko) | 2005-01-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
RU2262748C2 (ru) | Многорежимное устройство кодирования | |
US8725499B2 (en) | Systems, methods, and apparatus for signal change detection | |
EP1738355B1 (en) | Signal encoding | |
KR100986957B1 (ko) | 토널 컴포넌트들을 감지하는 시스템들, 방법들, 및 장치들 | |
US7257535B2 (en) | Parametric speech codec for representing synthetic speech in the presence of background noise | |
KR101078625B1 (ko) | 이득 계수 제한을 위한 시스템, 방법 및 장치 | |
KR100488080B1 (ko) | 멀티모드 음성 인코더 | |
US20020173951A1 (en) | Multi-mode voice encoding device and decoding device | |
EP2085965A1 (en) | Variable rate speech coding | |
KR20020052191A (ko) | 음성 분류를 이용한 음성의 가변 비트 속도 켈프 코딩 방법 | |
EP1313091B1 (en) | Methods and computer system for analysis, synthesis and quantization of speech | |
KR20010022092A (ko) | 이격 대역 선형 예상 보코더 | |
EP2290815A2 (en) | Method and system for reducing effects of noise producing artifacts in a voice codec | |
KR100526829B1 (ko) | 음성부호화방법및장치음성복호화방법및장치 | |
US6205423B1 (en) | Method for coding speech containing noise-like speech periods and/or having background noise | |
KR100516678B1 (ko) | 음성 코덱의 음성신호의 피치검출 장치 및 방법 | |
US6915257B2 (en) | Method and apparatus for speech coding with voiced/unvoiced determination | |
Cellario et al. | CELP coding at variable rate | |
KR100557113B1 (ko) | 다수의 대역들을 이용한 대역별 음성신호 판정장치 및 방법 | |
WO2003001172A1 (en) | Method and device for coding speech in analysis-by-synthesis speech coders | |
Unver | Advanced Low Bit-Rate Speech Coding Below 2.4 Kbps | |
AU2757602A (en) | Multimode speech encoder |
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: 20130130 Year of fee payment: 8 |
|
FPAY | Annual fee payment |
Payment date: 20140128 Year of fee payment: 9 |
|
FPAY | Annual fee payment |
Payment date: 20150129 Year of fee payment: 10 |
|
FPAY | Annual fee payment |
Payment date: 20160128 Year of fee payment: 11 |
|
LAPS | Lapse due to unpaid annual fee |