AMR音频格式分析
2016年10月19日 19:58:24 -鸣人- 阅读数:5058 标签: amr audio 更多
一. AMR音频格式概述
AMR,全称是:Adaptive Multi-Rate,自适应多速率,是一种音频编码文件格式,专用于有效地压缩语音频率。
AMR音频主要用于移动设备的音频压缩,压缩比非常高,但是音质比较差,主要用于语音类的音频压缩,不适合对音质要求较高的音乐类音频的压缩。
1.1 AMR分类
1. AMR:
又称为AMR-NB,相对于下面的WB而言,
语音带宽范围:300-3400Hz,
8KHz抽样
2. AMR-WB:
AMR WideBand,
语音带宽范围: 50-7000Hz
16KHz抽样
“AMR-WB”全称为“Adaptive Multi-rate - Wideband”,即“自适应多速率宽带编码”,采样频率为16kHz,是一种同时被国际标准化组织ITU-T和3GPP采用的宽带语音编码标准,也称 为G722.2标准。AMR-WB提供语音带宽范围达到50~7000Hz,用户可主观感受到话音比以前更加自然、舒适和易于分辨。
与之作比较,现在GSM用的EFR(Enhenced Full Rate,增强型全速率编码)采样频率为8kHz,语音带宽为200~3400Hz。
AMR-WB应用于窄带GSM(全速信道16k,GMSK)的优势在于其可采用从6.6kb/s, 8.85kb/s和12.65kb/s三种编码,当网络繁忙时C/I恶化,编码器可以自动调整编码模式,从而增强QoS。在这种应用中,AMR-WB抗扰 度优于AMR-NB。
AMR-WB应用于EDGE、3G可充分体现其优势。足够的传输带宽保证AMR-WB可采用从6.6kb/s到23.85kb/s共九种编码,语音质量超越PSTN固定电话。
1.2 AMR编码方式
1. AMR-NB编码方式
AMR 一共有16种编码方式, 0-7对应8种不同的编码方式, 8-15 用于噪音或者保留用:
Frame Type | Mode Indication | Mode Request | Frame content (AMR mode, comfort noise, or other) |
0 | 0 | 0 | AMR 4,75 kbit/s |
1 | 1 | 1 | AMR 5,15 kbit/s |
2 | 2 | 2 | AMR 5,90 kbit/s |
3 | 3 | 3 | AMR 6,70 kbit/s (PDC-EFR) |
4 | 4 | 4 | AMR 7,40 kbit/s (TDMA-EFR) |
5 | 5 | 5 | AMR 7,95 kbit/s |
6 | 6 | 6 | AMR 10,2 kbit/s |
7 | 7 | 7 | AMR 12,2 kbit/s (GSM-EFR) |
8 | - | - | AMR SID |
9 | - | - | GSM-EFR SID |
10 | - | - | TDMA-EFR SID |
11 | - | - | PDC-EFR SID |
12-14 | - | - | For future use |
15 | - | - | No Data (No transmission/No reception) |
2. AMR-WB编码方式
Frame Type Index | Mode Indication | Mode Request | Frame content (AMR-WB mode, comfort noise, or other) |
0 | 0 | 0 | AMR-WB 6.60 kbit/s |
1 | 1 | 1 | AMR-WB 8.85 kbit/s |
2 | 2 | 2 | AMR-WB 12.65 kbit/s |
3 | 3 | 3 | AMR-WB 14.25 kbit/s |
4 | 4 | 4 | AMR-WB 15.85 kbit/s |
5 | 5 | 5 | AMR-WB 18.25 kbit/s |
6 | 6 | 6 | AMR-WB 19.85 kbit/s |
7 | 7 | 7 | AMR-WB 23.05 kbit/s |
8 | 8 | 8 | AMR-WB 23.85 kbit/s |
9 | - | - | AMR-WB SID (Comfort Noise Frame) |
10-13 | - | - | For future use |
14 | - | - | speech lost |
15 | - | - | No Data (No transmission/No reception) |
说明:
l 比特率是指将数字声音由模拟格式转化成数字格式的采样率,采样率越高,还原后的音质就越好。
l 比特率值与现实音频对照:
16kbps=电话音质
24kbps=增加电话音质、短波广播、长波广播、欧洲制式中波广播
40kbps=美国制式中波广播
56kbps=话音
64kbps=增加话音(手机铃声最佳比特率设定值、手机单声道MP3播放器最佳设定值)
112kbps=FM调频立体声广播
128kbps=磁带(手机立体声MP3播放器最佳设定值、低档MP3播放器最佳设定值)
160kbps=HIFI高保真(中高档MP3播放器最佳设定值)
192kbps=CD(高档MP3播放器最佳设定值)
256kbps=Studio音乐工作室(音乐发烧友适用)
l 音频数据帧大小的计算:
amr 一帧对应20ms,那么一秒有50帧的音频数据。由于比特率不同,每帧的数据大小也不同。
如果比特率是12.2kbs,那么每秒采样的音频数据位数为:
12200 / 50 = 244bit = 30.5byte,取整为31字节。
取整要四舍五入。
再加上一个字节的帧头,这样数据帧的大小为32字节。
二. AMR音频格式剖析
AMR文件格式如下所示:
Header(文件头) |
Speech frame 1(语音帧1) |
… |
Speech fram n(语音帧n) |
它包含一个文件头,然后就是一帧一帧的AMR数据了。
具体如下:
2.1 AMR文件头
AMR 文件支持单声道和多声道。单声道和多声道的文件头是不同的。单声道(AMR-NB)只包含一个Magic number;多声道(AMR-WB)包含Magic number和一个32位的Chanel description field,多声道情况下的32位通道描述字符,前28位都是保留字符,必须设置成0,最后4位说明使用的声道个数。多声道文件头长度比单声道文件头长度大4个字节。
1. 单声道:
AMR-NB文件头: "#!AMR\n" (or 0x2321414d520a in hexadecimal)(引号内的部分)
AMR-WB 文件头:"#!AMR-WB\n" (or 0x2321414d522d57420a in hexadecimal).(引号内)
2. 多声道:
多声道的文件头包含一个magic number和32bit channle description域。
Magic number |
Chan-desc field |
AMR-NB 的magic number:"#!AMR_MC1.0\n"
(or 0x2321414d525F4D43312E300a in hexadecimal).
AMR-WB的magic number:"#!AMR-WB_MC1.0\n"
(or 0x2321414d522d57425F4D43312E300a in hexadecimal).
32bit的channel description域的定义如下:
其中 reserved bits必须为0, CHAN:表示当前文件中含有几个声道。