一封要求更换后缀的邮件
1995年7月14日12时29分,Fraunhofer集成电路研究所的一封内部邮件公布了文件扩展名调查结果:ISO MPEG Audio Layer 3的文件统一采用.mp3。研究所后来保存的英文译文要求,今后的网页、共享软件和演示材料不要再沿用.bit。这项决定发生在德国埃尔朗根的音频研究团队中,处理的是研究成果怎样被识别和分发的实际问题。
邮件的措辞表明,命名面向的已经包括万维网页面和可供试用的软件。后缀使用户在目录、下载链接及软件说明里看到一致的标记,但更换字母本身不会把普通声音文件压缩,也不会使一个不合规范的文件变成可播放的MP3。
参考:[1]
命名以前已经存在的编码体系
卡尔海因茨·勃兰登堡在1999年的技术论文中,把Layer 3的定义追溯到1991年,并把MPEG第一阶段标准的采纳记在1992年末。1998年的RFC 2250则把ISO/IEC 11172的正式标准文献列为1993年。因此,技术方案形成、标准文献出版和1995年文件命名,属于相邻却不同的步骤。
MPEG-1把音频编码分成三个层级,Layer 3是其中较复杂、面向低比特率音质的方案。MP3的“3”指这个层级,不能读成第三代MPEG标准。它也不是某一播放器的专用名称;不同实现需要遵守共同的数据格式和解码规则,才可能交换音频。
文件变小所付出的代价
感知音频编码利用听觉掩蔽现象,安排哪些误差较不易被听见。编码器分析声音的频率成分,根据听觉模型分配量化精度,再把所得数据组织成压缩码流。目标是减少需要保存或传送的数据,同时尽量保留听感,而非逐比特还原原录音。
因此,同样挂着.mp3后缀的文件,音质仍可能不同。比特率、声音内容及编码器的处理都会影响结果;压得过低可能丢失高频细节或产生瞬态前的噪声。共同标准保证了解读文件的基本办法,却不保证每个编码器做出同样好的取舍。
参考:[2]
文件流通与实时传送是两层工作
统一扩展名便利了文件分发,声音跨网络实时播放还需要处理另一组问题。1998年1月发布的RFC 2250专门规定怎样用实时传输协议RTP封装MPEG音视频。其音频部分允许在一个网络包中装入多个完整音频帧;若一帧过大,也可以分成几个包,并用片段偏移量帮助接收端定位。时间戳承担播放时间的标记。
这份稍后的技术文件说明,压缩后的数据格式与网络运输办法并不是同一回事。文件保存、包的分割以及接收端播放,需要各自的约定相互衔接。1995年的邮件统一了面对用户的名称,不能据此把后来的网络协议和消费设备都提前算作当天的成果。