原文地址如下:https://codesequoia.wordpress.com/2010/04/19/what-are-cbr-vbv-and-cpb/。
翻译:
有人认为CBR就是给每一帧分配一样大小的比特数,这其实是一个比较常见的误解。如果是这样,P帧和B帧存在的意义是什么呢?P帧/B帧存在的目的就是为了通过参考其它帧来降低码率。所以,在一个CBR码流中,有大量的B帧/P帧,并且你可以很明显的在CBR码流中看到每一帧都有不同的比特数。
那么,什么是CBR呢?在MPEG-2和H264中,CBR意味着推送到解码器上的比特率是固定的。换句话说,到解码器的数据传输速率是固定的。它和单个帧的比特数无关。
那它是如何做到保持比特率恒定的同时又给不同帧分配不同的比特数呢?
答案就是需要使用一个buffer。为了理解它,你需要想象一个水龙头,一个水箱和一系列的在水箱前排成一行的叫做“图片解码”的家伙。

水(MPEG-2或者264码流)在不断地流入水箱。这些家伙在水箱前排成一行,不停的移走水(把这些帧送去解码)。这些水在大多数情况下都是固定时间间隔被移走。
尽管I先生,P先生,B先生移走不同数量的水(每一帧需要不同的比特数)。但是因为有了水箱(buffer),水龙头的出水速度是固定的。
在MPEG-2中,这个buffer叫做VBV buffer。在H.264中,这个buffer叫做CPB(编码图像缓冲区)。
一定时间水箱的水位增长(用比特数表示)被叫做缓冲器填充度,在MPEG-2中,水箱的大小叫做VBV buffer大小,在H.264中,叫做CPB buffer大小。
编码的码流不能让这个buffer上溢或者下溢。所以需要buffer verifier的程序去检查这个错误。
当这个buffer大小被设置的太大时(这是一个编码参数),每一帧直接会有很大的差异,这通常会带来更好的视频质量。然而,解码器需要一个更大的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. Android移动开发之【Android实战项目】activity生命周期与Java中@Override的作用
  2. Android Application 之 allowBackup 属性浅析
  3. Xamarin效果第四篇之CollectionView子项右侧布局
  4. 基于STM32L476的锂电池SOC检测
  5. 服务器系统架构的评估,系统架构师:性能评估
  6. python库怎么绘画_[雪峰磁针石博客]python绘图作业:使用pygame库画房子
  7. 卷积神经网络(CNN)的细节问题(滤波器的大小选择)
  8. cad编辑节点快捷键是什么_cad2018快捷键大全
  9. 线性代数学习之行列式
  10. 吴恩达机器学习和深度学习视频和笔记
  11. JavaScript常用符号及意义
  12. 阿里云免费SSL证书对IOS描述文件mobileconfig的签名认证
  13. 关于野火开发板stm32f103VET(拂晓开发板)DAPCMSIS-DAP下载烧录程序失败的问题及解决
  14. sql增加数据的几种方法
  15. java 取款机_JAVA ATM提款机程序
  16. 华为无线设备配置WPA2-802.1X-AES安全策略
  17. 小草小草快点长大。。
  18. 【C#】身份证识别(三):身份证信息识别
  19. try except与try finally不同之处
  20. 谈梦想也谈谈钱!多城市 Cocos 人才招聘需求打包送上丨10月岗位

热门文章

  1. 手机上怎么换证件照底色?手机一键照片改背景颜色
  2. IOS calculater
  3. python判断整数浮点数_Python初识2 整数与浮点数
  4. PDCA循环和GTD时间管理
  5. 嵌入式设备引入机器学习:有eIQ就够了!
  6. 微信代金券--免充值代金券创建、激活、发放,查看详情
  7. 中小企业成本的会计核算方法
  8. 线性代数学习点(五):向量运算规则的几何表示
  9. 高度的思想境界的几个特征
  10. 单片机MPU9250/6050陀螺仪芯片驱动