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