转自:
静态码率(CBR)和动态码率(VBR) - CSDN博客
http://blog.csdn.net/yagnruinihao/article/details/38662967

CBR:

即Constants Bits Rate,固定码率,就是静态(恒定)比特率的意思。CBR是一种固定采样率的压缩方式。

(1)优点:压缩快,能被大多数软件和设备支持。
(2)缺点:占用空间大,效果不是十分理想。现已逐渐被VBR方式取代。

固定码率是一种用来形容通信服务质量的术语。和它相对的就是可变码率或可变比特率(variable bit rete,缩写VBR)当在一个带宽受限的信道中进行多媒体通讯的时候CBR是非常有用的,因为这时候受限的是最高码率,CBR可以更好的易用这样的信道。但是CBR不适合进行存储,因为CBR将导致没有足够的码率对复杂的内容部分进行编码(从而导致质量下降),同时在简单的内容部分会浪费一些码率。

大部分编码方案的输出都是可变长的码字,例如霍夫曼编码或者游程编码(run-length coding),这使得编码器很难做到完美的CBR。编码器可以通过调整量化(进而调整编码质量)来部分的解决这个问题,如果同时使用填充码来完美的达到CBR。(有时候,CBR也指一种非常简单的编码方案,比如将一个16位精度的音频数据流通过抽样得到一个8位精度的数据流)。

VBR:

VBR(Variable Bit Rate),也称为动态比特率编码,使用这个方式时,你可以选择从最差音质/最大压缩比到最好音质/最低压缩比之间的种种过渡级数,在MP3文件编码之时,程序会尝试保持所选定的整个文件的品质,将选择适合音乐文件不同部分的不同比特率来编码。
(1)优点:可以让整首歌都能大致达到我们的音质要求。
(2)缺点:编码时无法估计压缩出来的文件体积大小

区别:

VBR与传统的CBR编码的MP3不同,传统的CBR(Constant BitRate)就是静态比特率,CBR约定死了MP3的采样率为固定值。一首MP3从头至尾为某固定值如128KBit/s进行压缩。而VBR则采取了一种全新的,全程动态调节技术的压缩方法。当在低音段时,VBR会自动采用较低的比特率如32KBit/s对音质进行压缩;当在高音段时会用较高的比特率如224KBit/s对音质进行压缩;当在极高端时则采用最高320KBit/s进行压缩。VBR MP3就是在控制文件大小的情况下,最大限度的提高了MP3的音质。
 不同
 (1)CBR:固定位率的FRAME(框架)的大小也是固定的,只要知道文件总长度,和帧长即可由播放每帧需26ms计算得出mp3播放的总时间,也可通过计数帧的个数控制快进,快退慢放等操作。
 (2)VBR:VBR是XING公司推出的算法,所以在MP3的FRAME里会有“XING”这个关键字(现在很多流行的小软件也可以进行VBR压缩,它们是否遵守这个约定,那就不得而知了),它存放在MP3文件中的第一个有效FRAME里,它标识了这个MP3文件是VBR的。同时第一个FRAME里存放了MP3文件的FRAME的总个数,这就很容易获得了播放总时间,同时还有100个字节存放了播放总时间的100个时间分段的FRAME的INDEX。
 
 在流式播放方案中使用CBR编码最为有效。使用CBR编码时,比特率在流的进行过程中基本保持恒定并且接近目标比特率,始终处于由缓冲区大小确定的时间窗内。CBR编码的缺点在于编码内容的质量不稳定。因为内容的某些片段要比其他片段更难压缩,所以CBR流的某些部分质量就比其他部分差。此外,CBR编码会导致相邻流的质量不同。通常在较低比特率下,质量的变化会更加明显。

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

由于目前的视频编码标准都是基于块编码的混合编码框架,因此一个码率控制算法可以用到任何协议上(当然有时候需要做点小的改动),只不过是控制效果好不好的问题,没有哪个 RC 是专属哪个协议的。

                </div>

