论文阅读:Reinforcement Learning for HEVC/H.265Intra-Frame Rate Control

摘要

        任务是给一帧中每个编码树单元(CTU)都选择一个QP参数,目标是在码率限制的条件下最小化帧级的失真。通过将码率控制问题和强化学习问题对比,将纹理复杂度(亮度样本方差,梯度幅度,色数),CTU和比特平衡作为状态,QP值作为agent需要采取的action,而编码树单元的负失真作为即时的reward。训练一个Q-learing作为一个agent,观察状态来评估每个可能动作的reward。当只在有限序列上训练时,此模型的性能已经与HM-16.15中的速率控制算法相差不多。

引言

强化学习适用于依赖决策问题,其特征在于优化依赖于相互关联决策的目标/奖励函数。

由于码率限制,为一个CTU所选择的QP将会影响对接下来CTU的QP的选择。解决这样的依赖性是很多视频编码器的核心问题,

本文方案

每个视频帧进行单独编码,且有目标比特预算,每个帧的编码视为一个episode

 在比特预算的限制下最小化帧级别的失真

 行动是在初始化QP上进行[-3,3]的变化。

状态表如下:

         1-4是当前CTU的纹理复杂度。5-8是剩余CTUs的空间特征,以便于agent在为当前CTU做出决策时同时考虑未来CTU的复杂度。每次编码一个CTU后对State进行更新,如果还有剩余CTU未被编码,但比特预算耗尽,则直接结束,到达终止状态。

        在到达最终状态后,所有剩余的未编码的CTU都采用QP=51进行编码。显然,越早达到终端状态,总误差越大,或者总奖励越小。因此,不鼓励agent产生有大幅度超出比特预算的QP序列。另一方面,以低于指定比特率的比特率完成整个帧的编码也将被实现,否则会导致更大的帧级失真(和更小的额外奖励)。

实现

通过使用\theta参数化的神经网络来实现行为价值函数Q_{(s,a)},采用三层全连接层,分别包含400,300,7个神经单元,网络输入即为上表中的状态。

         遵循Q-learning来网络参数\theta,在选取了五个测试序列在HEVC/H.265条件下进行实验,PartyScene (Class C), BQMall (Class C), RaceHorses(Class D), KristenAndSara (Class E)和 ChinaSpeed (ClassF).。仅使用从这些序列中的随机采样的20帧进行测试,目标比特采取5Mbps和15Mbps。在测试阶段,当比特预算耗尽但还剩余CTU未进行编码时,我们采用初始化QP+3对剩余CTU进行编码。与训练阶段不同,因为训练阶段主要是为了计算奖励信号。

实验结果

四个目标比特是根据使用固定QP22,27,32,37对测试序列进行编码所确定的。为了节省时间,只测试C类、D类、E类和F类中较低分辨率的测试序列,包括自然内容和屏幕内容。训练序列与测试序列不同。

 

 

 结论

解决了HEVC/H.265的帧间编码的码率控制问题。训练了一个神经网络,在码率限制的情况下给一帧中每一个编码树单元选择QP。模型不需要知道HEVC/H.265内部的具体工作。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值