免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2997 | 回复: 0
打印 上一主题 下一主题

AMR音频编码器概述及文件格式分析 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2010-01-24 23:37 |只看该作者 |倒序浏览
全称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 帧格式:
AMR 有两种类型的帧格式:AMR IF1 和 AMR IF2
1. AMR IF1:
  IF1 的帧格式如下图所示:

FrameType, Mode Indication, Mode
Request 对应上面两个表格里的数。从上面的表格里我们可以看
出,这三个域的值是相同的。所以在IF2中省略了Mode Indication,
Mode Request 两个域。
Frame Quality Indicator: 0表示bad frame 或者corrupted frame; 1表示 good frame
每一帧的数据有分为三个部分:Class A/B/C
Class A:一帧中最敏感、最重要的数据。一旦这一部份数据有损坏,整个帧就无法解码,就损坏了。所以,一般在
无线传输的时候要使用各种冗余的方式对这部分数据加以保护。
Class B:相对于Class A不那么重要的数据。
Class C:比Class B还不重要的数据。

2. AMR IF2:
  IF2的帧格式如下图所示:

相对于IF1, IF2 省去了Frame Quality Indicator, Mode Indication, Mode Request 和CRC 校验。但是增加了bit 填充。因为AMR帧中数据的长度并不是字节(8bit)的整数倍,所以在有些帧的末尾需要增加bit填充,以使整个帧的长度达到字节的整数倍。
有关IF2帧中各个域的信息请参考下面的帧大小节
的表格。

三、帧大小
1. AMR-NB
   
        
            
            Frame Type Index
            
            
            Frame content
            
            
            Number of bits in Frame
Type
            
            
            Number of Bits in AMR Core Frame
            
            
            Number of Bits in
Bit Stuffing
            
            
            Number of octets (N)
            
        
        
            
            0
            
            
            AMR 4,75  
            
            
            4
            
            
            95
            
            
            5
            
            
            13
            
        
        
            
            1
            
            
            AMR 5,15
            
            
            4
            
            
            103
            
            
            5
            
            
            14
            
        
        
            
            2
            
            
            AMR 5,90
            
            
            4
            
            
            118
            
            
            6
            
            
            16
            
        
        
            
            3
            
            
            AMR 6,70
            
            
            4
            
            
            134
            
            
            6
            
            
            18
            
        
        
            
            4
            
            
            AMR 7,40
            
            
            4
            
            
            148
            
            
            0
            
            
            19
            
        
        
            
            5
            
            
            AMR 7,95
            
            
            4
            
            
            159
            
            
            5
            
            
            21
            
        
        
            
            6
            
            
            AMR 10,2
            
            
            4
            
            
            204
            
            
            0
            
            
            26
            
        
        
            
            7
            
            
            AMR 12,2
            
            
            4
            
            
            244
            
            
            0
            
            
            31
            
        
        
            
            8
            
            
            AMR SID
            
            
            4
            
            
            39
            
            
            5
            
            
            6
            
        
        
            
            9
            
            
            GSM-EFR SID
            
            
            4
            
            
            43
            
            
            1
            
            
            6
            
        
        
            
            10
            
            
            TDMA-EFR SID
            
            
            4
            
            
            38
            
            
            6
            
            
            6
            
        
        
            
            11
            
            
            PDC-EFR SID
            
            
            4
            
            
            37
            
            
            7
            
            
            6
            
        
        
            
            12-14
            
            
            For future use
            
            
            -
            
            
            -
            
            
            -
            
            
            -
            
        
        
            
            15
            
            
            No Data
            
            
            4
            
            
            0
            
            
            4
            
            
            1
            
        
   

Number of bits in Classes A, B,
and C for each AMR codec
mode
   
        
            
            Frame Type
            
            
            AMR
codec mode
            
            
            Total number of bits
            
            
            Class A
            
            
            Class B
            
            
            Class C
            
        
        
            
            0
            
            
            4,75
            
            
            95
            
            
            42
            
            
            53
            
            
            0
            
        
        
            
            1
            
            
            5,15
            
            
            103
            
            
            49
            
            
            54
            
            
            0
            
        
        
            
            2
            
            
            5,90
            
            
            118
            
            
            55
            
            
            63
            
            
            0
            
        
        
            
            3
            
            
            6,70
            
            
            134
            
            
            58
            
            
            76
            
            
            0
            
        
        
            
            4
            
            
            7,40
            
            
            148
            
            
            61
            
            
            87
            
            
            0
            
        
        
            
            5
            
            
            7,95
            
            
            159
            
            
            75
            
            
            84
            
            
            0
            
        
        
            
            6
            
            
            10,2
            
            
            204
            
            
            65
            
            
            99
            
            
            40
            
        
        
            
            7
            
            
            12,2
            
            
            244
            
            
            81
            
            
            103
            
            
            60
            
        
   

2. AMR-WB:
Composition of AMR-WB IF2 Frames
for all Frame Types



   
        
            
            Frame Type Index
            
            
            Frame content
            
            
            Number of bits in Frame
Type
            
            
            Number of bits in Frame
Quality Indicator
            
            
            Number of Bits in AMR-WB
Core Frame
            
            
            Number of Bits in Bit
