AMR (코덱)
1. 개요
AMR 코덱은 4.75 kbit/s에서 12.2 kbit/s까지 다양한 비트 전송률을 지원하는 음성 코덱으로, 불연속 전송(DTX), 음성 활동 감지(VAD) 및 컴포트 노이즈(CNG) 등의 기술을 사용하여 대역폭 사용량을 줄인다. 무선 채널 및 용량 요구 사항에 따라 최적의 코덱 모드를 선택하는 링크 적응 기능을 제공하며, 하이브리드 음성 코더로 선형 예측 부호화(LPC)와 대수 코드 여기 선형 예측(ACELP)을 사용한다. AMR 코덱은 다양한 소프트웨어 및 장치에서 지원되며, 라이선스 및 특허와 관련된 문제가 있다.
-
음성 코덱 -
G.711
G.711은 8 kHz 표본 추출 주파수와 64 kbit/s의 비트 전송률을 갖는 파형 음성 코더로, μ-law와 A-law라는 두 가지 컴팬딩 알고리즘을 사용하며, 부록 I, II 및 확장 표준을 통해 네트워크 환경에서의 효율성과 음질을 높인다. -
음성 코덱 -
G.729
G.729는 ITU-T에서 표준화한 8kbps의 음성 코덱으로, ACELP 코딩 방식을 사용하여 VoIP, 화상 회의 등 다양한 통신 시스템에서 활용되며, G.729a(낮은 복잡도), G.729b(음성 활동 감지 및 불연속 전송 기능) 등의 부록을 가진다. -
오디오 코덱 -
NICAM
NICAM은 1970년대 BBC에서 개발된 디지털 오디오 방송 시스템으로, 32kHz 샘플링 주파수와 14비트 PCM을 사용하여 음성 신호를 인코딩하고 스테레오 음향, 이중 언어 방송, 데이터 채널 전송 등의 기능을 제공하며 아날로그 방송의 음성 전송 방식으로 사용되었으나 디지털 방송으로의 전환으로 사용이 줄어들었다. -
오디오 코덱 -
G.711
G.711은 8 kHz 표본 추출 주파수와 64 kbit/s의 비트 전송률을 갖는 파형 음성 코더로, μ-law와 A-law라는 두 가지 컴팬딩 알고리즘을 사용하며, 부록 I, II 및 확장 표준을 통해 네트워크 환경에서의 효율성과 음질을 높인다.
2. 특징
AMR 코덱은 4.75 kbit/s에서 12.2 kbit/s까지 8개의 소스 코덱을 사용하여 다양한 비트 전송률을 지원한다. 각 프레임은 160개의 샘플을 포함하며 길이는 20ms이다. 샘플링 주파수는 8kHz/13비트이며, 200~3400Hz로 필터링된다.
AMR은 불연속 전송(DTX), 음성 활동 감지(VAD), 컴포트 노이즈(CNG) 등의 기술을 사용하여 무음 구간 동안 대역폭 사용량을 줄인다. 또한, 선형 예측 부호화(LPC)를 통해 잔여 파형에서 음성을 합성하고, 대수 코드 여기 선형 예측(ACELP)을 사용하여 잔여 파형을 코딩하는 하이브리드 음성 코더이다.
AMR의 알고리즘 복잡도는 5로 평가되는데, 이는 G.711 (1)이나 G.729a (15)에 비해 상대적으로 낮은 수치이다. 이상적인 조건에서 PSQM 테스트 결과, AMR(12.2kbit/s)의 평균 의견 점수(MOS)는 4.14로, G.711 (μ-law)의 4.45보다 약간 낮게 나타났다. 네트워크 스트레스 환경에서는 AMR(12.2kbit/s)의 MOS는 3.79, G.711 (μ-law)는 4.13으로 나타났다.
3. 사용
AMR은 무선 채널 및 용량 요구 사항에 따라 최적의 코덱 모드를 선택하는 링크 적응 기능을 제공한다. 무선 조건이 좋지 않은 경우, 소스 코딩을 줄이고 채널 코딩을 늘려 네트워크 연결의 품질과 견고성을 향상시킨다. 네트워크 운영자는 기지국별로 용량 또는 품질의 우선 순위를 정할 수 있다.
3.1. AMR 모드
AMR 코덱에는 총 14가지 모드가 있으며, 8개는 전체 속도 채널(FR)에서 사용할 수 있고 6개는 반 속도 채널(HR)에서 사용할 수 있다.
| 모드 | 비트 전송률 (kbit/s) | 채널 | 호환 가능 |
|---|---|---|---|
| AMR_12.20 | 12.20 | FR | ETSI GSM 향상된 전체 속도 |
| AMR_10.20 | 10.20 | FR | |
| AMR_7.95 | 7.95 | FR/HR | |
| AMR_7.40 | 7.40 | FR/HR | TIA/EIA IS-641 TDMA 향상된 전체 속도 |
| AMR_6.70 | 6.70 | FR/HR | ARIB 6.7 kbit/s 향상된 전체 속도 |
| AMR_5.90 | 5.90 | FR/HR | |
| AMR_5.15 | 5.15 | FR/HR | |
| AMR_4.75 | 4.75 | FR/HR | |
| AMR_SID | 1.80 | FR/HR |
4. 기술적 세부 사항
AMR은 하이브리드 음성 코더로, 음성 파라미터와 파형 신호를 모두 전송한다. 선형 예측 부호화(LPC)는 잔여 파형에서 음성을 합성하는 데 사용되며, LPC 파라미터는 선 스펙트럼 쌍(LSP)으로 인코딩된다. 잔여 파형은 대수 코드 여기 선형 예측(ACELP)을 사용하여 코딩된다. 알고리즘 지연 시간은 프레임당 20ms이며, 12.2 kbit/s 비트 전송률에서는 "알고리즘" 룩어헤드 지연이 없다. 다른 전송률의 경우 룩어헤드 지연은 5ms이다. 알고리즘 복잡도는 5로 평가되는데, 이는 G.711이 1, G.729a가 15인 상대적 척도를 사용한 것이다.
AMR 코덱은 12.2, 10.2, 7.95, 7.40, 6.70, 5.90, 5.15 및 4.75kbit/s의 비트 전송률을 가진 8개의 소스 코덱을 사용한다. 샘플링 주파수는 8kHz/13비트(20ms 프레임당 160 샘플)이며, 200~3400Hz로 필터링된다. AMR은 불연속 전송(DTX)을 활용하며, 음성 활동 감지(VAD) 및 컴포트 노이즈(CNG)를 사용하여 무음 구간 동안 대역폭 사용량을 줄인다.
AMR FR 비트 전송률에 따른 프레임 길이는 다음과 같다.
| 비트 전송률 (kbit/s) | 프레임 길이 (비트) |
|---|---|
| 4.75 | 95 |
| 5.15 | 103 |
| 5.90 | 118 |
| 6.70 | 134 |
| 7.40 | 148 |
| 7.95 | 159 |
| 10.2 | 204 |
| 12.2 | 244 |
이상적인 조건에서 PSQM 테스트는 AMR(12.2kbit/s)에 대해 4.14의 평균 의견 점수(MOS)를, G.711 (μ-law)에 대해 4.45를 생성한다. 네트워크 스트레스 환경에서 PSQM 테스트는 AMR(12.2kbit/s)에 대해 3.79의 MOS를, G.711 (μ-law)에 대해 4.13을 생성한다.
5. 라이선스 및 특허 문제
AMR 코덱은 노키아, 에릭슨, NTT, 그리고 보이스에이지(VoiceAge)의 여러 특허를 포함하고 있다. 보이스에이지는 AMR 특허 풀의 라이선스 관리자이다.
전문 콘텐츠 제작 도구 및 "실시간 채널" 제품에 대한 초기 수수료는 6500USD이다. 연간 최소 로열티는 10000USD이며, 첫 해에는 초기 수수료가 제외된다. 채널별 라이선스 수수료는 수량에 따라 0.99USD에서 0.5달러로 감소하며, 연간 최대 2까지이다.
개인용 컴퓨터 제품(예: 미디어 플레이어)의 경우 AMR 디코더는 무료로 라이선스가 제공된다. 판매된 인코더의 라이선스 수수료는 수량에 따라 0.4달러에서 0.3달러로 감소하며, 연간 최대 300000USD까지이다. 최소 연간 로열티는 개인용 컴퓨터 제품 범주에 속하며 무료 디코더만 사용하는 라이선스 제품에는 적용되지 않는다.
6. 소프트웨어 지원
3GPP TS 26.073 AMR 음성 코덱 참조 구현(C 소스 코드)이 있다.
다음은 AMR 코덱을 지원하는 소프트웨어 목록이다.
* Audacity (베타 버전 1.3): FFmpeg 통합 라이브러리를 통해 AMR 코덱을 입/출력 형식 모두 지원한다.
* FFmpeg: OpenCORE AMR 라이브러리를 사용하여 AMR 코덱을 지원한다.
* 안드로이드: 음성 녹음기에 AMR 코덱을 사용한다.
* [http://www.penguin.cz/~utx/amr AMR 코덱을 공유 라이브러리로]: amrnb 및 amrwb 라이브러리 개발 사이트. 참조 구현을 기반으로 하며, 특허를 받은 소스 코드가 오픈 소스 프로젝트에 포함되는 것을 방지하기 위해 제작되었다.
* .amr 형식을 변환하는 오픈 소스 소프트웨어: [http://sourceforge.net/projects/retrocode/ RetroCode], [http://sourceforge.net/projects/amr2wav/ Amr2Wav] (두 소프트웨어 모두 초기 개발 단계)
* [http://www.amrplayer.com/ AMR 플레이어]: AMR 오디오 파일을 재생하는 프리웨어이며, AMR을 MP3/WAV 오디오 형식으로 변환할 수 있다.
* [https://web.archive.org/web/20120422173730/http://www.developer.nokia.com/info/sw.nokia.com/id/d1c17a7f-1231-4385-8c17-04f28f4f2d8e/Nokia_Multimedia_Converter_2.0.html Nokia Multimedia Converter 2.0]: 샘플을 변환(생성)할 수 있으며, Nokia의 변환 도구를 사용하여 .amr 및 .awb 파일을 모두 만들 수 있다. XP 호환 모드에서 설정을 실행하면 Windows 7에서도 작동한다.
* MPlayer (SMPlayer, KMPlayer)
* Parole Media Player 0.8.1 (Ubuntu 16.04에 포함)
* QuickTime 플레이어 및 멀티미디어 프레임워크
* RealPlayer 버전 11 이상
* VLC 미디어 플레이어 버전 1.1.0 이상 (입력 형식만 지원, 출력 형식은 지원하지 않음)
* ffdshow
* 애플 아이폰 (AMR 파일 재생 가능)
* iOS 및 macOS (iMessage)
* 블랙베리(BlackBerry) 스마트폰 (음성 녹음기 파일 형식으로 사용, 블랙베리 10(BlackBerry 10)은 AMR 형식을 재생할 수 없음)
* K-Lite 코덱 팩
* Media Player Classic Home Cinema, 약 1.7.1
* 구성 요소 [https://github.com/unjello/foo_input_amr/ foo_input_amr]을 사용하는 foobar2000