码率控制、VBR、CBR
码率控制实际上是一种编码的优化算法,它用于实现对视频流码流大小的控制。那么它控制的目的是什么呢? 我们可以试想一下,同样的视频编码格式,码流大,它包含的信息也就越多,那么对应的图像也就越清晰,反之亦然。目前常用的两种码流控制方式是VBR和CBR,VBR是动态比特率,CBR是固定比特率。那么他们是怎么来实现的呢? 我们首先看视频编码的目的,它是为了在有限的带宽中传输尽可能清晰的视频,我们以每秒25/帧的图像举例,25帧图像中定义了GOP组,目前主要是有I,B,P帧三种帧格式,I帧是关键帧,你可以想象它就是一幅JPEG压缩图像,而B,P帧是依靠I帧存在的,如果丢失了I帧,B,P帧是看不到图像的,B,P帧描述的不是实际的图像像素内容,而是每个相关像素的变化量,他们相对于I帧信息量会很小。GOP组是指一个关键帧I帧所在的组的长度,每个GOP组只有1个I帧。 我们再来看,一组画面的码流大小跟什么有关?当视频编码的压缩方式都一样,清晰度要求都一样的时候,GOP组的长度格式决定了码流的大小,例如:每秒25帧画面,GOP组长度为5,那么帧格式为IBPBP,那么1秒钟有5个I帧,10个B帧,10个P帧,如果GOP组长度为15,帧格式就是IBBPBBPBBPBBPBB,那么1秒钟内会有2个I帧和16个B帧和7个P帧,那么5个I帧比2个I帧占用的数据信息量大,所以GOP组的长度格式也决定了码流的大小。 最后,我们再来看VBR和CBR,对于VBR来说,它可以通过特殊的算法来控制一个GOP组的长度,也就是I帧的数量,当图像中运动图像多时,我可以把I帧数量加大,那么图像会很清晰,如果图像内元素基本静止时,它甚至可以把GOP组调到25的长度。那么根据前面的描述,可以想象这是一种为了确保图像质量的控制手段,它非常灵活,不死板,但是要求控制算法非常的精确,不精确会导致很多问题,例如码流突增后不降低,即使带宽足够,会导致图像出现问题。 CBR相反,它的带宽不变,码流不改变,一直都是一样的大小(会有少许的变化),图像运动量超过码流承受能力时,图像会出现边缘模糊的现象,它的目的是为了稳定带宽,它的实现方式就相对简单,码流不变就需要均衡IBP之间的关系,动态视频大时I帧小,BP大,运动视频小时I帧大,BP小。总之都是通过编解格式的算法来实现的。 总结一下,VBR码流控制方式可以降低图像动态画面少时候的带宽占用,CBR控制方式码流稳定,图像状态较稳定。他们为了解决的是不同需求下的不同应用。
码率控制、VBR、CBR相关推荐
- 【from Spark!】音视频中的码率控制(CBR、VBR、CVBR、FIXQP)
原文地址:https://blog.csdn.net/qq_28258885/article/details/118891810 什么是码率? 码率就是数据传输时单位时间传送的数据位数. 一般我们用的 ...
- 视频编码码率控制:CBR、VBR和ABR
下面介绍不同的码率控制模型和适用场景: CQP:固定QP,最简单的码率控制方式,每帧图像都按照一个特定的QP来编码,每帧编码后的数据量有多大是未知的,既不是码率优先模型也不是质量优先模型,不过是实现最 ...
- ffmpeg 编解码 码率设置问题 CBR 、VBR
之前都是利用硬件进行视频流的编解码 最近 在利用ffmpeg 编解码在CPU上进行软解软编码 之前别的硬件平台设置码率和vbr cbr的时候 提供了接口直接设置一下就可以 但是ffmpeg这里 并没有 ...
- 视频编码中的RC(rate control)是什么?码率控制 CBR (Constant Bit Rate)、VBR (Variable Bit Rate)
再看RXW源码的时候在视频编码结构体里有一个RC结构体,RC(rate control)到底是啥? 码率控制技术 RC (Rate Control) 是实际视频编码器中一个非常重要的技术模块. 根据实 ...
- 固定码率(CBR)与可变码率(VBR)
固定码率(CBR)与可变码率(VBR) http://wang78hao.blog.163.com/blog/static/12116387120103308301776/ 一般在我们输出视频文件的时 ...
- h264的码率控制 JVT-G012
开始看h264的码率控制,很多地方都提到 G012,拿来做为参考比较,看来很有必要研究清楚. 偶这人,E文文档不翻译的话,看过就忘了,于是草草翻译了下,因为不打算做B帧,也不准备在同一帧中使用不同的M ...
- 【HISI系列】之HISI芯片码率控制使用说明
DATE: 2019-1-30 参考 HISI系列文档<芯片码率控制使用说明.pdf> [Codec系列]之常用码率控制算法分析 摘要 1.CBR参数说明 2.VBR参数说明 3.宏块级码 ...
- HEVC/H.265编码HM码率控制
HEVC/H.265编码标准HM平台码率控制流程 研究生期间了解过HM平台的码率控制过程,现在时隔2年多又回顾了一下HM平台的码控流程,发现相较之前多了CpbSaturationEnabled这么个机 ...
- x265代码阅读:码率控制(一)
x265中码率控制算法貌似与x264的码率控制算法基本相同,基本上是经验性的,与ITU-T/MPEG各类标准推荐的码率控制算法均不同. x265的率控应该只是帧级率控,虽然有与CU相关的率控参数,但其 ...
最新文章
- mfc工程中添加com接口支持
- [Github推荐]CVPR2019录用论文下载及可视化论文网站
- nodejs搭配phantomjs highcharts后台生成图表
- 在Docker里面安装Ubuntu,并且使用ssh进行连接
- 基于Ubuntu环境使用docker搭建对于中文识别的chineseocr_lite项目
- qsub 指定节点_PBS,QSUB常用命令
- Vue-tools.crx 及安装常见问题解决
- 今晚直播丨2020年全国首场12c OCM直考揭秘
- oracle rda结果,Oracle诊断工具-RDA使用
- SpringBoot整合Jersey2.x实现文件上传API
- 理解Ruby的4种闭包:blocks, Procs, lambdas 和 Methods
- 对接京东联盟,签名无效
- 算法课设——逃狱的汉尼拔博士
- E - New Year Snowmen
- 【分享】如何自动同步企业微信外部客户信息到CRM系统?
- 纯干货!轻量化软件设计五大法则
- 2022最新简约好用的夏雨图床系统源码+UI超好看
- 进入BeOS的花花世界 系列六
- 通过替换音效文件,实现在安卓手机上使用wp/nokia/wm10按键键盘声音
- 使用 spacedesk 与 parsec 让安卓平板 或者电脑 作为电脑的拓展屏 的简单介绍