음성의 디지털화 방식개요
음성을 디지털화하기 위해서는 파형 부호화 방식과 보코딩 방식, 혼합 부호화방식이 있다. 파형부호화의 음성을 일정한 주기로 표본화, 양자화, 부호화하는 방식으로 PCM이 대표적인 예이다. 보코딩은 음성의 특징만을 추출하여 전송하므로 적은 대역폭을 소모하는 것이 특징이다. 혼합 부호화방식은 파형부호화와 보코딩의 방식을 절충한 방식이다.
- 파형 부호화 (waveform coding)
파형 부호화의 목적은 복원된 신호가 원래 신호의 모양을 그대로 보존하기 위한 것이 목적이다. 파형 부호화는 음성 신호 뿐만 아니라 크기가 제한된 PC 통신의 PSK (Phase Shift Keying)에도 사용된다. 파형 부호화기는 보통 한 표본 단위로 동작하며, 신호 대 잡음비와 같은 객관적인 척도로 부호화기의 성능을 측정할 수 있다. 파형부호화 방식은 PCM, DM, APCM, DPCM,ADPCM 등이 있다.
표준 음성 부호화기는 1972년 국제 규격으로 채택된 64kpbs PCM으로 많은 디지털 시스템과 일반 전화에서 이용된다. 또한 1984년 32Kbps ADPCM이 국제 규격으로 채택되어 전송률이 반으로 낮춘 것이 특징이다. 일반적으로 파형 부호화 방식의 음성 부호화기는 16Kbps 이상에서는 음질이 좋으나 그 이하에서는 음질 저하가 심한 것이 단점이다.
- 보코딩 (VoCoding)
보코딩은 사람의 목소리 생성 모델을 근거로 포만트와 유성음 및 무성음 유무를 분리하여 전송하여 원래의 목소리를 복원하는 방법이다. 저속으로 음성을 전달하기 위해 사용된다. 보코딩은 채널보코딩, 선형 예측 부호화 보코더, 포만트 보코더 등이 있다.
- 혼성 부호화 (Hybrid Coding)
혼성 부호화 방식은 파형 부호화 방식과 보코딩의 장점을 결합시킨 방식이다. 음성 분석은 보코딩 방식의 음성 생성 모델을 그대로 적용하여 성도의 특성을 양자화 및 표본화 하고, 성도의 특성이 제거된 예측 오차 신호를 최대한 모양을 유지하면서 전송하는 방법이다. 따라서, 8Kbps정도의 전송률에도 우수한 음질을 보인다.
Q-CELP(Qualcomm Code Excited Linear Pre diction), EVRC(Enhanced Variable Rate Coder)도 모두 혼성 부호화 방식의 음성 부호화기이다. 이 밖의 혼성 부호화 방식에는 유럽 GSM의 표준인 RPE-LTP(Regular Pulse Excited Long Term Prediction), 북미 TDMA와 일본 PDC(Personal Digital Cellular)의 표준인 VSELP(Vector Sum Excited Linear Prediction) 그리고 위성통신인 INMARSAT(International Maritime Telecommunication Satellite Organization) M에서 사용하는 IMBE(Improved Multi-Band Excitation) 등이 있다
2000년대 초에는 ADPCM 칩이 보코딩 칩보다 저렴하여 PCS초기 버전에 사용되었지만, 지금은 보코딩 칩의 가격이 많이 낮아져서 모든 핸드폰에 적용되었다.
포만트 (Formant)
특정 주파수들을 가진 소리가 공명기를 통과 할때 공명에 의해 큰 진폭을 가진 소리가 나오게 되며, 공명기의 모양에 따라 공명기에 적절하게 일치되는 주파수로 조정되는 데 이를 공명 주파수 (resonance frequency)라 한다. 음성에 의해 공명이 이루어진 경우의 공명들을 포만트 (Formant)라 하고 공명 주파수를 포만트 주파수라 한다.
인간의 목소리는 보통 3~4 개 정도의 포만트를 가지고, 포만트의 위치와 진폭에 따라 사람 목소리의 특성이 결정된다. 따라서, 성대모사는 포만트의 위치가 비슷할 때 가능하다. 포만트는 모음의 성질을 결정하고 사람의 음색을 결정한다. 사람의 목소리에는 3~4개 정도의 포만트가 존재하는 데 처음 2개는 모음의 성질을 결정하고, 나머지 세 번쨰, 네번째, 다섯번쨰 포만트는 음색을 결정한다. 성인 남성의 경우 제 1 포만트는 200 ~ 800 Hz에서, 제 2 포만트는 500~ 2500 Hz 사에에서 형성된다.
보코딩의 개요
보코딩은 Voice Coding의 준말로 저용량으로 목소리를 전송하기 위해 사용된다. 인간의 목소리는 포만트외에 유성음과 무성음 특징을 가지므로 포만트 정보, 유성음 및 무성음 정보만을 전송하여 사람의 목소리를 재생하는 것이 가능하고 이를 응용한 것이 보코딩이다.
보코딩의 원리는 음성의 파형을 분석하여 유성음과 무성음으로 분리하는 것이다.
- 유성음
성대의 진동에 의한 소리로 주파수(피치)를 가짐
피치와 같은 반복 주기를 가지는 펄스 발생기로 근사화 시킴
- 무성음
좁혀진 성대를 통해 나오는 불규칙적인 마찰음
랜던 잡음 발생기로 근사화 시킴
보코딩에서 신호 파형의 모양을 재생하는 것이 아니라 사람의 귀로 듣는데 있어서 원 신호와 차이가 없도록 소리(Sound)만을 재생한다. 따라서 보코더의 성능은 신호 대 잡음비가 아닌 MOS (Mean Opinion Score)를 이용한다. MOS는 여러 사람들에게 원음과 비교하여 상태에 따라 1점 과 5점 사이의 값을 주도록 한다. 일반적으로 4 이상이면 성능이 좋은 보코더이며 64Kbps PCM은 MOS 4.2 또는 4.3 정도이다.
보코더는 저전송률 음성 부호화기로 주로 4.8Kbps이하에서 동작하는 음성 부호화기에 대한 연구가 주도적이며, LPC가 대표적이다.
보코딩의 종류는 다음과 같다.
채널보코딩
채널보코딩은 포만트에 상관없이 각 샘플 주파수 당 진폭과 유성음과 무성음 여부만을 전송한다. 각 샘플 주파수는 서로 약속되어 있기 때문에 전송할 필요가 없다. 전송 데이터량이 많이 줄어드는 효과는 없다.
채널 보코딩은 음성신호를 1KHz, 2KHz, 3KHz, ..., 16KHz 등의 서브밴드로 분리하기 위해 대역통과필터 (BPF, Band Pass Filter)를 사용한 후 상대적인 전력레벨을 구하기 위해 정류기를 사용한다. 수신측에서 전송된 피치와 각 서브밴드의 전력 레벨을 더해 각각의 대역통화필터를 통화시킨 후 합성을 하면 원래의 신호를 얻을 수 있다.
포만트 보코더
포만트 보코더은 포만트 지점의 진폭과 유성음과 무성음 여부만을 전송한다. 데이터량이 많이 줄지만 상업적 사용은 어렵다.
유성음과 무성음 구별 및 피치 주기를 찾지만, 포만트 지점의 진폭과 유성음과 무성음 여부만을 전송하여 전송속도는 500 bps까지 낮출수 있다.
LPC (Linear Predictive Coder, 선형 예측 부호화 보코더)
포만트 보코더가 전송하는 정보와 더불어 포만트 지점과 지점 사이의 정보를 더 전송하여 포만트 사이의 경사도를 예측한다. 포만트 사아의 경사도는 사람마다 조금씩 틀리지만 120여 가지 정도이므로 추가적인 정보로 예측 가능하다. 그러나 120여가지의 경사도 정보는 미국인 기준이다.
포만트 보코더에 비해 데이터량이 조금 많아지지만 원음에 가까운 목소리 구현이 가능하므로 상업적으로 이용 가능하다. 2.4Kbps 이하에서 비교적 음질이 우수하지만 채널 환경이 않좋을 경우 급격히 성능이 저하된다.
음성 신호는 상관관계가 강한 신호이므로 일정한 수의 이전 표본들로 부터 다음 표본의 값을 예측할 수 있다. 이것을 예측 계수라 하고 20ms ~ 30ms 마다 얻어지고 매 20ms 마다 유성음 유무를 판별하여 유성음일 경우에는 주기를 찾아낸다. 송신측에서 예측 계수와 주기에 관한 정보를 전달하면, 유성음은 피치주기에 따른 펄스를 만들고 무성음은 랜덤잡음을 내보내여 합성한다.
CELP (Code Excited Linear Prediction)
포만트 사이의 경사도 정보는 120여 가지이므로 Code Book으로 저장한다. CELP는 포만트 진폭과 유성음 및 무성음 여부 그리고 코드북 넘버를 함께 전송한다.
CLEP 부호화기는 16Kbps 보다 낮은 전송속도에서 높은 음질의 음성 신호를 만들어내는 혼합 기술로 신호파형과 음성신호의 특징을 모두 활용한다. CELP 부호화기는 양자화된 160개의 음성 샘플을 이용하여 20ms의 가변 비트 수의 음성 프레임을 만들내고 코드북에서 비슷한 코드를 선택하여 전송한다. 또한, 음성 샘플과 실제 음성간의 차를 계산하여 전송하므로 고품질의 음성을 전달할 수 있다.
1990년대 PCS 사업을 시작할 당시 SKT는 CELP를, 나머지 사업자는 ADPCM을 사용하여 SKT의 음질이 가장 우수하였지만, 1990년대 후반에는 CELP로 통일하게 된다.
QCELP (Qualcomm CELP)
QCELP는 이름에서 보듯이 퀄컴에서 만든 코드북을 이용한다. 으ㅡㅁ성의 에너지와 배경 잡음의 전송부호화율을 가변적으로 전송하여 효율성을 높인 것이다.
IS-95 방식에서는 QCELP 방식이 채택되었다.
EVRC (Enhanced Variable Codec)
IS-127에 규정된 8kbps 보코더 규격으로 주변 잡음을 줄여 통화자의 음성을 더 깨끗하게 전달하기 위한 방식으로 음성의 정보량에 따라 가변적으로 음성 정보르를 부호화하는 방식이다.
무음 구간에서는 낮은 비율로 음성 부호화를 하고 정보량이 많을 수록 높은 속도로 부호화하여 이동통신 시스템의 용량을 증가시키는 동시에 소비 전력을 절약할 수 있다. EVRC는 QCELP(13Kbps) 방식보다 용량면에서 30~40% 우수하며 SKT가 사용중이다.
VSELP (Vector Sum Excited Linear Prediction)
코드북 값 2개 이상을 더해서 실제 음성에 가깝게 전송하는 방식으로 북미 및 일본의 셀룰러 이동 전화용 보코더 표준이다.