EVRC

EVRC(Enhanced Variable Rate Codec)은 RCELP을 기반으로 해서 CDMA 환경에서 강건성(robustness)과 가변 비트율에서 동작할 수 있도록 적당하게 변형이 되었습니다. RCELP는 CELP(Code-Excited Linear Prediction) 알고리듬을 일반화한 것입니다. 기존의 CELP 인코더와는 다르게, RCELP는 원래 음성 신호와 정확하게 일치하는 것을 찾지 않습니다. 대신에 RCELP는 단순화된 피치 윤곽에 맞는 원래 residual 신호의 시간-왜곡된(time-warped) 형태와 일치시킵니다. 각 프레임에 피치의 시간지연(pitch delay)를 추정하고 각 프레임 단위로 피치를 선형으로 채워 넣음(linear interpolation)으로써 피치 윤곽을 계산합니다. 이렇게 단순하게 피치를 표현하는 장점은 기존의 피치 계산법에 비해서 각 프레임에서 확률적 excitation과 채널 손상 보호에 더 많은 비트을 사용할 수 있습니다. 결국 비트 오류가 없는 환경에서는 인지할 수 있는 음질에는 저하가 없으면서 개선된 오류 성능을 제공합니다.

지원 비트스트림 특성

  • 호환성
    • TIA-EIA-IS-127 기술 요구사항
  • 샘플링 주파수 : 8 KHz
  • 비트율 : 9.6/4.8/1.2 Kbps
  • 시간지연 :
    • 프레임 길이 : 20 ms
    • Lookahead : 5 ms
  • 채널 : 모노(1ch)
  • 지원 툴 : 후처리 필터, 잡음 억제 기능

지원 소프트웨어 특성

  • 재진입이 가능한(reentrant) 코드. 다중스레드(multithread)와 동적인 메모리 할당.
  • 지원되는 라이브러리 포맷
    • ADS 1.2
    • RealView 4.0
    • WinCE (Embedded Visual C)
    • Android
    • iOS
  • Data 메모리 : 실시간으로 할당 가능
  • API : C에서 호출이 가능한 API

코덱 성능 및 메모리 사양 (ARM9E 기준)

  • 복잡도 : 50.3 MHz (인코더) 15.6 MHz (디코더)
  • Code ROM : 50 KB
  • Constant Data ROM : 20 KB
  • RAM : 15 KB