Stuffing
            
            
            Number of octets (N)
            
        
        
            
            0
            
            
            AMR-WB 6.60 kbit/s
            
            
            4
            
            
            1
            
            
            132
            
            
            7
            
            
            18
            
        
        
            
            1
            
            
            AMR-WB 8.85 kbit/s
            
            
            4
            
            
            1
            
            
            177
            
            
            2
            
            
            23
            
        
        
            
            2
            
            
            AMR-WB 12.65 kbit/s
            
            
            4
            
            
            1
            
            
            253
            
            
            6
            
            
            33
            
        
        
            
            3
            
            
            AMR-WB 14.25 kbit/s
            
            
            4
            
            
            1
            
            
            285
            
            
            6
            
            
            37
            
        
        
            
            4
            
            
            AMR-WB 15.85 kbit/s
            
            
            4
            
            
            1
            
            
            317
            
            
            6
            
            
            41
            
        
        
            
            5
            
            
            AMR-WB 18.25 kbit/s
            
            
            4
            
            
            1
            
            
            365
            
            
            6
            
            
            47
            
        
        
            
            6
            
            
            AMR-WB 19.85 kbit/s
            
            
            4
            
            
            1
            
            
            397
            
            
            6
            
            
            51
            
        
        
            
            7
            
            
            AMR-WB 23.05 kbit/s
            
            
            4
            
            
            1
            
            
            461
            
            
            6
            
            
            59
            
        
        
            
            8
            
            
            AMR-WB 23.85 kbit/s
            
            
            4
            
            
            1
            
            
            477
            
            
            6
            
            
            61
            
        
        
            
            9
            
            
            AMR-WB SID (Comfort Noise
Frame)
            
            
            4
            
            
            1
            
            
            40
            
            
            3
            
            
            6
            
        
        
            
            10-13
            
            
            For future use
            
            
            -
            
            
            -
            
            
            -
            
            
            -
            
            
            -
            
        
        
            
            14
            
            
            speech lost
            
            
            4
            
            
            1
            
            
            0
            
            
            3
            
            
            1
            
        
        
            
            15
            
            
            No Data (No
transmission/No reception)
            
            
            4
            
            
            1
            
            
            0
            
            
            3
            
            
            1
            
        
   

   
        
            
            Frame
Type
            
            
            AMR-WB
codec
mode
            
            
            Total
number of bits
            
            
            Class
A
            
            
            Class
B
            
            
            Class
C
            
        
        
            
            0
            
            
            6.60
            
            
            132
            
            
            54
            
            
            78
            
            
            0
            
        
        
            
            1
            
            
            8.85
            
            
            177
            
            
            64
            
            
            113
            
            
            0
            
        
        
            
            2
            
            
            12.65
            
            
            253
            
            
            72
            
            
            181
            
            
            0
            
        
        
            
            3
            
            
            14.25
            
            
            285
            
            
            72
            
            
            213
            
            
            0
            
        
        
            
            4
            
            
            15.85
            
            
            317
            
            
            72
            
            
            245
            
            
            0
            
        
        
            
            5
            
            
            18.25
            
            
            365
            
            
            72
            
            
            293
            
            
            0
            
        
        
            
            6
            
            
            19.85
            
            
            397
            
            
            72
            
            
            325
            
            
            0
            
        
        
            
            7
            
            
            23.05
            
            
            461
            
            
            72
            
            
            389
            
            
            0
            
        
        
            
            8
            
            
            23.85
            
            
            477
            
            
            72
            
            
            405
            
            
            0
            
        
   


四、PCM16和AMR之间的转换
Amr 一帧为20毫秒
以AMR 4.75Kbits/s为例:
每秒产生的声音位数 = 4750bits/s
每20ms帧占用的位数 = 4750bits/s / 50frames/s = 95bits
每20ms帧占用的字节数 = 95bits /
8bits/byte = 11.875bytes - 圆整到12字节,不足的补0
加上一个字节的帧头,所以,20ms一帧的AMR: 12-bytes +
1-byte = 13-bytes
相反,转换回来就成了
13-bytes * 50frames/s * 8bits/byte = 5200bits/s
注意,这里两个数值并不对应,是由于圆整的原因

五、 AMR 文件的存储格式(RFC 3267):
AMR IF1, IF2定义了 AMR的帧格式, 用于无线传输用。 RFC 3267定义了把AMR数据存成文件的文件格式。
AMR的文件格式如下图1所示:
它包含一个文件头,然后就是一帧一帧的AMR数据了。

1.       文件头格式:
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 in hexadecimal).
AMR-WB的magic number:"#!AMR-WB_MC1.0\n"
                         (or
0x2321414d522d57425F4D43312E300a in hexadecimal).

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

其中 reserved bits必须为0, CHAN:表示当前文件中含有几个声道。

帧头的格式:
帧头的格式如图2 所示, 它占1个字节(8个bit)
P为填充为设置为0
FT为编码模式, 即
上面提到的16中
编码模式。
Q为帧质量指示器,如果为0表明帧被损坏。

图3 列举了AMR-NB 5.9Kbit的一个帧的格式,
对于5.9kbit一帧的有118bit的数据,15*8=120=118+2, 所以在最后有2个bit的填充位。

参考文献:
RFC3267
RTP Payload Format for AMR and AMR-WB
3GPP
TS 26.201 V6.0.0
3GPP
TS 26.101 V6.0.0
AMR的源码可以在3GPP的网页下载,NB,和WB都有,一个浮点库,一个是定点库,要分清楚
               
               
               

本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u2/64117/showart_2159416.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP