视频通信中的码率控制算法

码率控制技术RC(Rate Control)是视频编码中一个非常重要的技术模块。不同的应用场景对视频编码的码率控制有不同的需求,离线编码通常采用可变码率(VBR),实时视频系统通常采用恒定码率(CBR)。本篇技术干货将深度剖析视频编码中的码率控制算法,分析其背后的数学模型及理论,希望能帮助大家更好地理解视频通信中的码率控制算法。

PART 01 码率控制类型

码率控制主要指编码过程中,通过调整QP来控制视频码率的行为。在不同的使用场景下,用户对视频的码率大小、稳定性会有不同的要求,因此码率控制的类型也多种多样。比如观看离线视频文件时,往往不需要此视频具备恒定的码率,因为整个文件都在本地,只要磁盘IO和设备解码能力都合格,基本就不会发生卡顿问题(这里不讨论硬件解码的buffer限制以及内网NAS的带宽限制)。所以压制这类视频时会倾向于保证质量而非码率平稳性。画面纹理比较复杂或运动剧烈的场景,码率给高一些,以保证画面质量;而画面简单的场景,码率就给低一些,节省硬盘空间。这种码率控制策略我们统称为可变码率(VBR)。

但在观看在线视频时,由于用户带宽是恒定的,能够缓存的数据量也有限,所以需要对码率做一些限制。否则一些瞬时码率过高的片段可能会引起卡顿。此外还有一点,由于CDN是按流量计费的,视频网站如果使用VBR编码视频会使带宽成本变得不可控。所以压制这类视频时,会倾向于选择恒定码率(CBR)。
在这里插入图片描述

不同场景下的码率控制需求
本文接下来的讨论内容主要集中在CBR,但其中的一些改良算法其实也可以用在VBR。

PART 02 码率控制根基:RQ模型

首先看一下码率控制的大体流程:
在这里插入图片描述

码率控制基本流程
可以看到整个流程都是围绕着RQ模型进行。这里的RQ模型指的是码率与QP的推导关系,可以说是码率控制算法的根基。

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值