静态码率(CBR)和动态码率(VBR)相关推荐

  1. 摄像头编码模式定码率CBR和变码率VBR有什么区别

    Q: IPC编码模式定码率CBR和变码率VBR有什么区别? A:区别如下: 定码率CBR:相机将以恒定的编码码率发送实况数据 变码率VBR:相机根据图像质量动态的调整实况码率

  2. 监控技术:smart265和H.265的主要区别 动态码率和变码率的主要区别

    smart265和H.265的主要区别在于二者编码所使用的码率不同,smart开启之后,在二者保证图像质量的前提下,smart265所使用的码率低于H.265所说用的码率.在空闲场景的图片上,smar ...

  3. 给pjsip2.10增加动态码率调整功能

    目录 前言 1.缓存已发送的rtp包 2.基于丢包率动态调整视频码率 3.引入webrtc的congestion_controller 3.1 rtp包需要传入libcc. 3.2 不需要直接发送RT ...

  4. 流媒体动态码率自适应方案

    流控(动态码率调整)机制: 1.缓冲区(视频输入.网络收发). 2.socket缓存监测. 3.MTU控制. 4.丢帧处理与检测. 5.调整码率(根据目前的网络丢帧状况,来决定码率降低幅度). 6.I ...

  5. 代理详解 静态代理+JDK/CGLIB 动态代理实战

    1. 代理模式 代理模式是一种比较好理解的设计模式.简单来说就是 我们使用代理对象来代替对真实对象(real object)的访问,这样就可以在不修改原目标对象的前提下,提供额外的功能操作,扩展目标对 ...

  6. 实战:将静态路由发布到动态路由

    将静态路由发布到动态路由 打开随书光盘中第6章练习"06 将静态路由发布到动态路由.pkt",如图6-22所示,河北师大和软件学院有各自独立的网络,有独立的IT部门管理自己的网络. ...

  7. C++中.lib静态库、.dll动态库的生成及调用2

    关于动.静态库的介绍及静态库的生成及调用参见:C++中.lib静态库..dll动态库的生成及调用<1>,本文主要介绍基于VS2015平台的动态库dll的生成及调用方法. 一.动态库的生成 ...

  8. C++中.lib静态库、.dll动态库的生成及调用1

    一.前言 1.动态链接库(dll)与静态链接库(lib): 动态链接库(dll)是一个可以被其他应用程序共享的程序模块,其中封装了一些可以被共享的例程和资源.在链接步骤中,连接器将从库文件取得所需的代 ...

  9. 【Android NDK 开发】Android Studio 使用 CMake 导入静态库 ( CMake 简介 | 构建脚本路径配置 | 引入静态库 | 指定静态库路径 | 链接动态库 )

    文章目录 I . CMake 简介 II . Android Studio 中 CMake 引入静态库流程 III . 指定 CMake 最小版本号 IV . 导入函数库 ( 静态库 / 动态库 ) ...

  10. cglib动态代理jar包_代理模式详解:静态代理+JDK/CGLIB 动态代理实战

    1. 代理模式 代理模式是一种比较好的理解的设计模式.简单来说就是 我们使用代理对象来代替对真实对象(real object)的访问,这样就可以在不修改原目标对象的前提下,提供额外的功能操作,扩展目标 ...

最新文章

  1. axios安装_Vue脚手架安装,与基本语法(干货)
  2. SharePoint自动化系列——通过PowerShell创建SharePoint Lists
  3. EJB3.0学习笔记---MDB--第一个MDBBean程序:
  4. Redis学习笔记(3)-XShell连接CentOSMini,并安装Redis
  5. 用R3写卡成PRL302,解决新电信卡PRL301只能1X不能上3G问题
  6. 微信小程序page禁止页面上下滑动
  7. el表达式跟ognl表达式的区别(用法和页面取值)
  8. shell脚本基础练习题
  9. HBase简介及使用
  10. python 读xml_python读取xml文件
  11. Linux解决忘记密码的方法
  12. AMOS软件简介【SPSS 050期】
  13. OpenCV入门系列 —— medianBlur中值滤波
  14. 【Kubernetes 015】pod调度之Affinity亲和性
  15. Vscode配置C++(一步一步图文详解)
  16. 来说一下!线雕的副作用和危害有哪些?妈耶
  17. 你不知道的微信小程序-李宁-专题视频课程
  18. (论文复现,matlab代码分享,可运行)改进遗传算法求解农业水资源调度问题
  19. linux so 文件 执行,Linux .so库的使用
  20. Matlab颜色图相关

热门文章

  1. ps钢笔工具的一些快捷键操作(小白请进)
  2. 洛谷再分肥宅水c语言,【菜鸟进阶之路】P5706【深基2.例8】再分肥宅水 - 洛谷
  3. 四元数——概念以及相关数学公式 实现绕坐标轴旋转以及获取旋转角和旋转轴
  4. 2020年岁末的年终总结——来自一位70后的大龄程序员的总结分享
  5. 阿里图片合成接口拼接
  6. linux系统的nginx使用及本地访问
  7. 国内学术科研论坛整理
  8. 如何快速成为数据分析师(个人角度)
  9. 计算机主板电源线接法,主板电源线怎么接
  10. 计算机主板USB接口介绍,如何解决计算机主板USB接口供电不足