您的位置:首页 > 其它

AMR音频编码器概述及文件格式分析

2015-08-22 15:44 561 查看

AMR音频编码器概述及文件格式分析

全称Adaptive Multi-Rate,自适应多速率编码,主要用于移动设备的音频,压缩比比较大,但相对其他的压缩格式质量比较差,由于多用于人声,通话,效果还是很不错的。

一、分类

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. 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)
 
-
-
 

三、AMR 帧格式:

1. AMR IF1:

FrameType, Mode Indication, Mode Request

这三个域的值是相同的。所以在IF2中省略了Mode Indication, Mode Request 两个域。

Frame Quality Indicator: 0表示bad frame 或者corruptedframe; 1表示 good frame

 

每一帧的数据有分为三个部分:Class A/B/C

Class A:一帧中最敏感、最重要的数据。一旦这一部份数据有损坏,整个帧就无法解码,就损坏了。

所以,一般在无线传输的时候要使用各种冗余的方式对这部分数据加以保护。

Class B:相对于Class A不那么重要的数据。

Class C:比Class B还不重要的数据。

 

2. AMR IF2:

相对于IF1, IF2 省去了FrameQuality Indicator, Mode Indication, Mode Request 和CRC 校验。

但是增加了bit 填充。因为AMR帧中数据的长度并不是字节(8bit)的整数倍,所以在有些帧的末尾需要增加bit填充,以使整个帧的长度达到字节的整数倍。

 

四、AMR 文件的存储格式(RFC3267):

AMR IF1, IF2定义了 AMR的帧格式, 用于无线传输用。 RFC 3267定义了把AMR数据存成文件的文件格式。

它包含一个文件头,然后就是一帧一帧的AMR数据了。

<!--[if!supportLists]-->1.      <!--[endif]-->文件头格式:

AMR 文件支持单声道和多声道。单声道和多声道的文件头是不同的。

 

单声道:

AMR-NB文件头:"#!AMR"n" (or 0x2321414d520a in hexadecimal)(引号内的部分)

AMR-WB 文件头:"#!AMR-WB"n"(or 0x2321414d522d57420a in hexadecimal).(引号内)

 

多声道:

多声道的文件头包含一个magic number和32bit channle description域。

AMR-NB 的magic number:"#!AMR_MC1.0"n"

(or 0x2321414d525F4D43312E300a inhexadecimal).

AMR-WB的magic number:"#!AMR-WB_MC1.0"n"

                         (or 0x2321414d522d57425F4D43312E300ain hexadecimal).

32bit的channel description域的定义如下:

其中 reservedbits必须为0, CHAN:表示当前文件中含有几个声道。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: