发信人: koment(肥仔!!!)
整理人: jackneng01(2002-02-07 10:41:00), 站内信件
|
作者:goolge From:bbs.51digi.com
作为很早就已经出现的mp3,你对它究竟有多了解,下面贴了一些问答,基于这些,大家可以对mp3有一个比较清晰的概括认识。如果有高手认为有什么不对的,不好的地方能说明mp3有很大缺陷,可以提出来,大家共同提高,如果只是主观的认为mp3本身就有缺陷的,但是说不出道理的,您可以看看,这个帖子不是又一个吵架的地方。
还有,我找不到从前的那个说md格式的科技帖子,原来置顶的那个,谁还记得名称,帮忙顶上来。
还有,看到了一下lame的网页,原来lame本身并不是一个mp3的encode的软件,而是一个发展mp3技术的project,看来我们对lame的原来理解有些狭隘了。
常见问题解答
--------------------------------------------------------------------------------
问:OK,Layer-3对于许多应用来说显然是个关键,但它又有什么限制?
答:Layer-3是一种知觉音频编码方案,利用了人耳的特性,同时尝试尽可能地维持原来的声音质量。
与之对比,一个专门的语音编码解码利用了人类发声器官的特性,尝试尽可能去维持语音信号的可理解性。高级语音编码方案(比如:CS-ACELP[LD-CELP],被ITU 作为标准 G.723.1 [G.728])达到最低的可用比特率的语音重放于5.3KBPS,伴随少于40毫秒的编码解码延时。在如此低的比特率,它们对纯语音信号的表现优于Layer-3,同时提供了对于全双工语音通信来说必要的低延时。
在MPEG-4的框架里,可升级的音频编码技术被设计为组合了语音编码和知觉音频编码。
问:您提到了编码解码延时,能提供些数字吗?
答:可以。标准提供了一些理论上的最小延迟数字:
Layer-1: 19 ms (<50 ms)
Layer-2: 35 ms (100 ms)
Layer-3: 59 ms (150 ms)
实际数字明显高于这些。因为它们依赖于实际执行,准确数字是很难提供的。所以,在中括号内的数字仅是大约值 -- 真正的编码解码可能显示更高的数值。当然,这些延时会使相当一部分的应用受害(如远程记者团的反馈连接)。对于许多的其他应用来说,延时并不很感兴趣。
返回目录
--------------------------------------------------------------------------------
纵览ISO-MPEG标准:MPEG是关于什么的?
问:什么是MPEG?
答:MPEG 是 Moving Picture Experts Group, “运动图象专家组”的缩写。在ISO(国际标准组织)和IEC(国际电子技术委员会)的组织下共同工作。这个团体在运动图象和音频编码标准上作研究。MPEG有自己的网页,提供了有关这些标准的各种信息。
问:什么是MPEG-1,-2,和其他?
答:MPEG逐步地接近在多媒体标准方面增长的需要。如今,三个主要步伐已经定了下来(MPEG-1,MPEG-2,MPEG-4)。
MPEG-1:为数字存储媒体在1.5M比特/s的比特率对运动图象和关联的音频进行编码。
MPEG-2:对运动图象和关联音频信息进行通用编码。
MPEG-3:原来计划主要是为HDTV(高清晰度电视)而设计的,后来,被并入了MPEG-2。
MPEG-4:对音频可视对象进行编码。
问:MPEG-3和Layer-3是同样的东西吗?
答:不!Layer-3是MPEG标准的一部分,是一种强有力的音频编码方案。Layer-3是在现存的MPEG-1和MPEG-2国际标准的音频部分上定义的。没有定义过MPEG 3标准。
问:我如何能取得MPEG文档?
答:你可以联系ISO,或者从国内的标准组织处订购。
问:有公开的C语言源程序吗?
答:有的。在不同的站点上都有公开的C源程序。比如在:
ftp.iis.fhg.de/pub/layer3/public_c/
这个代码只是用来作解释作用的,所以别指望性能会怎么样。
问:“NBC音频”?这个工作组的动机是什么?结果又怎么样?
答:在多通道音频编码(IS-13818-3)的工作中,发现矩阵处理给向后兼容(Backwards Compatible)机制带来了麻烦。需要矩阵处理去让一个MPEG-1解码器通过双通道立体声去回放所有的环绕通道。不幸的是,在反矩阵处理后,一些带入性量化噪音会变得可以听到。普遍来说,在1994年春季的一个ISO听觉测试上,BC多通道编码效果比起非ISO编码机制(比如:杜比AC-3)很差。所以,NBC工作组现在开发了一种新的音频编码机制。不仅在多通道环绕声,而且在单声道信号,NBC音频都取得了明显的素质改进(这里的目标是在64KBPS下“真正透明”)。
在1996年春季,ISO进行了一个5通道环绕声听觉测试,并且使用了总比特率为320KBPS的NBC的得分比比特率为640KBPS的Layer-2 BC要高。NBC音频也将成为MPEG-4音频编码算法中的一个成员。
返回目录
--------------------------------------------------------------------------------
关于MEPG Audio的一些基础:Layer-1,Layer-2,Layer-3之间有什么不同?
问:谈到MPEG AUDIO,我总是听到“Layer 1,2,3”,这代表什么?
答:MPEG描述了使用高素质知觉编码机制的音频信号压缩。它制定了包含有三种音频编码机制的一个家族,简单地称为:Layer-1, Layer-2, Layer-3。从Layer-1到Layer-3,编码复杂性和素质(每种比特率的声音质量)不断提高。
这三种编码解码是继承性地兼容的,也就是说,Layer-N的解码器可以解码用LAYER-N或低于N的所有LAYER来编码的音频流。
问:所以我们有一个由三种编码机制组成的家族。那MPEG标准是怎样确切地定义的?
答:对于每一个LAYER,标准都指定了比特流的格式和解码器。为了将来的改进,它没有指定编码器,但对于每一个LAYER的编码器都有一情报性的章节给出一个范例。
问:三个音频LAYER有什么共同点?
答:所有的编码器使用相同的基本结构。编码机制可以描述为“知觉噪音成型”(perceptual noise shaping)或“知觉边带/变换编码”(perceptual subband / transform coding)。编码器通过计算滤波器段(filterbank)分析音频信号的频谱组成并应用精神听觉(psychoacoustic)模式来估计仅仅可以注意得到的噪音电平。在其量化和编码阶段,编码器尝试分配尽可能的数据比特位数以同时满足比特率和屏蔽要求。
解码器的复杂程度少的多。它唯一的任务是从已编码的频谱成分中把音频信号合成出来。
所有的“层”使用同样的分析滤波器段(filterbank)(多相的且具有32个边带)。层-3增加了一个MDCT转换去增强频率的分辨率。
所有的LAYER在它们的比特流里使用相同的“头信息”,以便支持标准的继承结构。
所有的LAYER对比特的错误都有相同的敏感性。它们使用一种比特流结构,其中包含有对比特错误更敏感的部分(“头”,“比特分配”,“比例因子”,“边信息”)和不那么敏感的部分(“频组数据”)。
所有的LAYER都支持把程序关联信息(“辅助数据”)插入到它们的音频数据流里。
所有的LAYER可以使用32,44.1或48KHZ采样频率。
所有的LAYER都允许工作在相似的比特率。
Layer-1: 从 32 kbps 到 448 kbps
Layer-2: 从 32 kbps 到 384 kbps
Layer-3: 从 32 kbps 到 320 kbps
最后两个声明引用自MPEG-1;对于MPEG-2,在采样频率和比特率上有扩展。
问:全面地看,三个LAYER之间有什么不同?
答:从LAYER-1到LAYER-3,复杂性提高了(对于编码器主要是真的),总体编码解码延迟增加了,并且,素质也提高了(对于比特率来说的声音质量)。
问:在音频部分MPEG-1和MPEG-2有什么主要的不同?
答:MPEG-1和MPEG-2使用了同样的音频编码解码族,LAYER-1、-2和-3。MPEG-2的新音频特性是“低采样率扩展”定位于非常低的比特率和有限带宽需要的应用(新的采样率是16、22.05或24KHZ,比特率扩展低到8KBPS),和一个多通道扩展,定位于环绕立体声应用,可以支持最多5个主音频通道(左,中,右,左环绕,右环绕)和附加的一个给低音信号而设的额外的“低频增强(Low Frequency Extension)”通道。另外,一个“多语言扩展”允许包括高达7个以上的音频通道。
问:它们互相之间都兼容吗?
答:或多或少地,是的。除了低采样率扩展外。很显然,一个纯粹的MPEG-1解码器是不能支持新的“半”采样率的。
问:你说:兼容?对于所有这些额外的音频通道?请解释!
答:在MPEG-2制订阶段兼容性是个主要论题。主要思想是是用于MPEG-1所定义的那样同样的基本比特流格式,像以前那样主数据区携带两个音频信号(称为L0和R0),而辅助数据区携带多通道扩展信息。为了避免涉及过多的细节,这里主要解释两个条件:“向后兼容”:MPEG-2解码器必须接受任何MPEG-1音频流(包含了一到两个音频通道)。“向前兼容”:MPEG-1解码器应该能够可以解码MPEG-2音频流主数据区中的音频信号。
“矩阵”可能被用于把环绕信息放进L0和R0中:
L0 = 左信号 + a * 中间信号 + b * 左环绕信号
R0 = 右信号 + a * 中间信号 + b * 右环绕信号
因而,一个MPEG-1解码器能重放一个可理解的所有5个通道信息的混合体。一个MPEG-2解码器使用多通道扩展信息(另外3个音频信号)去重建5个环绕通道。
问:在你的注解中,你指出在你的代码里使用了一些“非ISO”的扩展,叫MPEG2.5,去深入地改进在非常低比特率下的素质(比如:8KBPS单声道)。你指的是什么?
答:哦,是的。MPEG-2标准为低采样率扩展允许最地为8KBPS的比特率。在这样低的比特率下,有用的音频带宽无论如何都要受到限制,比如说3KHZ。因而,实际的采样率会被减少,比如说8KHZ。采样率越低,频率分辨率就越高,时间分辨率就越糟,在比特流格式里的控制信息和音频负载之间的比例就越好。就如MPEG-2标准定义了16KHZ作为最低的采样率那样,我们引入了8,11.025,和12KHZ-并且我们把这种扩展命名为“MPEG 2.5”扩展。LAYER-3在8KBPS/8KHZ和16KBPS/16KHZ的表现比8或16KBPS/16KHZ引人注目地好。
返回目录
--------------------------------------------------------------------------------
Layer-3的高级特性:为什么Layer-3的表现这么出众?
问:我读了你关于“近似CD”表现的章节,里面谈到获得了4:1的压缩率......能详细一点解释吗?
答:好的。每一个音频LAYER扩展了层数小于它的的层的特性。简单形式是LAYER-1。它主要是为了DCC(数字录音带)而设计的,使用了384KBPS(称为“PASC”)。LAYER-2被设计为在复杂性和性能之间的一个平衡。它在低到192KBPS的比特率下还保持了很好的声音质量。再低的话,声音质量就变差。LAYER-3从一开始就是为了低比特率而设计的。它在LAYER-2之上加入了一些“高级特性”:频率分辨率高了18倍,使得LAYER-3的播放器比使用极限屏蔽更好地适应量化噪声。只有LAYER-3使用了熵编码(象MPEG视频)去更进一步地减少冗余。只有LAYER-3使用了比特蓄留(象MPEG视频)在临界时刻去抑制赝象,并且LAYER-3可以使用更高级的联合立体声编码机制。
问:我明白了。对我来说好象LAYER-3是接近于“LAYER-2++”那样的东西。现在,告诉我多点有关声音质量的东西。你们怎样去评定的呢?
答:今天,除了昂贵的听觉测试外没有折中的办法。在ISO-MPEG修订时,就已经对大量受训的听者做了相当多的国际性的听觉测试。所有这些测试使用了“三组刺激,隐藏参考”方法和“CCIR损伤衡量”去评定声音质量。听的顺序是“ABC”,A=原音,BC=部分原音/部分编码信号随机混合的顺序,听者必须对B和C在1到5分内评估。意思是:5分=完全透明(应该是原来的信号);4分=可察觉,但不讨厌(首个可觉察的差异);3分=轻微讨厌;2分=讨厌;1分=非常讨厌。
问:听觉测试是一个相当昂贵的任务,真的没有折中方法吗?
答:是的,至少在今天没有。明天或许不同。要评定知觉编码解码的声音质量,所有传统的“质量”参数(象信噪比,总谐波失真,带宽)都是没用的,因为所有的编码解码方法都会带来噪音和失真,只要不影响察觉到的声音质量。所以,必须进行听觉测试,而且,如果仔细准备和进行,能收到相当可靠的结果。
然而,Fraunhofer-IIS在开发面向声音质量评定的工具并使之标准化。现在已经有了首个产品,一个很好地支持知觉音频编码的实时分析工具。如果你需要有关噪音屏蔽比(Noise- to-Mask-Ratio, NMR)技术的资料,联系以下E-MAIL地址:[email protected]
声明,这些都是引用自网上的,因为我想自己写一段mp3的解码程序,就查找了一下mp3,算法这样的关键字,找到了东东,大家对mp3究竟有多了解?从前的那个md的音频压缩模型没有人关心,现在我们可以把mp3,md的都拿出来比较一下。当然更多的详细资料还是得看英文的,先贴这些,毕竟英文不是我们的“官方语言”,呵呵。
MP3技术详解
为了压缩声音数据量,MP3针对人耳的特性,采用了相对应的技术来减少音频数据量。
1.最小可闻极限(最小可闻阈)
人耳的听觉最小可闻阈是非线性的馒头型曲线。在这个曲线阈以下的声音是不需要的,因为它们是人耳听不到的。
2.掩蔽效应
当你看到太阳时,一只鸟从前面飞过,你不会看到它,因为太阳的光太亮了,这就是掩蔽效应。在听觉上,人耳也有掩蔽效应存在。在大音量声音中,你不会听到微弱的声音。举个例子,当风琴手不演奏时,你可以听到人的呼吸声;开始演奏后,你就不会再听到了,因为它被掩蔽了。因此,对所有的声音进行编码是不必要的。MP3很好地利用了掩蔽效应,MP3编码器模拟出人耳的这个特性,从而减少了声音信号数据量。
3.立体声的重复信号
声音的低频部分,已经无法给人耳提供声场的空间定位。为此,MP3使用了一个技巧,把低频信号用单声道记录,这样减少了数据量。
4.Huffman(霍夫曼)编码 MP3也使用了经典的压缩技术——霍夫曼算法,它是MP3格式的最后一步。作为编码方法,这个技术在整串的比特流中产生了不同长度的编码,概率越高,则编码越短。Huffman编码有自己独特的前缀,尽管它有可变的长度,却可以被正确地解码,只要根据对应的编码表,其解码速度非常快。Huffman编码至少可以减少20%的数据量。
Huffman编码是知觉编码模式非常理想的补充。在处理包含多种复杂声音信号时,知觉编码非常有效,它可以掩蔽很多声音,压缩人耳听不到的小音量的信号。在处理简单信号时,Huffman编码可发挥更大的作用,因为此时的声音数码信号中包含有大量的重复数据,Huffman算法可以用更短的编码来代替它们记录下来,从而大大减少了数据量。
----
通信网络->三星
有 人响度及紧
今天有 人睇过
你今日睇咗未啊?? |
|