注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

眼睛想旅行

技术就是我的生命与信仰!

 
 
 

日志

 
 
关于我

精通C,C++,python,Erlang。并熟悉各种其他编程语言,用cocos2dx游戏引擎作过几个项目。会MySQL增删改查,了解OpenGL渲染原理。懂单片机,能设计数字电路系统,会画电路图和设计电路板。喜欢了解最新前沿技术,并持续关注和学习新技术。

网易考拉推荐

MPEG的帧Frame(转)  

2014-05-06 10:15:19|  分类: Erlang |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

学习erlang的时候,有一个mpeg数据帧解析的例子,正好在网上找到这个转来一起学习了。

MPEG音频文件,由一个个的帧(Frame)组成。

每一MPEG帧都有个帧头(Frame Header),位于帧的最开始处,接下来的是音频数据(Audio Sample/Audio Data),即:

MPEG帧 = MPEG帧头 + MPEG音频数据

下面分别详细介绍MPEG帧头和音频数据的细节内容:

3.1. MPEG帧头(Frame Header)

MPEG音频的三种Layer的,尽管他们的压缩方法各不相同,但是帧头格式都一样。

先说一下大小,MPEG帧头,共32bit=4字节。

然后再看具体的格式及含义,如下所示:

表 3.1. MPEG音频的帧头的格式

位置(bit)长度(bit)含义示例
011用于同步帧,找到此帧头(所有位均置1)1111 1111 111
112
MPEG音频的版本ID
00MPEG 2.5 (MPED-2的非官方扩展版本)
01保留
10MPEG 2 (ISO/IEC 13818-3)
11MPEG 1 (ISO/IEC 11172-3)
11
132
Layer的索引
00保留
01Layer III
10Layer II
11Layer I
01
151
保护位
0用16位的CRC保护下面的帧头
1无CRC
1
164详见:表 3.2 “MPEG比特率索引表(单位:Kbit/s)”1001
202详见:表 3.3 “MPEG帧的采样率索引表(单位:Hz)”11
221填充位。如果设置了此位,就会对每帧数据填充一个slot (对于帧大小的计算很重要)0
231私有位 (仅用于标示性的)1
242
声道的模式
00立体声
01混合立体声
10双声道(两个单声道)
11一个声道 (单声道)
01
262模式扩展 (仅用于联合立体声) (注:此处不是本文重点,故忽略相关的索引表)00

[提示]双声道
双声道文件由两个独立的单声道所组成。大多数解码器把双声道输出成立体声,但是实际上,不是所有的双声道都是立体声的。

表 3.2. MPEG比特率索引表(单位:Kbit/s)

比特率索引MPEG 1MPEG 2, 2.5 (LSF)
Layer ILayer IILayer IIILayer ILayer II & III
0000空闲
0001323232328
00106448404816
00119656485624
010012864566432
010116080648040
011019296809648
01112241129611256
100025612811212864
100128816012814480
101032019216016096
1011352224192176112
1100384256224192128
1101416320256224144
1110448384320256160
1111空闲

[提示]常见MP3的比特率

强调部分:就是我们此处所关心的MP3(MPEG-1,Layer III)的比特率。

红色部分:即128kbps,192kbps,320kbps等,就是我们常见的MP3的比特率。

表 3.3. MPEG帧的采样率索引表(单位:Hz)

采样率索引MPEG 1MPEG 2 (LSF)MPEG 2.5 (LSF)
0044100 Hz22050 Hz11025 Hz
0148000 Hz24000 Hz12000 Hz
1032000 Hz16000 Hz8000 Hz
11空闲

[提示]常见MP3采样率

强调部分:就是我们最常见的MP3(MPEG-1)的采样率44100Hz=44.1K Hz

从上面MPEG帧头的格式中可以看出,MPEG的音频,都是有相对固定的比特率,采样率等参数,关于这每一帧的这些参数的具体值,都是找到索引值,然后查对应的索引表,而得知具体的值。

不过,顺便提一点,在MPEG标准中,也描述了一种自由格式(free format),这种自由格式意思为用一个固定比特率对文件进行编码,而此固定的比特率不是我们那些索引表中所预定义好的。对于这类自由格式的MPEG音频,一般的解码器都无法解码。

3.1.1. 举例说明MPEG帧头的含义

下图给出了一般MP3的格式及举例说明了MPEG的帧头所对应的信息:

图 3.1. MPEG帧头含义举例

MPEG的帧Frame(转) - ♂苹果 - 眼睛想旅行

 

  评论这张
 
阅读(396)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017