MPEG Audio Frame Header
来源:互联网 发布:2016双十一淘宝销售额 编辑:程序博客网 时间:2024/05/22 13:14
MPEG Audio Frame Header由4个字节组成。每个字节的含义如表1所示:
表1 MPEG Audio Frame Header结构
1、Bitrate Index表
Bitrate Index表如表2所示:
表2 Bitrate Index表
MPEG可以使用VBR(Variable Bitrate),这意味着每个frame的bit rate可能不一样。有两种使用VBR的方法:
(1)Bitrate Switching:每一帧都可能有一个不同的bitrate。Layer III解码器必须支持这种方法,而Layer I和Layer II可以支持这种方法。
(2)Bit Reservoir:为了提供更多的bit给demanding parts of the input signal,在限制范围内借用前面帧的bitrate。这将导致帧与帧之间不在是相互独立的。这种方法仅仅在LayerIII中支持。
2、Sample Rate Index表
Sample Rate Index表如表3所示:
表3 Sample Rate Index表
3、Padding Bit
当Padding Bit为1时,需要在frame的后面加一个slot。对于Layer I,slot是32位的,而对于Layer II和Layer III,slot是8位的。
4、Calculate Frame Length
首先说一下Frame Size和Frame Length的区别。Frame Size是指一帧数据中包含的采样点的个数,是一个常数。对于Layer I 来说,这个值通常为384,对于Layer II 和Layer III来说,这个值通常为1152。Frame Length是指一帧数据压缩后所包含的数据长度,并且需要将padding考虑进去。由于padding和Bitrate Switching,Frame Length在不同的帧之间,可能是不相同的。
Frame Length的计算方法如下所示。
Layer I:
FrameLengthInBytes = (12 * BitRate / SampleRate + Padding) * 4
Layer II 和Layer III:
FrameLengthInBytes = 144 * BitRate / SampleRate + Padding
5、一个简单的例子
一个MPEG Audio Frame的header为:0Xff fb b2 00,它对应的二进制码,从高位到低位的顺序如下所示:
1111 1111 | 1111 1011 | 1011 0010 | 0000 0000
根据表1所示的MPEG Audio Frame Header的结构及含义,可知:
(1)Version ID为11,即是MPEG Version 1。
(2)Layer Description为01,即是LayerIII。
(3)Bitrate Index为1011,根据Bitrate Index表,结合Version ID和Layer Description,可得bit rate为192kbps。
(4)Sample Rate Index为00,根据Sample Rate Index表,结合Version ID,可得sample rate为44100Hz。
(5)Padding bit为1,即在frame后面会有一个slot。
根据以上的分析,可以计算出该frame length的值:
FrameLengthInBytes = 144 * BitRate / SampleRate + Padding
= 144 * 192 * 1000 / 44100 + 1
= 627
- MPEG audio frame header
- MPEG Audio Frame Header
- MPEG Audio Frame Header
- MPEG Audio Frame Header
- MPEG Audio Layer I/II/III frame header::http://www.mpgedit.org/mpgedit/mpeg_format/MP3Format.html
- MPEG-1 Audio 编码器
- AVI audio frame duration
- MPEG音频压缩基础MPEG Audio Compression Basics
- MPEG: Motion Picture Experts Group - Audio
- MPEG-4 Audio 关于esds 记录
- 数据压缩 MPEG-1 Audio LayerII 编码器
- MPEG的帧Frame(转)
- Firefox HTTP“Content-Type”中的“audio/x-mpeg”不支持
- 音频动态压缩第三层(MPEG Audio Layer-3)
- 《数据压缩》实验报告六·MPEG-1 Audio编码器
- MPEG AUDIO音频处理的基本知识(整理)
- mp3文件格式(frame header )---翻译
- source and header frame(visual assist x)
- platform框架
- 【菜鸟收藏:熟知针式与喷墨打印机之间的区别】
- ClassNotFoundException
- 使用 Spring 2.5 基于注解驱动的 Spring MVC
- 4. HEVC 综述
- MPEG Audio Frame Header
- Hibernate 关系映射 总结整理
- 安装VS2010SDN问题解决
- ASP.NET总结
- (三)自旋锁_zzhere2007
- Linux下调试core文件的方法
- Android 启动之旅
- 一篇正则好文,转过来
- linux 压缩命令巧记