초록
본 논문에서는 ITU-T의 SG15에서 채택된 G.729.1 광대역 음성 코덱을 ARM926EJ-S(R) 프로세서 코어에 적용하기 위해 기본연산자 및 산술기능 함수를 포함한 G.729.1 코덱 프로그램 일부를 어셈블리어로 변환하여 실시간으로 동작하도록 구현한 절차 및 결과를 기술하였다. G.729.1은 $8{\sim}32kbps$의 가변 전송률을 갖는 ITU-T 표준 광대역 음성 코덱이며, 입력신호는 8kHz 또는 16 kHz로 샘플링 되어 샘플 당 16 비트로 양자화된 PCM 신호를 입력받는다. 이 코덱은 앞서 표준화된 G.729 및 0.729A와 상호 호환이 가능하며 음질 향상을 위해 기존의 협대역($300{\sim}3,400Hz$)에 비해 대역폭을 광대역($50{\sim}7,000Hz$)으로 확장한 버전이다. 실시간으로 구현된 G.729.1 광대역 음성 코덱은 32kbps에서 인코더와 디코더 부분이 각각 약 31.2 MCPS 및 22.8 MCPS의 복잡도를 가지며, 실제 임베디드 시스템에서의 실행 시간은 인코더와 디코더 평균 6.75ms와 4.76ms로 총 11.5ms가 걸렸다. 또한 이 코덱은 ITU-T에서 제공하는 모든 테스트 벡터에 대해 비트 단위로 정확하게 시험하여 통과하였으며, 실제 인터넷 전화기에 적용한 실시간 음성통화에서 정상적으로 동작하였다.
In this paper we described the process and the results of real-time implementation of G.729.1 wideband speech codec which is standardized in SG15 of ITU-T. To apply the codec on ARM926EJ-S(R) processor core. we transformed some parts of the codec C program including basic operations and arithmetic functions into assembly language to operate the codec in real-time. G.729.1 is the standard wideband speech codec of ITU-T having variable bit rates of $8{\sim}32kbps$ and inputs quantized 16 bits PCM signal per sample at the rate of 8kHz or 16kHz sampling. This codec is interoperable with the G.729 and G.729A and the bandwidth extended wideband($50{\sim}7,000Hz$) version of existing narrowband($300{\sim}3,400Hz$) codec to enhance voice quality. The implemented G.729.1 wideband speech codec has the complexity of 31.2 MCPS for encoder and 22.8 MCPS for decoder and the execution time of the codec takes 11.5ms total on the target with 6.75ms and 4.76ms respectively. Also this codec was tested bit by bit exactly against all set of test vectors provided by ITU-T and passed all the test vectors. Besides the codec operated well on the Internet phone in real-time.