免费注册 查看新帖 |

Chinaunix

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

mp3: ID3 和帧速率 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2007-02-24 16:23 |只看该作者 |倒序浏览
ID3
在一个mp3文件的头部,可能会有ID3标签信息。ID3标签信息可以包含的内容有:作家名字,标题,版权,使用条款,所有权信息,缩略图,以及评论。
ID3标准有两个版本:ID3v1和ID3v2。虽然这两个版本之间的差别不小,但是目前的绝大多数mp3播放器都能正确处理这两个版本的ID3标签信
息。ID3v2标签能够储存的信息必v1的要多很多,而且被放置在文件的头部,而不是像v1标签那样被放在尾部。原因很简单:mp3文件刚刚开始被播放的
时候就需要显示这些信息,总不能等播放结束再显示这些吧
ID3v1标签在一开始的时候被用到,却被放在mp3文件尾部。如果这些标签也能被放在文件头部,我们的生活会变得美好很多。虽然真正完全按照ISO
MPEG标准开发的mp3播放器应该能够处理任何类型的ID3标签,但ISO
MPEG标准本身在这一点上说的含含糊糊。MPEG标准只规定一个播放器应该试图找到一个“同步标志”,却没说清楚这个搜寻过程应该从哪里开始,到哪里结
束。所幸,ID3v2标签的规范在这一点上做的很好,说的很详细。
帧速率
电影行业规定了标准电影每秒钟放映的胶片帧数,以保证任何放映机都能以恒定的标准速度放映标准的胶片。Mp3标准也使用了一个通用标准。不管mp3文件本
身的比特率是多少,一个MPEG-1帧播放的时间是26毫秒,也就是说大约38帧每秒。如果比特率更高,帧大小会增加,但是帧速率并不增加,仍然是26毫
秒每帧,或者说38帧每秒。此外,mp3的一个帧中保存的样本个数也是固定的:1152样本每帧。
记住:我们提到过,每一个mp3帧中包含了一个帧头,38帧每秒意味着们需要存储和读取很多的冗余信息。每一个帧头是32bit,按照38帧每秒的速率,
这意味着每秒大约总共要读取1223bit的冗余信息。一个128kbps的mp3文件的数据速率是128000bit每秒,相比之下帧头数据的量就很小
了。对任何一个给定的mp3帧来说,其大小可以用下面的公式计算:
FrameSize = 144 * BitRate / (SampleRate + Padding )
Bitrate: 比特率,bits每秒,记住1kbps=1000 bits/second。
Sample rate: 源音频数据的抽样频率
Padding: 有时编码过程不能写满一帧,会加入一些填充bit。例如当以128kbps的速率对一个声音文件进行编码,源数据的抽样频率是44100Hz,没有填充,这样的一个mp3帧大小可以计算如下:
144 * 128000 / (44100 + 0) = 417.96 bytes
               
               
               

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

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP