https://codesequoia.wordpress.com/2010/04/19/what-are-cbr-vbv-and-cpb

通常CBR会被 错误的认为是为每一帧分配相同数量的比特。如果真是这样,那P或者B真的意义在哪呢,P/B帧的主要目的就是通过参考其他帧减少编码比特数。当然,有很多P或者B帧的CBR流,我们可以很容易的发现在CBR流中比特数是不一样的。

所以,CBR是什么呢。在MPEG-2和H.264中,CBR意味着在一段时间内传输给解码端的比特数是一定的。换句话说,到解码端的数据传输率是一定的。这和单独帧的比特数是无关的。

那在保持数据率一定的同时怎么才能实现为每一帧分配不同数量的比特呢?

答案:我们需要一个buffer。为了理解这个逻辑,考虑一个出水口(water outlet),水箱(tank),还有水箱前面一系列的“guys”。

水(编码的MPEG-2或者H.264流) 固定的流进水箱。这些"guys"站在水箱前,负责把每一帧的水移动道解码端。这个移动只发生在固定时间间隔内。

即使Mr. I,P,B移除了不同数量的水(每一帧需要不同的编码比特数),由于水箱 (buffer)的存在出水口的速度还是固定的。

在MPEG-2中,这个buffer成为VBV buffer(video buffer verifier buffer),在H.264中,这个buffer成为CPB(coded picture buffer)。

水箱中水的多少在某一时刻称为buffer fullness,用比特数量来描述。水箱的大小在MPEG-2中称为VBV buffer size,在H.264中称为 CPB buffer size。

编码的流一定会被重建所以水箱不会上溢或者下溢。有一些叫做“buffer verifier"的软件去检查错误。

当buffer size 被设置成大值时,编码器可以为每一帧使用变化较大的比特数,可得到更好的视频质量。但是,解码端相应的需要大buffer,这意味着更贵的硬件开销。

什么是CBR,VBV,CPB相关推荐

  1. x264学习----x264.h结构体

    x264.h结构体学习,还在持续更新中 /****************************************************************************** ...

  2. 流媒体-H264协议-编码-x264学习-主要结构体(二)

    流媒体-H264协议-编码-x264学习-相关概念x264编译及文件解析(一) 流媒体-H264协议-编码-x264学习-主要结构体(二) 流媒体-H264协议-编码-x264学习-主要函数(三) 流 ...

  3. ffmpeg设置h264编码IDR间隔

    在ffmpeg中,编码h264时,想强制刷出一个I帧,比较容易,但是想强制刷出IDR帧,却没有明确的说明. 而在x264的头文件中,可以看到一个参数说明: int i_keyint_max; /* F ...

  4. ffmpeg 设定码率

    主思路 H.264 的建议码率设定方案是 crf ,如果需要比较高的画质,可以设为10左右,如果要要兼顾画质和文件大小,可以设为17左右,默认是23. 详情 ffmpeg支持多种方法设定码率,-gp ...

  5. x264_param_t 详解

    x264的x264_param_t结构 typedef struct x264_param_t {/* CPU flags */unsigned int cpu;/* 并行线程的数量,即同时被编码的图 ...

  6. C++-FFmpeg-(5)-2-h264-概念与名词:宏块-I-P-B帧;参数设置:ABR、CQP、CBR、CRF;码流:SPS-PPS

    1.h264预测流程   1.1宏块的划分   1.2帧内预测-帧间预测   1.3DCT离散余弦变换   1.4量化 2.参数设置   2.1Ultrafast最快和zerolatency   2. ...

  7. [BTS2004]一步一步学习BizTalk2004 CBR(content-based routing)

    CBR ( content-based routing ) CBR 可以实现将指定的消息内容进行路由处理 在这个例子中,可以实现将传入的消息,对指定的内容进行筛选,把满足条件的消息传输到指定的路径下 ...

  8. MPEG简介 + 如何计算CBR 和VBR的MP3的播放时间

    1. 声明 本文所写内容,多数整理自互联网,版权归原作者所有 笔者知识有限,文中难免有误,欢迎批评指正,admin (at) crifan.com 觉得此文对你有帮助,想要发邮件来感谢的,也欢迎哈,^ ...

  9. 视频编码中的RC(rate control)是什么?码率控制 CBR (Constant Bit Rate)、VBR (Variable Bit Rate)

    再看RXW源码的时候在视频编码结构体里有一个RC结构体,RC(rate control)到底是啥? 码率控制技术 RC (Rate Control) 是实际视频编码器中一个非常重要的技术模块. 根据实 ...

  10. 音视频中的CBR,VBR,ABR

    视频码率CBR和VBR   固定码率(CBR)与可变码率(VBR) 一般在我们输出视频文件的时候都会碰到一个选择即CBR与VBR,CBR的英文全称是Constant Bit Rate翻译过来是固定码率 ...

最新文章

  1. AIX查看端口被占用
  2. SQL on Linux Run on Docker
  3. mysql 图形化工具
  4. lstm 变长序列_keras在构建LSTM模型时对变长序列的处理操作
  5. java newdirectorystream_Path、Paths和DirectoryStreamT
  6. ExtJs 中的 Ext.QuickTips.init()
  7. python excel详解_python操作excel详解
  8. Spring实战6-利用Spring和JDBC访问数据库
  9. mysql5.7 存储二进制_mysql5.7二进制部署
  10. 使用ladash判断集合中是否有
  11. windows Mobile使用ActiveSync上网
  12. 随笔 --- 深夜反思、重定向
  13. 操作系统PV操作题整理1
  14. 树莓派 Raspberry-Pi 折腾系列:系统安装及一些必要的配置
  15. LOJ #6268. 分拆数
  16. 奈奎斯特稳定性判据的详细推导(手把手教,看完就会!)
  17. debian10杀毒软件安装和使用
  18. [转]仙剑4破解方法详解(免激活刻盘法)--仙剑爱好者看看[图]
  19. JS将任意格式的时间转为Date对象
  20. MySQL常用的文本文件导出导入方式总结

热门文章

  1. 怎么把腾讯视频qlv格式转换成mp4视频
  2. sci-hub, libgen等科研用文献书籍下载
  3. 当我们电脑上的Microsoft Office2003/2007/2010无法卸载时怎么处理?
  4. 项目管理(PM)简介
  5. Dubbo错误No provider available for the service
  6. 证券词汇集锦(中英文+注释版)
  7. vue优化技巧之Object.freeze()
  8. uso oracle,Oracle Database 12c: In-Memory (Parte I)
  9. 同一网络下的两台计算机怎样共享,如何实现在windows下同一网络两台电脑文件共享互传?...
  10. 电子商务网络购物平台实例运营分析+电子商务概述及阿里巴巴集团模式五大核心内容[连载之电子商务网络营销]...