您的位置:首页 > 编程语言 > VB

CBR,VBR,ABR介绍

2008-04-21 14:29 603 查看
VBR就是可变比特率,它与恒定比特率CBR有一些区别,关于CBR或VBR编码的区别如下:
通过使用Windows Media编码器,可以用恒定比特率(CBR)或可变比特率(VBR)对音频和视频内容进行编码。

CBR编码
在流式播放方案中使用CBR编码最为有效。使用CBR编码时,比特率在流的进行过程中基本保持恒定并且接近目标比特率,始终处于由缓冲区大小确定的时间窗内。CBR编码的缺点在于编码内容的质量不稳定。因为内容的某些片段要比其他片段更难压缩,所以CBR流的某些部分质量就比其他部分差。此外,CBR编码会导致相邻流的质量不同。通常在较低比特率下,质量的变化会更加明显。

VBR编码
当计划提供内容供用户下载、将内容在本地播放或者在读取速度有限的设备(如CD或DVD播放机)上播放时,请使用VBR编码。(计划流式播放内容时也可以采用峰值VBR编码模式)当编码内容中混有简单数据和复杂数据(例如,在快动作和慢动作间切换的视频)时,VBR 编码是很有优势的。使用VBR编码时,系统将自动为内容的简单部分分配较少的比特,从而留出足量的比特用于生成高质量的复杂部分。这意味着复杂性恒定的内容(例如新闻播音)不会受益于VBR编码。对混合内容使用 VBR 编码时,在文件大小相同的条件下,VBR编码的输出结果要比CBR编码的输出结果质量好得多。在某些情况下,与CBR编码文件质量相同的VBR编码文件,其大小可能只有前者的一半。
对 MP3 来说 bitrate(比特率)是最重要的因素,它用来表示每秒钟的音频数据占

用了多少个 bit(bit per second,简称 bps)。这个值越高,音质就越好。未压

缩的 W*** 文件其 bitrate 为 1400kbps,1 个字节为 8 比特,将 1400/8 转换成

字节就是 175kByte/s。所以,对一首 4 分钟的音乐,wav 格式的文件占用的空间为

4 分 * 60 秒 * 175=42000kByte,即 42000/1024=41MB;而 192kbps(每秒

24kByte)的 MP3 则占用了 4*60*24/1024=5.625MB。这种每秒固定比特率的算法是

由 Xing 公司开发的,被称为 Constant BitRate,即 CBR(固定速率);

后来,Xing 又发展了一种新的算法,他们将一首歌的复杂部分用高 bitrate

编码,简单部分用低 bitrate 编码,这被称为 Variable BitRate,简称 VBR(可

变速率)。主意虽然不错,可惜 Xing 编码器的 VBR 算法很差,音质与 CBR 相去甚

远,而且不是所有的播放器都支持 VBR 编码的 MP3,包括微软的 media player,

这也是为什么在 WMP 中 VBR 编码的 MP3 不能正确显示时间的原因。幸运的是,由

LAME 完美地实现了 VBR 算法(以 Xing 的算法为基础加以改进和扩充),非但如

此,从 LAME 3.89 版本开始,LAME 又引入了一种新的算法:ABR(average

bitrate,平均速率)。ABR 也被称为“safe VBR”,它可以将生成的 MP3 控制在

给定的 bitrate 上。举例来说,当指定用 192kbps、ABR 对一段 wav 文件进行编

码时,LAME 会将该文件的 90% 用 192kbps 编码,然后对剩余 10% 进行优化:复

杂部分用高于 192kbps 来编码、简单部分用低于 192kbps 来编码。与 192kbps、

CBR 相比,192kbps、ABR在文件大小上相差不多,音质却提高不少。据统计,ABR 编

码在速度上是 VBR 编码的 2 到 3 倍,在 128-256kbps 范围内质量要好于 CBR。

(ABR在指定的文件大小内,以每50帧(30帧约1秒)为一段,低频和不敏感频率使用

相对低的流量,高频和大动态表现时使用高流量,可以作为VBR和CBR的一种折中选

择。)
CBR means that the stream's bitrate is constant and never changes.
CBR 表示音频流的比特率是恒定不变的

VBR means that the stream's bitrate is variable, and changes in according to the amount of information that needed to be encoded.
VBR 表示音频流的比特率是可变的, 依据需要编码的信息总量改变。

ABR has a variable bitrate for each frame, but its average bitrate is a constant.
ABR 则是每个帧都有一个可变的比特率,但是其平均比特率是恒定的。

Conclusion:
CBR is a private-case of ABR which is a private-case of VBR.
结论:
CBR是ABR的子集,ABR是VBR的子集
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: